{"_id":"use-modal-ref","_rev":"35-d6a3af4a868f3c299a4dee2c57bf3764","name":"use-modal-ref","dist-tags":{"next":"0.1.6-alpha.7","latest":"1.0.2"},"versions":{"0.0.1":{"name":"use-modal-ref","version":"0.0.1","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.1","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"bd51e54712f08e9cc07c5d877f11f577bfb2e22f","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.1.tgz","fileCount":8,"integrity":"sha512-f1qC3NYwopPEdjYO8Cpym7iDU1PK3r4vdHD1LnNm62+YG+I/uJt8TtyALqrdyhr4QlxrbVNfBUl2rHppr2x/Bw==","signatures":[{"sig":"MEQCIGOGzUne2M33Q8se5FGnrm7XeCjCaSQr1UowNo9a07eDAiBx5rX8PRlng7jA39a7nD7Un6tWh0H5R3sAiYLv98jCqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuphuCRA9TVsSAnZWagAAu1kQAJkyOJVirb3MaIdXTina\nWE48vwUL+CofsyDjbK11pKuJhJWb3JhCtOFmBd2fGQOnR1GAi3sNmNJMsXu/\nyw9dnfCz5xh9pNa2A3ZULguBpOWGW3F7h1ggJ0mmZtRQ4ao2FyUnjIGE80BR\n8E8gUjuR8y+WBGdjz5KpwswV12X2KzTEL0Brt9n6Z7yTjj8WSprcilr/tRuz\nDsQKad4M8zRHdBW2KASJVH8T+HqpZgJxE/Ont+eJ3BZMnEEAimpoPzRGPDsI\n7cIs98IBd6b8NxSNzYSgyBJ7VpolmEuw7oHekf8lz9b7ZJOYABZqzzVw+Twe\nVlmSMLoRLDhwDJCGkkHD4KLRFsLPxNXkJL+77CERNmHPSe7EnACnPTGIbUvl\ndJm+oKD8J1EiBXNdhgp1PQrRZ+GIhCyZSa2sgRYMaPBIjUPZa0fNmMpLBZxM\nVoIuwer/zyRD2O9PSboH6JujCv3QnLPemkZLLO4Ns0O9wxj2YqbK0z+0NcdK\n1Rb9U9tZNmhdywW+IeXZRn6UgW2+aIshGDFeJ0eHsDYq3t8MY3HQrpyHmSor\n648PNknb4sSgsqWxYlHVNY9Xm0KwEX9IB8XD3/1LwLUh+wuV1N1ooMbPF1lt\nZqZs2718TkuYwQje41180tT/0qludCjbDfDD6dDoYGdzGQsZdCy/IhSnE+19\nbj+J\r\n=GB9u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.1_1639618670660_0.8369077747407858","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"use-modal-ref","version":"0.0.2","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.2","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"43d087a322b9979578448f70d2e938abe418d9fd","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.2.tgz","fileCount":8,"integrity":"sha512-y3Gn8oNtm10E3VGr7cwpRSEp9aHR3VxXbsTMMQArpklGyAEB2fntZwd1EXPHant5It3+OCAGlR/R3NbEpb8LrQ==","signatures":[{"sig":"MEYCIQCQDIbpAWEUw2iA1xCYBWdET2nOwUWXEOeBUYqy+YIPMgIhAPxMT5HGkxj4KOyrJd6DBDLMbkRIHild2Ui8YQVU71rx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhupzWCRA9TVsSAnZWagAA820P/RrOepnM5zxnBqddmYNP\nVskHf+Cq1aGHVL81Sa3kFhTSE8dQEJNEYqECMHMTws1bGxbtb4D0nr6dCbJ1\n67oEargGoxZJWigaq04r9dgXHel5eWZO8WkJC/NbM03UAMwO0COyIeq+38ec\neQq68/bsxHtWeA8dNC/MkUaBWQ4eJZW34RNcUazwbE1Z5u1htZfcxxWBI3cl\nEPMywxYUPdx1eUFsPwLx+7kpLAXhR4HxngSoUlGSvRkTyF71uKCPYiiI1Hb/\nBTVrjHKRcHpOD5eSX74e1vy0SzVdrKNw6TlfIh5rKoU9ZZzWwMH1ZROExF4T\nstJVU8v+NUOc7N5043XrhBdEPK0qE94ZJkkBMC2+wNQJHr+en7BT5p6O49Jr\nO6tXtspamO9cVi6h8OK8p15B5dh+aUJmm6Yq8MiF8XlxwTqq1TE+UVdqEfvy\nJmDggQUQiTOuak16J73lta5rwVztXgK4AKFmXKCXA0LwQKoYUhAipqlZggBk\nRPabxfiYJiz93tsvmjWhmpFgtL7ABnaEkWS8di/rmxK4Tl29U0N4uV+f5pL9\nXAEErve296NfpfZXopY83+O5Hkt8U1PcDUAZUy/3FynDUsJZyXabOVQFB0Wb\nxJ11YhNzRgQUDbIsHxMSvd/mV9CTWGdBPYhioV9KKuCnAWwVMH9sGAJUBs+u\nsiW+\r\n=RfU1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"4fde04f82095378dac1a8438ae44c369efc479d3","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.2_1639619798615_0.9942638777429482","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"use-modal-ref","version":"0.0.3","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.3","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"9fce7a2876c8cd0d4505504df0cb90ca69003220","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.3.tgz","fileCount":8,"integrity":"sha512-wWDjIVoh8vbKvCH+tDTZoyJL4MIJRYBWxnYHI29fA+I4fiiG0D9rx1HsRC6xtx44tLprv2ThCQsPZMsnTkaHFQ==","signatures":[{"sig":"MEQCIAWZudappPnHjb4TPQhqzG38Lbe8TcVsgwIoQDrvIqPkAiBd9TF+xNTQN2KsTOGUqd7IOMM4957qHRY5f4WkJEifow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3Ok0CRA9TVsSAnZWagAApaQP/1RJoe03/+n9n7ZdyE03\n1GIM7HbRv5gPhjQYnfLFZzviHaTCq6iIGdEfvFeX8LFLLgDBh1elJZqEYrMq\nXuuSfSvGApV5mrWLl5xD7Tzy041qi1lyROo4AoOT131TIaQpsYJB8lc1c3OD\nYlB08tI6t8cfvQSzUJHKAyDTMhE7bgXFF7wpZ1MSaMMlppd9heN1N5Yuq+1R\nTi5ENnyn3mur9WxY/Lom5n3lJOKwRfBed5V4E8eaitydT+4DpUgDC+Z1bx5e\nJVgAzQUTOxsZj7oyaLoEoYuKcaapNoQqXuQSHV5rV0xmYQ0ooR1+000cKllG\nEVpCxAt8jt1xzRRX/M6WrO3oS6zhvxbb9/Yheg3v5DUWV+tORFy9mHu7N1hs\n+tbgzOQaqNz5ngXsSPKLUBV6erZaq98kKokcQ4dnM3ACKxXaGdMyze/6GLAG\nAhFyPcmX3nY1HKvMo+XPvmiGFe1m5GZNAON/8FGYkbbSlWkhL5Wy2ccOoDwa\ncK3ErARvYPKUVYBnyhjEwrTnieLNWbv0fwNtajMlx+I8uFv7Mglji3VQdkPi\nywCKPfK+A8CCuCQc995ZSbqMeULAUxECqtOKJ9C+bH64LrHbNGzJfaQ6G766\neIS+QFwZQU76LwnOhKqVfOLAF6w6OZnOFEMJa3zHTwsVk6gW8WOecr0b8RsK\noQS5\r\n=HMub\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"d3d42bd899be8471f4be7f3fb95a5a564d5d00ec","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.3_1641867572314_0.5543979622165862","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"use-modal-ref","version":"0.0.4","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.4","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"e6969b57e551ac9daae0cfcf5603d241519da8ca","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.4.tgz","fileCount":8,"integrity":"sha512-cz6uZzSZWUglviivjKVZXyjeSPTVrFTh80DZlnKxSe5SlWuJfBnrqPItsDc1qHjs3KrXDydui48bZbZMyLalGA==","signatures":[{"sig":"MEUCIBNiGzIN1EEePNPeXXwy3q4q6h3B5H2tyLklf3pNw5JwAiEAhoRqP/01qyX53i03p5Iaj/6MJ5R4EHWb94T4ysOo8bk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh4RQDCRA9TVsSAnZWagAAEkAP/jq0/j123R8VQVs9T8tW\nJyDf+jK45zHvtSt3X+SF3ziHtGFmIuAJHMSNVIG0q8rm/m93zo0Hx05yPqqK\nxyQWBRt4mOZpt06uUxrCJGcZa2casmY9bIdMU4CpMbdKyQDG/Ql/7YaHwLjJ\noeuqZbrPSQxag78jqTH7OKjyxrq/kHe3TExbCvgN6Wxl2J6u6bDH2B2sLO8A\n3CDdGuPJQwYEvf4pZ/O9J/Gbu9Aih6THGcw0RFuDk7vv2KnAg4dXH0rJi5Hm\nO19R4APWrs21LHEztl+LJue4X0VF+NgR/5PgC8UiT6SVOBYUEO5P3Gv6D5xm\ni+asdZ2v78NmlimQca81oTY5xqzAsDjTJ7AFPnX4Elvct1DuT7ewCzRZPi2K\nGWlm9Uh//zSI+lar4p+yoxM2IwPHWp6SP5MBELk4u8jQH8fw1ct05zZDwzWP\nZd0xgBadoTy6ZjoovcQPwsDYA9myB6L/WAqG58ud8OvpziT9XEYQEBM9+Umj\nR82K/Qpk3C/ngy9X4mswbu1fEItSwLm5P2thsSH+wXHtIL9Jt8eibG+3MXFE\nuJLCIX40rTnT4ppIG9mQThGzgImomDOIq1A1Y6SRTTHkIlqlrjdZNYffFmF0\nbjZ1qF3gcE+yZEsePMhAQs1/zgATUK6LpgT43qM3mp0waDM8uHJ5ZgBAG6yy\nAp4X\r\n=W9/w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"d3c5f10469b3a79de2ddb82aa11a0589ea4ece90","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.4_1642140675833_0.42501659868655883","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"use-modal-ref","version":"0.0.5","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.5","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"8c492d888545fe2a347be810679b10adc5db529f","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.5.tgz","fileCount":8,"integrity":"sha512-qPYoHF0skb80jhdQxecCPd6bKJU7CwLm5l+l7sSExymWSH2XHAcJTOaPpFm7l2rYMDAadp+L2wXRDjvCnEmJHQ==","signatures":[{"sig":"MEUCIQDAORwA+fWvb4Vj7y76mW+NOYnZQgQq0uHAt/SMivw7vQIgfuvouCIW3FsDl/Fi7g4KzMqAXid91FC/Z/weNbQ8ePc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHYQXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTCA//fUG+m9BWXdYPZeYGzv+RHYNMKIEqiGA/x5Fr0FNT/KFKYczw\r\n5zUlx2EzMCBRNEBJsK6oCC6puBepFFQPJ7ajk7HmSK0yYh0En5x0iQyYWWiE\r\n/4F1x1dn+CKL11lBougZviL+ZGNtHJnnPPj6WvLhzARRzfYmKiepYEE3tuKm\r\n4xpfJWY97mSWra0zpG8KavyKWSIyZ1Q+jy9SVzOA15ia199YCIYOiMBnDJXn\r\nbaemqKBfoJOG5VarkSUyid9qnu1N5y70sA/4F1ob4oS9weQQLwg2jGToyLgD\r\nSos47Eb/1TQdz87Zn0IbT8aIgDLO9Lhq0OqWkkcdU9pLR6QC2jYax9jPz+Yo\r\nKtAwLIOk4lYd33FBJCVQ/Jq+QjC7Tj8O0TEDQZILtoSN0bPybfIfuN9D1C8C\r\n0jB6IR193Xy9ex9sxFH3WopDxjMf9LcVDn2zi66fzRfOysCIdMeIsxcEdpA8\r\nCSpE2tr7MHEFAd7FgnHP0vFqRBXNe8ewopLhDWxrv4Q0qVbguuywHgdMD1uv\r\nMR40kd6zHcu82LX89tEOiwNNNP0Ety6deiPgsVbnqYdNZsHxcURT9/VaVIDa\r\nOn0gRXvUPZUfWKRxb1vSRjypA+pEKVAve9vTfuNpGr5H1E02K/f43yeInyX1\r\nTqKgMvFyEyoO7Q2eUUP19Ud78ORCg88vjU0=\r\n=u99K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"46a3df732181da8ed7c7fae286e46eaa61ce1530","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.5_1646101527767_0.17936963284531648","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"use-modal-ref","version":"0.0.6","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.6","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"df4336b49ea0f7041e5c427922b0d8e47bd2eaf3","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.6.tgz","fileCount":8,"integrity":"sha512-orzV/p06IsloApcSKvPmRjoPM7iZrHcjLsgdQSQqLfvKEVknvcvNai3FaQChe3ijGKolPzwsKa14Fce8wrdC8g==","signatures":[{"sig":"MEQCIHkXIdbtrhRXMAlYVF4yBrwk6KqWF+iPzjmT/UQHBxb0AiAh0pi+v67ClAJHfFGoedpzLnhCJ+fTXQqJ51rOOyz4AA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHtV2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmojJw/+NNnA8hFSfRUML4LuOhdrWKZLTQIq7mVSre6JqsM1TpnRznOP\r\nkcNnVlLj+fAIso6oNRKwNjS1BQkoduKnF5c36iGK06zZyp6a27kKhact7z31\r\nOG6kxr3ApY6v8PPKrkeDXlNzXGoTwcLzZnhs/GiHgJf+EGM6iLY2Hv++maD0\r\nQ6lnVWiAh58jHWmTOVI6NISz487Q/I2YsIxXX6DH5JCJeyp6vBrKgDgrxSPA\r\n1v3Z9eTdquv8xmo5VFHIbOlk6X0XkU+wvEZ7219q9EDK80nKrYRrgima4uz4\r\nsRJ9n13f+LTVzHpPvyrso/gijTp5mgIaUVtFJXi9b9JMbZNqTAdEDLM8YKJq\r\nElsV4Qt9LvcxVu3ARPr3rroW67Z5rRE43MpLjdWEc9ZL0ntP0IYi5Vt8SBMa\r\nMyCBpDu8//p4/E+mS1YUosxWN9CL+KG2S5ueU6wMur94IgJs6J7O18NJpYyI\r\nrUj0WzILNMjQxTw8gTkYfoT+darmYl3uka2okIqwQJk1tsnCXrIcf2/00foc\r\njLi44OcOL07OGBkpl9iQ089dGQa5uM/KA0hkXaUv3E4b3NUv+oHU30YKZBtF\r\n5ayuhjQ9uXnB2Yg+7MwpFaxD+OW9AFgj1AC6fdygvoG1cxG3Z4JYgC2SKhe1\r\nJnV2+YK7rhh670TOaJd1OuDvt+8ScmGBvZo=\r\n=y1hn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"8f8fddc59182db2c2512acb2ef12fdf8132b5cb0","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.6_1646187894083_0.24036906747312514","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"use-modal-ref","version":"0.0.7","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.7","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"51956dad498c6372ddf59ba2586ea729923238e4","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.7.tgz","fileCount":8,"integrity":"sha512-zUBM2jJtH1xiTd/psCpNzyYCnLhQ5M5VPTd6uosxEfLMVYMDi4S6P7ISJv7Law1EqGEesisEFbP3fmZzx69p1Q==","signatures":[{"sig":"MEUCIQCI9ueU92rtlO4kyhA2OQXsUZRgMQI/EZs4K1X1GkADWgIgYZx7Noi9U+Jylv2zEtDw23dPDLIhdvK/2AEz5EP0IAg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHuOuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrO1g/8CoCG0rJgsR25qv/odRWZyHDUg8R/X+zxSXu59seKmOee2Jtt\r\nQHR/R/qAzqO2JTVfNRmI0V+z5CWzb91K0gNjS7sMYpP5qRGxhEQCYx4nYW9g\r\nbBRpWvbrPBDpzEbdDCGRXFVeklAOsyQA01Q7axUi5A5KE1XDxcCJ1q02oR4X\r\n3F8MOBJz/4qqBIhIA+bP+zoW9MsN/5K3IcCr1+7WsbLMCw2GDlb6FvtPums+\r\nJYBCnyXbHBHumFJj2CixMr5cFH4CJYPS2OOWIvkh52k2KudhpsNoa+dXV1yW\r\njuxHqDNEvBTynoMWgfXyyKyMM4gJ6jzbyi4Af69+289RqIUcv3VFhH2+Vhid\r\nb8qniUsUvxRcKiwuGZWEGcKEfNNpCLlfxGA+cS8g1aJ+KYnF6Tu9HsGkrlUe\r\n3Fl24cq6RcN+vZilOnjjLRKBNfOu2dlU5kZmL1wgk0ba6yeFaSGojiMeMT67\r\nmYGQNw0sXn5cBVR7rdHpo7ae7SihwxLupanCxTMVDJW+W/Y1XKfurBGO1d/6\r\n2RE+kce1aa/oWx9MceS1oxqMMNL9ISV9YLxTwisOwOZpgtFnDGmm0ovA/aVu\r\neWPEkZh+Ly4cbe2tRgtNwJRPWVdc0B91GEbQRWQIyXv2FA0sJjAoSgvZm8U4\r\n2VQTU+7jNnILXhmwC9foRjBePG3KxcefoJQ=\r\n=NKcG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"aa9332097bfcdefbf763de42b0adaa3c37c3cd62","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.7_1646191534170_0.46917762353086334","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"use-modal-ref","version":"0.0.8","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.8","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"2128d7839ecf6f4f30c291d0ff2bc6fcaf471691","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.8.tgz","fileCount":8,"integrity":"sha512-OtCh5zdx3mFwpfGTV1DAS0zQ0lHjm85Zr8qajlYm8RbRoVmXPHHirnDv7YexIPnp2btExaM4BkIrYF1scVM+4A==","signatures":[{"sig":"MEYCIQD077GbZWH63kFcy1B61anWfJkcqU3aYLlDeVLPNVzXVAIhAMPv1orW61rNDta0GDOt7DeGgmn5TzpAtgK+VswVlQKj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKAbYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKeBAAnk12e3bTQsQMBkDmp5i1fPdS7156qfpdEAMvnW4Dl6phJ84g\r\nYC+s5tlu4hXu1yeiELqBOKToDI6oaO6YiPS2fxVrmy6Rks3aHsMuzvdi8Oi5\r\n2oiIwm+OMZWrwywvwVZlBT//8xYi+PS1edLjCvWY7YwJXfhE+UfSFsU3+d8J\r\nlLsHdWgyR1Jh0pQq/nQv53rQAMDSU99jD4OlSmuRhkBxyLsBL2uaLZjGB5CP\r\nBpFv2BkSJvNGasYZQYrq5ihl1FQCSdbvY7gmHyssZxt3i5JJaTBa0Es33pMB\r\n6mU+sC9mktOHqcU8hg+fSKhobFB1LI4XLTOzNMzhDxXiysVs3Ewert+OV23u\r\nNqHws5wEsz/iVrC1Ct6BoaGoX15ZYUkFCzITg3Ygg8Cau54rgRZYpUQciSIr\r\n1ZdxVnEvIcQxYq2LLvz3aLGgWGlDet+p3LY3abfFtws6rN13XpzkAq/dXp5y\r\nL7SyycXfd6eE342xuKNZeQ5Rok1am47Ar7mmeArvFDtNQQ68W/nMfoeKWEZg\r\nB+wKT6Zng0YBGMm76G50s0F+wCIL+s3eW7MiC1Qg27I9+9mPTPcvuRdtjnM2\r\nRj83YxwGb25afukXR4Vx1176Q6N10T5F8eE2e2So/MtQ4lY9zFjf/R73Ha1s\r\nDwtIgechWzTfTBjtdXL8GJwuUqgiCwOLVVM=\r\n=98a7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"288ec6951922a4c9bc03b366c7deda6d374456df","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.8_1646790360358_0.6369714335454582","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"use-modal-ref","version":"0.0.9","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.9","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"28e112fd834bc998a9c2a049aca5c18276fe4afe","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.9.tgz","fileCount":8,"integrity":"sha512-3aO/bBlVeegNYVLoE7630z+0+tw4HPHGKMkpFlcNYSaURm+HYW3ckb3fl3vVi5mdoQ7bZEc/68WxCyP5Lj2n2Q==","signatures":[{"sig":"MEYCIQCGiS/Hzs2O7yivoUglwCy1N6xQFscE7iCWVjH+8Q1/LQIhAInRv87mA0Plr9KSLp1Cu39P8M2PNL/b/VvLHhfUlZIq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":53220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKaXKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrebQ/+ISyNnrFhC7SJ2yxbHxrcoswG+nIm+iEPigfUe6IG7tkmQSji\r\nSmzzXgHOYZiOL6ieMwmX/stY/yLVj1S3XqJQ7xcKytMg7FKQmljPEJdAMCSv\r\nX+4YZ9xVsAYjclXRv/aSM16e0d6vQF8QtV7KpMYyI0OMI8qoGuNPRoNYbhtK\r\n+EF8Rwbsdun1LYdRptjZDzFq8qbPMtT5f0GIr5g1B2A7u8LG/XDTr1lk+i+8\r\nO3U2wKJdq3ISglWs75cIE9gIG043oDrZTeNl9m8449g7zyHSsD2FctTP5iXk\r\nbqKl66UykXk3eViduBnSPYmJF8hZB52u70I6eZtHyXg1iC9BrEWLhxso3rtA\r\n9xIkkXKp9TW/A2daeVTV/QoYcR+hKPXD/CsEcaqxlRcHgZO1FmQchauFUDi4\r\nFpVzs3I191c6EALNg8BFqoS+JXdCLvXarRN/6FVJ4Wg99dFLD+RzZKDt164F\r\nN/1CUvIKJXNYc9IfjtQkHQN+m1m1aEKpWdVQ4D+0Qyh7gZDtSZoSwV2OmM+E\r\n+Gi8nzQU1vWny5tJ2ovPUpgo95QfIWzamLn9m8vNAnUxCYNImOXq89lROTxb\r\nANB5tCiwcXN8LX6ZLcgU2+Qo3mYO1wH9Z2/3HJHsSKqzieBBWkU8rAMLhc85\r\n4oHQScO3J4i7IOik1qotkct3A3sy0jmYCmk=\r\n=CAxD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"2eec67ac7fcc935a1cc3c5ffe35ab00829f0cf56","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"6.14.4","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"12.16.2","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.9_1646896586665_0.043789205571020284","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"use-modal-ref","version":"0.0.10","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.10","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"8433c1a192c1869a0887347595b912a6cf7029d1","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.10.tgz","fileCount":8,"integrity":"sha512-k83kcFg4I5L+l05nw5x2eedLVq+Ufg3MVu/PhcUNwsCfTaYLWUsI+JpIU+1L7IrkDu0cxp2vJVgRSGnzC59wWQ==","signatures":[{"sig":"MEUCIAaayrwK3EdH1u0NS+MMipUvyhzKb2A/iuQ0+hsimNL/AiEArZp0erdFTjz067Pxf+RS5NvylJWQJjvbKvajUeEzKZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiak4rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosvQ/+N1peHpFNSmBKiGszUfWIWEgEEYW537jlw1kvbjeAOQAKiQaR\r\nUnDaVzs4Td0+znjGy4P+dbESRolYB9knFbiZESQs/nkkf7ABiYwM8BpUIEoM\r\n5bZf5eCx6luSJ9/eTAUVKInIa3Dilw6MwmpTAWZiQX5v1sS5AP7Eud67K1vs\r\nQxQAoXSBkVUaTEmUG1XSbygBdhJkn1gFoii6F9Bk0APL3pjTo8Z4rIrMLHxd\r\nletu3DnTL66oz06ISg9qa5ygmTcaUGr3tXljegh/RuA2uovIHvMXwp8Fy3sT\r\nZYXRC5wQqDb1skrl0+97qcY8JsVCfrb1jzs259xbpyCb7HC5ASKWerdbgjp7\r\neYPlQ6UP10QwG0oQ5Slvn8d7NhmH1kOCVj1kT6NHPjnoEN5B0H5fHkKOp80u\r\nlR6lbqYP/DE0sDrxsZIVynpiWKa8KOHzWR9mZYL2EuwB5YKsU6Y+/tQreCLK\r\nGrhqms+EpSUsm8CRMteubiNbpOnx+xTqgubm5Na+mCv2k0xv0mtZ1LG9zZsf\r\nX0xxZ0MbrfGjxRk1bNB4PvNlinrBj6P3xxKs7XoQOup2d5ZLjjo1IqbWD6WP\r\n3OiEUKD4vUmVxKUNBZOxXk7At3jVxseyZM3N5BKmZdS7AaC6aPbRoObNOuPH\r\nsu58XUXE/ad8WYJfSnXmTqZ7VQ1HctWep2k=\r\n=jgiE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"e00817785e3904bef365e473d0c0ac32be8fbf57","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.10_1651133995489_0.1201389766544061","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"use-modal-ref","version":"0.0.11","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.11","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"f2633e9c005c7224364b90fe48b9db19708653ee","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.11.tgz","fileCount":8,"integrity":"sha512-gE9ZeGdNNHmt4dhnGSybmBWhVqluy/z2+37zLsOCnZ4RWFFu+m6arhnHHxvxrAgkAoBuK/Pi+peYnnfYxI+Pvw==","signatures":[{"sig":"MEUCIQChoGxryY37UrAJnj8aDXr0QMsvfKNjftqquccL0GHVJwIgeoABg9ZZXPPP5ih0RYoAwbshd/vWclz49qjy2DbAJ7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJialepACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlNRAAoeUUngHlYjMAX7AeW3sJVW0rAByiWCRONaEsGh2KjwZ4zC75\r\nJmlgkp3Nx9gvlr6f2s1jet0FDK0xYliqLAcWkeOMmyHRv91orVkunfljAtUD\r\nt1bc6Dgt3uU1b870SYu5OSuQb36LeuP5qJ2zHiYFX6JwEu28U5//om8ZwWiV\r\nKMycdfCa+VTbofR8RzWIx/yKj29OcdsJpVavu4VvBwMRNqh/fVs4MWUGnApl\r\nwH2CRvL3gsQBTAdOXmo3KqZMNStUMwR5YVvZPBQGXEAlBOxoAd1mH7D+hSJy\r\nlkMWA3A939R54B6nFjFoL02j8KPfxo6ipyngcWHx4eWchvjcWSqlNmSi8yF2\r\nh5MvFiO/c27VyIaGuuntAOw5TtBTnsRUPBh846o1QDOyO196SCNNrT0JOC5C\r\npT+USTAVongrF/BvXDb009iX2nP83dXSrIBN1TndoMdHxnFCY7IovNv+aRXR\r\npqwQ3sVKxUyqo/lPWynkSbjdqtC8CwAXMEbX/zesDP/85QNU34Ybw/CSIvfQ\r\nTZT6Qpxti6c9/yszmrJF6Purf8yKgYqtmcvBSziq7tOPwXeQze9a1/fNTP5a\r\nMsF1K6PHaz6N20QX5GWRJeTQXYDEOAnfNZIBC8on4lr3H0jlLopMtpjqAnGQ\r\nN4mx2RO3QyeZR3y0083fih2Gr84RG9vpgnI=\r\n=1HbH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"7b86b938286ac65c94bfb3fbf1c54dda9a79160b","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.11_1651136424901_0.7303859336065999","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"use-modal-ref","version":"0.0.12","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.12","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"ed0717136b1f33ce87246e5655dc8acd8d5a879e","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.12.tgz","fileCount":33,"integrity":"sha512-b7Gj7Av+C3YgEWyFGwENdtv5N0OXLqnBaHUgvzbKXz7c6eWXTTpS6vqsb6ilKz6S8WLy+7dePtP5cDUUThwOew==","signatures":[{"sig":"MEYCIQDBinTi5zORwfDUUj1nVR+SNY7LfGanp6RIgc1SJKndagIhAI+etQQekw+yHyeexsxcaw0++YGWe6s2tgkVu2YuKfrW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDGrJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNpBAAjKsbzN/76cmVMVRTT9z7Px+wKiZtGmUt6TLGPAAHNBAka3rK\r\njRpLRSCPtlRB+0PXgekJW8oVt1J5xVPw1otAiCrdUDX1rIdpSJo9UeI/YUpp\r\n0U4lEEAyN/WtmFWM8aLzHBfRXHCbrU+oI11R9bPIax/ytbGRC2x/10Jy3O/H\r\nKWxVgqP9UQrxHp0jWGiiWPWZyKuy9w1nZnozzhBS6PScIe03aTHRwqq9lre8\r\nJaiESwtxiXUCdzXEDsRVk09Fh5VY3TDOXvTK859HmxWcm5XybpMn0eCTkI5T\r\nxy+5ja5pdRppe9GYIiB55WvyAMrK0pZNhaNPxkfLq+5DLR4BofZ54P26S7gs\r\n3MKbtzYLgzIU/87VdC9IpR/lciEhmDhj5vujkYkMWtsLEQG5WYcY9FxBi1ZI\r\nXR4AeILQez2NTxHYylqoD3q3qZTlHS6RzAby52TVRPie8mZJErpSssRNbpUr\r\nCcrfMO414ewVux8QVT56ZK/Mfx2aGTcUESjb8Qf/S4EbT4QLi3ro187ND5CH\r\nrEQniEb/anw8ArnwBZFFlGjqlICTCg+nFsJyEq3+drQUrFBUf/esQN9CRm/v\r\ntcEwYkEZ2YfVOAAL3xK0t9rng1Lbil/2vezN/38cpFQbpWlrDjB7E1hdTkvN\r\nsnD9MApHwwEGIj540Fbsfuxv+LtpEPRCqyA=\r\n=/4Sw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"da5cc1d5d8af69134425c443617a753b70f9475b","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.12_1661758153285_0.7352427901575358","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"use-modal-ref","version":"0.0.13","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.13","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"8d7632dda6bfa1fa2b7e82948868e8501b5df62d","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.13.tgz","fileCount":38,"integrity":"sha512-SBgkCvpLO15mlRaPbKfDJxSTWUXlcit2vPBQhI5nJi4MfNz4ibMnkqbRgLeYxmZ8DX9y+Glqpcpl6526YL/2Hw==","signatures":[{"sig":"MEQCIDXdPgwHp/dFcALQBccdz9/OI1bvPq2Dyxv1mK+Io83QAiBaSY0xzf5AtqI0P0uUmQRXys+u9vr3WyQDtpecEp72vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":85484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKZZwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWWA//aVFabbCV+FIWvxpeXXhJc/TyiY+hU83cMmLUPvHHbWCjteH7\r\nkBao/+T02Nj9gUwGW+Z/4fFxaTYivgyG7sM3ZpTAz5MzFLZuMfJTkdnQngsM\r\n/Rwgp/jYPkktlIyQYv2+3uak5vaN8wzEKf/1cVkR4VKXttE4aDPNNOMsYZiC\r\nf0eBXOqEbRhd+UjGaKuo8p4GWADG7mxZ1nz5JsS1lbYea/yLSFe9IXCUqrkp\r\n/cOnsnBX6/bKIyyM3F+wEBX4PJiy+HjLtoEtNHb8DLYJaaQuoqza0G3xV+sV\r\nLjsQibZGP0feF4Q4nCrPWfk3rtvdx9B74Rc2LsjasrtTXd0LAbtFYC8I9ngj\r\nn+3JqAX0MSGsVIDRHPpRrJ7gPHgKkI6NDluQuYp3yP5uApV27bb12U2uk7O+\r\noXWzjzALu97nuapkxqVWG7+0PW/P6To5TpxPWA9cosWBxTh1DgjmvLymfzjy\r\nf9IKFXQ3HSU/P6MFVTv6LMDe+jUcwGc6N1DG7N9YN4Cf9aw5neCXXgCLgQOd\r\niP8YX4oejeXZudvJQdMnycDYvdB1I+MvEgAZzZQcB93zp17W3LoQ6dykotg6\r\nSS+MOzXGDK1xnO1XE4uH8ehsCkLDfFqWEKLlQ9J5DM6NxxOTAKGtRDC+K13S\r\nVJ4KQFOihR+kHHLDzRpxq/oWVXQOL8B/I04=\r\n=bSDB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"d20ba6a230054cadd7f100caea0012589fa52cc8","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.13_1663669872273_0.5037973099313926","host":"s3://npm-registry-packages"}},"0.0.14":{"name":"use-modal-ref","version":"0.0.14","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.14","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"0ab326fb3576ad618bafb136c9df3dc1bcea50cd","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.14.tgz","fileCount":38,"integrity":"sha512-RbZgXeoP/rwhcSRZNCEWy9CBOoDjyRsx85iHrOWiJDP9WfPQktLPSbSMhCzZ8paIbJRF2x1q9xAGCpjsNVctPA==","signatures":[{"sig":"MEYCIQCnDnja910cmQx1Y1+igayqcZ9InWeLbqEkcsfMcuf/yQIhAI/BNlfXBSDFhKDO6OpqLsDsVNQwk/2OFfhts4Snv1B9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSI3pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoI0w/9FcBMLuBOtzPynYaDaYpLMLVI86dg/mYAmwnTrme6wSz3Sgf8\r\nR28lo+oSoZKFzk0Bbp09CoNfleUv1TMkf69miCXOeYhAS2Tep28pWKzAbQ0I\r\nF62FgHQk/Awlu0vi9HU3lPESXZf7VLupS0xwOzkvXn0VQHkSIhvZWOEmO5O1\r\n8wvkq5ekvbl6jkUsxcXHimrfbeMt7jEWOqtwJ2+b6HdYParspJ7rCP206bzz\r\nnvaGVbTmeqoh6MQRPJ6ZtwGj9PoIVsWeSqxtt39kdDcFb/pwd5I2Z5ZsJm+l\r\nu9ZKlV5xDkKsLkEdLQpXZqN+YZU9QpPQynMDC8bYRooKvJ5YOPzpitLTTe2+\r\n+yQ3P4wL21v/SX31l9BHzGEebUMGKmRLXgS7BqkHthZcsJDfJHKkn/yZIFlC\r\n2YQ8PDxD9KiDLp3M5aFj3rFS1Jn93A5BgLWhLHO+khF2QB1GY94PJLgsHkxM\r\nEhaw4UdLGiDdygfLenNNHDnHslUPHYYUmrDPjpHVSbxzToilX7FfSK78zqpd\r\nOaw85TalKmvuUh4qxlJKwfNm6BIaOXpHXyXLFVNpnkl+mH99GNhTWHiEZB2P\r\nbF4AjmGMNGFYYNJvKlXT83xaiEVrPTAOKCj61ZHEuiBgsalHzxPehDiMth59\r\nILlOL3vtri3wcCnHU70k/mptAqvYOfDf23w=\r\n=DQEs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"ecd9f4baf5c5323723c5bb9a4e2c80c9c6cab1dc","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.14_1682476521723_0.7741973664815633","host":"s3://npm-registry-packages"}},"0.0.15":{"name":"use-modal-ref","version":"0.0.15","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.15","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"30bb956929e9da5378d5ca9541bb4778b89fbc95","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.15.tgz","fileCount":38,"integrity":"sha512-OD4WSzCahVp04zaH3keiJDuhtrwUOosjzRtJsMaO5BG38WSZE8vKEfupHmQbaRCz32YKESa7qIu3ScsO8t3vHA==","signatures":[{"sig":"MEQCIFFj6/3B/EwsYof8dWWe6n8pWQE50YD/FvIIfSDxSqP8AiAQxjla1ojoZjSSz81JoZJM0X72oPY28NSZCI3wLqQwhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":96468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSl5cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrTpxAAlwwInkJmsBXy3i8ZScbn1BIu0/mATeOu9De914A4i2R3Y8vx\r\nig+isZF83ForOPkSWAkMZC4XDZ3pkqiqKnu56Wu5z2Kup9C1qsYUW8wSZ4HY\r\nIg+j6RjriE9xpUoCdKJjZG7ZdmSRe160HT8gG1THuUiyjT8Ra8hnhplHyhVz\r\nJTIMkFAk+6RZg8mQtmLRQ58cpqFFVh1yB5qODMODB7SJxn6LtRqd2mDktxJ1\r\n/OT/SMR81t0/dVvkMqm1sQpXptu0Cb6uRXgXDzYj54t7arfkVxqTbD4cT8w8\r\nNcyZK1G+ObF8oSSSpSmczt/yAzjiDWneKKb2rGHs5hA62u3M7UWxb7hcNvKi\r\nbsS6Ju9caunn7vqq5aYxSx4PlT0X7fowoDWVRTVHe/bKZpfOapRPzjLGd1Xy\r\nF5S3jR90soJFnWXgrlvz9NRJI+VOuqw8hD8Yho1ZbXFGc4vZt1aprj4a2XAW\r\nT3dIoVRsakAA2LAZZImbFlCAT2CWhB6J2tCZb9TBbjmQ1oFZoY/f4FTvyOaP\r\nVuNzk5LGHSjtRhJX9pzCIgXh2vEnV56Xx+VBjCLaQXWGjQjcc350RAbo4Ila\r\nqDI441RbofNm+H5t73rbm5qnrtM4431rYXqSNO1VbsJIBxBm4exE74mACx5i\r\noPIGeZQKqY3GfD6VBYwOpVbfyNRrjSadakY=\r\n=/Ur2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"da7e284ff1032ed68d1fe5e09aaa2e37060d5270","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.15_1682595420452_0.5078336394364558","host":"s3://npm-registry-packages"}},"0.0.16":{"name":"use-modal-ref","version":"0.0.16","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.16","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"5d26d40ac4af1c1f022adbd2f4c63adf4ac4f52f","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.16.tgz","fileCount":38,"integrity":"sha512-7vCy9To9qjuE5teGzdNghuKN3rhn6XAZO+XIXuliDQ/wPlyPfe3yaVJMpqhnGAcHABmUft0KZof/cYHIkzydnA==","signatures":[{"sig":"MEUCIQC88okRJpICqnvRsvWldm81uQrK8c9MXJ94IGkRgpoQIwIgV+REAp/vaS2vXyIAbBB51LZ6D3BBzJVW34fgEtYvCNw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97787},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"3886c8a42f454876cb4c4d780deab9b9e9c1c634","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.16_1685079485513_0.3255784759840161","host":"s3://npm-registry-packages"}},"0.0.17":{"name":"use-modal-ref","version":"0.0.17","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.17","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"6ef809d7cfbaf2fef81ffd203d7803b6f7fdc5d1","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.17.tgz","fileCount":38,"integrity":"sha512-pVzSX/0SAJbYjtCOxTCZuzvW1cUS2QDlh5wLoVrb+98KauFrxGCW8ltlD54nAPxbLSsKj4o2M5+CvXjaJqnyZA==","signatures":[{"sig":"MEQCIGbGdSxcQ07FpQep1G7xIeJHKgyrR14mfg8rkZlzbENsAiA2O+KJBgDIVCXJBzVFUIP0NSuN8fyhDZQVkty36CV3mA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99320},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"879efd0dfe5fe89b5984990c19e8a94ff89143ab","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.17_1693206038575_0.5609885226394458","host":"s3://npm-registry-packages"}},"0.0.18":{"name":"use-modal-ref","version":"0.0.18","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.0.18","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"9a4bb4a47a58f6aac12fa4c798b59c320d1d8e53","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.0.18.tgz","fileCount":38,"integrity":"sha512-sjkTxlvJVN3TVU6itB+4V/MSQpx3Zs0t6oAGF4pXaz2gIay91z4PGlHyLK0J13z2rGk8gmWze5ticBn2Pv8nMQ==","signatures":[{"sig":"MEYCIQD6/mIMWweYRnTH3drQgx6jRwgIK6Xq9nch9M7inPcIngIhAK/TbZxdGd2NnOO7sSrsDsu+Dr5VfCUSM73QUPFtO7jP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101068},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"5b628a7c16eaba60c3a89994f9df2be60edf6c65","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2","@types/react":"^16.8.0"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.0.18_1693551991390_0.9616624851590654","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"use-modal-ref","version":"0.1.0","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.0","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"2e76a11413f13c493bbdaeefd76c5fdff525d705","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.0.tgz","fileCount":38,"integrity":"sha512-mGQ47sxvyzBypXAkct/PpJMPUHVFtuqLekYJ/HKYalzLV05jH2r8PDAKgk0gOhcywzg5+lYaCjJJ309RpWhuMg==","signatures":[{"sig":"MEUCIQCXPcLahxlfisLiCXtz8CTWBQTO48PLvgm0kakmvKz0vAIgKUVWXloWrgoN96ZkpcFc8TEFjLEoJVSjKX/hbel1Ljk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":121166},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"ade7e100d1e033f9c6791f7f5a324aa1db1352f5","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"8.5.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"16.14.1","dependencies":{"tslib":"^2.0.3","core-js":"^2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^16","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.0_1727405802535_0.42254181360452714","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"use-modal-ref","version":"0.1.1","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.1","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"750ddf54501a22341dbd806be83e498516a26d24","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.1.tgz","fileCount":38,"integrity":"sha512-4I9+rAFT2EJyox7JhuEvQnCE1CpwPYHyJ4JFLRcRdikwZbKkcAO7mBkI7Lp1Lv10VqwBMc8dHnwivWpnDVB5PA==","signatures":[{"sig":"MEYCIQCTc1fG5eLGpfMyVQ8BsXEYZGQaC0ZRIDhxGYGQo9yjrwIhAPMCPY6vPjexScl4P2AAkAiPv9jzlIzrTD3k/aImWvwU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124180},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"ade7e100d1e033f9c6791f7f5a324aa1db1352f5","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.7.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"tslib":"^2.0.3","core-js":"^2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^16","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.1_1730254181776_0.7275529703828667","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"use-modal-ref","version":"0.1.2","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.2","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"bcc2c2abb5358f57287a53d9e0da78820643e47b","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.2.tgz","fileCount":38,"integrity":"sha512-jc0Fl/k6nOGa8jNXZYXMLFFrwpg9M1nX96pyH2bIN/USiLVfSGGFypUhUondK/otw68xhBo1vfuwEf/8Qm1X6w==","signatures":[{"sig":"MEQCIFsuSdwfuCj0+OVbTxS1CnGpWEF6sIK29mGOFifgodHTAiBhE8Y1bmswWmos//y2ATu4dtVpvZxFAJpGa+txwd+M7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124852},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"dbb925a56d00b61ccb0768122b02cad3b70e6f70","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.7.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"tslib":"^2.0.3","core-js":"^2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^16","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.2_1732241975681_0.12403312007704259","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"use-modal-ref","version":"0.1.3","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.3","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"69caf189aab73fab8c81f665df8bc665b93e37a7","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.3.tgz","fileCount":34,"integrity":"sha512-QdRN1MNIQWbuDbLifTX0AvqxnMlWhGlNpAQmoHJDVmE+IB2uVXckd60zC9R0eLWXpYcAXO+ka+oW+wJGhCD45A==","signatures":[{"sig":"MEYCIQC9Eopyevg+Fv6wTamsQRoAgEfaJ0zd1dlrbzB6MakxqQIhALGcrqP9w84xfop8iP5aP1QB93jdZM4eukBZo7gCyTFd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131821},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"8c8b58f69de8c4c48c0366ba2b1eaf11137e9e22","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.7.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"tslib":"^2.0.3","core-js":"^2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^16","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.3_1753489603920_0.010189370121847396","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"use-modal-ref","version":"0.1.4","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.4","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"a2fa28104e3720614dc198739ca1bdb62e3fedd1","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.4.tgz","fileCount":34,"integrity":"sha512-uXzCrEPHkiSYEIjZzOfqb+DSWccsdEz3f3rFpQNNhWgJwn2JV8meQgJAkRZhGwo1hidw+F0c+x8S1A/3T1uFaw==","signatures":[{"sig":"MEQCIDqY6mADgvUCSgvgcsu9YHYEhW1dSN1zpQBwxSSQpZaVAiBQFSaUVgmMc+z4B8oHDRVLRS42tcONDQXCBodlLkD6Fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134012},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"80795010a875f7ddd3b5113326b3e9a7c605c20b","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.7.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"tslib":"^2.0.3","core-js":"^2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^16","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.4_1753490331638_0.2962630156376922","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"use-modal-ref","version":"0.1.5","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.5","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"862548d401edd306637398073633f63204a22a46","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.5.tgz","fileCount":34,"integrity":"sha512-OWYIjkg11Tlv0vbvq4LLU4ETnmDmTEYZBk/leoKtXHu3ugdaL66Y0XdiaHgw+Zdup2sF1ajzBWtrB0hzk6svpQ==","signatures":[{"sig":"MEUCIQCMmQq22wzKkmxAhaFyvf4mvWajuADST8wZGaU7bDU9+gIgQPmerSv+Bm7+KX61i5JIlR4bnmJuzHKz1h4cGZkEpIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141925},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"d7302e6684e8c454633d419c198645292ce44a4e","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.7.0","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"tslib":"^2.0.3","core-js":"^2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^16","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^4.1.2","@babel/core":"^7.12.9","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.5_1758607236848_0.7039036565251915","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-alpha.1":{"name":"use-modal-ref","version":"0.1.6-alpha.1","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.6-alpha.1","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"a7dcc0ae5992623354c4f617a78e98cc915c2340","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.6-alpha.1.tgz","fileCount":44,"integrity":"sha512-o+AUmkAtVdVktfHwol/PO+eTHXNer1Jc5sFg2UOa2hDQ6+Bi/1aebOYZ9PR/OOF5Ua6phwMYJlErhuL0P5vUPQ==","signatures":[{"sig":"MEUCIDoqKB3LUDllDhmlekWOZpcOpyuo5sIHp8eoEp4EBfTBAiEA9vXVv08nHuBlsS12qeV1Gqua0jiHdkbkd6G0RoXpFcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183137},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"gitHead":"b474e8ac6f24e1e29deb230526cd3d6b31a9a091","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"tslib":"^2.0.3","core-js":"^2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^16","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.6-alpha.1_1763090397724_0.4478687297636046","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-alpha.2":{"name":"use-modal-ref","version":"0.1.6-alpha.2","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.6-alpha.2","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"f75a8ba8bc6c26f24749f09421de6c562cda8881","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.6-alpha.2.tgz","fileCount":38,"integrity":"sha512-7k0Gl78bYeSPvOkwX5VDouizvqrgfouETHZyz5T4FAc8YS8hDuS2sWOX+aJNyylWFdFW2/kASXqu+204gRIT0A==","signatures":[{"sig":"MEQCIFgnVlsSaC7ekE/9+4hBVYBelD8dTXJDzWkHnWcOvqBYAiBlVvuOc8+UpNqEiw5SeqE6SZjUHSLdRVoMCmCxXv55aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168574},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"}},"gitHead":"f182b69c1a4ac1a2a5e3c2a786c0a9e6de588466","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^16","tslib":"^2.8.1","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.6-alpha.2_1778135299948_0.7008756706643078","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-alpha.3":{"name":"use-modal-ref","version":"0.1.6-alpha.3","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.6-alpha.3","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"8787a0fb91d4532456e4893ed3a8d0d794b54672","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.6-alpha.3.tgz","fileCount":38,"integrity":"sha512-XF3XhPhffI4GO20yPXb1OZMk1zDrXdhLpqxPv8ZtwWr4MVfgJ3reTKWuOcxdg6jnQ2BI6m/JuUVsz6viXbXYnA==","signatures":[{"sig":"MEUCIF+M46GVpR3zHAw71Bma4FNCUw8IjDl/GoGfkUXQNW6IAiEA8HXCZX3i+nLj6UF/myKzTC0ojJg+qrMSoPbUDJyCctA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168711},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"}},"gitHead":"8d7dc32a630e6ee4623ef9cc6379586d2105ccab","scripts":{"build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:types":"tsc --emitDeclarationOnly"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^16","tslib":"^2.8.1","eslint":"^6.0.1","webpack":"^4.35.3","cross-env":"^5.2.0","react-dom":"^16","@babel/cli":"^7.12.8","jsx-loader":"^0.13.2","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","file-loader":"^4.0.0","webpack-cli":"^3.3.5","@types/react":"^16","babel-eslint":"^10.0.2","babel-loader":"^8.2.2","eslint-loader":"^2.2.1","@types/react-dom":"^16","@babel/preset-env":"^7.12.7","webpack-dev-server":"^3.7.2","@babel/preset-react":"^7.12.7","eslint-plugin-react":"^7.14.3","clean-webpack-plugin":"^1.0.1","eslint-plugin-import":"^2.18.0","eslint-plugin-flowtype":"^4.2.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-config-react-app":"^5.0.1","uglifyjs-webpack-plugin":"^2.1.3","webpack-bundle-analyzer":"^3.4.1","@babel/preset-typescript":"^7.12.7","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","progress-bar-webpack-plugin":"^1.12.1","babel-plugin-define-variables":"^0.0.3","@babel/plugin-transform-spread":"^7.12.1","eslint-import-resolver-webpack":"^0.11.1","friendly-errors-webpack-plugin":"^1.7.0","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.6-alpha.3_1778138056795_0.7463548942627474","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-alpha.4":{"name":"use-modal-ref","version":"0.1.6-alpha.4","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.6-alpha.4","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"2a62853b375c42ed7a6531d08b9efd925cc3929a","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.6-alpha.4.tgz","fileCount":88,"integrity":"sha512-ZpiqpzLVDfJAyj5i8a1hytfZb7l1/zVu8nxRFmJTXq1Lp6ZMM0Ygr+W99JCZVLS36GVC4THWd0pT4fI3OfNYTg==","signatures":[{"sig":"MEUCIQDIO1z98moUahlACKBdzcbzuFzym7zDgoLLrK5loddrUwIgTmFY0bMX3VfpncTdGopQIcZUCJzsMt5UtG9aqtbHH7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242483},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"}},"gitHead":"504fb530a3aeb6e57ae1fed2d580072bf8097264","scripts":{"demo":"vite --config examples/vite.config.ts","test":"vitest run","build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","typecheck":"tsc --noEmit -p tsconfig.eslint.json","demo:build":"vite build --config examples/vite.config.ts","test:watch":"vitest","build:types":"node -e \"require('fs').rmSync('types',{recursive:true,force:true})\" && tsc --emitDeclarationOnly","check:compat":"npm run build && npm run check:compat:esm && npm run check:compat:es","demo:preview":"vite preview --config examples/vite.config.ts","test:closure":"vitest run -t closure","test:coverage":"vitest run --coverage","check:compat:es":"es-check es2020 \"es/**/*.js\"","check:compat:esm":"es-check es6 \"esm/**/*.js\""},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"es":["Chrome >= 87"],"production":["Chrome >= 49"]},"dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"antd":"^5.22.0","sass":"^1.83.0","vite":"^6.0.0","jsdom":"^26.1.0","react":"^16.14.0","tslib":"^2.8.1","eslint":"^6.0.1","vitest":"^3.2.4","es-check":"^7.2.1","cross-env":"^5.2.0","react-dom":"^16.14.0","@babel/cli":"^7.12.8","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","@types/react":"^16","monaco-editor":"^0.55.1","@types/react-dom":"^16","react-router-dom":"6","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.14.3","@monaco-editor/react":"^4.7.0","@vitejs/plugin-react":"^4.3.4","eslint-plugin-import":"^2.18.0","@testing-library/react":"^12.1.5","eslint-plugin-jsx-a11y":"^6.2.3","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","@babel/plugin-transform-spread":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.6-alpha.4_1779597030894_0.9155493904142973","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-alpha.5":{"name":"use-modal-ref","version":"0.1.6-alpha.5","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.6-alpha.5","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"5d0ffd6623df6d54ca76de6cea5a3c1673118255","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.6-alpha.5.tgz","fileCount":88,"integrity":"sha512-w4WSOuLjVnEBuxSpEYNfSEd2Is01+v7jfforXiiwySeZCEpakBTmeWVj0p/WeBxV9iaPnzxq0RaHfRDtGRA5cA==","signatures":[{"sig":"MEQCIDm3QyZx9xhQzB7lhYQTBAKY7fOyQa2Ektub2QtCkeW1AiAgjeD1F3YxlUq5qDDa4kqL1j1WJIssdwM8rtv4x/PZbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242483},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"}},"gitHead":"504fb530a3aeb6e57ae1fed2d580072bf8097264","scripts":{"demo":"vite --config examples/vite.config.ts","test":"vitest run","build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","typecheck":"tsc --noEmit -p tsconfig.eslint.json","demo:build":"vite build --config examples/vite.config.ts","test:watch":"vitest","build:types":"node -e \"require('fs').rmSync('types',{recursive:true,force:true})\" && tsc --emitDeclarationOnly","check:compat":"npm run build && npm run check:compat:esm && npm run check:compat:es","demo:preview":"vite preview --config examples/vite.config.ts","test:closure":"vitest run -t closure","test:coverage":"vitest run --coverage","check:compat:es":"es-check es2020 \"es/**/*.js\"","check:compat:esm":"es-check es6 \"esm/**/*.js\""},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"es":["Chrome >= 87"],"production":["Chrome >= 49"]},"dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"antd":"^5.22.0","sass":"^1.83.0","vite":"^6.0.0","jsdom":"^26.1.0","react":"^16.14.0","tslib":"^2.8.1","eslint":"^6.0.1","vitest":"^3.2.4","es-check":"^7.2.1","cross-env":"^5.2.0","react-dom":"^16.14.0","@babel/cli":"^7.12.8","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","@types/react":"^16","monaco-editor":"^0.55.1","@types/react-dom":"^16","react-router-dom":"6","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.14.3","@monaco-editor/react":"^4.7.0","@vitejs/plugin-react":"^4.3.4","eslint-plugin-import":"^2.18.0","@testing-library/react":"^12.1.5","eslint-plugin-jsx-a11y":"^6.2.3","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","@babel/plugin-transform-spread":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.6-alpha.5_1779597175393_0.23751362884729388","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-alpha.6":{"name":"use-modal-ref","version":"0.1.6-alpha.6","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.6-alpha.6","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"ccd4a34e7e4383466cffcb0480e3e69b5c68393d","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.6-alpha.6.tgz","fileCount":118,"integrity":"sha512-BPTXPyEk3U6EMY2sjhbK8IxWRjtG452mXsOpvY0KEqW88FTL0bzKKSFuLPQ6kUzYzi85IciZVAo5Quthf7nvGA==","signatures":[{"sig":"MEUCIQC55IBhAJOWf8rpDNPJcQnaKeKKpWEpkPjv/V3+rhFIRQIgT6Batoi+JKjUBpETz3wp4lfPS9E5UEIz5kVObZiikys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309428},"main":"esm/index.js","module":"esm/index.js","engines":{"node":"> 6.9.1"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./config":{"types":"./types/config.d.ts","import":"./esm/config.js","default":"./esm/config.js","require":"./esm/config.js"}},"gitHead":"2fdd6f75856a43a8687328e14cf5346f4d830f45","scripts":{"demo":"vite --config examples/vite.config.ts","test":"vitest run","build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","typecheck":"tsc --noEmit -p tsconfig.eslint.json","demo:build":"vite build --config examples/vite.config.ts","test:watch":"vitest","build:types":"node -e \"require('fs').rmSync('types',{recursive:true,force:true})\" && tsc --emitDeclarationOnly","check:compat":"npm run build && npm run check:compat:esm && npm run check:compat:es","demo:preview":"vite preview --config examples/vite.config.ts","test:closure":"vitest run -t closure","test:coverage":"vitest run --coverage","check:compat:es":"es-check es2020 \"es/**/*.js\"","check:compat:esm":"es-check es6 \"esm/**/*.js\""},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"es":["Chrome >= 87"],"production":["Chrome >= 49"]},"dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"antd":"^5.22.0","sass":"^1.83.0","vite":"^6.0.0","jsdom":"^26.1.0","react":"^16.14.0","tslib":"^2.8.1","eslint":"^6.0.1","vitest":"^3.2.4","es-check":"^7.2.1","cross-env":"^5.2.0","react-dom":"^16.14.0","@babel/cli":"^7.12.8","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","@types/react":"^16","monaco-editor":"^0.55.1","@types/react-dom":"^16","react-router-dom":"6","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.14.3","@monaco-editor/react":"^4.7.0","@vitejs/plugin-react":"^4.3.4","eslint-plugin-import":"^2.18.0","@testing-library/react":"^12.1.5","eslint-plugin-jsx-a11y":"^6.2.3","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","@babel/plugin-transform-spread":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.6-alpha.6_1779599099567_0.8036752656777628","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-alpha.7":{"name":"use-modal-ref","version":"0.1.6-alpha.7","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@0.1.6-alpha.7","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"293c7187cf48ed362443c7e426bce03c48b6be21","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-0.1.6-alpha.7.tgz","fileCount":143,"integrity":"sha512-hdEbM6EodXS32kqUlK+3AroEqZ3yo/llgnd6o5B1Thnbzi9cpZBne6fTumutqTRPPkIUCV/AmspggTOlxf9qBw==","signatures":[{"sig":"MEUCIQCEHFUsdB+vf8V21YwdcZWuQAKyEBE5dzqMUgJrx9IDcwIgAhn2Ac4QftgWq6Qf2j+uB0SsjD8Es/QJNn7fn6bVL04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379627},"main":"esm/index.js","module":"esm/index.js","engines":{"node":">= 12"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./config":{"types":"./types/config.d.ts","import":"./esm/config.js","default":"./esm/config.js","require":"./esm/config.js"}},"gitHead":"c68e8451a5169a465c65eb7c04476a5cf0c82463","scripts":{"demo":"vite --config examples/vite.config.ts","test":"vitest run","build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","typecheck":"tsc --noEmit -p tsconfig.eslint.json","demo:build":"vite build --config examples/vite.config.ts","test:watch":"vitest","build:types":"node -e \"require('fs').rmSync('types',{recursive:true,force:true})\" && tsc --emitDeclarationOnly","check:compat":"npm run build && npm run check:compat:esm && npm run check:compat:es","demo:preview":"vite preview --config examples/vite.config.ts","test:closure":"vitest run -t closure","test:coverage":"vitest run --coverage","check:compat:es":"es-check es2020 \"es/**/*.js\"","check:compat:esm":"es-check es6 \"esm/**/*.js\""},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"es":["Chrome >= 87"],"production":["Chrome >= 49"]},"dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"antd":"^5.22.0","sass":"^1.83.0","vite":"^6.0.0","jsdom":"^26.1.0","react":"^16.14.0","tslib":"^2.8.1","eslint":"^6.0.1","vitest":"^3.2.4","es-check":"^7.2.1","cross-env":"^5.2.0","react-dom":"^16.14.0","@babel/cli":"^7.12.8","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","@types/react":"^16","monaco-editor":"^0.55.1","@types/react-dom":"^16","react-router-dom":"6","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.14.3","@monaco-editor/react":"^4.7.0","@vitejs/plugin-react":"^4.3.4","eslint-plugin-import":"^2.18.0","@testing-library/react":"^12.1.5","eslint-plugin-jsx-a11y":"^6.2.3","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","@babel/plugin-transform-spread":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_0.1.6-alpha.7_1779600577048_0.47042019966969373","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"use-modal-ref","version":"1.0.0","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@1.0.0","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"b6878c91e9d816a220b1fa456165e8419974eabb","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-1.0.0.tgz","fileCount":143,"integrity":"sha512-nWoPaXkshMZKDWrynBdSFLF1yvT/a+JVT3dNS+LW73AlyKH982OQShesVpM989rlEgztONx72IzBpCgdgOHeIQ==","signatures":[{"sig":"MEMCIHlyv88x6Q3xh3eby/g2So7YPFtKE7xmwWS/9OHcjWduAh98GJzTuxBZk4X08sxOnfiSKciBFrP/CnIdn9JuTzot","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":388605},"main":"esm/index.js","module":"esm/index.js","engines":{"node":">= 12"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./config":{"types":"./types/config.d.ts","import":"./esm/config.js","default":"./esm/config.js","require":"./esm/config.js"}},"gitHead":"a1a39d7ae51ca8436ed298cad0bb8ecc5625014c","scripts":{"demo":"vite --config examples/vite.config.ts","test":"vitest run","build":"npm run build:types && npm run build:js && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","typecheck":"tsc --noEmit -p tsconfig.eslint.json","demo:build":"vite build --config examples/vite.config.ts","test:watch":"vitest","build:types":"node -e \"require('fs').rmSync('types',{recursive:true,force:true})\" && tsc --emitDeclarationOnly","check:compat":"npm run build && npm run check:compat:esm && npm run check:compat:es","demo:preview":"vite preview --config examples/vite.config.ts","test:closure":"vitest run -t closure","test:coverage":"vitest run --coverage","check:compat:es":"es-check es2020 \"es/**/*.js\"","check:compat:esm":"es-check es6 \"esm/**/*.js\""},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.8.2","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","browserslist":{"es":["Chrome >= 87"],"production":["Chrome >= 49"]},"dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"antd":"^5.22.0","sass":"^1.83.0","vite":"^6.0.0","jsdom":"^26.1.0","react":"^16.14.0","tslib":"^2.8.1","eslint":"^6.0.1","vitest":"^3.2.4","es-check":"^7.2.1","cross-env":"^5.2.0","react-dom":"^16.14.0","@babel/cli":"^7.12.8","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","@types/react":"^16","monaco-editor":"^0.55.1","@types/react-dom":"^16","react-router-dom":"6","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.14.3","@monaco-editor/react":"^4.7.0","@vitejs/plugin-react":"^4.3.4","eslint-plugin-import":"^2.18.0","@testing-library/react":"^12.1.5","eslint-plugin-jsx-a11y":"^6.2.3","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","@babel/plugin-transform-spread":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_1.0.0_1779673533453_0.28576507777420956","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"use-modal-ref","version":"1.0.1","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"author":{"name":"gxlmyacc"},"_id":"use-modal-ref@1.0.1","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"dist":{"shasum":"6d7c0c687ffdd8b30dfcd9664684964454d428cf","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-1.0.1.tgz","fileCount":171,"integrity":"sha512-HEVwv4CQGSrL0QdsPAr/dITRKyQdwypaa70tbYK2e7kdjMm/Qena9Fqp8ampJqScIG1pvqjO0ftmc+gvEAvU9w==","signatures":[{"sig":"MEQCIE05ypsGy3PDPo6M87soEobHl24DiUXUHcRUew+1c47jAiATabgVDQAJkYYW/Zp+ruE7InxjnGBrc86sOS232SsGuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445998},"main":"cjs/index.js","module":"esm/index.js","engines":{"node":">= 12"},"exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","default":"./esm/index.js","require":"./cjs/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./config":{"types":"./types/config.d.ts","import":"./esm/config.js","default":"./esm/config.js","require":"./cjs/config.js"}},"gitHead":"4e5a2737c55d1b25443b12be138cd31f255195b3","scripts":{"demo":"vite --config examples/vite.config.ts","test":"vitest run","build":"npm run build:types && npm run build:js && npm run build:cjs && npm run build:es","prepare":"npm run build","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:cjs":"node -e \"require('fs').rmSync('cjs',{recursive:true,force:true})\" && cross-env BUILD_ENV=cjs babel src -d cjs --extensions \".ts,.tsx\"","typecheck":"tsc --noEmit -p tsconfig.eslint.json","demo:build":"vite build --config examples/vite.config.ts","test:watch":"vitest","build:types":"node -e \"require('fs').rmSync('types',{recursive:true,force:true})\" && tsc --emitDeclarationOnly","check:compat":"npm run build && npm run check:compat:esm && npm run check:compat:cjs && npm run check:compat:es","demo:preview":"vite preview --config examples/vite.config.ts","test:closure":"vitest run -t closure","test:coverage":"vitest run --coverage","check:compat:es":"es-check es2020 \"es/**/*.js\" --module","check:compat:cjs":"es-check es6 \"cjs/**/*.js\"","check:compat:esm":"es-check es6 \"esm/**/*.js\" --module"},"typings":"types/index.d.ts","_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"repository":{"url":"git+https://github.com/gxlmyacc/use-modal-ref.git","type":"git"},"_npmVersion":"10.9.8","description":"react hooks for modal usage","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","browserslist":{"es":["Chrome >= 87"],"production":["Chrome >= 49"]},"dependencies":{"@babel/runtime":"^7.12.5"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"antd":"^5.22.0","sass":"^1.83.0","vite":"^6.0.0","jsdom":"^26.1.0","react":"^16.14.0","tslib":"^2.8.1","eslint":"^6.0.1","vitest":"^3.2.4","es-check":"^7.2.1","cross-env":"^5.2.0","react-dom":"^16.14.0","@babel/cli":"^7.12.8","typescript":"^5.9.3","@babel/core":"^7.12.9","@types/node":"^20.0.0","@types/react":"^16","monaco-editor":"^0.55.1","@types/react-dom":"^16","react-router-dom":"6","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@vitest/coverage-v8":"^3.2.4","eslint-plugin-react":"^7.14.3","@monaco-editor/react":"^4.7.0","@vitejs/plugin-react":"^4.3.4","eslint-plugin-import":"^2.18.0","@testing-library/react":"^12.1.5","eslint-plugin-jsx-a11y":"^6.2.3","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^6.6.3","@typescript-eslint/parser":"^4.9.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-react-hooks":"^1.6.0","@babel/plugin-transform-spread":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-syntax-import-meta":"^7.10.4","@typescript-eslint/eslint-plugin":"^4.9.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/use-modal-ref_1.0.1_1785893939769_0.9212093360948292","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"use-modal-ref","version":"1.0.2","description":"react hooks for modal usage","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"packageManager":"yarn@1.22.22","sideEffects":false,"main":"cjs/index.js","module":"esm/index.js","typings":"types/index.d.ts","exports":{".":{"types":"./types/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js","default":"./esm/index.js"},"./es":{"types":"./types/index.d.ts","import":"./es/index.js","default":"./es/index.js"},"./config":{"types":"./types/config.d.ts","import":"./esm/config.js","require":"./cjs/config.js","default":"./esm/config.js"}},"engines":{"node":">= 12"},"browserslist":{"production":["Chrome >= 49"],"es":["Chrome >= 87"]},"scripts":{"build":"npm run build:types && npm run build:js && npm run build:cjs && npm run build:es","build:types":"node -e \"require('fs').rmSync('types',{recursive:true,force:true})\" && tsc --emitDeclarationOnly","build:js":"node -e \"require('fs').rmSync('esm',{recursive:true,force:true})\" && cross-env BUILD_ENV=js babel src -d esm --extensions \".ts,.tsx\" --source-maps","build:cjs":"node -e \"require('fs').rmSync('cjs',{recursive:true,force:true})\" && cross-env BUILD_ENV=cjs babel src -d cjs --extensions \".ts,.tsx\"","build:es":"node -e \"require('fs').rmSync('es',{recursive:true,force:true})\" && cross-env BUILD_ENV=es babel src -d es --extensions \".ts,.tsx\"","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:closure":"vitest run -t closure","typecheck":"tsc --noEmit -p tsconfig.eslint.json","check:compat":"npm run build && npm run check:compat:esm && npm run check:compat:cjs && npm run check:compat:es","check:compat:esm":"es-check es6 \"esm/**/*.js\" --module","check:compat:cjs":"es-check es6 \"cjs/**/*.js\"","check:compat:es":"es-check es2020 \"es/**/*.js\" --module","demo":"vite --config examples/vite.config.ts","demo:build":"vite build --config examples/vite.config.ts","demo:preview":"vite preview --config examples/vite.config.ts","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/gxlmyacc/use-modal-ref.git"},"author":{"name":"gxlmyacc"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"dependencies":{"@babel/runtime":"^7.12.5"},"devDependencies":{"@babel/cli":"^7.12.8","@babel/core":"^7.12.9","@babel/plugin-proposal-class-properties":"^7.12.1","@babel/plugin-proposal-decorators":"^7.12.1","@babel/plugin-proposal-export-default-from":"^7.12.1","@babel/plugin-proposal-export-namespace-from":"^7.12.1","@babel/plugin-proposal-json-strings":"^7.12.1","@babel/plugin-proposal-numeric-separator":"^7.12.7","@babel/plugin-proposal-object-rest-spread":"^7.12.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-syntax-import-meta":"^7.10.4","@babel/plugin-transform-arrow-functions":"^7.12.1","@babel/plugin-transform-destructuring":"^7.12.1","@babel/plugin-transform-modules-commonjs":"^7.12.1","@babel/plugin-transform-parameters":"^7.12.1","@babel/plugin-transform-runtime":"^7.12.1","@babel/plugin-transform-spread":"^7.12.1","@babel/plugin-transform-strict-mode":"^7.12.1","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@monaco-editor/react":"^4.7.0","@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^12.1.5","@types/node":"^20.0.0","@types/react":"^16","@types/react-dom":"^16","@typescript-eslint/eslint-plugin":"^4.9.1","@typescript-eslint/parser":"^4.9.1","@vitejs/plugin-react":"^4.3.4","@vitest/coverage-v8":"^3.2.4","antd":"^5.22.0","cross-env":"^5.2.0","es-check":"^7.2.1","eslint":"^6.0.1","eslint-config-airbnb-base":"^13.2.0","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.3","eslint-plugin-react-hooks":"^1.6.0","jsdom":"^26.1.0","monaco-editor":"^0.55.1","react":"^16.14.0","react-dom":"^16.14.0","react-router-dom":"6","sass":"^1.83.0","tslib":"^2.8.1","typescript":"^5.9.3","vite":"^6.0.0","vitest":"^3.2.4"},"_id":"use-modal-ref@1.0.2","gitHead":"49612658c9ec7e6047aff6d0e1a9bee08dabe9f7","bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-VP3HvqlZACPnzL4a3u2gU4CX3ZkWvT0P3G7Gj50PBD8T3HpYiV3BcVpkH0cSy8RBGJGj+3o5VjFJggnJIrT5/Q==","shasum":"ccaff53cca0ae8ff8215643d266d7559274d6231","tarball":"https://registry.npmjs.org/use-modal-ref/-/use-modal-ref-1.0.2.tgz","fileCount":171,"unpackedSize":449551,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID86kG4bCCTDewxR1Wg6FVCXn7wpX3fDJUtiOOLZAYd5AiEAlYh6z1ODuqqWF2P7U07ClIl4BNQtLrfb3TZFnE4kZD4="}]},"_npmUser":{"name":"gxlmyacc","email":"gxl.mymail@163.com"},"directories":{},"maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/use-modal-ref_1.0.2_1789030824556_0.6700867467530298"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-16T01:37:50.659Z","modified":"2026-09-10T09:00:24.913Z","0.0.1":"2021-12-16T01:37:50.834Z","0.0.2":"2021-12-16T01:56:38.752Z","0.0.3":"2022-01-11T02:19:32.455Z","0.0.4":"2022-01-14T06:11:15.968Z","0.0.5":"2022-03-01T02:25:27.946Z","0.0.6":"2022-03-02T02:24:54.228Z","0.0.7":"2022-03-02T03:25:34.327Z","0.0.8":"2022-03-09T01:46:00.475Z","0.0.9":"2022-03-10T07:16:26.855Z","0.0.10":"2022-04-28T08:19:55.693Z","0.0.11":"2022-04-28T09:00:25.057Z","0.0.12":"2022-08-29T07:29:13.440Z","0.0.13":"2022-09-20T10:31:12.480Z","0.0.14":"2023-04-26T02:35:21.878Z","0.0.15":"2023-04-27T11:37:00.632Z","0.0.16":"2023-05-26T05:38:05.702Z","0.0.17":"2023-08-28T07:00:38.928Z","0.0.18":"2023-09-01T07:06:31.614Z","0.1.0":"2024-09-27T02:56:42.754Z","0.1.1":"2024-10-30T02:09:42.027Z","0.1.2":"2024-11-22T02:19:35.848Z","0.1.3":"2025-07-26T00:26:44.116Z","0.1.4":"2025-07-26T00:38:51.807Z","0.1.5":"2025-09-23T06:00:37.016Z","0.1.6-alpha.1":"2025-11-14T03:19:57.902Z","0.1.6-alpha.2":"2026-05-07T06:28:20.107Z","0.1.6-alpha.3":"2026-05-07T07:14:16.992Z","0.1.6-alpha.4":"2026-05-24T04:30:31.094Z","0.1.6-alpha.5":"2026-05-24T04:32:55.544Z","0.1.6-alpha.6":"2026-05-24T05:04:59.738Z","0.1.6-alpha.7":"2026-05-24T05:29:37.225Z","1.0.0":"2026-05-25T01:45:33.623Z","1.0.1":"2026-08-05T01:38:59.973Z","1.0.2":"2026-09-10T09:00:24.737Z"},"bugs":{"url":"https://github.com/gxlmyacc/use-modal-ref/issues"},"author":{"name":"gxlmyacc"},"homepage":"https://github.com/gxlmyacc/use-modal-ref#readme","keywords":["react","hooks","use-modal-ref","useModalRef","antd"],"repository":{"type":"git","url":"git+https://github.com/gxlmyacc/use-modal-ref.git"},"description":"react hooks for modal usage","maintainers":[{"name":"gxlmyacc","email":"gxl.mymail@163.com"}],"readme":"# use-modal-ref\n\n<div align=\"center\">\n\n![npm version](https://img.shields.io/npm/v/use-modal-ref.svg)\n![npm downloads](https://img.shields.io/npm/dm/use-modal-ref.svg)\n![license](https://img.shields.io/npm/l/use-modal-ref.svg)\n[![Test](https://github.com/gxlmyacc/use-modal-ref/actions/workflows/test.yml/badge.svg)](https://github.com/gxlmyacc/use-modal-ref/actions/workflows/test.yml)\n![coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=vitest&logoColor=white)\n![typescript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)\n![react](https://img.shields.io/badge/React-20232A?logo=react&logoColor=61DAFB)\n\n**🚀 Powerful React hooks for elegant modal/drawer management**\n\n[English](https://github.com/gxlmyacc/use-modal-ref/blob/master/README.md) | [中文](https://github.com/gxlmyacc/use-modal-ref/blob/master/README_CN.md)\n\n</div>\n\n## 💡 Why this library?\n\nIntroducing `async/await` to JavaScript was a major step forward: nested callback pyramids could be written in a linear, almost synchronous style, avoiding callback hell.\n\nWith React, Vue, and other MVVM frameworks, modals are usually controlled by `visible` / `open` props. A business flow like “open dialog → wait for user → continue based on result” is one logical sequence, but it gets split into:\n\n- Parent state for `visible` **and** for **payload passed into the modal** (props / context)\n- Follow-up logic inside `onOk` / `onCancel` / `onClose`, where the **return value** (form data, confirm choice) is delivered—not back to the function that opened the dialog\n- Multiple chained dialogs pushing logic into nested callbacks or ad-hoc state machines\n\n**Modal interaction became callback-driven again at the UI layer** (even when you do pass data in and get a result out of the modal UI itself).\n\n`use-modal-ref` brings **modal-driven workflows** back to `async/await`: callers `await modalRef.current.modal(...)`, components finish with `endModal` / `cancelModal`, so a full business path stays linear instead of being chopped into scattered handlers.\n\n### Flow comparison\n\n**Traditional approach: state + callbacks split the flow**\n\n```mermaid\nflowchart TD\n  A[User clicks Submit] --> B[\"setPayload(order) + setVisible(true)\"]\n  B --> C[Modal renders with props/data]\n  C --> D{User action}\n  D -->|OK| E[\"onOk(result) — return value arrives here only\"]\n  D -->|Cancel| F[\"onCancel\"]\n  E --> G[\"setVisible(false)\"]\n  F --> G\n  G --> H[\"Continue in onOk callback<br/>(save API / open next modal…)\"]\n  H --> I[\"Next modal → another handler;<br/>caller cannot await a return value\"]\n```\n\n**With use-modal-ref: write the flow in order**\n\n```mermaid\nflowchart TD\n  A[User clicks Submit] --> B[\"result = await modalRef.modal(data)\"]\n  B --> C[Modal opens, Promise pending]\n  C --> D{User action}\n  D -->|OK| E[\"modal.endModal(result)\"]\n  D -->|Cancel| F[\"modal.cancelModal()\"]\n  E --> G[Promise resolves]\n  F --> H[Promise rejects]\n  G --> I[\"Code after await runs next\"]\n  H --> I\n  I --> J[\"await another modal in the same function<br/>linear end-to-end flow\"]\n```\n\n### Code comparison\n\n<details>\n<summary>Traditional: visible state + callbacks</summary>\n\n```jsx\nfunction OrderPage() {\n  const [confirmOpen, setConfirmOpen] = useState(false);\n  const [editOpen, setEditOpen] = useState(false);\n  const [confirmPayload, setConfirmPayload] = useState(null);\n  const [editPayload, setEditPayload] = useState(null);\n  const [draft, setDraft] = useState({ items: [] });\n\n  const handleSubmit = () => {\n    // Pass data in: stash payload, then open (not return values to this function)\n    setConfirmPayload({ order: draft });\n    setConfirmOpen(true);\n  };\n\n  const handleConfirmOk = async (confirmed) => {\n    // Return value out: modal calls onOk with user input (or reads form ref inside)\n    setConfirmOpen(false);\n    setConfirmPayload(null);\n\n    const saved = await saveOrder(confirmed);\n    setEditPayload(saved);\n    setEditOpen(true);\n  };\n\n  const handleEditOk = (edited) => {\n    setEditOpen(false);\n    setEditPayload(null);\n    message.success('Done');\n  };\n\n  return (\n    <>\n      <Button onClick={handleSubmit}>Submit order</Button>\n      <ConfirmModal\n        open={confirmOpen}\n        data={confirmPayload}\n        onOk={handleConfirmOk}\n        onCancel={() => setConfirmOpen(false)}\n      />\n      <EditModal\n        open={editOpen}\n        data={editPayload}\n        onOk={handleEditOk}\n        onCancel={() => setEditOpen(false)}\n      />\n    </>\n  );\n}\n```\n\n> Traditional modals **can** pass parameters (props / state) and surface a result via `onOk`. What breaks the linear story is that `handleSubmit` **cannot** `await` that result—the next step must live in `handleConfirmOk`, then `handleEditOk`.\n\n</details>\n\n<details>\n<summary>use-modal-ref: chain with await</summary>\n\n```jsx\nfunction OrderPage() {\n  const confirmRef = useRef(null);\n  const editRef = useRef(null);\n  const [draft, setDraft] = useState(null);\n\n  const handleSubmit = async () => {\n    const ok = await confirmRef.current.modal({ order: draft });\n    const saved = await saveOrder(ok);\n    const edited = await editRef.current.modal(saved);\n    message.success('Done');\n  };\n\n  return (\n    <>\n      <Button onClick={handleSubmit}>Submit order</Button>\n      <ConfirmModal ref={confirmRef} />\n      <EditModal ref={editRef} />\n    </>\n  );\n}\n```\n\n> On cancel, the modal calls `cancelModal()` and the Promise **rejects**—the `async` handler stops at that `await`; no `undefined` check needed.\n\n</details>\n\n### When it helps\n\n- **Process-heavy** UX: wizards, confirm-then-edit, double confirm before delete\n- You want one **async function** for open → wait → branch → continue, not many `visible` flags and handlers\n- Imperative APIs (e.g. `showRefModal`) that still need an **awaitable result**\n\n> Note: Modal UI stays declarative (`visible` / `{...modal.props}`). This library changes how **callers structure business flow**—from callback-driven back to await-driven.\n\n## ✨ Features\n\n- 🎯 **Simple & Intuitive** - Easy-to-use hooks for modal/drawer management\n- 🔄 **Async/Await Support** - Return values from modals with Promise-based API\n- 🎨 **Framework Agnostic** - Works with any UI library (Antd, Material-UI, etc.)\n- 🔧 **Extensible** - Support custom modal types (Popover, Tooltip, etc.)\n- 📦 **Lightweight** - Minimal runtime deps (`@babel/runtime` only; React as peer), no UI library dependencies, TypeScript support\n- 🎭 **Multiple Usage Patterns** - Ref-based, function-based, and component-based approaches\n\n## 📦 Installation\n\n```bash\nnpm install use-modal-ref\n```\n\n```bash\nyarn add use-modal-ref\n```\n\n```bash\npnpm add use-modal-ref\n```\n\n### Local example (Playground)\n\nRunnable demo: [`examples/`](./examples) (**Vite + Ant Design 5**, sidebar + five README examples).\n\nDependencies and scripts live in the **root** `package.json`:\n\n```bash\nyarn install\nyarn demo\n```\n\n> Demo deps and scripts live in the root `package.json`. Vite aliases to `src/` for hot reload. Run `yarn build` and use `\"use-modal-ref\": \"file:..\"` to validate the npm package layout.\n\n### React version compatibility\n\n| Item | Notes |\n|------|-------|\n| **peerDependencies** | `react`, `react-dom` **>= 16.8.0** (minimum for Hooks) |\n| **Verified** | React **16** (unit tests), **18** (`examples` demo) |\n| **React 19** | Uses only stable Hooks APIs (`useState`, `useEffect`, `useMemo`, `useCallback`, `useImperativeHandle`); no legacy context or string refs. No known React 19 incompatibilities—please open an Issue if you hit one |\n| **Strict Mode** | Supported; demo runs inside `<React.StrictMode>` |\n| **UI libraries** | Works with Ant Design, MUI, etc.; for Ant Design 5+, call `mergeModalType({ drawer: { visible: 'open', onClose: 'onClose' } })` at app entry |\n\n### Browser compatibility\n\nThe package ships **three JS builds**:\n\n| Entry / condition | Build | Format | Syntax target | Minimum (reference) |\n|-------------------|-------|--------|---------------|---------------------|\n| `import` (default) | `esm/` | **ESM** | ES6 | **Chrome ≥ 49** |\n| `require` (`main`) | `cjs/` | **CJS** | ES6 | **Chrome ≥ 49** |\n| `use-modal-ref/es` | `es/` | **ESM** | ES2020 | **Chrome ≥ 87** |\n\n```js\n// Default — Chrome ≥ 49 ESM (Vite / webpack / Rolldown)\nimport useModalRef from 'use-modal-ref';\n\n// Modern-only ESM entry\nimport useModalRef from 'use-modal-ref/es';\n\n// Node / older tooling\nconst useModalRef = require('use-modal-ref');\n```\n\n> CI validates builds with `es-check` (`esm/`+`cjs/` → ES6, `es/` → ES2020). Your bundler targets and polyfills still apply on top of these baselines.\n>\n> **Note:** `1.0.0` incorrectly published CJS under both `es/` and `esm/` while `exports.import` pointed at CJS; that broke default-import interop in Rolldown/Vite (`default is not a function`). Fixed in `1.0.1` with real ESM defaults that remain **Chrome ≥ 49**.\n\nFeature-specific Web APIs:\n\n| Feature | Required APIs |\n|---------|---------------|\n| Hooks (`useModalRef`, etc.) | React client runtime only — no DOM |\n| `createRefComponent` / `showRefModal` | DOM + `react-dom` |\n| `createUrlListener` / `getUrlListener` | `window` + History API by default; **`mergeNativeAdapter({ urlListener })`** for other runtimes |\n\n### Runtime: Web SSR / RSC / React Native\n\nHooks (`useModalRef` / `useDrawerRef` / `useCommonRef`) depend only on the **React client runtime** (`useState`, `useEffect`, etc.) and **do not touch** `window` / `document`. They work in **browsers, React Native**, and any client environment that supports Hooks.\n\n`createRefComponent` / `showRefModal` default to **DOM + react-dom** (mount adapter injectable). URL listening defaults to **History API** (noop without DOM). On React Native, use **`mergeNativeAdapter`** to declare capabilities (`null` = explicitly unsupported, `undefined` = keep Web default).\n\n**Server Components** (Next.js App Router) cannot use Hooks regardless of platform. The main entry is marked `'use client'` for framework boundaries.\n\n| API | Web browser | React Native | SSR / RSC |\n|-----|-------------|--------------|-----------|\n| `useModalRef` / `useDrawerRef` / `useCommonRef` | ✅ | ✅ (bind RN `Modal`, etc.) | ✅ in Client Components |\n| `createRefComponent` / `showRefModal` | ✅ | ✅ (`mergeNativeAdapter` / `createInTreeMountAdapter`) | ❌ without DOM + default adapter |\n| `createUrlListener` / `getUrlListener` | ✅ | ✅ (`mergeNativeAdapter({ urlListener })`) | default noop; `urlListener: null` = permanent noop |\n| `mergeModalType` | ✅ | ✅ | ✅ in Server Components |\n| `isBrowser()` | usually `true` | usually `false` | `false` on SSR |\n\n> `isBrowser()` means **DOM is available** (`window` + `document`), **not** “Hooks are allowed”. On React Native it is `false`, but Hooks still work.\n\n**React Native example (declarative modal + await):**\n\n```tsx\n// React Native only — for Web use antd / MUI (see Quick Start above)\nimport React from 'react';\nimport { Modal, View, Text, Button } from 'react-native';\nimport useModalRef from 'use-modal-ref';\n\nconst AppModal = React.forwardRef((_, ref) => {\n  const { modal, data } = useModalRef(ref, { title: 'Hello' });\n\n  return (\n    <Modal\n      visible={modal.props.visible}\n      onRequestClose={modal.props.onCancel}\n    >\n      <View>\n        <Text>{data.title}</Text>\n        <Button title=\"OK\" onPress={() => modal.endModal('ok')} />\n      </View>\n    </Modal>\n  );\n});\n```\n\n**React Native / non-DOM: `mergeNativeAdapter`**\n\n```tsx\nimport {\n  mergeNativeAdapter,\n  createInTreeMountAdapter,\n  showRefModal,\n} from 'use-modal-ref';\n\n// Declare native capabilities at startup (null = explicitly unsupported)\nmergeNativeAdapter({\n  id: 'react-native',\n  refComponentMount: myMountAdapter,\n  urlListener: myUrlAdapter,\n});\n\nconst { adapter: inTreeAdapter, Host: RefMountHost } = createInTreeMountAdapter();\n\nfunction App() {\n  useEffect(() => {\n    mergeNativeAdapter({ refComponentMount: inTreeAdapter });\n    return () => mergeNativeAdapter(null);\n  }, []);\n\n  return (\n    <>\n      <RefMountHost />\n      <Main />\n    </>\n  );\n}\n```\n\nLegacy **`mergeRefComponentMount`** / **`mergeUrlListenerAdapter`** still work (they delegate to `mergeNativeAdapter`).\n\n**URL listener (`closeWhenUrlChange`):**\n\n```tsx\nimport { mergeNativeAdapter, showRefModal } from 'use-modal-ref';\n\nmergeNativeAdapter({\n  urlListener: {\n    id: 'react-navigation',\n    createUrlListener: () => ({\n      addListener(listener) {\n        return navigation.addListener('state', () => listener(getCurrentRouteUrl()));\n      },\n    }),\n  },\n});\n\nvoid showRefModal(MyModal, data, { closeWhenUrlChange: true, urlListenerAdapter: myAdapter });\n```\n\n**Next.js App Router example:**\n\n```tsx\n// app/layout.tsx — Server Component, global config only\nimport { mergeModalType } from 'use-modal-ref/config';\n\nmergeModalType({ drawer: { visible: 'open', onClose: 'onClose' } });\n```\n\n```tsx\n'use client';\n\nimport useModalRef from 'use-modal-ref';\n\nconst UserModal = React.forwardRef((_, ref) => {\n  const { modal, data } = useModalRef(ref, { title: 'User' });\n  return <Modal {...modal.props} title={data.title} />;\n});\n```\n\n```tsx\n'use client';\n\nimport { showRefModal, isBrowser } from 'use-modal-ref';\n\nfunction Page() {\n  const open = () => {\n    if (!isBrowser()) return;\n    void showRefModal(MyModal, { title: 'Hello' });\n  };\n  return <button type=\"button\" onClick={open}>Open</button>;\n}\n```\n\n> **React 16+**: `'use client'` is ignored as a plain string on React 16/17 (CRA, Vite, etc.). Environment checks use only `typeof window` / `typeof document` — no React 18+ APIs.\n\n## 🚀 Quick Start\n\n### Basic Modal Usage\n\n```jsx\nimport React, { useState, useRef } from 'react';\nimport { Modal, Button, Input } from 'antd';\nimport useModalRef from 'use-modal-ref';\n\n// Modal Component\nconst TestModal = React.forwardRef((props, ref) => {\n  const [inputValue, setInputValue] = useState('');\n\n  const { modal, data } = useModalRef(ref, {\n    title: 'Default Title',\n    label: 'Default Label'\n  });\n\n  const handleOK = () => modal.endModal(inputValue);\n  const handleCancel = () => modal.cancelModal();\n\n  return (\n    <Modal\n      {...modal.props}\n      title={data.title}\n      footer={[\n        <Button key=\"cancel\" onClick={handleCancel}>Cancel</Button>,\n        <Button key=\"ok\" type=\"primary\" onClick={handleOK}>OK</Button>\n      ]}\n    >\n      <div>{data.label}</div>\n      <Input \n        value={inputValue} \n        onChange={e => setInputValue(e.target.value)} \n        placeholder=\"Enter value...\"\n      />\n    </Modal>\n  );\n});\n\n// Usage Component\nfunction App() {\n  const modalRef = useRef(null);\n\n  const showModal = async () => {\n    const result = await modalRef.current.modal({\n      title: 'Custom Title',\n      label: 'Please enter a value:'\n    });\n    \n    if (result !== undefined) {\n      alert(`You entered: ${result}`);\n    }\n  };\n\n  return (\n    <div>\n      <Button type=\"primary\" onClick={showModal}>\n        Show Modal\n      </Button>\n      <TestModal ref={modalRef} />\n    </div>\n  );\n}\n```\n\n## 📚 Usage Examples\n\n### 1. Modal with Antd\n<details>\n<summary>Click to expand</summary>\n\n```jsx\nimport React, { useState, useRef } from 'react';\nimport { Modal, Button, Input, Form } from 'antd';\nimport useModalRef from 'use-modal-ref';\n\nconst UserModal = React.forwardRef((props, ref) => {\n  const [form] = Form.useForm();\n  const [loading, setLoading] = useState(false);\n\n  const { modal, data } = useModalRef(ref, {\n    title: 'Add User',\n    user: null\n  }, {\n    // You can perform initialization operations in this event, and the function's return value will be used as the new data returned from the useModalRef hook's data property\n    beforeModal({ user }) {\n      form.setFieldsValue(user || {\n        name: '',\n        email: '',\n      });\n    },\n    // You can perform cleanup operations in this event, and the function's return value will be used as the new data returned from the useModalRef hook's data property.\n    afterModalClose() {\n     setLoading(false);\n      form.setFieldsValue({\n        name: '',\n        email: '',\n      });\n    }\n  });\n\n  const handleSubmit = async () => {\n    try {\n      setLoading(true);\n      const values = await form.validateFields();\n      modal.endModal(values);\n    } catch (error) {\n      console.error('Validation failed:', error);\n    } finally {\n      setLoading(false);\n    }\n  };\n\n  const handleCancel = () => modal.cancelModal();\n\n  return (\n    <Modal\n      {...modal.props}\n      title={data.title}\n      confirmLoading={loading}\n      onOk={handleSubmit}\n      onCancel={handleCancel}\n    >\n      <Form form={form} layout=\"vertical\">\n        <Form.Item\n          name=\"name\"\n          label=\"Name\"\n          rules={[{ required: true, message: 'Please enter name' }]}\n        >\n          <Input placeholder=\"Enter name\" />\n        </Form.Item>\n        <Form.Item\n          name=\"email\"\n          label=\"Email\"\n          rules={[\n            { required: true, message: 'Please enter email' },\n            { type: 'email', message: 'Please enter valid email' }\n          ]}\n        >\n          <Input placeholder=\"Enter email\" />\n        </Form.Item>\n      </Form>\n    </Modal>\n  );\n});\n\n// Usage\nfunction UserManagement() {\n  const userModalRef = useRef(null);\n\n  const addUser = async () => {\n    const userData = await userModalRef.current.modal({\n      title: 'Add New User'\n    });\n    \n    if (userData) {\n      console.log('New user:', userData);\n      // Handle user creation\n    }\n  };\n\n  return (\n    <div>\n      <Button type=\"primary\" onClick={addUser}>\n        Add User\n      </Button>\n      <UserModal ref={userModalRef} />\n    </div>\n  );\n}\n```\n\n</details>\n\n\n### 2. Drawer with Antd\n\nBy default, the `drawer` type maps to `visible` + `onClose`, which matches **Ant Design 4** `Drawer`.  \n**Ant Design 5+** uses `open` for visibility—call `mergeModalType` once at app entry (see example below).\n\n<details>\n<summary>Click to expand</summary>\n\n```jsx\nimport React, { useState, useRef } from 'react';\nimport { Drawer, Button, Input, Space } from 'antd';\nimport { useDrawerRef, mergeModalType } from 'use-modal-ref';\n\n// Ant Design 5+: map drawer visibility to `open` (run once at app entry)\nmergeModalType({\n  drawer: {\n    visible: 'open',\n    onClose: 'onClose',\n  },\n});\n\nconst SettingsDrawer = React.forwardRef((props, ref) => {\n  const [settings, setSettings] = useState({});\n\n  const { modal, data } = useDrawerRef(ref, {\n    title: 'Settings',\n    initialSettings: {}\n  }, {\n    beforeModal: async (data) => {\n      setSettings(data.initialSettings);\n      return data;\n    }\n  });\n\n  const handleSave = () => {\n    modal.endModal(settings);\n  };\n\n  const handleCancel = () => {\n    modal.cancelModal();\n  };\n\n  // modal.props maps to { open, onClose } after mergeModalType above\n  return (\n    <Drawer\n      {...modal.props}\n      title={data.title}\n      width={400}\n      footer={\n        <Space>\n          <Button onClick={handleCancel}>Cancel</Button>\n          <Button type=\"primary\" onClick={handleSave}>Save</Button>\n        </Space>\n      }\n    >\n      <Space direction=\"vertical\" style={{ width: '100%' }}>\n        <Input\n          placeholder=\"Setting 1\"\n          value={settings.setting1 || ''}\n          onChange={e => setSettings(prev => ({ ...prev, setting1: e.target.value }))}\n        />\n        <Input\n          placeholder=\"Setting 2\"\n          value={settings.setting2 || ''}\n          onChange={e => setSettings(prev => ({ ...prev, setting2: e.target.value }))}\n        />\n      </Space>\n    </Drawer>\n  );\n});\n\n// Usage\nfunction SettingsPage() {\n  const settingsRef = useRef(null);\n\n  const openSettings = async () => {\n    const newSettings = await settingsRef.current.modal({\n      title: 'Edit Settings',\n      initialSettings: { setting1: 'value1', setting2: 'value2' }\n    });\n    \n    if (newSettings) {\n      console.log('Updated settings:', newSettings);\n    }\n  };\n\n  return (\n    <div>\n      <Button onClick={openSettings}>Open Settings</Button>\n      <SettingsDrawer ref={settingsRef} />\n    </div>\n  );\n}\n```\n\n</details>\n\n### 3. Custom overlay with explicit `modal.props` binding\n\nWhen your overlay is **not** Ant Design `Modal` / `Drawer` (or does not accept a single spread object), bind visibility and close explicitly instead of `{...modal.props}`:\n\n- `modal.props.visible` — whether the overlay is open\n- `modal.props.onCancel` — wired to `modal.cancelModal()` (the awaited `modal()` Promise **rejects** on cancel)\n\n> Runnable demo: `yarn demo` → **Modal props binding** (`examples/src/demos/ModalPropsBindingDemo.tsx`, component `examples/src/components/PropsBindingModal.tsx`).\n\n<details>\n<summary>Click to expand</summary>\n\n```tsx\nimport React, { useRef, useState } from 'react';\nimport useModalRef, { ModalRef } from 'use-modal-ref';\n\ntype FormData = { title: string; hint: string };\n\n/** Custom overlay — only needs visible + onCancel from modal.props */\nfunction YourOverlay({\n  visible,\n  onCancel,\n  title,\n  onOk,\n  children,\n}: {\n  visible: boolean;\n  onCancel: () => void;\n  title: string;\n  onOk?: () => void;\n  children: React.ReactNode;\n}) {\n  if (!visible) return null;\n  return (\n    <div role=\"dialog\" aria-modal=\"true\">\n      <h3>{title}</h3>\n      {children}\n      <button type=\"button\" onClick={onCancel}>Cancel</button>\n      {onOk && <button type=\"button\" onClick={onOk}>OK</button>}\n    </div>\n  );\n}\n\nconst PropsBindingModal = React.forwardRef<\n  ModalRef<'modal', FormData, string>\n>((_, ref) => {\n  const [value, setValue] = useState('');\n\n  const { modal, data } = useModalRef(ref, {\n    title: 'Default title',\n    hint: 'Default hint',\n  }, {\n    beforeModal: (payload) => {\n      setValue('');\n      return payload;\n    },\n  });\n\n  const handleOk = () => {\n    const trimmed = value.trim();\n    if (!trimmed) return;\n    modal.endModal(trimmed);\n  };\n\n  return (\n    <YourOverlay\n      visible={modal.props.visible}\n      onCancel={modal.props.onCancel}\n      title={data.title}\n      onOk={handleOk}\n    >\n      <p>{data.hint}</p>\n      <input\n        value={value}\n        onChange={(e) => setValue(e.target.value)}\n        onKeyDown={(e) => e.key === 'Enter' && handleOk()}\n      />\n    </YourOverlay>\n  );\n});\n\nfunction Page() {\n  const modalRef = useRef<ModalRef<'modal', FormData, string>>(null);\n\n  const openModal = async () => {\n    try {\n      const result = await modalRef.current!.modal({\n        title: 'Edit',\n        hint: 'Enter a value',\n      });\n      console.log('Result:', result);\n    } catch {\n      console.log('Cancelled');\n    }\n  };\n\n  return (\n    <>\n      <button type=\"button\" onClick={openModal}>Open</button>\n      <PropsBindingModal ref={modalRef} />\n    </>\n  );\n}\n```\n\n**Notes:**\n\n- For built-in type `modal`, `modal.props` is `{ visible, onCancel }` by default — Ant Design users often use `<Modal {...modal.props} />`; custom overlays use the two fields above.\n- `ref.current.modal({ title: undefined })` does **not** overwrite `defaultData.title` (explicit `undefined` is skipped when merging open payload).\n- Confirm with `modal.endModal(value)`; cancel via overlay close / `modal.props.onCancel` → `cancelModal` → Promise rejection.\n\n</details>\n\n### 4. JavaScript modal with JSDoc types\n\nIn `.js` projects, declare modal data and ref types with JSDoc and import `ModalRef` from the package — no `.ts` files required. IDE checks apply when `checkJs` is enabled in `jsconfig.json` / `tsconfig.json`.\n\n> Runnable demo: `yarn demo` → **7. JavaScript + JSDoc** (`#/usage/js-radio-modal`); sources `examples/src/components/RadioModal.js`, `examples/src/demos/JsRadioModalDemo.tsx`.\n\n<details>\n<summary>Click to expand</summary>\n\n```jsx\n// RadioModal.js\nimport React, { useState } from 'react';\nimport { Modal, Radio } from 'antd';\nimport useModalRef from 'use-modal-ref';\n\n/**\n * @typedef {{\n *   title?: string,\n *   width?: number,\n *   okText?: string,\n *   message: Array<{\n *     value: string,\n *     text: string,\n *   }>,\n * }} RadioModalData\n */\n\n/**\n * ModalRef<P, T, U> — P: overlay type, T: data, U: result from endModal\n * @typedef {import('use-modal-ref').ModalRef<'modal', RadioModalData, string>} RadioModalRef\n */\n\nconst RadioModal = React.forwardRef(\n  /**\n   * @param {Record<string, never>} props\n   * @param {React.ForwardedRef<RadioModalRef>} ref\n   */\n  (props, ref) => {\n    /** @type {[string | null, React.Dispatch<React.SetStateAction<string | null>>]} */\n    const [selectValue, setSelectValue] = useState(null);\n\n    const {\n      modal,\n      data: { title, width, okText, message },\n    } = useModalRef(ref, /** @type {RadioModalData} */ ({\n      title: 'Notice',\n      width: 560,\n      okText: 'OK',\n      message: [],\n    }), {\n      beforeModal({ message: options }) {\n        setSelectValue(options[0]?.value ?? null);\n      },\n    });\n\n    const handleOk = () => {\n      if (selectValue != null) {\n        modal.endModal(selectValue);\n      }\n    };\n\n    return (\n      <Modal\n        {...modal.props}\n        title={title}\n        width={width}\n        okText={okText}\n        onOk={handleOk}\n        destroyOnClose\n      >\n        <Radio.Group\n          value={selectValue}\n          onChange={(e) => setSelectValue(e.target.value)}\n        >\n          {message.map((item) => (\n            <Radio key={item.value} value={item.value}>{item.text}</Radio>\n          ))}\n        </Radio.Group>\n      </Modal>\n    );\n  },\n);\n\nRadioModal.displayName = 'RadioModal';\nexport default RadioModal;\n```\n\n```jsx\n// Page.jsx — caller; import types from RadioModal.js via JSDoc import()\nimport React, { useRef } from 'react';\nimport { Button } from 'antd';\nimport RadioModal from './RadioModal';\n\nfunction Page() {\n  /** @type {React.MutableRefObject<import('./RadioModal').RadioModalRef | null>} */\n  const radioModalRef = useRef(null);\n\n  const openRadio = async () => {\n    try {\n      const picked = await radioModalRef.current.modal(\n        /** @type {import('./RadioModal').RadioModalData} */ ({\n          title: 'Choose one',\n          message: [\n            { value: 'a', text: 'Option A' },\n            { value: 'b', text: 'Option B' },\n          ],\n        }),\n      );\n      console.log('Picked:', picked);\n    } catch {\n      console.log('Cancelled');\n    }\n  };\n\n  return (\n    <>\n      <Button type=\"primary\" onClick={openRadio}>Open</Button>\n      <RadioModal ref={radioModalRef} />\n    </>\n  );\n}\n```\n\n**JSDoc checklist:**\n\n| Goal | Pattern |\n|------|---------|\n| Modal **data** shape | `@typedef { ... } RadioModalData` |\n| **Ref** type (data + result `U`) | `@typedef {import('use-modal-ref').ModalRef<'modal', RadioModalData, string>} RadioModalRef` |\n| `forwardRef` ref param | `@param {React.ForwardedRef<RadioModalRef>} ref` |\n| `defaultData` literal | `/** @type {RadioModalData} */ ({ ... })` |\n| `useRef` in caller | `@type {React.MutableRefObject<import('./RadioModal').RadioModalRef \\| null>}` |\n| Reference **data** type in caller | `import('./RadioModal').RadioModalData` |\n\n> Pattern adapted from production `RadioModal.js`: define `@typedef` once in the modal component file; callers reference `import('./RadioModal').RadioModalRef` / `RadioModalData` without redeclaring.\n\n</details>\n\n### 5. Custom Popover Component\n\n<details>\n<summary>Click to expand</summary>\n\n```jsx\n// usePopoverRef.js\nimport { useCommonRef, mergeModalType } from 'use-modal-ref';\n\n// Register popover modal type\nmergeModalType({\n  popover: {\n    visible: 'visible',\n    onClose: 'onClose',\n  }\n});\n\nconst usePopoverRef = (ref, defaultData, options, deps = []) => \n  useCommonRef('popover', ref, defaultData, options, deps);\n\nexport default usePopoverRef;\n```\n\n```jsx\n// ColorPickerPopover.jsx\nimport React, { useState } from 'react';\nimport { Popover, Button, Space } from 'antd';\nimport usePopoverRef from './usePopoverRef';\n\nconst ColorPickerPopover = React.forwardRef((props, ref) => {\n  const [selectedColor, setSelectedColor] = useState('#1890ff');\n\n  const { modal, data } = usePopoverRef(ref, {\n    title: 'Choose Color',\n    colors: ['#1890ff', '#52c41a', '#faad14', '#f5222d']\n  });\n\n  const handleColorSelect = (color) => {\n    setSelectedColor(color);\n    modal.endModal(color);\n  };\n\n  return (\n    <Popover\n      {...modal.props}\n      title={data.title}\n      content={\n        <Space direction=\"vertical\">\n          {data.colors.map(color => (\n            <Button\n              key={color}\n              style={{ \n                backgroundColor: color, \n                borderColor: color,\n                width: 40,\n                height: 40\n              }}\n              onClick={() => handleColorSelect(color)}\n            />\n          ))}\n        </Space>\n      }\n    >\n      {props.children}\n    </Popover>\n  );\n});\n\n// Usage\nfunction ColorPicker() {\n  const colorRef = useRef(null);\n\n  const pickColor = async () => {\n    const color = await colorRef.current.modal({\n      title: 'Select Color',\n      colors: ['#1890ff', '#52c41a', '#faad14', '#f5222d', '#722ed1']\n    });\n    \n    if (color) {\n      console.log('Selected color:', color);\n    }\n  };\n\n  return (\n    <div>\n      <ColorPickerPopover ref={colorRef}>\n        <Button onClick={pickColor}>Pick Color</Button>\n      </ColorPickerPopover>\n    </div>\n  );\n}\n```\n\n</details>\n\n### 6. Function-based Modal\n\n<details>\n<summary>Click to expand</summary>\n\n```jsx\nimport React from 'react';\nimport { Button } from 'antd';\nimport TestModal from './TestModal';\nimport { showRefModal } from 'use-modal-ref';\n\nfunction App() {\n  const showModal = async () => {\n    const result = await showRefModal(TestModal, {\n      title: 'Dynamic Modal',\n      label: 'This modal was created dynamically'\n    });\n    \n    if (result) {\n      alert(`Modal result: ${result}`);\n    }\n  };\n\n  return (\n    <div>\n      <Button type=\"primary\" onClick={showModal}>\n        Show Dynamic Modal\n      </Button>\n    </div>\n  );\n}\n```\n\n</details>\n\n### 7. Component-based Modal\n\n<details>\n<summary>Click to expand</summary>\n\n```jsx\nimport React from 'react';\nimport { Button } from 'antd';\nimport TestModal from './TestModal';\nimport { createRefComponent } from 'use-modal-ref';\n\nfunction App() {\n  const showModal = async () => {\n    const [ref, destroy] = await createRefComponent(TestModal);\n    \n    try {\n      const result = await ref.modal({\n        title: 'Temporary Modal',\n        label: 'This modal will be destroyed after use'\n      });\n      \n      if (result) {\n        alert(`Result: ${result}`);\n      }\n    } finally {\n      destroy(); // Clean up the component\n    }\n  };\n\n  return (\n    <div>\n      <Button type=\"primary\" onClick={showModal}>\n        Show Temporary Modal\n      </Button>\n    </div>\n  );\n}\n```\n\n</details>\n\n## 🔧 API Reference\n\n### useModalRef\n\n```typescript\nfunction useModalRef<T = any, U = any, C extends Record<string, any> = {}>(\n  ref: React.Ref<any>,\n  defaultData?: Partial<T> | (() => Partial<T>),\n  options?: ModalRefOption<'modal', T, U, C>,\n  deps?: React.DependencyList\n): {\n  modal: ModalRef<'modal', T, U, C>;\n  data: T;\n  setData: (newData: T | ((data: T) => T)) => void;\n}\n```\n\n\n**Generic parameters:**\n\n- `T extends Record<string, any>` - Shape of modal `data` (defaults to `any`)\n- `U = any` - Promise resolve type from `modal()`\n- `C extends Record<string, any> = {}` - Type of custom properties in `options.custom`, merged onto `ModalRef`\n\n**Parameters:**\n\n- `ref: React.Ref<any>` - React ref object for controlling modal show/hide. Must be passed to the modal component via `React.forwardRef`\n- `defaultData?: Partial<T> | (() => Partial<T>)` - Default data, can be an object or a function returning an object. When using a function, it supports lazy initialization and only executes when needed\n- `options?: ModalRefOption<'modal', T, U, C>` - Hook config and lifecycle callbacks; see [ModalRefOption](#modalrefoption)\n- `deps?: React.DependencyList` - When deps change, re-syncs lifecycle callbacks and `custom` internally (does not change `modal` identity; lifecycle hooks are not on the public `modal` API—configure them via `options`)\n\n**Returns:**\n\n- `modal: ModalRef<'modal', T, U, C>` - Modal control object with:\n  - `visible: boolean` - Read-only visibility flag\n  - `data: T` - Read-only current modal data\n  - `props: { visible: boolean, onCancel: () => void }` - Spread onto Ant Design `Modal` (`visible` / `onCancel`)\n  - `options: ModalRefOption<'modal', T, U, C>` - Read-only merged hook options\n  - `modalOptions: ModalModalOptions` - Read-only runtime options from the latest `modal()` call\n  - `modalPromise: Promise<U> | null` - Read-only current Promise, `null` when closed\n  - `modal(newData?: Partial<T>, options?: ModalModalOptions): Promise<U>` - Open modal and return Promise\n  - `endModal(result?: U, onDone?: () => void): Promise<void>` - Confirm close and resolve Promise\n  - `cancelModal(ex?: any, onDone?: () => void): Promise<void>` - Cancel; rejects unless `alwaysResolve` is set\n- `data: T` - Current modal data (same as `modal.data`)\n- `setData: (newData: T | ((data: T) => T)) => void` - Update modal data (object or updater)\n\n### ModalRefOption\n\nThe `options` parameter of `useModalRef`, `useDrawerRef`, and `useCommonRef` shares this type (generic `P` matches the overlay type).\n\n```typescript\ntype ModalRefOption<\n  P extends ExtendedModalType,\n  T extends Record<string, any>,\n  U,\n  C extends Record<string, any> = {},\n  R = unknown\n> = {\n  useImperativeHandle?: boolean;\n  alwaysResolve?: boolean;\n  visibleKey?: string;\n  custom?: C;\n  beforeModal?: (\n    newData: Partial<T>,\n    pause: (result: any, isError?: boolean) => void,\n    options: Record<string, any>\n  ) => void | Partial<T> | Promise<void | Partial<T>>;\n  afterModal?: (newData: any, options?: ModalModalOptions) => void | Promise<void>;\n  init?: (newData: T, options: Record<string, any>) => void | Promise<void>;\n  beforeCloseModal?: (\n    next: (ok: any) => void,\n    action: ModalAction,\n    modal: ModalRef<P, T, U>\n  ) => void | Promise<void>;\n  afterCloseModal?: (\n    newData: T,\n    action: ModalAction,\n    modal: ModalRef<P, T, U>\n  ) => void | Promise<void>;\n  [key: string]: any;\n}\n```\n\n**Properties:**\n\n> Lifecycle hooks (`beforeModal`, `afterModal`, etc.) are **configured via `options` only**—they are not part of the public `modal` / `ref.current` type.\n\n- `useImperativeHandle?: boolean` - Whether to expose `modal` on `ref` via `useImperativeHandle`. Defaults to `true` (only `false` disables it). **Treat as constant**—do not change at runtime after the first render\n- `alwaysResolve?: boolean` - When `true`, `cancelModal` resolves the Promise instead of rejecting\n- `visibleKey?: string` - Overrides the default visibility prop name from `modalTypeMap`, producing `modal.props.[visibleKey]`. For Ant Design 5 `Drawer`, use `'open'`; see [mergeModalType](#mergemodaltype) for global mapping\n- `custom?: C` - Custom properties merged onto `modal`, accessible via `modal.xxx` or `ref.current.xxx`. **Must not use built-in modal property names** (e.g. `modal`, `visible`, `endModal`, `beforeModal`); conflicting keys are ignored with a dev warning\n\n  **custom example:**\n\n  ```tsx\n  import React, { useState, useRef } from 'react';\n  import { Modal } from 'antd';\n  import useModalRef, { ModalRef } from 'use-modal-ref';\n\n  const TestModal = React.forwardRef((props, ref) => {\n    const [formData, setFormData] = useState({});\n    const resetForm = () => setFormData({});\n    const validate = () => Object.keys(formData).length > 0;\n    const { modal, data } = useModalRef<{ title: string }, any>(\n      ref,\n      { title: 'Default Title' },\n      { custom: { resetForm, validate } }\n    );\n    return (\n      <Modal {...modal.props} title={data.title}>\n        <button onClick={() => modal.resetForm()}>Reset</button>\n      </Modal>\n    );\n  });\n\n  function App() {\n    const modalRef = useRef<ModalRef<'modal'>>(null);\n    return (\n      <>\n        <button onClick={() => modalRef.current?.modal({ title: 'Test' })}>Open</button>\n        <TestModal ref={modalRef} />\n      </>\n    );\n  }\n  ```\n\n- `beforeModal?: (...)` - Pre-open hook. May return `Partial<T>` to merge into data; call `pause(result, isError?)` to abort (`isError: true` throws)\n  - `newData` - Data passed to this `modal()` call\n  - `pause` - Abort/pause callback\n  - `options` - Runtime options for this `modal()` call\n- `afterModal?: (newData, options?) => void | Promise<void>` - **Post-open** hook (recommended). Hook-level `options.afterModal` and per-call `modal(data, { afterModal })` each fire **once** and do not replace each other\n- `init?: (newData, options) => void | Promise<void>` - **Legacy** post-open callback (older API); kept for compatibility—**prefer `afterModal`** for new code. If both are set, `init` runs first, then `afterModal`\n- `beforeCloseModal?: (next, action, modal) => void | Promise<void>` - Pre-close hook; call `next(false)` to prevent closing\n  - `action` - `'end'` (confirm) or `'cancel'`\n- `afterCloseModal?: (newData, action, modal) => void | Promise<void>` - Post-close hook; return value becomes new `data`\n\n### mergeModalType\n\nGlobally override prop field names on `modal.props` (visibility and close callback keys).\n\n```typescript\nfunction mergeModalType(map: Partial<MergeModalTypeInput>): MergeableModalTypeMap\n\ntype MergeModalTypeInput = Partial<{\n  [K in keyof MergeableModalTypeMap]: ModalTypeItem;\n}>;\n```\n\n**Parameters:**\n\n- `map: Partial<MergeModalTypeInput>` - Partial map to merge. Covers built-in types and types registered via [module augmentation](#extending-overlay-types-module-augmentation). For Ant Design 5 `Drawer` using `open`:\n\n```typescript\nimport { mergeModalType } from 'use-modal-ref';\n\nmergeModalType({\n  drawer: { visible: 'open', onClose: 'onClose' },\n});\n// All drawer instances then get modal.props { open, onClose }\n```\n\n> For a single hook instance only, set `options.visibleKey` instead of changing the global map.\n\n### useDrawerRef\n\n```typescript\nfunction useDrawerRef<\n  T extends Record<string, any> = any,\n  U = any,\n  C extends Record<string, any> = {}\n>(\n  ref: React.Ref<any>,\n  defaultData?: Partial<T> | (() => Partial<T>),\n  options?: ModalRefOption<'drawer', T, U, C>,\n  deps?: React.DependencyList\n): {\n  modal: ModalRef<'drawer', T, U, C>;\n  data: T;\n  setData: (newData: T | ((data: T) => T)) => void;\n}\n```\n\n**Generic parameters:** Same `T`, `U`, `C` as [useModalRef](#usemodalref).\n\n**Parameters:**\n\n- `ref: React.Ref<any>` - React ref for drawer show/hide\n- `defaultData?: Partial<T> | (() => Partial<T>)` - Default data (object or lazy factory)\n- `options?: ModalRefOption<'drawer', T, U, C>` - Hook config; see [ModalRefOption](#modalrefoption)\n- `deps?: React.DependencyList` - Re-sync `options` onto `modal` when deps change\n\n**Returns:**\n\n- `modal: ModalRef<'drawer', T, U, C>` - Drawer control object; default `modal.props` is `{ visible, onClose }` (map to `{ open, onClose }` via `mergeModalType` or `visibleKey`)\n- `data: T` - Current drawer data\n- `setData: (newData: T | ((data: T) => T)) => void` - Update drawer data\n\n> **With Ant Design Drawer:** Built-in `drawer` exposes `modal.props.visible` by default. Ant Design 5+ `Drawer` expects `open`—call `mergeModalType({ drawer: { visible: 'open', onClose: 'onClose' } })` at app entry, or set `visibleKey: 'open'` in hook `options` for a single instance.\n### useCommonRef\n\n```typescript\nfunction useCommonRef<\n  P extends ModalType = ModalType,\n  T extends Record<string, any> = any,\n  U = any,\n  C extends Record<string, any> = {}\n>(\n  modalType: P,\n  ref: React.Ref<any>,\n  defaultData?: Partial<T> | (() => Partial<T>),\n  options?: ModalRefOption<P, T, U, C>,\n  deps?: React.DependencyList\n): {\n  modal: ModalRef<P, T, U, C>;\n  data: T;\n  setData: (newData: T | ((data: T) => T)) => void;\n}\n```\n\n**Generic parameters:**\n\n- `P extends ModalType` - Overlay type (`'modal'`, `'drawer'`, `'popover'`, or extended via `mergeModalType`)\n- `T`, `U`, `C` - Same as [useModalRef](#usemodalref)\n\n**Parameters:**\n\n- `modalType: P` - Overlay type identifier\n- `ref: React.Ref<any>` - React ref for show/hide control\n- `defaultData?: Partial<T> | (() => Partial<T>)` - Default data (object or lazy factory)\n- `options?: ModalRefOption<P, T, U, C>` - Hook config; see [ModalRefOption](#modalrefoption)\n- `deps?: React.DependencyList` - Re-sync `options` onto `modal` when deps change\n\n**Returns:**\n\n- `modal: ModalRef<P, T, U, C>` - Overlay control object\n- `data: T` - Current data\n- `setData: (newData: T | ((data: T) => T)) => void` - Update data\n### showRefModal\n\n```typescript\nfunction showRefModal<\n  M extends ModalRef<any, any>,\n  D extends M extends ModalRef<any, infer D> ? D : Record<string, any>,\n  U extends M extends ModalRef<any, any, infer U> ? U : any\n>(\n  RefModal: React.ForwardRefExoticComponent<React.RefAttributes<M>>,\n  modalData?: D,\n  options?: {\n    /** Component props */\n    props?: Record<string, any>;\n    /** Method name to call modal, defaults to 'modal' */\n    modalMethod?: string;\n    /** Method name to cancel modal, defaults to 'cancelModal' */\n    cancelMethod?: string;\n    /** Modal options */\n    modalOptions?: ModalModalOptions;\n    /** Whether to automatically close modal when URL changes */\n    closeWhenUrlChange?: boolean;\n    /** Container selector */\n    selector?: string;\n    /** Container ID */\n    id?: string;\n    /** Container element or function returning container */\n    container?: HTMLElement | null | (() => HTMLElement);\n    /** Container class name */\n    className?: string;\n    /** Callback after ref is created */\n    onRef?: (ref: any, destroy: () => void) => void;\n    /** Callback before container is appended, return true to prevent auto append */\n    onAppendContainer?: (container: HTMLElement) => void | boolean;\n    /** Callback before container is removed, return true to prevent auto remove */\n    onRemoveContainer?: (container: HTMLElement) => void | boolean;\n    /** Callback before component is destroyed, return true to prevent auto destroy */\n    onDestroyComponent?: (container: HTMLElement) => void | boolean;\n    /** Destroy delay in milliseconds, defaults to 50 */\n    destroyDelay?: number;\n  }\n): Promise<U>\n```\n\n**Parameters:**\n\n- `RefModal: React.ForwardRefExoticComponent<React.RefAttributes<M>>` - Modal component to display, must be wrapped with `React.forwardRef`\n- `modalData?: D` - Data to pass to the modal, will be passed as the first argument to the `modal` method\n- `options?: object` - Configuration options object with the following properties:\n  - `props?: Record<string, any>` - Props to pass to the component\n  - `modalMethod?: string` - Method name to call modal, defaults to `'modal'`\n  - `cancelMethod?: string` - Method name to cancel modal, defaults to `'cancelModal'`\n  - `modalOptions?: ModalModalOptions` - Modal options, will be passed as the second argument to the `modal` method\n  - `closeWhenUrlChange?: boolean` - Whether to automatically close modal when URL changes, defaults to `false`\n  - `selector?: string` - Container selector for finding existing container element\n  - `id?: string` - Container ID for finding or creating container element\n  - `container?: HTMLElement | null | (() => HTMLElement)` - Container element or function returning container\n  - `className?: string` - Container class name, only used when creating new container\n  - `onRef?: (ref: any, destroy: () => void) => void` - Callback function after ref is created\n  - `onAppendContainer?: (container: HTMLElement) => void | boolean` - Callback before container is appended to DOM, return `true` to prevent auto append\n  - `onRemoveContainer?: (container: HTMLElement) => void | boolean` - Callback before container is removed from DOM, return `true` to prevent auto remove\n  - `onDestroyComponent?: (container: HTMLElement) => void | boolean` - Callback before component is destroyed, return `true` to prevent auto destroy\n  - `destroyDelay?: number` - Destroy delay in milliseconds, defaults to `50`\n\n**Returns:**\n\n- `Promise<U>` - Returns modal result Promise, will be rejected if user cancels\n\n### createRefComponent\n\n```typescript\nfunction createRefComponent<\n  T extends React.ForwardRefExoticComponent<React.RefAttributes<any>>,\n  P extends T extends React.ForwardRefExoticComponent<React.RefAttributes<infer P>> ? P : never,\n  R extends T extends React.ForwardRefExoticComponent<React.RefAttributes<P & infer R>> ? R : never\n>(\n  RefComponent: T,\n  props?: P | null,\n  options?: {\n    /** Container selector */\n    selector?: string;\n    /** Container ID */\n    id?: string;\n    /** Container element or function returning container */\n    container?: HTMLElement | null | (() => HTMLElement);\n    /** Container class name */\n    className?: string;\n    /** Callback after ref is created */\n    onRef?: (ref: any, destroy: () => void) => void;\n    /** Callback before container is appended, return true to prevent auto append */\n    onAppendContainer?: (container: HTMLElement) => void | boolean;\n    /** Callback before container is removed, return true to prevent auto remove */\n    onRemoveContainer?: (container: HTMLElement) => void | boolean;\n    /** Callback before component is destroyed, return true to prevent auto destroy */\n    onDestroyComponent?: (container: HTMLElement) => void | boolean;\n    /** Destroy delay in milliseconds, defaults to 50 */\n    destroyDelay?: number;\n  }\n): Promise<[ref: R, destroy: () => void]>\n```\n\n**Parameters:**\n\n- `RefComponent: T` - Component to create, must be wrapped with `React.forwardRef`\n- `props?: P | null` - Props to pass to the component\n- `options?: object` - Configuration options object with the following properties:\n  - `selector?: string` - Container selector for finding existing container element. If found, will use that container; otherwise creates a new one\n  - `id?: string` - Container ID for finding or creating container element. If found, will use that container; otherwise creates a new one and sets this ID\n  - `container?: HTMLElement | null | (() => HTMLElement)` - Container element or function returning container. If provided, will use this container directly\n  - `className?: string` - Container class name, only used when creating new container\n  - `onRef?: (ref: any, destroy: () => void) => void` - Callback function after ref is created, receives ref object and destroy function\n  - `onAppendContainer?: (container: HTMLElement) => void | boolean` - Callback function before container is appended to DOM, return `true` to prevent auto append to `document.body`\n  - `onRemoveContainer?: (container: HTMLElement) => void | boolean` - Callback function before container is removed from DOM, return `true` to prevent auto remove\n  - `onDestroyComponent?: (container: HTMLElement) => void | boolean` - Callback function before component is destroyed, return `true` to prevent auto call to `ReactDOM.unmountComponentAtNode`\n  - `destroyDelay?: number` - Destroy delay in milliseconds, defaults to `50`. Used to delay destroy operation to avoid incomplete animations\n\n**Returns:**\n\n- `Promise<[ref: R, destroy: () => void]>` - Returns a Promise that resolves to a tuple:\n  - `ref: R` - Component's ref object containing all methods and properties exposed by the component\n  - `destroy: () => void` - Destroy function that will unmount the component and remove the container (if container was auto-created)\n\n### ModalRef\n\n`ModalRef` is the type definition for the modal control object, containing the following properties and methods:\n\n```typescript\ntype ModalRef<\n  P extends ModalType = 'modal',\n  T extends Record<string, any> = Record<string, any>,\n  U = any,\n  C extends Record<string, any> = {}\n> = {\n  /** Read-only property: whether modal is visible */\n  readonly visible: boolean;\n  /** Read-only property: current modal data */\n  readonly data: Partial<Omit<T, 'onCancel'|'onOK'>> & { [key: string]: any };\n  /** Read-only property: props to pass to Modal/Drawer component */\n  readonly props: ModalPropsTypeMap[P];\n  /** Read-only property: current configuration options */\n  readonly options: ModalRefOption<P, T, U, C>;\n  /** Read-only property: current modal options */\n  readonly modalOptions: ModalModalOptions;\n  /** Read-only property: current modal Promise */\n  readonly modalPromise: null | Promise<any> | PromiseLike<any>;\n\n  /** Opens modal and returns Promise */\n  modal(newData: T, options?: ModalModalOptions): Promise<U>;\n\n  /** Ends modal and returns result */\n  endModal: (result?: U, onDone?: () => void) => Promise<void>;\n  \n  /** Cancels modal */\n  cancelModal: (ex?: any, onDone?: () => void) => Promise<void>;\n\n  [key: string]: any;\n} & {\n  [key in keyof C]: C[key];\n}\n```\n\n**Property Descriptions:**\n\n- `visible: boolean` - Read-only property indicating whether the modal is currently visible\n- `data: T` - Read-only property containing the current modal data object\n- `props: ModalPropsTypeMap[P]` - Read-only property returning appropriate props based on modal type:\n  - For `'modal'` type: `{ visible: boolean, onCancel: () => void }`\n  - For `'drawer'` type: `{ visible: boolean, onClose: () => void }` by default; use generic `VK` (e.g. `ModalRef<'drawer', T, U, C, 'open'>`) after `mergeModalType` or `visibleKey: 'open'`\n  - For `'popover'` type: `{ visible: boolean, onClose: () => void }`\n- `options: ModalRefOption<P, T, U, C>` - Read-only property containing current configuration options\n- `modalOptions: ModalModalOptions` - Read-only property containing current modal options\n- `modalPromise: Promise<U> | null` - Read-only property containing current modal Promise, `null` if modal is not open\n\n**Method Descriptions:**\n\n- `modal(newData: T, options?: ModalModalOptions): Promise<U>` - Method to open the modal\n  - `newData: T` - New data to pass to the modal, will be merged with `defaultData`\n  - `options?: ModalModalOptions` - Modal options with the following properties:\n    - `modalDataEvent?: boolean` - **Legacy data-payload callbacks** (optional). When `true`, you may pass `onOK` / `onCancel` on the **`newData`** object of `modal(newData, { modalDataEvent: true })`:\n      - On open, those keys are **removed from `data`** (so they are not rendered or serialized with business fields).\n      - On **`endModal(value)`**, `onOK(value)` runs first; if it returns a value other than `undefined`, that becomes the **`await modal()` resolve value** (before `beforeEndModal`).\n      - On **`cancelModal(reason)`**, `onCancel(reason)` runs similarly and may rewrite the **reject reason** (before `beforeCancelModal`).\n      - Field names are **`onOK`** (capital `OK`) and **`onCancel`** — not Ant Design’s `onOk`.\n      - **New code:** prefer `await modal()` + `beforeEndModal` / `beforeCancelModal` in `modal()` options; use `modalDataEvent` only when migrating old APIs that attached OK/Cancel handlers to the data payload.\n\n      ```tsx\n      const result = await modalRef.current!.modal(\n        {\n          title: 'Confirm',\n          onOK: async (value) => `processed-${value}`,\n          onCancel: async () => 'user aborted',\n        },\n        { modalDataEvent: true },\n      );\n      // endModal('x') → result is 'processed-x'\n      // cancelModal()   → Promise rejects with 'user aborted'\n      ```\n    - `afterModal?: (newData: any, options?: ModalModalOptions) => void | Promise<void>` - Hook after modal opens\n    - `beforeCloseModal?: (next: (ok: any) => void, action: ModalAction) => void | Promise<void>` - Hook before close\n    - `beforeEndModal?: ModalBeforeEndHandler<U>` - Pre-end hook; may rewrite the resolved value. Receives current `U` from `endModal`, returns `U | undefined | void`\n    - `beforeCancelModal?: (reason?: any) => Promise<any>` - Hook before cancel, can modify cancel reason\n    - `afterCloseModal?: (newData: any, action: ModalAction, modal: ModalRef<any, any, any>) => void | Promise<void>` - Hook after close\n    - `forceVisible?: boolean` - Force show, even if another modal is already open\n    - `alwaysResolve?: boolean` - Whether to always resolve the Promise\n  - Returns `Promise<U>`, resolves with result, rejects when cancelled\n- `endModal(result?: U, onDone?: () => void): Promise<void>` - Ends the modal\n  - `result?: U` - Result value to return\n  - `onDone?: () => void` - Callback function after completion\n- `cancelModal(ex?: any, onDone?: () => void): Promise<void>` - Cancels the modal\n  - `ex?: any` - Cancel reason, defaults to `'cancel'`\n  - `onDone?: () => void` - Callback function after completion\n\n### getUrlListener\n\nGets the URL listener instance for listening to browser URL changes.\n\n```typescript\nfunction getUrlListener(): UrlListener\n\ninterface UrlListener {\n  addListener: (\n    listener: (url: string) => void,\n    options?: { once?: boolean }\n  ) => () => void;\n}\n```\n\n**Returns:**\n\n- `UrlListener` - URL listener object with the following method:\n  - `addListener(listener: (url: string) => void, options?: { once?: boolean }): () => void` - Adds a URL change listener\n    - `listener: (url: string) => void` - Listener function called when URL changes, receives new URL as parameter\n    - `options?: { once?: boolean }` - Options object, when `once` is `true`, listener executes only once\n    - Returns a function to remove the listener\n\n**Usage Example:**\n\n```typescript\nimport { getUrlListener } from 'use-modal-ref';\n\nconst urlListener = getUrlListener();\n\n// Add listener\nconst removeListener = urlListener.addListener((url) => {\n  console.log('URL changed to:', url);\n}, { once: true });\n\n// Remove listener\nremoveListener();\n```\n\n## 📘 TypeScript Support\n\nThis library is written in TypeScript and provides full type definitions out of the box.\n\n### Exported types\n\nKey types importable from `use-modal-ref`:\n\n| Type | Description |\n|------|-------------|\n| `ModalRef<P, T, U, C, VK, R>` | Six-parameter ref: overlay type, data, result, custom, visibility key, cancel reason |\n| `ModalRefOption<P, T, U, C, R>` | Hook `options` |\n| `ModalModalOptions<U, R>` | Runtime `modal()` options |\n| `UseCommonRefReturn<P, T, U, C, VK, R>` | Hook return value |\n| `ModalCustomMap<C>` / `ResolveCustomMap<C, O>` | Custom keys excluding builtins / inferred from options |\n| `ResolveVisibleKey<VK, O>` / `ExtractVisibleKey<O>` | Infer props field from `options.visibleKey` literal |\n| `ModalBeforeEndHandler<U>` / `ModalBeforeCancelHandler<R>` | Typed before-end / before-cancel handlers |\n| `ExtendedModalType` / `ModalTypeRegistry` | Built-in + augmentable overlay types |\n| `MergeModalTypeInput` / `MergeableModalTypeMap` | `mergeModalType` input and map types |\n\n### Generics U / R / VK\n\n```tsx\n// U: endModal / modal() Promise result\nconst ref = useRef<ModalRef<'modal', FormData, SubmitResult>>(null);\nconst { modal } = useModalRef<FormData, SubmitResult>(ref, defaultData);\nawait modal.endModal({ ok: true });\n\n// R: beforeCancelModal return type\ntype CancelPayload = { code: number; message: string };\nconst cancelRef = useRef<ModalRef<'modal', FormData, SubmitResult, {}, undefined, CancelPayload>>(null);\nuseModalRef<FormData, SubmitResult, {}, undefined, CancelPayload>(cancelRef, defaultData);\n\n// VK: infer from options.visibleKey literal (ref VK must match inferred value)\nconst drawerRef = useRef<ModalRef<'drawer', Data, void, {}, 'open'>>(null);\nconst { modal: drawer } = useDrawerRef(drawerRef, data, { visibleKey: 'open' });\nvoid drawer.props.open;\n```\n\n### Extending overlay types (module augmentation)\n\n```typescript\n// types/use-modal-ref.d.ts\nimport type { ModalTypeItem } from 'use-modal-ref';\n\ndeclare module 'use-modal-ref' {\n  interface ModalTypeRegistry {\n    sidePanel: ModalTypeItem;\n  }\n}\n\n// app/setup.ts\nimport { mergeModalType, useCommonRef } from 'use-modal-ref';\n\nmergeModalType({\n  sidePanel: { visible: 'show', onClose: 'hide' },\n});\n\nconst ref = React.createRef<ModalRef<'sidePanel', { title: string }, boolean>>();\nconst { modal } = useCommonRef('sidePanel', ref, { title: 'Panel' });\n```\n\n### Type Safety\n\n```tsx\ninterface ModalData {\n  title: string;\n  label: string;\n}\n\ninterface ModalResult {\n  value: string;\n}\n\nconst TestModal = React.forwardRef((props, ref) => {\n  const { modal, data } = useModalRef<ModalData, ModalResult>(ref, {\n    title: 'Default Title',\n    label: 'Default Label'\n  });\n  \n  // TypeScript will ensure data conforms to ModalData\n  // and modal callbacks return ModalResult\n});\n```\n\n### Strict Mode Support\n\nThe library fully supports React's strict mode and concurrent features.\n\n## ⚠️ Error Handling\n\nHandle potential errors in your modal interactions:\n\n```jsx\nconst showModal = async () => {\n  try {\n    const result = await modalRef.current.modal(data);\n    if (result !== undefined) {\n      // Handle success\n      console.log('Modal result:', result);\n    } else {\n      // Handle cancel/dismiss\n      console.log('Modal was cancelled');\n    }\n  } catch (error) {\n    // Handle errors during modal operations\n    console.error('Modal error:', error);\n  }\n};\n```\n\n## ⚡ Performance Optimization\n\n### Dependency Array Usage\n\nUse the dependency array to optimize re-renders:\n\n```jsx\nconst { modal, data } = useModalRef(ref, defaultData, options, [dep1, dep2]);\n```\n\n### Lazy Initialization\n\nFor expensive initializations, use function form of defaultData:\n\n```jsx\nconst { modal, data } = useModalRef(ref, () => {\n  // Expensive computation only runs when needed\n  return {\n    title: getLocalizedTitle(),\n    items: generateInitialItems()\n  };\n});\n```\n\n## 🎯 Advanced Features\n\n### Custom Modal Types\n\nRegister extended overlay types via `ModalTypeRegistry` augmentation + `mergeModalType` (see [module augmentation](#extending-overlay-types-module-augmentation)). You can also merge runtime aliases for built-in keys:\n\n```jsx\nimport { useCommonRef, mergeModalType } from 'use-modal-ref';\n\nmergeModalType({\n  tooltip: {\n    visible: 'open',\n    onClose: 'onOpenChange',\n  }\n});\n\nconst useTooltipRef = (ref, defaultData, options, deps = []) =>\n  useCommonRef('tooltip' as any, ref, defaultData, options, deps);\n```\n\n### Before/After Hooks\n\n```jsx\nconst { modal, data } = useModalRef(ref, defaultData, {\n  beforeModal: async (data) => {\n    // Called before modal opens\n    console.log('Opening modal with data:', data);\n    return data; // Can modify data\n  },\n  afterModal: (result) => {\n    // Called after modal closes\n    console.log('Modal closed with result:', result);\n  }\n});\n```\n\n## 🤝 Contributing\n\nWe welcome all contributions! Here's how you can help:\n\n1. **Report bugs** - Use the issue tracker to report bugs\n2. **Suggest features** - Propose new features or improvements\n3. **Submit PRs** - Fix bugs or implement new features\n\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n## ❓ FAQ\n\n### Why use refs instead of state for modal control?\n\nRefs provide direct access to modal methods without triggering re-renders, making the API more efficient and easier to use.\n\n### How to handle multiple modals?\n\nEach modal should have its own ref:\n\n```jsx\nfunction App() {\n  const modal1Ref = useRef(null);\n  const modal2Ref = useRef(null);\n  \n  return (\n    <>\n      <MyModal ref={modal1Ref} />\n      <AnotherModal ref={modal2Ref} />\n    </>\n  );\n}\n```\n\n### Can I use this with other UI libraries?\n\nYes! The library is UI-agnostic. Here's an example with Material-UI:\n\n```jsx\nimport { Dialog, DialogTitle, DialogContent } from '@mui/material';\nimport useModalRef from 'use-modal-ref';\n\nconst MaterialModal = React.forwardRef((props, ref) => {\n  const { modal, data } = useModalRef(ref, { title: 'Dialog' });\n  \n  return (\n    <Dialog {...modal.props} open={modal.props.visible}>\n      <DialogTitle>{data.title}</DialogTitle>\n      <DialogContent>\n        {/* Your content */}\n      </DialogContent>\n    </Dialog>\n  );\n};\n```\n\n","readmeFilename":"README.md"}