{"_id":"react-drop-portal","_rev":"27-677297ab9a9558e6ae60b003e3dc1bde","name":"react-drop-portal","dist-tags":{"latest":"0.3.1","beta":"1.0.0-beta.12"},"versions":{"0.1.0":{"name":"react-drop-portal","version":"0.1.0","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"files":["src","module"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook -s ./ -p 9001 -c .storybook","prepublish":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@storybook/react":"^3.4.8","@types/react":"^16.4.1","@types/react-dom":"^16.0.6","babel-core":"^6.26.3","husky":"^1.0.0-rc.2","prettier":"^1.13.5","react":"^16.4.1","react-dom":"^16.4.1","ts-loader":"^3.5.0","tslint":"^5.10.0","tslint-config-airbnb":"^5.8.0","typescript":"^2.9.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.2"},"gitHead":"af3c9256fbeba9b1c7b5b89be369f53deb1b2ec5","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.1.0","_npmVersion":"5.5.1","_nodeVersion":"8.5.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-SXBldE53L9Rn2viKm2gD/Uk31rkYyCM8NE2QqQQxgqiGxd9Xoxc/alnlAlycD6m9R1ZWFGd7j3Qp5TpmOJI5lQ==","shasum":"c935dfaa5c87fed2fe55a4ce2c4a3c0deaf35baa","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.1.0.tgz","fileCount":10,"unpackedSize":19039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbOUgOCRA9TVsSAnZWagAApE0QAIKpYnx5AQG6ldAJ86+3\n6ComXoqmYSb3Zcg3XIqdz1GsTVDfb4dbPy1x0xLQ7t9ywpyFtFrF/jC4IS+2\nZUJh4Qg5a6Kv8El7Or7eJAoyDK24SMXAWyNDB6WNwaFScVH2QrYDQHMkMqHo\nbzK1SH8mtLluNvvSYuKp2MDvzIQccA8ZK3LIj3F4cIz6LySfhJaVAWXWsRoP\nTRHxDMwHFoaOH3JDBoHeM1Wecf/+RKRQhEguW8Q5KxLiF4nkB6M2zgRyOZj8\nhloO6+oWNf/DWTL+POrKPBJUtvIa5NvfwubyAoZNxwy6ui8xSR+NBM3rjYuz\nX50ehd20EwhD8+5bh4i5Gnkx2o6Zx5uGWxmIi0zCzotT/YGLyek8tZMlhCV5\nA7modwAAQGgGbKk1/2htK+/BoUeXmo9tpFXYHTQOTZVyfnMaIRbIxv/Q5DHE\nlb518T63LWOEmziS0/HT0gLlXW+O8vtska5IU+U4pozrM0uLjiQpIAKwD5Iq\ni4fCAs/JFTJyuwtOe/1F1wrJtldC4Jr5hZI3sT1/dfRFCqTXv5WEG8c3dBdF\nDedPclgrKsH04Ef1yllfk0Dpdl45PbzgpIcN9jfu2BdcQUrPL6+qn0OMOL2Z\nbIqGqOh6fATUYYYapUhABsk1ilZWSUv4ib6KMB6mprXASvO56OcI/h5Kuaza\nDyIn\r\n=Nx9D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC784Ma7NTMjuTmvxwTfGqMbbvSlwVeFgX0ez06bYvYGQIgetlIP+v9LW1k5jkCHlzA1y4kl/F7DG3VjH02FjAWOoE="}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.1.0_1530480654795_0.4885520553136524"},"_hasShrinkwrap":false},"0.1.1":{"name":"react-drop-portal","version":"0.1.1","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"files":["src","module"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook -s ./ -p 9001 -c .storybook","prepublish":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@storybook/react":"^3.4.8","@types/react":"^16.4.1","@types/react-dom":"^16.0.6","babel-core":"^6.26.3","husky":"^1.0.0-rc.2","prettier":"^1.13.5","react":"^16.4.1","react-dom":"^16.4.1","ts-loader":"^3.5.0","tslint":"^5.10.0","tslint-config-airbnb":"^5.8.0","typescript":"^2.9.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.2"},"gitHead":"6d46d21484fce5ad4b228ec17a40056e9953a85d","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.1.1","_npmVersion":"5.5.1","_nodeVersion":"8.5.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-r2g+1UUbNkM+9VenAWOdEfpEZOUuM1RLl3cN/KjyF5LvLC6ishi8gK17USpaqarc111gn+WajVoU62t0wlC/mg==","shasum":"5103bceaaa99acd404a73a0d59fc27cabfab6cc1","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.1.1.tgz","fileCount":10,"unpackedSize":19174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPT9KCRA9TVsSAnZWagAAwSEP/jMPFvsGuF6ll3I477t8\nuZf3WPbO4wRAz3lCbBqZcpxVZAi8QC2saysbP86cGT4VQ/b38aYkeoc/U0pb\nQvBnF0V6TCz6Esp4WxgFPIG11z+U6TU06IHqBmq33z1DNk9x6Prv9nHESyH0\ntqo0QX6GpAjS+XMe63kok/TEdJZjANQyy5x6IFH/d5DvwYRxMJumrKqzOoj3\nlAxS5Bi3e3y7d5+bbX46io28QDXz4NMdnm3B9CiuRdCRcItdji6CBjZLdqpa\n319X+sSr6k2RbzxvppMnIFuHyKPJqkiz2CPMciKSra569BGBKmklkdRcN0/w\nSvy7isIE8aIgMluabk+5vnbiF7ucLUrRAA6+RP7+Kesks8TJWF+cV0YK3SdJ\n3fIY471UBEOYm8q7niJivVReiV39ZrI+2uYJLA9zvSWBitWJj0rssbkXe/+w\npuo3FiMVK3FCfghM1DknTabovlUkl2htcI21B1b5iPe+IRIVGetmfZh/uLmC\nooUqt+4Ujl1CNB+vu8wy6vDtAHl3lONacDWZsAQNLCD7ot1W4dC5G2A018IM\nKW+36LLzHnU11NO9uaBPob8ABXapPWIzTWcCWfuM9lu1bXcA0rCEokED0u3v\npNqdmFk2k7KW9WyQPscuGwSUWvqlMBdCdvlQ+HAAOGgdMMUgwwjWaEolq4gF\nCWNE\r\n=g5i1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWXCofQahDOimvcJnK/TqCKXR4fYO/oQLyce201qAuFgIhAOMI25hz1WCJyW+/JUCVNwf7sHVkjUgvEFMRWylYqXRc"}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.1.1_1530740554457_0.881527926460107"},"_hasShrinkwrap":false},"0.1.2":{"name":"react-drop-portal","version":"0.1.2","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"files":["src","module"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook -s ./ -p 9001 -c .storybook","prepublish":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@storybook/react":"^3.4.8","@types/react":"^16.4.1","@types/react-dom":"^16.0.6","babel-core":"^6.26.3","husky":"^1.0.0-rc.2","prettier":"^1.13.5","react":"^16.4.1","react-dom":"^16.4.1","ts-loader":"^3.5.0","tslint":"^5.10.0","tslint-config-airbnb":"^5.8.0","typescript":"^2.9.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.3","tslib":"^1.9.3"},"gitHead":"c2e0254e35377cd40267fdd8b9f044d1b927904c","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.1.2","_npmVersion":"5.5.1","_nodeVersion":"8.5.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-BdwdOEo8lozqKzO0Dyl0lYsunz1pnh8bzcbIXplq7XU3GLoqioebnUywEeSQvrUUprdIbkp6kL5FnwUhNu+MeA==","shasum":"bfdac347f75f2b3cc118a90af82d9f698f788919","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.1.2.tgz","fileCount":10,"unpackedSize":19834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbP92rCRA9TVsSAnZWagAAbvMQAIamam/VxckbFsmeHqPG\nNEhtzbLWpWyfISnLeYy2S/R1cziRl1DPKKv5mBJyMrC/Ssog93i2F1nWBtxN\nS18Ab1TIxDhoX/GGKLfs7BVe2tPaV7MMLTVhBzzKLQj/38HCnDcpxS30Z9YS\nkG/jPRhmacysUtQkdLhllHFVnBJvoZZBOb0gH8VrcdWXcERaZIgMowMpMBOb\nmCZvf3eqkT633dYqY1zg3eMGlZaSufsWcjoRpZKIa8426MzeTgXUpe4lWjc/\nz3UstT71EWMyp58taf2pgdq6Of8fNbVmS4beuHxTQplSVKGC8lfxVRvYBcHA\n7ovm5Cpepx4ehV8z7QpxGI/dSsJh7y3X333UTL0fEsr/dMl+Bz9O1JBqq/Bo\nSVaCgUBsoFv9ntk3gA7f/ZJLGg3fTp+Ms9LVW8PQTAR8ZRmTg+KgY4/LmDUI\n8F1lLZRq+D8J1m5SjqZonawarYt/C204f7YH9kQs6bs3bBlmgI1fp6YEWPrC\nqiiaRU//SyjdVEq5fCqOnijxqUIuJJ0tpkfs+KIFGiJbYDi+zl9YYpdLyPU2\nRsi3PfEOxTh31zH0UnsPeSUZbR4Haktfafkz/NXOlnFJLK4g/Qry1jcxoxdY\nEYKbsLglwV1FPRJ/B9jHeTxFiIRXjziJ1se0UM7j7VGld+AejG+CMw1Ak5jg\nMFBj\r\n=K7dl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjLWDHRVub4UHTu1ZSqduCZGkboA854XZCJ4QDftDbtQIgWAiQNUKITZo4xKMlK3fz0IZxIrlO3EVdNcGoh0s/r78="}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.1.2_1530912171546_0.24977949453932258"},"_hasShrinkwrap":false},"0.1.3":{"name":"react-drop-portal","version":"0.1.3","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"files":["src","module"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook -s ./ -p 9001 -c .storybook","prepublish":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@storybook/react":"^3.4.8","@types/react":"^16.4.1","@types/react-dom":"^16.0.6","babel-core":"^6.26.3","husky":"^1.0.0-rc.2","prettier":"^1.13.5","react":"^16.4.1","react-dom":"^16.4.1","ts-loader":"^3.5.0","tslint":"^5.10.0","tslint-config-airbnb":"^5.8.0","typescript":"^2.9.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.4","tslib":"^1.9.3"},"gitHead":"da968b7c6df65ac9a16bcf9a7c2c200ad90d385e","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.1.3","_npmVersion":"5.5.1","_nodeVersion":"8.5.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-YVsgBIr9ttavDqgeze+G/DZD78WS3+QECfApAMvIKhDArGRcSunPt0WLrLJmzEixsjmXAqRNkTzlH7YRvNjNIw==","shasum":"62a6743997dbb828e1bfd952aa2d371ef88e7eca","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.1.3.tgz","fileCount":10,"unpackedSize":21707,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbQNCRCRA9TVsSAnZWagAA2SUP/2nngM+CAw3uBu0lzebk\nrNOgRBRZcdfMhgFU63tkLodK+6yYzhiVmn2085NQTmcEliQH2nOMTpmtxulD\nQvYbyKrJgvf956KrwS0PUGRz4Wd7BGYI9wnTLDA2zq5zr5Ws8Fp5n7LohvWl\ngDkZYNig1pLBr0RW7w5IOMq+eENcste3MJ+2eZ6Y9seELMiV5aoTcbYOJw0O\nE/4kZ07ez86XvzZhDVtoyUvZi2Sv138cmCDr7cExnNBcP1HifjCLdWFsIFDx\nxONjOEySNrNACCmOIOoX/l8bp4CCz+3y4EXyxhd5GI4MxpCrgfNQhG2cLJ/9\nzHLKAv7OuJSOI1JVXb5DOzcXbheX9oZ5ndsDqPF8aiDTW7MoSrFP7RriLv55\nRKVlerSatD7cyQu7FQLXSfUfnbFCPs5uCj3Uh92qYJKId5++NFMJneS+38do\ncRgTAt5WG9yqueJJz/pioqe10mNqOWoGMeykQOp3re37igVMylLAtnRx4ZiE\n5CVVsCFt0bjMsmuHkiEVoWez4d5juN6uK22Uun3oDbbXEBl+Z9EMKFqqckOQ\n/IayG9fiw9aDpUU7KfkWaPE3MvVOOV+eqa7+okGb63BqtvS/3rtCbfAQgJ2k\nm53PcsDaz/nROuZK+WrPDNJKWaEZddHy0TAfcH/8Xx5/24ALlFnwUJaA1ZKF\nGrSg\r\n=l3BA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDShJaB4iqXUNvp/K+i0G7XAwvPtFA6k+VbciyhQq/ZvQIhAP/o7fFMXMRK8YDS672MtmCoak+wKjcHBE8ldTh4dyt9"}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.1.3_1530974353276_0.8090409476001681"},"_hasShrinkwrap":false},"0.2.0":{"name":"react-drop-portal","version":"0.2.0","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook -s ./ -p 9001 -c .storybook","prepare":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@babel/core":"^7.1.2","@emotion/core":"^0.13.1","@storybook/react":"^4.0.2","@types/react":"^16.4.18","@types/react-dom":"^16.0.9","babel-loader":"^8.0.4","husky":"^1.1.3","prettier":"^1.14.3","react":"^16.6.0","react-dom":"^16.6.0","ts-loader":"^5.3.0","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"^3.1.6"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.4","tslib":"^1.9.3"},"gitHead":"c50981de4c69742939d2c09b08033d9bd884d997","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.2.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-Fmfy9Z8Rz20fADe0Ix7QAM18fofeKkKr8PiqxTIQ4fu2SxnjtP6wrJ/U0x+XmptA8URo0hq8FEQKFXZqGJgqMw==","shasum":"1a2e0914688d6fbc2813c86b4f950c292597ad56","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.2.0.tgz","fileCount":10,"unpackedSize":31526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3B3eCRA9TVsSAnZWagAAtuoP/A5/mOANrwQ402X3e5sG\num2VqG0sCNQ/Ffq2DMba3kmLSrah49Gg4dwvNBvjk+jFSOzeQMdI6pPmigjT\n5pZiMOBEAPHZkCCIPKVCwkQ2d+pmjTny9mODdlWlyZN/otN0D5gQHAnmhjJA\ngx8ZP1oNShC5TtJKcXDVWQsnwsvo/rI2wCJ94jTy82lfYxW8gD0qDyKurXOh\nid8oVe0wO3AhZrWJDipkU4sgdy7No61kZkt8ZM1kiGDgsi2pRj1rghpLR0Fb\nPDp8Wq6M9QkS8e55xE+hlG7cw2vXr948ya2WiUgvbww6xBnf7QkvIpJGO2S3\nzzcyL01PfJMSyaF8nT7VA5CxSCo7bmFUrk0H0YsJ/H6YEydGm2nJwotyIUm+\nvh/SJZBaaIio9pcpFq9GXvvmam3IqViYlsLhJN+caSQWYBx8AvE4G3zOEj8J\ns5YpdNrAYFzCF3E3cRPGQqhfDqeduK3W0/IXmMCQvH10elGkx0Mc7S9aIwU4\npO/3pQE0YDO4Tk14i7w+xwz1km6AMYvudDL41Lq9taPqsFmLcAdn+BY5Fw2C\np7ViBOv7ymYKHunWh3xqO9gQEvrJIx3sNU3tp/Djyz8yEifqP2aIOfkwjfey\njsAvwPSo/c7pnk9jT7qV/agQqKbRBdPL1r8AXFhOiN/nJ5PmsTh1/OeTa3nD\nIrCx\r\n=ECHa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1QpqzJVG+OPLivnKXAaS7jSb/2rSCih85zQX1QkMuuAIgVutn4IdaRjobB1ScE+CBzOwNIM2kjrta+c5h4QHrpG0="}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.2.0_1541152221867_0.6373344367214073"},"_hasShrinkwrap":false},"0.2.1":{"name":"react-drop-portal","version":"0.2.1","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook -s ./ -p 9001 -c .storybook","prepare":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@babel/core":"^7.1.2","@emotion/core":"^0.13.1","@storybook/react":"^4.0.2","@types/react":"^16.4.18","@types/react-dom":"^16.0.9","babel-loader":"^8.0.4","husky":"^1.1.3","prettier":"^1.14.3","react":"^16.6.0","react-dom":"^16.6.0","ts-loader":"^5.3.0","tslint":"^5.11.0","tslint-config-airbnb":"^5.11.0","typescript":"^3.1.6"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.4","tslib":"^1.9.3"},"gitHead":"44ea8ff6cd55f7f95c66cb839ca3633ea92fae67","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.2.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-z4b0wXy19Q/UV/4h42NDAtAaYd4rq0S/IdfHFJf1IOh2qiJF+H5dSKG56nLyRcdf7WXnRBPedYkxw/XTZ49UIw==","shasum":"1d94b18d496b9f9ae7d4bdef682fa9b0b7a58979","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.2.1.tgz","fileCount":10,"unpackedSize":34270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4DHICRA9TVsSAnZWagAAwK0P/itarbDWbidhukkftZhJ\nA2nVs6a6EMj8AWsOiVAf0TILz5z0zFJqIQ9H0oj68VCUriWsHjqmtmCT//sL\n1zwVkAD/tl/MHu2Gre5XEfWQGj7FgLVW6EcuhXP3i5RmVDXtwYy0mNgr1yFt\np84eqFAKv4gL+rVh5/ers6Smy1sjT0Y4yCDbGbulEt/x+eOYbCWXt7oSRQzH\n0bcC0zX/lwV3AHETJH4CHWMTjCkpZd1xIUcrdB3ZFIDyiExhO7Vg7C4Swwuv\nDCkFOY3XUPd9mSjp8hVNcfKAdXL2+lWaNzndcym8FaIvi2hcDCSdEZTtRgSa\nL6pnlpVNyvkEJcTnt9q3mIJ91ETZo24SCAc4TBa38yEMyPEzbhdinBVsUdNE\nuRbY9mahj+3FXwQl/hXpI/9iX39XsTFpPczHfM0L8Qjlrj/ccQ+rBtRYB7Ql\nh59tA0DXi0W6pxYvbYBukbRtAw2ho7AFl2mlPDGFTGV2c1YDsJGa86q6nIU0\nXDqNhKHXK0rRD1QrVwXIxpkK35YIpx77du9yuHwQb8tdBw7yHQvwZBkh++3f\nuKpFqFXgNAH0tFVF4af36pxb0x+GXkcJbFefI+eZZmbnH6lo/xE4EXqZDMu7\n1gTNP4P2pC3DoNGQGfij3tQ8cyRhOyiXwwW3OyOkGiDtC3bYUDLSlDOJKKlx\nx+Er\r\n=kWtE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGAKfgjsI3nSMYmGF111n4HQrLqYPWuYZrcXJhYtWfa+AiEAquBBBFEJ+QyjCbu9OfNj/cEYRpjZnUkxtVrdTZ7ioXQ="}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.2.1_1541419463978_0.557257162180204"},"_hasShrinkwrap":false},"0.2.2":{"name":"react-drop-portal","version":"0.2.2","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","prepare":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@babel/core":"^7.2.2","@emotion/core":"^0.13.1","@storybook/react":"^4.1.11","@types/react":"^16.8.1","@types/react-dom":"^16.0.11","babel-loader":"^8.0.5","husky":"^1.3.1","prettier":"^1.16.3","react":"^16.7.0","react-dom":"^16.7.0","ts-loader":"^5.3.3","tslint":"^5.12.1","tslint-config-airbnb":"^5.11.1","typescript":"^3.3.1"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.6","tslib":"^1.9.3"},"gitHead":"85ec0b6982dc165e6a5d6c54f04ac79ff48ce180","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.2.2","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-ezqFiJB/Y5l0jZtQpaVgzhk2tiJSawcNccsaJyJ8Osks+Ouw/0BJR90keTC5Hd2SuqL+5Ng749cCnqsjUD3s4Q==","shasum":"61a6a20149a90e0917eb37689605b9034fe4667b","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.2.2.tgz","fileCount":10,"unpackedSize":34247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVsbQCRA9TVsSAnZWagAAlB4P/1tyvE5NYe51znBAsbjN\nElzA46ca/egsFNPaEcZwtnNXQz1W5NA3U8syPoB7dA8dyuPP3Ln7yBM2SxaK\nLaNN16h5HL7DuL1Qg1fTtkN8VFLzS6sxBgwCdNlz1E7NIgQG31v8vakjFMkv\nyzOc1n6RDDgNfv7xtH1RYgn0ecd7ug6EJe35nAlIy9HxtXIlss17CObcvUdT\nbUHiAX5QXEnoRXNzXdVutImuDdbdGnj8ESIjEDlbuH19oLR+6EoX9BBf9PFY\n0eozrreJgCkaoFE13T9jfFt+ZljYl0Q/iWUv8olbat18ZbVfdUDNPauLQJfU\nyc8a4HlGgn2SrCnY0YCHLSfu8VxSJFyplxUhIqiqkd/lwqT/le4MK7ktomDc\nK6fhn9ElsHPlUw6QeOeua6Wm2ItvXCv+vczPCOpPytyNC7bDGJH3Gv5UL9SJ\n6b4MIoe43iRgtOV1bvHxbzYRWtZBA2UXo69IK+eVCnJbyLJ2rJMg6JISYXb8\nWkbdN+Yt7QgAUThZpxV9lhu9C5jalDlajATI5nccwD8CQ8Hjc5h12/Y3Akjj\nEu869Vz2vJs0cu9b7/NHoZ5pZFVqbhvBRLG52JsGN2BKG/qg4CgELodULZxB\nvsLNdosBh5cGciAItN3AiArnihxpXrDkWBP0bBzqHn2Dd8WBl2GIRV/dERl2\nh8sF\r\n=aHmy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDt73cvISRB8SEhqQ1L9r3THCh90SdVskJCKkExgToh7wIhAM+vssgYjcYxnDGzfoH/wKx6c54/BuQVtZpQcAtyVu/M"}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.2.2_1549190863318_0.7927064657538438"},"_hasShrinkwrap":false},"0.2.3":{"name":"react-drop-portal","version":"0.2.3","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","prepare":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@babel/core":"^7.2.2","@emotion/core":"^0.13.1","@storybook/react":"^4.1.11","@types/react":"^16.8.1","@types/react-dom":"^16.0.11","babel-loader":"^8.0.5","husky":"^1.3.1","prettier":"^1.16.3","react":"^16.7.0","react-dom":"^16.7.0","ts-loader":"^5.3.3","tslint":"^5.12.1","tslint-config-airbnb":"^5.11.1","typescript":"^3.3.1"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.6","tslib":"^1.9.3"},"gitHead":"9f04f300d55f781b4ea3258f3b9746790c173556","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.2.3","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-C+s9/mkm4Xwimyt3L/kworv2HoWG4SiOL4is4xqrbuYYvu96unEA6p+Ve9Yylxwwozp3t/VNjAhpzAjnffb5zg==","shasum":"edeecf6cd36d85b1986343b552f480db749257e7","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.2.3.tgz","fileCount":10,"unpackedSize":34904,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckgi7CRA9TVsSAnZWagAAm2YP/RCximWURVmjEX9sAhpx\nF45LXF2zAJgBmflpXZevPWif1FE0LnyrNGNk1hq5ZLZIb/T3XL+Sg9HZHOAC\n4mvlEYaGIcl+nvxWZYhPTXD0ybwvGXfzOSME3oJ8Yrx/C4tf0a9CgtcQXf6e\n1brZl9jQ4/6uwU40KaXkWMmyoQ6DclxTI2FPBt/7cjOMp0dnobbc9LzYs6DW\nsN0D8ifYOSQLcuJ1pFYLsS7MaNhdYeYriJv7BXAdsWXBgypxRX70EUBYj0S1\ntJ3KLXeHbOv4flZEvCSWvKVRtc3vLvi5Iusnbz/PxWjhcV9oSNarQTY1YnWY\nAtXu0UM3wN7AG/BA+cpc5jEJpvZ0mKWsJ30uPweDJYmcrbLoaTTfNSVcc7wu\n/wtpQOE/WUEtWQkZ+0ywuQOgHaJEpPZCQFWeu7tSP9px59tpYX7yEafRlstC\n1LDgKD5n1Y2VkNPYAwWZV8KU6bQ+kYva4yNGDc4Fr1WNbFAW+s/tKEtkccOO\nJ68q9A/BiYy39GGAzvkzz2FWVTjytRBU9vphAEB/IRHPbH22rHHxadVsm+0X\n3PTZHYOHj2a7VDljRiJFI+diU+k5l/zp5tHL9BDXyGPXvm2jDFnf1gW7fUvG\n0A3B1Cu+iXw3rPdj9siua2+Gy2NTYUAOnOeMU1ir+CUDK59mDTWayBmucz08\n8qI+\r\n=PE2V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCb+WVQiVpUB80vHmDyUvJMgwlZJhzu8ma+jj2OsTp5HQIhANgpUDam6pOk7f4MvOwe7Pp8CutWVz2o2MwKRJs3A6fb"}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.2.3_1553074363275_0.07824501918458648"},"_hasShrinkwrap":false},"0.2.4":{"name":"react-drop-portal","version":"0.2.4","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","prepare":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@babel/core":"^7.2.2","@emotion/core":"^0.13.1","@storybook/react":"^4.1.11","@types/react":"^16.8.1","@types/react-dom":"^16.0.11","babel-loader":"^8.0.5","husky":"^1.3.1","prettier":"^1.16.3","react":"^16.7.0","react-dom":"^16.7.0","ts-loader":"^5.3.3","tslint":"^5.12.1","tslint-config-airbnb":"^5.11.1","typescript":"^3.3.1"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.6","tslib":"^1.9.3"},"gitHead":"0f32ac0ddd26923aa265d1a8c4838a10399b46e4","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.2.4","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-3UEqQ3QHA/BbYbtUokPZLbPU1IXHY2H2w1Ik1BSrtRS8rGEdprkoDBFcePiT135RaWeSIVQLv9xdCkZCM9HrdA==","shasum":"66be11e7c73bfc217475305a3db9f7d2a113910b","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.2.4.tgz","fileCount":10,"unpackedSize":35270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckkgaCRA9TVsSAnZWagAAaKsP/3EpT0gzcCLCyrTp9ZHR\nBCdV8Y0R6KtNbsdtms5h28pPYrfPOw6WyVmviovrxoIa80TMjOFxShHv2zod\nDl//wU4pttuo/JK26zb+GQKdKoONVw66MfqGT6j99Kxm+FDVTqSn9xjP1xz5\nwmjOKI05sAWkeP5lLLfYRwiSFe+quCpXHDPqOumuZafYrZJYNOaygvy1qByH\nyDGzzMaI/LMz4TxGa1SpmMhHixcm85X0+EhX7iZPl1HfrItxfr9uCtTVBnjr\nWash8nz3xwdz3CWougKjfCsUeoUvuwh9Q435DIcpKsrC6wpYjXcfwo1JB4M7\nQnR1A5ODYh+TF9Sfo90YIJoT9ZVtKhxjlUzt7cNEJSrMzgS3+PzdL5NjYmZi\nkAPvPHP+8SGuelAN6mgW5DKAsbYBt5aa/dy084by/IASvvrpUBgBrFcfsQJm\n2KZk07O6/PwFK+H/X9PRgqD4Zqlam4ZbpPTrZynis/T7DWtxyiqgxPCmrzt0\n+1Ms51ZD5Lu2fra5DihtqHfcyya2N55WPI2TiL122FVzIeNNX/Vmlpqg9Gc0\n1qotHPsUAY/rVD4LDs6j10NyTlFA7msDxsp0fD+y9cxBug8vS6axTlwtPpbg\nlx8Rby0bjjwvmRytSB3Mz0IqdbN/QU/aid9btSY12C5shVCNu0cR9nf0TEZc\nZBBd\r\n=l6Gu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOvSsjv801FGtEEo9fZDi3qcS8Fm6X4iVA2EGwqptjOAIhAPtESw5UBMN48XCMPpzTlkT9leurIHCWGbHHvgcFP4wq"}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.2.4_1553090585544_0.012463175746442401"},"_hasShrinkwrap":false},"0.3.0":{"name":"react-drop-portal","version":"0.3.0","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","prepare":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@babel/core":"^7.4.3","@emotion/core":"^10.0.10","@storybook/react":"^5.0.6","@types/react":"^16.8.11","@types/react-dom":"^16.8.3","babel-loader":"^8.0.5","husky":"^1.3.1","prettier":"^1.16.4","react":"^16.8.6","react-dom":"^16.8.6","ts-loader":"^5.3.3","tslint":"^5.15.0","tslint-config-airbnb":"^5.11.1","typescript":"^3.4.1"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.6","tslib":"^1.9.3"},"gitHead":"3228fde16bc89f003f539e9e9b96e76503a85415","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.3.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-AKrGe+8rJaZqBF55udW7Yxu1PbLvSEnxqckVLgiMBMxSGxrQR4lLoxCTxut5Cm4k+c49/OulK/mRkqr5U8p6fA==","shasum":"2dde73eae0854cd92d86f782e5568b4b699b7e0d","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.3.0.tgz","fileCount":10,"unpackedSize":35817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpQnNCRA9TVsSAnZWagAAem8P/3HiUoA41YOfun9yzzDt\n1sHpwfwchZBZ0mhU53/DOV+UXiINlQnQduR0RD6fnzXcaLaU/ZcHlo4dhJdP\n59GYYsu2eIYUfmmJneQI83ZGwaCIp/Iy/6geCGQr4FrqcUXWrPxDVqwX9HSM\nkCSh1A9wVcTN6nAWjq75p9g4kljw38gePNpNJQkx6UeTfqUDDLdg/0rDv4DT\nFq+9vWT1zeB4GdcgtTcYr/j6biXVNPGT+slGXQfdNa3T617Bv7Krki349KGA\nGbougI9xK2FK+E5Uutkjn6FzJ9PqDyP9+GLMWxpr89NQZT2ktdL8+ESlSBH1\nn94xGKM4NMVffEhaSK+dRYf0x87MPMyG8FNTc5+jZunqEShW8K0TgrrZUp57\n1lSaTRGAM/WIxryaqhNBtwbQPxfkeGJ65F1qb7W0opg3p3KZMk18EZri+NxG\n9oBdh6EVqVMDRdLOlG3zpUKTCIdVjb4g3i+vy0cJGtCNuyrYmc+Mfn5pDtom\nE+ngAbqpcuS6mGHGfCfPvp8wuMazkLjaNVnbB2+7EBM1uASBPDrghu6YDlzv\nlpZtSmDNbJ6GF8DUdK193VQEk5sSZqBMXVbFocMHBlzUnsZj52vyBVuVhbmA\nQxnmKpIUlZKTwYD9gpyB84s8NG1KUrjOKzsp/+YFHkIEySVTZi1lJ3rfO4V8\nCWdi\r\n=rtHV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEfLBtTIMI82Qf396Kb9aKvGdJVkV2hE4z1fDJYIKF9hAiEA/Elo/PjIS3bswDhIuKRWqrR3fDzOnY4qV27kIim5YE0="}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.3.0_1554319820355_0.5312357496515212"},"_hasShrinkwrap":false},"0.3.1":{"name":"react-drop-portal","version":"0.3.1","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","prepare":"yarn lint && yarn check-format && yarn build"},"devDependencies":{"@babel/core":"^7.4.3","@emotion/core":"^10.0.10","@storybook/react":"^5.0.6","@types/react":"^16.8.11","@types/react-dom":"^16.8.3","babel-loader":"^8.0.5","husky":"^1.3.1","prettier":"^1.16.4","react":"^16.8.6","react-dom":"^16.8.6","ts-loader":"^5.3.3","tslint":"^5.15.0","tslint-config-airbnb":"^5.11.1","typescript":"^3.4.1"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.6","tslib":"^1.9.3"},"gitHead":"2e21eeda6a8424e656b7207324722457c3e77086","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@0.3.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"dist":{"integrity":"sha512-cA6/wVoYF+KgmzyaYYVWlJ337UwZcvzuQ+pq3ype7VdWqHiCh557istcEH4koiQhmUTXUhJdCr/ppOh+3KNrLA==","shasum":"6f29de3600914ac8f8c5a6bdbe782c74fdf53916","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-0.3.1.tgz","fileCount":10,"unpackedSize":35851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcpRVtCRA9TVsSAnZWagAAWZwP/2Nyoxd7u62ywi9e55yb\nCUVbvFw3xkT+22Rn99t0a0KJaTo/zq35zfkK+cgsSoLYrXf0JScCAvef2A5u\nnKBMQhzHLwTSmZFBkFDZADZVxf8GURjFaos3iQJNt1bFvlXYIWVnyJGGarca\niGDDTDSKP4naS6Dy4F5wYfJrbOtyagU4ZyCcxdHe0Q5DSS+pauG9+r9z6gjD\nrLf9kAb7gKXuHal8NVuVAJ/hq576kMhyQmEhaA8lZUWATUwm2INHNharsJ09\n+7u1Vzq3AciAILz7okH7KOiWVg/ghtHDm9HW2T034P2BiM8GkDsZKyMYCu4q\nb6ADDHZYJC5l8BThqGZcYDbJnkQl1Z6HckBXOs/H4IvKKqstKsJbs2xLkUUt\nvJFsJoihypCzX3W3Qxno0i3LVD3Qscqt9Q60lORfWu0M4DJlfg4YbjT5S2tu\nxF2HYp5M5HL1Nyuvsj8nn4pRCe+7a0vl5zUocozB0fb5ikYEMXvxtqNxGIP/\nPhVf3O1d8g+6h/WdfOS8h8v0vSuAD5lFvabINKOZgvrc/CuS3EcSXQpiaMXQ\nGeKghm4sjv7cgMT4Wq8o4lvufUxlqSqtaM956fKOTUIbFTDJ6iIaAGohrGjU\nLDovUyieo146x4lLKrL5K1lwMwAmq+cfQVtKd7rfrN6vJh1rJlBoWPZg5Xd8\n+ALU\r\n=jmc7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmMlImYQc8DZEJqOXU06lZVuVU6zQeiQvnjAdHHVxXIwIhANbbfTa/mDmGjfH6zxI2yji6lvu8M4agbUS42GSGOGlf"}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_0.3.1_1554322796817_0.9564781067271282"},"_hasShrinkwrap":false},"1.0.0-beta.0":{"name":"react-drop-portal","version":"1.0.0-beta.0","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepare":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.4.5","@emotion/core":"^10.0.10","@storybook/react":"^5.1.8","@types/jest":"^24.0.14","@types/react":"^16.8.20","@types/react-dom":"^16.8.4","babel-loader":"^8.0.6","husky":"^2.4.1","jest":"^24.8.0","prettier":"^1.18.2","react":"^16.8.6","react-dom":"^16.8.6","ts-jest":"^24.0.2","ts-loader":"^6.0.2","tslint":"^5.17.0","tslint-config-airbnb":"^5.11.1","typescript":"^3.5.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.7","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"89de2c6a062fbfd6097bfffd5d1f114617b9d5a8","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.0","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-54tM7oiXXBisP+jEBXiBvHzaNfuGVugletMGFRaRnvl6+oNahnvQKvc0YyT0EcbF21uTLuc2vRKvC4GcB0Zrrw==","shasum":"b562f33d605ed8049fcbd51982e3ea50ef5aeeee","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.0.tgz","fileCount":16,"unpackedSize":50966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdBUrBCRA9TVsSAnZWagAANWwP+QEWiVv1lTVInvt4FbPm\n6pkzjQP2oJ1sMMIoHB21g4sROQ3ka4pV3LnCr03K9NH2tKE1pgSRPeUkZv6G\nVF77hWdsEnRSXE6/tSgk7Fc4sJCLmgPLmc4gnOaW7RsC+LThMKfgsbKF2eOO\nLteAeAhANwCmrPqbOzyvhZq0D3Iwr36J/J8E62E29NBGuzpVK8zcjcrIuO/v\nFNrDSL+6La8WVIQgHYCn/cIsGpVfl/Z7pvuFj2Vw7HhuOUzZb/tolpKIptDm\n5iDpQY8vgA5OoJVfNdM3Ad3fQ0GEfrytgfgsh4PaWTbUChIxUuI4mr3nvuex\nMmKtV2xJtuunWY5p+oEpdxK8BQMRJdPfG6rM1A7ZxMwFE7OGFkOSrOs6weoH\n1u/42JtI7LgN3b6vOH8nNKEnrjg2hzIss+k0roA1/YSJjpecslualZsAp8qf\nOtt9Hxwn5zvrM0M2koqJ1MrWo+7SGA05MQ2zzqstugMZFlHxOBxQy9WSfDYl\nVqQUMDoV4+aRWn8Pu560m0md1J42YAr3zUqazuSZwwcMIR1oNTvuxTnzITe+\nDR/TNy9rs3/HSLDmVxVBHEbaFMQ3+5BPVzD9s/fIvOYRCmvnX6C6XuADcOl1\nA/KhAM5ydmnZssmGSCrdUp7PYksbBcw5+87vmOdh73DbAprOC+Je/6ah99/r\nGVBU\r\n=/Usp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtnFRJ3WBEgc8hgVAMh0oUpfzqxKIyXMGfFbXGILFVuAIgSkQrdQLLtBGaEHv2noDF7xPXMmHGgspLsi41OF2ICPI="}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.0_1560627904929_0.23112423259912607"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"react-drop-portal","version":"1.0.0-beta.2","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepare":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.4.5","@emotion/core":"^10.0.10","@storybook/react":"^5.1.8","@types/jest":"^24.0.14","@types/react":"^16.8.20","@types/react-dom":"^16.8.4","babel-loader":"^8.0.6","husky":"^2.4.1","jest":"^24.8.0","prettier":"^1.18.2","react":"^16.8.6","react-dom":"^16.8.6","ts-jest":"^24.0.2","ts-loader":"^6.0.2","tslint":"^5.17.0","tslint-config-airbnb":"^5.11.1","typescript":"^3.5.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.7","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"14bf3b1b0718b9ba96de94add48c735f5132e2d1","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.2","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-CTPR/N2o6aYEpRQlPg4TIkCy02OgehGrcteHlqOgkugvjFTm69h6WdHnDKpK5rmPzCZYA1F7nsJSeWqHYOxsMg==","shasum":"96e3bdff3993e1503e2512efa8b91f92d87d422c","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.2.tgz","fileCount":16,"unpackedSize":50960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDkm3CRA9TVsSAnZWagAATMUP/RahHIfy225Y6r+uaY6I\nGHENmNaWaEka/9AwANzT5+YjbXrNUv8vLQ7wsYMmK0vanSFIa6SIuCtKj/Ur\nqNU9qS7sRElGucRQywGViKcYfVzjqpd4SxWZCZJmxNzt9BTlX2lTTFzyx3Wp\nJuIVHLS9HrlIR96JPkJ1mNOmDclg50Y3T5xRr1RepqcwNCvl5lKYBe7Ds3J7\nlLmOm5rInzm7kIJy+MErAkMfQFU5DH0FTKm6HQSgDIBK7PuLgrAw3ENAuueJ\nrkykVJj1TCnsGLVwI36FIXFX2u2AiG5ivV4Xxl/lZP6wfPzc0ojpSvXd8e+c\nKSCzEqVr8Vb1BJJWm5TkfKbTh0tA3UZ2bcWzL5LBv/k6Z9kYkOFEtyqsUtdj\nuuAvgWNzfj9DF21GKeBogrxXpQWT0obb1681q+D3rRVVuKFqrypSjhhBuwaz\nrLP4oF5OUmE1Nbh92wxmilRiwETf+A7DIdMB3MNyUbk0vqSTnYTlgLglB7Dn\noT4cUmJC0XROZUU5ltqEamX85iOZUuceqOrY5CzK1iE7lj+/8PqCw3ARulwd\n8UShANQVRvXU+JBa5T2irbPhql0+n+hfyvK+RvrSyDMxEvwhKrTn2ougXYZq\nqnMoenAuzaSX4AxeK3l43lc60NW6EQFGnzZSh/ZAJg+EKB3kzZo54dpDG+be\nvoX6\r\n=iPrk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsa2Cn6uiKHylIxVXpaiEWc7gnosTdgJ04ra12txG4IwIgbc3EIi3/8a/sHF/asNnVJkTGG2VCthSVuONMqu2INFQ="}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.2_1561217462874_0.27043277630367624"},"_hasShrinkwrap":false},"1.0.0-beta.3":{"name":"react-drop-portal","version":"1.0.0-beta.3","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepare":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.4.5","@emotion/core":"^10.0.10","@storybook/react":"^5.1.8","@types/jest":"^24.0.14","@types/react":"^16.8.20","@types/react-dom":"^16.8.4","babel-loader":"^8.0.6","husky":"^2.4.1","jest":"^24.8.0","prettier":"^1.18.2","react":"^16.8.6","react-dom":"^16.8.6","ts-jest":"^24.0.2","ts-loader":"^6.0.2","tslint":"^5.17.0","tslint-config-airbnb":"^5.11.1","typescript":"^3.5.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.7","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"180ff023cb745f0683938a1613cb33a7309e81e5","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.3","_nodeVersion":"12.4.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-NYpEckAH3amuCrpWcfRpWorrEVavWvEFZ7GnLVbnZuZlle8zwG8tpsEJjbQVlDyE8Saa2gbhybJr01ecYgSYeA==","shasum":"cc0d3e2ce01c105e0f3bfa64f060c3af3352587b","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.3.tgz","fileCount":16,"unpackedSize":51840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDoYaCRA9TVsSAnZWagAA3EAP/3oJxuiVwca/X0gzuUy+\nUm4/Ck/KfPrdPowZsv2pHb6rLiM3odiOfgw6sLJUgXd6F1qu6h6CImvgHKTD\nxyN3ckHdzoOBwaMh5EqlohaIynr1gsiuTADs43hQMpiTVgkf1dNA8FStI6lk\nvAat3niwJTaT3xx5Krhyt5Mv4DQpPPELub6L6k4N3hbrhOY2JVJbR+nyx70c\njAAdfdqDBdLC4Rg7gIKoJSu+X69PG+kgTzkcG2c7HU0fBsSvdek8KyddLOj1\nUh1J+BBFAItfR3A47g9xCqrEfFmVT+kXBAQQs3XnTmNgCyZTaEsWER5ALKYN\n31Jn4Qr6+nFdTvR0Y+uPY6mYeoGWp++PiDoUZfhfo9azOWOXkfs/RVGtGE6E\ncFW1Pxfj2oheNj/duI2caOx4ZOhmh9yI2OR9O0BQu50CVmvdzcIPzrz6mcZ2\n10PtI2yb6hIaXHlcTWksHZKxsBXrd5vfpX58nKu1l7I5vkBN7Je/1rrI48FP\nQhvyZ0sTQnsMPrJa0BzmeQdyjk6cJNbHjI6ZZ7FgMSMYvUFRCehuKdjdiZ2z\nO5WO5GYKG/CpBiiQMefd/vrmQumqVD/5TpC5ixbB96iqmGQmjOsviCgI/qkx\ncVyp3+nPrdXMw0bs7nzBV9eoZEDz2VvVLCX4x/qfQ7GRfw8VGFHi4KrDlQLq\nhy4q\r\n=EJKE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/0fQzrhib8IOsOa05kupC6kgKddJ19tYZ1FhDm/csgAIhAMq8bNocOfdQ5KDPQCqNzZhkLRgJXc1TMuPrtfiTH4DF"}]},"maintainers":[{"name":"epimodev","email":"godin.fred8@gmail.com"}],"_npmUser":{"name":"epimodev","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.3_1561232921767_0.08755154985324465"},"_hasShrinkwrap":false},"1.0.0-beta.5":{"name":"react-drop-portal","version":"1.0.0-beta.5","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.4.5","@emotion/core":"^10.0.10","@storybook/react":"^5.1.8","@types/jest":"^24.0.14","@types/react":"^16.8.20","@types/react-dom":"^16.8.4","babel-loader":"^8.0.6","husky":"^2.4.1","jest":"^24.8.0","prettier":"^1.18.2","react":"^16.8.6","react-dom":"^16.8.6","ts-jest":"^24.0.2","ts-loader":"^6.0.2","tslint":"^5.17.0","tslint-config-airbnb":"^5.11.1","typescript":"^3.5.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.7","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"cc4e732b80d7a94826301feb7d28599554d2d7e0","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.5","_nodeVersion":"11.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-SAUbZK8/YdK6MMySp80w0pf+/MfWMMYY0r8C0nb0eXmkJtFlWS+bYxBpgTPRs3tzSz3rD5wlFna2FI0vewpkjg==","shasum":"a28bdf5fc20aab76520d20c2eb3fd25662349568","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.5.tgz","fileCount":16,"unpackedSize":51931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduuIYCRA9TVsSAnZWagAA9pMP/2szq0kWKtPQYOHVDcHn\n4sEF1Lfrk1x3Qn9oP74FTFU425g47GP/1bC4hMy0J0SlfrN0I7n9fzr8BZK+\n6oIK72048YbxkdkTjZ5Gr5bJI4KRYA8crLhDepuIoMFV3yp6+xZJsrGSuFad\niCc1mp0JDumd9r61misBrvhNmzEn3tNOduT29IGg7f1HLufFc33XrcG6xyQR\n4MtkP97pi/wDsAdafW7dAxdEdB/JasS/IrUUyzrdTE+i+f81OI04V4JLBJcc\n1IBJqwEzqZV7efFSvbT+05FnILQfonhDnW6634vAkRZAVd7aUWsTB+P4mLeh\ntSsZcmE/BWX6sfa738YYPRPjeNp4wqfLKeVgjow68TrCCkrBz7pNr0x8xfhb\n5TbNKG8vP0ckhv0CKfoBFe+0muZ9vB0Sk0WPcPSvcPu1o4IGFvq2YVwxm7V9\njNaIkQQ9XOvIEn2j+DeRjlyb2+kd2PVpIGDTxOr5ojUfrwhyNZEVbxY6eaft\nu8ykcjuYgWT03ymINvUo5C0497J0XJbfBKOa6i5K43cj76tm7b4MMaGw3mug\nPl2cPklCSTedXQQtaTRl0jCRqqgbrdMH1pQ2LR1ysKJLYGNpwvXRI8P6Zzgs\nt1iSGpoqQ9RvFMnO/9PUy4Fr4r7UTisp3LID2zXA7lOK1K9tRaVgAVBGtCvD\nNOVz\r\n=eCBh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGUHFbhZN5flc0lGBcsrponVdKcd53gHVPRjvwAclNgAIgTkEvBRjbTDoaU8a6/pwLMA4i/aWNH3SMTCfiinqi1Ps="}]},"maintainers":[{"email":"godin.fred8@gmail.com","name":"epimodev-user"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.5_1572528663793_0.41562880912803357"},"_hasShrinkwrap":false},"1.0.0-beta.6":{"name":"react-drop-portal","version":"1.0.0-beta.6","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.4.5","@emotion/core":"^10.0.10","@storybook/react":"^5.1.8","@types/jest":"^24.0.14","@types/react":"^16.8.20","@types/react-dom":"^16.8.4","babel-loader":"^8.0.6","husky":"^2.4.1","jest":"^24.8.0","prettier":"^1.18.2","react":"^16.8.6","react-dom":"^16.8.6","ts-jest":"^24.0.2","ts-loader":"^6.0.2","tslint":"^5.17.0","tslint-config-airbnb":"^5.11.1","typescript":"^3.5.2"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.7","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"8227f15869b6abfb4325ed7653d422f9fbfa7ace","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.6","_nodeVersion":"11.15.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-7dYNQGAnvRM2MBp55tXc7IZW4mtyg/mXyy95LEzZWEeZ+XgKqVS7WV3BHMHzcDa7wjUNLAEICrp2xYINYVHD3Q==","shasum":"73619368dbf7da4fd80709659ff13fcefd75ea39","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.6.tgz","fileCount":16,"unpackedSize":52337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduxuZCRA9TVsSAnZWagAAqEAP/2f8aGK/Kmeoo1KUvtcL\no73m9TSpU0BFWmgj8BGcuozrut6koJabnO2D+J86D2LXJKkFV0XP/nwGSa3D\nOB3i4sLCNzs4eH2L0tLGWPaX3uFk+xzE85lwgQltG/26LZZ6G3RMCZdqSbRu\nqP655RxX2QIW6PhmEPlBt5NkyUR7GShu6w/eSy/lCrOTaFEA0NECcaBJFWZe\nSrnFlOyzCSBcqdUahonnKL6PAr7Wwhy86rKYz9ZM7orRq9OsG16xgaRVbVF2\n3Nf8jVAiD3X2lYbY9kNFX8JvvBXdSQBowitPY4DmzPrxE+q7s9lQ1j+p5K5/\nbEfFux6OsL3mEQErGP0kJ7i76+vuYb8V3IFOEhaicWHwUY7VFNlxb/7jINZ8\nYzW2YEZhcHzF8vJyem+jlCDRTu/cTJIeduwvINBKE6Ha1wL4i7/CVi/QEdEm\nsHtTyKbrGg72IQir6fhKPNMAPGk+sl8iKWa8KyMKiXDVlU5ES1tNjhYHtFrg\nlK3sgFPMBNGr9QJDmT76t3NKCXXN0feQtBRVdD9MX2hAoRVL0r96xzE4M7Nd\ni2IWPtAXkqVLi/Hrl2vNoPPwqkOUGnssFCpIy+SCb1cCs55ByyubgxNKsh1N\nU+p2/hxv1P3AOOrYyDQQxW6rW+BYoJcCGB3pxdwlJLFUszS33e1Z86ZMiJp2\nUuHG\r\n=7ETb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGVofeygZQcnHBhhuPxpnGOiANzi+HHFQeYMpdgxjnb9AiA0z3nSJuGEp0M0kLIgogGOhgSVFJdcxUV8wh1iYw0N7Q=="}]},"maintainers":[{"email":"godin.fred8@gmail.com","name":"epimodev-user"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.6_1572543385487_0.048898394950211754"},"_hasShrinkwrap":false},"1.0.0-beta.7":{"name":"react-drop-portal","version":"1.0.0-beta.7","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.6.4","@emotion/core":"^10.0.22","@storybook/react":"^5.2.5","@types/jest":"^24.0.21","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","babel-loader":"^8.0.6","husky":"^3.0.9","jest":"^24.9.0","prettier":"^1.18.2","react":"^16.11.0","react-dom":"^16.11.0","ts-jest":"^24.1.0","ts-loader":"^6.2.1","tslint":"^5.20.0","tslint-config-airbnb":"^5.11.2","typescript":"^3.6.4"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.7","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"b743d69ffc7d8019f8fc16b82c70b00c444a3440","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.7","_nodeVersion":"11.15.0","_npmVersion":"6.12.1","dist":{"integrity":"sha512-PaBerqlJX59pKiSj9ieCeK/3IrSDqSCXd2gfQY+MVp5/M4thU9RQiQwkpo2gMos8OebMdMdyjYqEy73kcvvCpQ==","shasum":"71e18e5e6a6b770be187770b0bc7cc1b3317f832","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.7.tgz","fileCount":16,"unpackedSize":51466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwZhyCRA9TVsSAnZWagAA7sEP/iilT5SnedksJXIRr31s\n/QLHG+uCcIb5nQpPLphyH8XT+31iI3oppoDQbN/zDzAQMcav0N0o96+TJaHY\nzy6qlf9A5wkaVNi6KVPnn/0oyXN5fy+jyWwxEKTUkvMaOGFnS0PGCvRRL6ku\neuvaNblDhgQs/AyZVamHaF5stPE8H3Pa/FfxxAMmtLzHYpC38P5y9cD0ts7m\ny6eNCKFP3zY72ns3AoHMfVMhv2+ijPYhZ/CJlesYKFkb44TTRanCW89SUnT+\nYn+1qu3pYDtrKvajLVEuzZ+ERAWDQPrXqTFmJKQPQUbPTF3XONENKSK9biZb\n0tt0n591v4/XFILDVpymw9SDNVuNIMmwZNj0+iOm9b1BHZpqlSu1cX01yrU/\n6Xd9d2K2xkRh9yQyGQHwD9HyTvFh0+6DuslpFaWiE3V0RUiVc06eddi8N8ZH\nqSZ3R2UU89jGXL12TOLFrKLLnWQkrMZc3xKk/0DYnY2Z0FdH8jJVC3MwJhSH\nbkqFwfNnVCuDyy7lWwBPXAa7VXwvBnJeNKsQ/w3Cp5eqLru2ZzhvYCRQmZFX\njVw8OQeVCNXowlKS2iz7Gy8R5J2Q/c7XSSD1VzoyMr8QU2Ck+aexivc+jUGq\nY4QjdaAsYCJ87G9F2pZjlPsozd9f823Iy/nUoF2THnke4eQYLcpvL1ianCoS\n2CFy\r\n=YPSE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3AuKJr5NDjqDRRRAD9ySPhXN04tllk47X9st/mZQJxgIhANNdl7LuimNZ6z6VNtjPXRkH0Tcw95klo9OZmPOvlwkM"}]},"maintainers":[{"email":"godin.fred8@gmail.com","name":"epimodev-user"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.7_1572968562415_0.33642508259271664"},"_hasShrinkwrap":false},"1.0.0-beta.8":{"name":"react-drop-portal","version":"1.0.0-beta.8","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.6.4","@emotion/core":"^10.0.22","@storybook/react":"^5.2.5","@types/jest":"^24.0.21","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","babel-loader":"^8.0.6","husky":"^3.0.9","jest":"^24.9.0","prettier":"^1.18.2","react":"^16.11.0","react-dom":"^16.11.0","ts-jest":"^24.1.0","ts-loader":"^6.2.1","tslint":"^5.20.0","tslint-config-airbnb":"^5.11.2","typescript":"^3.6.4"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.1.7","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"12387b49669e52e843e2704f1ae7ecc9aa65fcce","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.8","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-ESz96ku1Z+JbTA4Dkflcyikd4ySNerbxueAebAppa1glIg5toNB2djL4aM6bU6g7e6X1vcgzonFx9icsgH9kpQ==","shasum":"0a38c02e78e41f918f6fc7ed852e552c4b0c4302","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.8.tgz","fileCount":16,"unpackedSize":51623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuqeaCRA9TVsSAnZWagAAoq4QAJJlgXn9mH4o4SvGZiwh\nsbiJ6DASiK8U8VvQNldp1TMpxoWjU7f8dHTMvW/o9NR7Sal6HZaAkqhbNuju\nyF58cjyMwiCYhS6cJkrrci5dVb8vLCysu5v4kIKr0dGYH7WKTZv0wuaxVUuy\nnOxEtZgB/K0+xhnE8CEE/RcjQFJw7lwcna5oLiSfS5oX5oI9o2imKKO09mLR\ndRdaDsqESdix8xRr8JOvh5ILsrPewh6BlfJX02uG+T02LMEut3wbkdXF6Fj0\nKAm+V9qS8TXbll7SPo0x8BDzJ7HAfcslhZA1eGdbuwXkY8IH+6sESr3JHdF8\n7FiY5u+MtDuIFaHlq3JRo621q6OXhUnqmhLGKZrRucQoNwQVDGznzcXHAdl4\n+DzVZU8SqYH0Iaw95dPj+z8j70we7KB/5kWUnmuaTn323qQ9ILASTIE/7g1P\ny0auhnOUj2cicnMl2Ha5PXYI+8ZTU7dWLDN4f+M4THYRIqrjQLFFGXDmnjB2\nnUubB4LNEaF9+TItbsSH7KMImCl/IhZjhzBMKRmBVFcImTliXdyBcADU1akP\nOX7X7HaYZBQkOhEqwPZtbGS8fH83lOcP7GSjcBmBfEsKHc5MG6hYESFlCK+S\nyjrGoO3xcrRwmqgz20LrbtURHz+f83LZtFXosnmVa8as6o3AemvomxPiw9so\nwXp2\r\n=yopS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDY7VhSyxxSIu2g5Gn1+GZc1DQyv0QGMf//acagha/egIgabAJgc6Kh9IdqgijfIzaSsoArfpvBE5PKjc+M+FsYEU="}]},"maintainers":[{"email":"godin.fred8@gmail.com","name":"epimodev-user"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.8_1589290906066_0.5797399655929063"},"_hasShrinkwrap":false},"1.0.0-beta.9":{"name":"react-drop-portal","version":"1.0.0-beta.9","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.6.4","@emotion/core":"^10.0.22","@storybook/react":"^5.2.5","@types/jest":"^24.0.21","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","babel-loader":"^8.0.6","husky":"^3.0.9","jest":"^24.9.0","prettier":"^1.18.2","react":"^16.11.0","react-dom":"^16.11.0","ts-jest":"^24.1.0","ts-loader":"^6.2.1","tslint":"^5.20.0","tslint-config-airbnb":"^5.11.2","typescript":"^3.6.4"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.2.0","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**withoutLocalFocus** `(optional): boolean`  \nby default focus will be restricted to elements in portal you can disable this behavior by using this prop\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"47d0de16b3c26fbb2bb24de19d8e09119cafa78c","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.9","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-tN6UGuHN3C5QxzNQMkyhWxX0InFAHCF4p2eeqxGDI5onWNVF9DSznHKWwZDj6rsybq7Slk1fQU5SVHz++I9+pw==","shasum":"c3ee32d057df4ee9fcf33bf87ab376f062572791","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.9.tgz","fileCount":16,"unpackedSize":52033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevPkHCRA9TVsSAnZWagAAJJMQAJn41Xd1TVh2oFMjyKhD\neT8hDEwsns76sqCvqP2uSYKTQEgZtinh6Dy2Op40QrcsjlvE5ovVjYz7TZQd\nErKt3QKwxvPFcNfo/FiTsOgIgSkSfXWk8TWWRjk5I50q4oYzJTvFiGK7fFk+\nKTHtZhPIf3m8Gc9f/SLkg0KgL6UhNBwak7SDwE2TVmav9iVVdvzoMgx9GY4f\nBlAkvCuRCOfsmL6VTkTaehzttiBvtnzweyE57T198yol62lobx5xLShOkav7\nU0cqcTjPG0tQdDetMJ1B8Ptw/xYdNXbxL18oDBW5gP/zy07L3I7SnHkvYMcb\nKW9IxdXUR6cg1VjvsaJX0cGnqoLgep3dSFxsbuSrPczNCVZopBkL81yHpvfp\nmrp8vc5T51rY/Kgxxj7kumIL7OH1ZZVPRBK/oJ408SP/0mBwqln6pn0B4WMy\n6KYUPloUMFAUDlFw3ONJ2NzkjCeFuehQXZNjd8Yr2I5I2UZtRSTnHyVzOVTA\nzhfgkgl5VnC8VivppEW0MzPCFrTzvVeTnGlvFFVIa47j8yzqybzoiNqWy69K\nVZPs++8d7Y4e8IvRzz+PFz8kyl/7PCwo6rathHtUu1o8nhctiVAgnZOwJWgp\nXCE/3i2p3xGHs0HZiYniRd7l5CdfNAbSFdbZB+DYH9ufSCH65K8kDbz5WXK3\n3Lv4\r\n=kCWQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJfT0SOi1IW7a0LDZqP82VtdnDJlPVEVYV5mP/gzUdqAiB4YMp0ligJ44FBP5FbtWMaP7vS1A85MshyXxxJDKHRtw=="}]},"maintainers":[{"email":"godin.fred8@gmail.com","name":"epimodev-user"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.9_1589442822550_0.03793291674552268"},"_hasShrinkwrap":false},"1.0.0-beta.10":{"name":"react-drop-portal","version":"1.0.0-beta.10","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.6.4","@emotion/core":"^10.0.22","@storybook/react":"^5.2.5","@types/jest":"^24.0.21","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","babel-loader":"^8.0.6","husky":"^3.0.9","jest":"^24.9.0","prettier":"^1.18.2","react":"^16.11.0","react-dom":"^16.11.0","ts-jest":"^24.1.0","ts-loader":"^6.2.1","tslint":"^5.20.0","tslint-config-airbnb":"^5.11.2","typescript":"^3.6.4"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.2.1","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**withoutLocalFocus** `(optional): boolean`  \nby default focus will be restricted to elements in portal you can disable this behavior by using this prop\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"0ad3d2ccf03d3e0a47882fc618a09d0a5968d344","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.10","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-2Aa3F2zs3TK0nndYQ+8Hz87Dh1o1ZYPbL6i6AT3rtZNHDv2buS81DhgIZ9aj5u5FO437Nwj3ZhjLqSCvvyzgLQ==","shasum":"cd067089e139e001964a8828b64a015bf327f167","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.10.tgz","fileCount":16,"unpackedSize":52034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1l6zCRA9TVsSAnZWagAAGg4P/0wlCabAkTHlr9YMdegy\nDjJXvD7+5rg4WnbAh50oz9lK9axd2BSrlYEKgMYX5Txf+2O7/dZ2CFAxsDOn\n5ELRyYm/FyvDHziCStrk+efQqVrUhQ5e01VqINQrX7rQfMQRzIBZ0D/Vc3JH\nX5/S6kdt08+GfIwk1NulNzrRg5U14xevDoFP/pnk634A8laKpTLhf40FYY3b\nzlxv8xH686CfQOfAaftoQKab82+GWGMsi2ILoczuiCLkj/U87PwjQrU0FkeD\nq3yyigx9RFvuxQ1Nl7E9mwNd9rHvRZJ1KyjuoMaXUJ2va2WRo+vGv3Zp9XlD\n2ovcgPcll9E61uOw9rP9tLCrKPzjXARlLFh5Blz7Fso9iQTmCdwhaPBbHavl\n13uar7SOidYDYhFNUm9cZWySXHaPgW6+QXLjF9iVIASgHHzlfHwHnyUAin3I\nGJylWRR9Oh+ZTwwWfiTTm4SArNilK0WmG/LNVe8yIXHGraSR0+Rct15dxUv3\n0qjEo/66e6zLc5dI4sXvmqc7CGBl6usoAaVIgU4Hl7L/+mKd8J15M91qspNS\neLcNxJeoWwcZFV42x+vJ+7ow97SSWfoMFqk9YjOaSENVCkeKYA9luhf02VEu\n3aMkianDb4nXeLkteij5APY/oKZZgrtfDLR1n/ng2TpYsDgNUPuoFUhq1thC\nLFCb\r\n=ZK7B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdGv7jTj3y5xuazD5tc0E5J2RCnZglQukj/ZPaoGKoOgIhALorfZEFM/gWijlprVgSQSrg3URo2NObx+w6gwoNfAuU"}]},"maintainers":[{"email":"godin.fred8@gmail.com","name":"epimodev-user"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.10_1591107250825_0.365767242469085"},"_hasShrinkwrap":false},"1.0.0-beta.11":{"name":"react-drop-portal","version":"1.0.0-beta.11","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.6.4","@emotion/core":"^10.0.22","@storybook/react":"^5.2.5","@types/jest":"^24.0.21","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","babel-loader":"^8.0.6","husky":"^3.0.9","jest":"^24.9.0","prettier":"^1.18.2","react":"^16.11.0","react-dom":"^16.11.0","ts-jest":"^24.1.0","ts-loader":"^6.2.1","tslint":"^5.20.0","tslint-config-airbnb":"^5.11.2","typescript":"^3.6.4"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.2.2","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**withoutLocalFocus** `(optional): boolean`  \nby default focus will be restricted to elements in portal you can disable this behavior by using this prop\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"a9a92e5fb7c985633274ab34b6dc0863a40a6199","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.11","_nodeVersion":"11.15.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-xlR1GCVTuV5+kJSqtBYJjBd8Ma9cC+AJ6sj2t9bo9goIbpaws1IhR5R2CWaZyAuHa2CRbVO5UBPtJE3D0sVJlg==","shasum":"693662232932cfd150293472ca79ac0f351c05a0","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.11.tgz","fileCount":16,"unpackedSize":53621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe15mPCRA9TVsSAnZWagAACXoP/2voJe/mHW5BmICz/GW2\nYChJt2eh9WqT90rUEBkmOEWbnDwfPXL8lbXYI2vL8gPrtUV7vS20yE7+Gz9n\nxBT/hC3int0S/ORbJFtGcBs5f0KrkbouASQbdD+wynNMaHlaMOxyBhtsveGc\nNwSLhaE2tj8dMLgq14NCREDHrSsaRFWdKXFdCqET2OlVTOPhQM8DhtVLWEEB\nBNxr7QwQ76ljCOUuAtkkeaENVPMmYDHFMwUDlDCLTRbSlwA1yUDvsuR5yMVe\niGBzoYu48Dnqtgt4zo5qBRZVVWRKP1GX3KbRtJItm0SA3hIlSUvnJjnJkPV0\nhq3CFPTF9iSoOfu2C5REx6abjZ4tSk5YvFnehzxcxhSS2/LDqyMh+WXsLAUQ\n5wHSwFH+ezaHre3QU6NfKJ/BG7JfI3OPK/FNeRi/DVGC87e3VX9bFkEXHOou\nKVYKrhHP8Eu0tnBh/FsEAVF+QSvImphVBTpSCzRUjscHbXifnh3w4puRrKyO\nidyjT8ZBZgXWJx7dcQPVholzA+AeHtTkKsx/D2YtkrSzAHQk+Piui8iA15fs\ntViZ+wGyMwtzNzoHVecp3rncbr6l8Pzfg4S/2bKnVoHoEWJfL5m/n9joGVl/\nt0PHdlFvuIcBbk7G8fyusUdI1aLPq3uHH6TzHdIqXGh5Jm2SKZ2gq8VMTFsA\nxfHu\r\n=JJ9W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGbkRygLeE/lWQJULLin+St8K0sHcCyyG9tOPCiTMdyNAiAbJNTKLsiGCqmohlPcwNUwKgWbAiqt0mwg0Zi5XrhEIw=="}]},"maintainers":[{"email":"godin.fred8@gmail.com","name":"epimodev-user"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.11_1591187855545_0.9378533672607481"},"_hasShrinkwrap":false},"1.0.0-beta.12":{"name":"react-drop-portal","version":"1.0.0-beta.12","description":"A react component which render a portal located near a target element","author":{"name":"Frederic Godin"},"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"license":"MIT","main":"module/index.js","module":"module/index.js","typings":"module/index.d.ts","keywords":["react","portal","animations","typescript","tslint"],"scripts":{"build":"rm -rf ./module && tsc","lint":"tslint -c tslint.json 'src/**/*.ts?(x)'","check-format":"prettier --list-different 'src/**/*.ts?(x)'","storybook":"start-storybook --ci -s ./ -p 9001 -c .storybook","test":"jest","prepublish":"yarn lint && yarn check-format && yarn test && yarn build"},"devDependencies":{"@babel/core":"^7.6.4","@emotion/core":"^10.0.22","@storybook/react":"^5.2.5","@types/jest":"^24.0.21","@types/react":"^16.9.11","@types/react-dom":"^16.9.3","babel-loader":"^8.0.6","husky":"^3.0.9","jest":"^24.9.0","prettier":"^1.18.2","react":"^16.11.0","react-dom":"^16.11.0","ts-jest":"^24.1.0","ts-loader":"^6.2.1","tslint":"^5.20.0","tslint-config-airbnb":"^5.11.2","typescript":"^3.6.4"},"peer-dependencies":{"react":"^16.0.0","react-dom":"^16.0.0"},"husky":{"hooks":{"pre-commit":"yarn lint && yarn check-format"}},"dependencies":{"react-aniportal":"^0.2.2","tslib":"^1.10.0"},"jest":{"verbose":true,"testURL":"http://localhost/","transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"((\\.|/)(test))\\.(ts)$","moduleFileExtensions":["ts","tsx","js","json","node"]},"readme":"## Presentation\n\n`react-drop-portal` is a React component which render his children in a portal located under an HTML element.\nThe goal of this component is to make easier the creation of tooltip, dropdown, autocomplete and other components which need to be placed near an HTML element and over all other elements.\n\nIt's possible to have animation on enter and before exit with an api similar to [`react-transition-group`](https://github.com/reactjs/react-transition-group).\n\n## Installation\n\n```sh\nyarn add react-drop-portal\n\n# or with npm\n\nnpm install --save react-drop-portal\n```\n\n## Example\n\n```javascript\nimport React, { Component } from 'react';\nimport DropPortal from 'react-drop-portal';\n\nclass DropdownExample extends Component {\n  constructor(props) {\n    super(props);\n    this.state = { opened: false };\n    this.setButton = this.setButton.bind(this);\n    this.toogleDropdown = this.toogleDropdown.bind(this);\n  }\n  setButton(ref) {\n    this.button = ref;\n  }\n  toogleDropdown() {\n    this.setState(state => ({\n      opened: !state.opened,\n    }));\n  }\n  render() {\n    const { opened } = this.state;\n    const buttonLabel = opened ? 'Close' : 'Open';\n    return (\n      <div>\n        <button ref={this.setButton} onClick={this.toogleDropdown}>\n          {buttonLabel}\n        </button>\n        {opened && (\n            <DropPortal\n              target={this.button}\n              alignment=\"start\"\n            >\n              <div>\n                <div>Choice 1</div>\n                <div>Choice 2</div>\n                <div>Choice 3</div>\n              </div>\n            </DropPortal>\n          )}\n      </div>\n    );\n  }\n}\n```\n\n## Documentation\n\n#### Props\n\n**target** `HTMLElement`  \nElement which define portal position. For example, it can be an `input` for autocompletion or a `button` for a dropdown\n\n**position** `(optional) 'top' | 'right' | 'bottom' | 'left'`  \nDefault to 'bottom', define if portal element is above or below target\n\n**alignment** `(optional) 'start' | 'middle' | 'end'`  \nDefault to 'start', define how created portal element is aligned with target element\n\n**canOverflowScreen** `(optional) boolean`  \nDefault to 'false', define if portal can overflow screen or not\n\n**offsetX** `(optional) number`  \nAdd an offset on `x` axis for portal position\n\n**offsetY** `(optional) number`  \nAdd an offset on `y` axis for portal position\n\n**minWidth** `(optional) number`  \nDefault to `Infinity`, define the minimum width the portal can have when it overflow screen before place it to opposite position\n\n**minHeight** `(optional) number`  \nDefault to `Infinity`, define the minimum height the portal can have when it overflow screen before place it to opposite position\n\n**withoutLocalFocus** `(optional): boolean`  \nby default focus will be restricted to elements in portal you can disable this behavior by using this prop\n\n**className** `(optional) string`  \nclassName to apply on container\n\n**classNames** `(optional) { enter?: string; enterActive?: string; exit?: string; exitActive?: string }`  \nclassNames which are applied during mount and unmount of the component\n\n**style** `(optional) CSSProperties`  \nstyle to apply on container\n\n**styles** `(optional) { enter?: CSSProperties; enterActive?: CSSProperties; exit?: CSSProperties; exitActive?: CSSProperties }`  \nstyles which are applied during mount and unmount of the component\n\n**timeout** `(optional) number | { enter: number; exit: number }`  \ndefault to 0, duration of enter and exit animations\n\n**onClickOutside** `(optional) function (): void`  \nfunction called when user click outside portal\n\n**onLeaveScreen** `(optional) function (): void`  \nfunction called when portal become outside screen\n\n**children** `ReactNode | function (measures: PortalMeasure): ReactNode`  \nPortal content. You can use a function if you need portal position relative to the target (can be usefull to render tooltip arrow in right orientation)  \n`measures` contains:\n- top `number`\n- left `number`\n- width `number`\n- height `number`\n- position `'top' | 'right' | 'bottom' | 'left'`\n- alignement `'start' | 'middle' | 'end'`\n- target `object`\n  - width `number`\n  - height `number`\n  - top `number`\n  - right `number`\n  - bottom `number`\n  - left `number`\n  - windowTop `number`\n  - windowLeft `number`\n  - windowRight `number`\n  - windowBottom `number`\n\nexample :\n```jsx\n...\n<DropPortal target={this.target}>\n  {({ position }) => {\n    return (\n      <div className=\"tooltip\">\n        <div className={position === 'top' ? 'arrow_to-bottom' : 'arrow_to-top'} />\n        <div className=\"tooltip-content\">{content}</div>\n      </div>\n    );\n  }}\n</DropPortal>\n```\n","readmeFilename":"README.md","gitHead":"47eeceb3e3027c043365d832db54d6c5fb81316a","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"},"homepage":"https://github.com/Epimodev/react-drop-portal#readme","_id":"react-drop-portal@1.0.0-beta.12","_nodeVersion":"14.13.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-toIbP9sweaM8Dl3cJ90nOo16W9TLZnus1+4azbLJOW/Dner7s5lY3QC2jaZoJG37TrSkCvYyG2nEKWTIWTrp8A==","shasum":"988220a147e79f1c9c118d2aba749cbdc7a1a95e","tarball":"https://registry.npmjs.org/react-drop-portal/-/react-drop-portal-1.0.0-beta.12.tgz","fileCount":16,"unpackedSize":53826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoEl8CRA9TVsSAnZWagAA9z4P/0t4fSKkTFFPXb0OABDW\n+DKFluVm7T9j97n3CxOyyZkLJYcUQo9nzuDV8al6fwlAVyCRwnQ0N0WvubjL\nfhiEDpUaG7b4sbIQo3gDQLCfpCUYSD2NLaL+gj0OWb7mv/8mdyCV5IKKiR35\n82wsAMqkjpV7qJdl7IDeAjlyR5dqQEUPa0b9KythvswGUOHqWB8SIaScK9Zw\n597wQpwwCF/UmY3yy9x2P6fTc0DN8/XD5Qjrz1oC8J1CPv0KKUXzhIFxP35N\nrArmv0440eRm5yn2EWy2/AYMeJ1aQlaTdB+iwpmvsQbhxw1blc3P+eYv1V6b\nbwrq4BO4g+M/5yAnN8i7sl7mU0G8eXr9PvSo3yvwoEV0cMh0Qq9OonVS7UyL\nt2T06vXDgZg7+hSa0jLlrLuQpCbBfcXVq2xSrynpDtgM5XkrC88gr2vHs2zB\no/SK3fkrFe2egKWxv0EzAB2MVfgbLlai1mL47u0J3EUJ4N/n2zMZs7iFh4oV\ncA6h89q4EXjMIrhAtvJbNs2mmOEIfrZB+xxY2Xmr5t6hKjXirTykMZL1yBQq\nFcTUV44U4gBINxRbNgzPglV2v2VWI8ko7/o6X6rxETpTBZh3zjaVLzHLZ0Vx\ned87RJ0IzXmcy7utm4Q1gEescl6evGWbfx+mbP/Xs/oUg80xopyhWifVrxWB\n5j6G\r\n=ni1D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChZOQ3uxFQgr4QAXOqC4Qr4R9B6+FF+SL7TK4UB18K2AiEAv9XwRr0pyO2Fb3P2FLTngY4VBTU4TbNdmSnTiDz5Iho="}]},"maintainers":[{"name":"epimodev-user","email":"godin.fred8@gmail.com"}],"_npmUser":{"name":"epimodev-user","email":"godin.fred8@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-drop-portal_1.0.0-beta.12_1604340092222_0.9580759362106357"},"_hasShrinkwrap":false}},"time":{"created":"2018-07-01T21:30:54.794Z","0.1.0":"2018-07-01T21:30:54.913Z","modified":"2022-05-14T09:57:48.841Z","0.1.1":"2018-07-04T21:42:34.527Z","0.1.2":"2018-07-06T21:22:51.656Z","0.1.3":"2018-07-07T14:39:13.354Z","0.2.0":"2018-11-02T09:50:21.993Z","0.2.1":"2018-11-05T12:04:24.119Z","0.2.2":"2019-02-03T10:47:43.434Z","0.2.3":"2019-03-20T09:32:43.391Z","0.2.4":"2019-03-20T14:03:05.743Z","0.3.0":"2019-04-03T19:30:20.611Z","0.3.1":"2019-04-03T20:19:56.961Z","1.0.0-beta.0":"2019-06-15T19:45:05.128Z","1.0.0-beta.1":"2019-06-22T15:22:59.157Z","1.0.0-beta.2":"2019-06-22T15:31:03.033Z","1.0.0-beta.3":"2019-06-22T19:48:42.014Z","1.0.0-beta.4":"2019-10-31T13:26:36.911Z","1.0.0-beta.5":"2019-10-31T13:31:03.975Z","1.0.0-beta.6":"2019-10-31T17:36:25.621Z","1.0.0-beta.7":"2019-11-05T15:42:42.558Z","1.0.0-beta.8":"2020-05-12T13:41:46.164Z","1.0.0-beta.9":"2020-05-14T07:53:42.701Z","1.0.0-beta.10":"2020-06-02T14:14:11.103Z","1.0.0-beta.11":"2020-06-03T12:37:35.730Z","1.0.0-beta.12":"2020-11-02T18:01:32.351Z"},"maintainers":[{"name":"epimodev-user","email":"godin.fred8@gmail.com"}],"description":"A react component which render a portal located near a target element","keywords":["react","portal","animations","typescript","tslint"],"repository":{"type":"git","url":"git+https://github.com/Epimodev/react-drop-portal.git"},"author":{"name":"Frederic Godin"},"license":"MIT","readme":"","readmeFilename":"","homepage":"https://github.com/Epimodev/react-drop-portal#readme","bugs":{"url":"https://github.com/Epimodev/react-drop-portal/issues"}}