{"_id":"react-extras","_rev":"18-296956cebdbe70c634fdb3bd09ff4050","name":"react-extras","dist-tags":{"latest":"4.1.0"},"versions":{"0.1.0":{"name":"react-extras","version":"0.1.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.1.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"rules":{"import/no-unresolved":"off","import/prefer-default-export":"off"},"parser":"babel-eslint"},"dist":{"shasum":"741de3dfb361fd900d4a0396a71c5392b51a406e","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.1.0.tgz","integrity":"sha512-au+WSV1XVY8sBw1OUQwmW1YrXMVi9GCtxA6QoVW70Fd3SZizU6F1uo3CFAwyg3Y9ljuauWhUs+0z1/xETw3y+Q==","signatures":[{"sig":"MEUCIAcnz+lG2IKURG3Bb2SDYlGp+Q9O7GUYwD4QIBCBIjtpAiEA01HpMOD9QzAQKCNAMtf8TDi56VNIDb3BDMSmSl6vwqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["react","stage-3"]},"files":["dist"],"engines":{"node":">=6"},"gitHead":"2817099d188095f841809097010ae4983d5154ca","scripts":{"test":"xo && ava","build":"babel index.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.9.4","devDependencies":{"xo":"*","ava":"*","babel-cli":"^6.26.0","babel-eslint":"^8.0.3","babel-preset-react":"^6.24.1","babel-preset-stage-3":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras-0.1.0.tgz_1516244691659_0.955861801514402","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"react-extras","version":"0.2.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.2.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off","import/prefer-default-export":"off"},"parser":"babel-eslint"},"ava":{"babel":"inherit","require":["babel-register"]},"dist":{"shasum":"2f4a08055ace997664d66a938bbb85777b7731ca","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.2.0.tgz","integrity":"sha512-ZphclSzVrdelQb8sqdO43WLyf+LH8XGDWltdYeg0dwmMqaBY+usGR2Z5e9kund/gLzj4/LvoyxeDWy28yTIC/g==","signatures":[{"sig":"MEYCIQC1FamSZxYcuNSK74Ajrdg2bWeWl0lQyx8mziSlmtvEhAIhAJoq33obwfj0GqDNiBoSjBGl/Zt0vZnMyTWKSd0+GVq+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["react","stage-3"]},"files":["dist"],"engines":{"node":">=6"},"gitHead":"41272f7cf08a286da8e6a6dc7e2d80cea454aba0","scripts":{"test":"xo && ava","build":"babel index.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.9.4","dependencies":{"prop-types":"^15.6.0"},"devDependencies":{"xo":"*","ava":"*","react":"^16.2.0","babel-cli":"^6.26.0","react-dom":"^16.2.0","browser-env":"^3.2.4","babel-eslint":"^8.0.3","babel-preset-react":"^6.24.1","react-test-renderer":"^16.2.0","babel-preset-stage-3":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras-0.2.0.tgz_1516311513380_0.17571741784922779","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"react-extras","version":"0.3.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.3.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off","import/prefer-default-export":"off"},"parser":"babel-eslint"},"ava":{"babel":"inherit","require":["babel-register"]},"dist":{"shasum":"355bda163183aad38db542a1db3d452dc02b10e8","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.3.0.tgz","integrity":"sha512-vgOQ03RfurrJ8frLFwMQLEhAp6lgbcSnE8fZzeeQ5FYUzLoyutbR3iR+zsQb7jl/wWWaDAuetjN4OrrkKZZ4fA==","signatures":[{"sig":"MEUCIGKnIZiwuugE4BK4wBwVBd331JM9tQnbzhEwFxA966quAiEArnNZnzxEwYAQn6ZYjdLRO36iUoHNqHu5a+SFarjV62A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["react","stage-3"]},"files":["dist"],"engines":{"node":">=6"},"gitHead":"59a4b3be5e7eee7cf1c2284a85f3930d11812c30","scripts":{"test":"xo && ava","build":"babel index.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.9.4","dependencies":{"auto-bind":"^1.2.0","prop-types":"^15.6.0"},"devDependencies":{"xo":"*","ava":"*","react":"^16.2.0","babel-cli":"^6.26.0","react-dom":"^16.2.0","browser-env":"^3.2.4","babel-eslint":"^8.0.3","babel-preset-react":"^6.24.1","react-test-renderer":"^16.2.0","babel-preset-stage-3":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras-0.3.0.tgz_1516399534071_0.2394843481015414","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"react-extras","version":"0.4.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.4.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off","import/prefer-default-export":"off"},"parser":"babel-eslint"},"ava":{"babel":"inherit","require":["babel-register"]},"dist":{"shasum":"0f2716d553cba1da9fcfadb6abef056a82940c3a","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.4.0.tgz","integrity":"sha512-EUA8GBuTpMkhWDuEPAYOVkpA0uqFppOsODtST8s12QjqYimai68l92PMBYQbCuKAHrurhX7rYeXQzE1YYoniLw==","signatures":[{"sig":"MEQCIH70qedB8QmOuwl37d1Y2KmLpogw9PjvMPbu0YfY357WAiBBXMu54ffo0PlvEaPrh4aW+qCuqLqxGaVIaQCD8GChmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["react","stage-3"]},"files":["dist"],"engines":{"node":">=8"},"gitHead":"066ef46f5cbc5b0e877871494ab60291ae677ff8","scripts":{"test":"xo && ava","build":"babel index.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.9.4","dependencies":{"auto-bind":"^1.2.0","prop-types":"^15.6.0"},"devDependencies":{"xo":"*","ava":"*","react":"^16.2.0","babel-cli":"^6.26.0","react-dom":"^16.2.0","browser-env":"^3.2.4","babel-eslint":"^8.0.3","babel-preset-react":"^6.24.1","react-test-renderer":"^16.2.0","babel-preset-stage-3":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras-0.4.0.tgz_1516455136626_0.5797654599882662","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"react-extras","version":"0.5.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.5.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off","import/prefer-default-export":"off"},"parser":"babel-eslint"},"ava":{"babel":"inherit","require":["babel-register"]},"dist":{"shasum":"55a43e112b93c20525ccfc611c03496ca549b366","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.5.0.tgz","integrity":"sha512-P9tWVepTuKONdQvggB2ajjAi8hSTOSINT9hMNT/4BlG0oHKlmLQ+tSnnbUXhxIX0Eb4gwGgq/HMfWUU9aZHCwg==","signatures":[{"sig":"MEQCIGj3JaqlyBm4yQ/+ZlF5ocEJ7ej7+2OOOS1naSDFhTbtAiAMUYmm7h8/6hXTE22Y7vc6ObxxdAxdzWsPhvjuPqcnIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["env","react","stage-3"]},"files":["dist"],"engines":{"node":">=8"},"gitHead":"d5431f5a6105d07fa6656455f24a3e2a13537c6c","scripts":{"test":"xo && ava","build":"babel index.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.9.4","dependencies":{"auto-bind":"^1.2.0","prop-types":"^15.6.0"},"devDependencies":{"xo":"*","ava":"*","react":"^16.2.0","babel-cli":"^6.26.0","react-dom":"^16.2.0","browser-env":"^3.2.4","babel-eslint":"^8.0.3","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","react-test-renderer":"^16.2.0","babel-preset-stage-3":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras-0.5.0.tgz_1517643167915_0.3846835948061198","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"react-extras","version":"0.6.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.6.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off","import/prefer-default-export":"off"},"parser":"babel-eslint"},"ava":{"babel":"inherit","require":["babel-register"]},"dist":{"shasum":"af23f8c129c8c25cfe602c21427268dbdc19bbbd","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.6.0.tgz","fileCount":7,"integrity":"sha512-h/yadbxYVJKuPrJ42S2E4PxynOU64QZZVAX7wIJtV2KIP4lagZ2TA13En3z6Hk5ad2FO8swZxCopMZDsYUER5w==","signatures":[{"sig":"MEUCIQC1Z6Zuoa7lomZmpj/AlXLjQosJxXLJrQZ+M54qGO9bpgIga7pVfb6qTKanBCCAK7W6XiL8/hcm16xThA5a5RyQMZ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa596kCRA9TVsSAnZWagAAG1cP/iksjrs4946psVXr4Q/R\nga1k81TQ7B6qj7MxD/XhFTb5fK2FUgwZvP//Z1eigvuuLg27UjanG7ByOtPm\nd0yEQlQNPNAkZ/JVPfxS/L4bOcSZJ1Gh5dzMFmm5fsbRZ8/l7ACNsJcxIDbN\n5TEvcxsdIZ8aV30Z894mjq7hMyeryzI0a3+wtgoxclh4RcF5Ez3ICCuxUqKC\nWZISquXDCsZxZQyYMv+XoI8q6DcvEyGORPpfxGX4HbiQIdauj4muzD4LnVCq\n9pKORolu/x9PP4Jh10K2X3FCTiBtcvXrqcR5bMs9OEieK5JyQNZByMZlPtK8\n9RLmEPyMY8Di1wMPL87Egk/GvBJyX9iH7RbeeIED05cBSJyi0Szfnv7JYXta\njbNVjBURgkX1RdLWe7svwYLz7BiIblt9pnQuV3FfLv/61Axx+UTCtRt7m2CR\nemDjTMSUO9EimB1GuhAi8BJFmB9yUXl4Uqmwql5ns5H11T8lNbztKcvvc20a\njj52qfupoIDgwFsDZQyH0zyng5JaZNwJdcWvtDulPMpii6yawh9GUkEk5ouO\nf6nviBylQMUZNUV2vpMGWjEFB5J7g/vwRrvH9nnO+JUHPbH+3SzFEtMdlJTK\nm4KBOHEbxgWaT6NW8EBt3w5bzPYAegKDzORuMTHrB+/yAvILyvZePFFKQObW\ndpmP\r\n=inYs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["env","react","stage-3"]},"files":["dist","index.d.ts"],"engines":{"node":">=8"},"gitHead":"1db6bcb812212beead90d4c0ad266be2eb7309aa","scripts":{"test":"xo && ava","build":"babel index.js auto-bind.js --out-dir=dist","prepublishOnly":"npm run build"},"typings":"./index.d.ts","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.11.1","dependencies":{"auto-bind":"^1.2.0","prop-types":"^15.6.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"*","ava":"*","react":"^16.2.0","babel-cli":"^6.26.0","react-dom":"^16.2.0","browser-env":"^3.2.4","babel-eslint":"^8.0.3","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","react-test-renderer":"^16.2.0","babel-preset-stage-3":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_0.6.0_1525145251227_0.1333897351631037","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"react-extras","version":"0.7.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.7.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off"},"parser":"babel-eslint"},"ava":{"babel":"inherit","require":["babel-register"]},"dist":{"shasum":"fcc3d91ec08ae0c18cfecee9fdb95f3d94d2f562","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.7.0.tgz","fileCount":8,"integrity":"sha512-UIPbx/CbIygTQv/SrCDjtsvJMT4GIK/0rjiXhM0rpPTmx1GUAmfi9l66Qff/HfwWFgNWA70YuaD+/edxggY58g==","signatures":[{"sig":"MEUCIHvH6ZkJY12kaCRMCp8087R0RsnxDxH9x7rhsDPTYECmAiEAyDi79+crhyJ8T8t7elvcslpEZUqxcN0l8touZxxwSFg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKqMUCRA9TVsSAnZWagAA0C8P/2uFbWLHw/sjkZPfTW9u\nRdt0c1edoZKkyqAHKxIqHBgwMgttR9qDUc51f70P0EJTyPPNh67M6Qot3bcM\n4+joDrENxrZBqkJAOOoPo18Z14cb3al2MVnl8O9yP0FMSiEVgrb2nOAVjBAu\nuRW9leht8StbrHMqJGHq3B64mBmaDtAkbhwTL9JxWQT12lcnsGDIa4Wwn9ir\n2kr5rJs71IjmXKXR27XKyHh28ltdhbBhL/zvHoxOrjnG//mVn0wjirBaVza2\n/O7IveUd3bBMPJ8SDdY7uKt36Ka66nXeXLZVWfe5YfP536Xqd/E6AkeaItOj\nw/E/BKC5RhEz7ZUYweFwKtNk7v2LtsWXxivOl1Y+szDRu35aDb/4OeD4mSJ8\n/N+14KDdlD4gtQG/AgEQ7RkUN3gi1rASV/9tZcEfQ8m8CM9ft67WipLMwBB5\nU8ar5t8iHWJq4AWElEE0c1xl67wWsK4hR+azAQYDm3wtX2FPApOMcN/u/OhN\neYrCnK57Wieoqt9VB4iQFEOeqswFsirLaOxDiD8kNoFWkQZdK7KdJ/JgKeyA\nS3txEV4kYfl7V5fhMWVAxmX9Ayr+g+EkAh6EVye5sGsqzeH6JDVN7cNVcIXS\n32+ojfxsZuxWt8UWt0+S1xUTVcP4ENmo3UZClyiFs6f5E+M1hr+uDToXQxmf\nGNmZ\r\n=FuRe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["env","react","stage-3"]},"files":["dist","index.d.ts"],"engines":{"node":">=8"},"gitHead":"90ac5a45e6c7427c31e49b6f7e49ddbcea7c1037","scripts":{"test":"xo && ava","build":"babel index.js auto-bind.js class-names.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.11.2","dependencies":{"auto-bind":"^1.2.0","prop-types":"^15.6.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"*","ava":"*","react":"^16.2.0","babel-cli":"^6.26.0","react-dom":"^16.2.0","browser-env":"^3.2.4","babel-eslint":"^8.0.3","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","react-test-renderer":"^16.2.0","babel-preset-stage-3":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_0.7.0_1529520915290_0.2513805798468913","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"react-extras","version":"0.7.1","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.7.1","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off"},"parser":"babel-eslint"},"ava":{"babel":"inherit","require":["babel-register","jest-prop-type-error"]},"dist":{"shasum":"e41850a1fbd7ecd30a02c74a386a3ceee6a31815","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.7.1.tgz","fileCount":8,"integrity":"sha512-GW9qJjrZo5iTbcH6Dg1S6v4BJWhiShCd0IeNXrPTnkfMttLFK8JAO6eWrS2LCJu6w9tyB4iQpPEyi44SyAlCAA==","signatures":[{"sig":"MEUCIQC8UeurgNiRoNvx5zZoXTwqglGsnZIKQJU3Lh1pDbtBewIgUNv4VM4EfylVt/Erdu4xf+scclh9zs0RZ/613YGWnNg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLzY4CRA9TVsSAnZWagAA7o0QAIcJhVJUtls4MLjOXY84\nksKGwg0uzTB5Em+tgakm/yJXWJgGwFKztaponpzzo+kLzSytTPSwqs846Mmm\n0P5viBTkz5uO7X9x/o6AnaebtP5LY3ifSgOqjbFHdTQZA94jyYFxHxkbuP+T\nSDCwSSSq0B72vwSw2NOUd3KUg4ubpv44TWR3GJwVn1A/KTTjPpq7m9RQ5JGR\nU+oom7/fACqweohwukPtC2I83ytDNfnqCKydpVCTGS1iJuPau11sYcBaqTiI\nASky3d97Qq+bI56hEWPudZQyUS/yv/+0xvLc3n/5IPHtz3a01PWh2VetVz2H\nRsndT4DDcrIK7JJbGkWmtE9wD7jspmR30ZU2GihN0FyzLTJL5+fPR0cv4ETA\nya38xuWIQF7Rqs7nQl0FOEVaeIfUuI2BfBMaXY9ZmV6mjghRstrvFzQc64ID\nT2Ry/0TOI0XLKktnQecWnfL6d+R4AMi+V7xK8sBbEFX0DpfVeWW0ocKpBs4r\n8nB5zXnM1c33xN9CHoFiD18UXDrBvrBNoOEsxzJw7+zsrjg2UB13M3oQy07T\nU7sFORFczpKCcv3gJcau7IfghzSKLfMlPBL75824RTe35+ACAOvF9p8N/xpk\n/5m1r6ewzDKRXDT530uCbe1J5BmTVccg6JcD+2Rag8e9nmVMuINk7YVHpSLu\nt0yu\r\n=6+TR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","babel":{"plugins":["transform-es2015-modules-commonjs"],"presets":["env","react","stage-3"]},"files":["dist","index.d.ts"],"engines":{"node":">=8"},"gitHead":"de9f7965c1b7ca8775e773abfe08dd0fb8ca027c","scripts":{"test":"xo && ava","build":"babel index.js auto-bind.js class-names.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"5.6.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.11.2","dependencies":{"auto-bind":"^1.2.0","prop-types":"^15.6.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"*","ava":"*","react":"^16.2.0","babel-cli":"^6.26.0","react-dom":"^16.2.0","browser-env":"^3.2.4","babel-eslint":"^8.0.3","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","react-test-renderer":"^16.2.0","babel-preset-stage-3":"^6.24.1","jest-prop-type-error":"^1.1.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_0.7.1_1529820728077_0.44306778773274824","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"react-extras","version":"0.8.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.8.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"import/no-unresolved":"off"},"parser":"babel-eslint","ignores":["auto-bind.js","class-names.js"]},"ava":{"require":["@babel/register","jest-prop-type-error"]},"dist":{"shasum":"95f149af06418ee7f272cc39b93be30baf6feace","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.8.0.tgz","fileCount":8,"integrity":"sha512-Gq+tBXtFiDMSmpMlry/oUcbkf6ljZ/DqMy63FiQfFnmEAhgXRXoHUwbFp+67XEPEbc3jeyWbAGTVhtd7jx0ZDA==","signatures":[{"sig":"MEUCIQD8UJ7yd/p0ef0+gnW1bkwVUvk+puYybLg22S7ztd2PCwIgauTbunCy+5KarzSflhJbrrLO4EhWnWEt89uvjMNiLLg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcI+lDCRA9TVsSAnZWagAAGZkP/1pHfnhyahhOZ1tk4Tn4\n4OhbGZvPr4gR8GgN89C7gB/v0ajfmHsQ159NTQNRdjj+xJoLCfD/wqBu5R4c\njiNafAk6YvkmH17RFcoBxNqHFYJqKfrtv5ckM6wKN2ufshnGXSvvPVKx2rm4\nIKgUcIZ7Zo/jQDGuujlZT/j4iBqPyVYmWK1yn+jiEsHrJzRE4GLvo/aKjgnK\nl2vpmYTuiOcGaVtPOFgaOBaT7DJ3LQQf7M7TgUzv4RbdjMrvuRN9nLn0n+36\nFVcXdsVDU+WjX1HElRCE6smzV7bl0AzsQFCGYv+uMTRGHCorKwWarVEtwQ+Z\nskBVhmm0M3mBRs5ONAerD3B8HEAiFDQAKQJSH/lGutFvmuInq5mh1+AHMB7U\nl8mGMJFanuqIBRjtnOg8X0bxMhQAeZLS7TFYwcLfTMoHQU30g8oNoZN5UWCq\nEADHb+eEu2jXn8zSZ+YAd5UaGogcRgOtW0j/GC5I3L6Vi7pmgAWWHp+eYaw+\n8mK1ShtLhndkfVwNam6wxWMEt0PkTf/TMZIu3YFaayRaA6USXt1ZuQ7LxJIc\nTElv6TLuaIemjTTqhCgDutofO7lZkjUQdrI+aLUbc7px5ydiHUVS9Td5GgDU\nhOnB3cLZ3bJQrpX7Gr47hZhS5wvlLoQgR/3udWW8oP1Kim/phMnCUrn9MaKK\nB+qQ\r\n=nVMj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","babel":{"plugins":["@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-env","@babel/preset-react"]},"engines":{"node":">=8"},"gitHead":"803eb07d12c40a64838894d89bbd97a0fe8e8b76","scripts":{"test":"xo && ava && tsd-check","build":"babel index.js auto-bind.js class-names.js --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"6.4.1","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.12.0","dependencies":{"prop-types":"^15.6.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.23.0","ava":"^1.0.1","react":"^16.7.0","react-dom":"^16.7.0","tsd-check":"^0.3.0","@babel/cli":"^7.2.3","@babel/core":"^7.2.2","browser-env":"^3.2.4","babel-eslint":"^10.0.1","@babel/register":"^7.0.0","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","react-test-renderer":"^16.7.0","jest-prop-type-error":"^1.1.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"peerDependencies":{"react":">=16"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_0.8.0_1545857346897_0.9925328178827735","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"react-extras","version":"0.9.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@0.9.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","import/no-unresolved":"off"},"parser":"babel-eslint","ignores":["source/auto-bind.js","source/class-names.js"]},"ava":{"require":["@babel/register","jest-prop-type-error"]},"dist":{"shasum":"2f8199c05504ff7d5fa8e19cba62029eba554a28","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-0.9.0.tgz","fileCount":14,"integrity":"sha512-Vpv4Oo5k2nW6qLfTB3ITVgWEx4lWN66tk64kdnLFppL78yYTP5yAnYw1FEdjC5aFXtv2XVoXxJh6H6PW7pczqQ==","signatures":[{"sig":"MEUCIAZKWibcnR/Wk8oY1/wxZBgBibP5EucgmLIhkxyts+p7AiEA4bphuBS2jjKXwqq1HdwRdaHuP7RnSHrnOlJVFFq0k7E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcKmBXCRA9TVsSAnZWagAAyPgQAJXcQ/FZ3WFXqJhI/ma4\nNXG3YBgj9YhrDw0OtPF7S1hKvPY5/I2eN8IqKCXk2/ZS+ZWgnrP8ITKHzt8N\n6mLkg21+e24LD/n3FnSQcfkOJBi/PYpf5Yl35KVx/BYZHp4UYykI35dPi1uh\nZYg75w38BOajp9WamomKxDxXGgi1bVq9jSy8wbsoj/J3O1tPdqH/G603Er04\ncWWgkI1sLkehpKZP+4y31gVZbiu3/mhs1043NY+BqeyEXa4golltDKX1p3oH\nCM284EuSXacpcrkvsKLvOIIHo8vJG/nYyaHp6+vVEj67Lzz2CgDFGG3IeCTf\nQThB2p5SIizTcJ9OW6X6L9zpgAoTpBIrepg7XBIHVb9WCQZ09I7RpDqbIkyM\nFObXdP6GzotLkdkWhrZxXeBPFK9i1KwzDmcJiBtVzgtzJ25qrqs0CMB32HaO\nUWfH9VqoQdxxr2q0DmgcqrSJLEfR0+9LHCyFCx7HAoX8x0CX0AY1J51c9W4B\nkuSueQ1SXV/69t2suZU3evwyJQuzxoCH/WiCGquIQatN8Wf+XXx4Ip+6TIEw\nyw7vWiFSUWV55a8NNTYueBMWbCPFfOkHoBWl6zLs4nUzJWXql+E82iGLgHVR\ncWHqkMA6hTE2Wk9jA//dhsQX4UTcZdCsmADFWZ5bSxN2Z/vuM2eb76k9LA98\nZzQd\r\n=Kw0g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","babel":{"plugins":["@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-env","@babel/preset-react"]},"engines":{"node":">=8"},"gitHead":"0dce83e075c5162b20b4d6edfb84e91353a5e960","scripts":{"test":"xo && ava && tsd-check","build":"babel 'source/*.js' --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"6.4.1","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"10.13.0","dependencies":{"prop-types":"^15.6.2"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.23.0","ava":"^1.0.1","react":"^16.7.0","react-dom":"^16.7.0","tsd-check":"^0.3.0","@babel/cli":"^7.2.3","@babel/core":"^7.2.2","browser-env":"^3.2.5","babel-eslint":"^10.0.1","@babel/register":"^7.0.0","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","react-test-renderer":"^16.7.0","jest-prop-type-error":"^1.1.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"peerDependencies":{"react":">=16.7"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_0.9.0_1546281046802_0.5729373778231903","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"react-extras","version":"1.0.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@1.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","import/no-unresolved":"off"},"parser":"babel-eslint","ignores":["source/auto-bind.js","source/class-names.js"]},"ava":{"require":["@babel/register","jest-prop-type-error"]},"dist":{"shasum":"e47eb295d67f2e62f3f0f72c1c865e95191cf623","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-1.0.0.tgz","fileCount":14,"integrity":"sha512-C2M2sPSQsOwiQbWSyK3kulJEaa4RgvQ028fA0+yJeakPZw2XqdMZVT0xWdVbdeSxKTxqZqwqIkYXXL9wpsqZJA==","signatures":[{"sig":"MEUCIHUpwcdUbZCQAQdRpuTAHQfbTB/FSf2AJYZW0og0NGJIAiEAn+GKh8MgnNRLn6uQ8VDfHU4f8DXbdoyeFO8y1BEcmWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgSKgCRA9TVsSAnZWagAADRsP/i3ohnYRhGYZ902be2Yx\nQ7mYEEAoMjJQMb+PLo1eqslmUmmSS/nUDjqAaGvGELyWsrGX0F+SOg/nNkVd\nComLaMA9jDBu2W22dExFL1JhvS9C0TlQUtWwtVq84FDQQXvEiTjmptE3NP/K\nmF1+UZ8PyVoZQ4kEJwRjbMEtpSRhnCOsmcJmeDAcn849NmmhvoguwjysaKk5\n2Cv58XYIe+AQYHLclih9GDflRFIMjaWof+ukZZA63HN2/7qxgrTmjHE6XUxZ\nWViYjs0+/GmEme6wqSL6/oZ9VM2eanC6I84gKsIrnhmnjM0e8RaljEJ6G/vK\n9z9FyIT1vgc4DixMsboosQXRHKfLGI3FWaMsyse+IC/mMQnfQadf1B7wws5H\n42vRmlNGUVEjl75c1Hv5E/RhOGUpkdPTxHR/Rguh81gmB/XZCShGw4zRVGRE\n/Vtsdax8P2TuwOu2qaK8Gtx4V0TSwVD7HqZblWfVdxInuqpdoc1T0aPxK4DK\nVf8xS5/o/HtqdzxpFjVoVskG0BKPqLeHud4NXBVTluOaYDS+2m4/i9OsTAAj\nJ+glaT0f1AQ/6f/zHF1jn5+1diHOWdexz2ZEn13v6zFZSbYBuyUfGhxlcnQ3\nvnYRGcGLdcPHUWCx3pKNNE6MvSDVObVZkFuTii7zDUOxNqKbJyfVRTYOGmLu\nJA4R\r\n=yQYN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","babel":{"plugins":["@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-env","@babel/preset-react"]},"engines":{"node":">=8"},"gitHead":"33fe588c8002fcfacc1bdbf3ba472a14f6730045","scripts":{"test":"xo && ava && tsd","build":"babel 'source/*.js' --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"6.11.3","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"8.16.1","dependencies":{"prop-types":"^15.6.2"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.24.0","ava":"^2.4.0","tsd":"^0.7.4","react":"^16.7.0","react-dom":"^16.7.0","@babel/cli":"^7.2.3","@babel/core":"^7.2.2","browser-env":"^3.2.5","@types/react":"^16.9.2","babel-eslint":"^10.0.1","@babel/register":"^7.0.0","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","react-test-renderer":"^16.7.0","jest-prop-type-error":"^1.1.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"peerDependencies":{"react":">=16.7"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_1.0.0_1568744095735_0.9998683114592171","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"react-extras","version":"1.0.1","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@1.0.1","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","import/no-unresolved":"off"},"parser":"babel-eslint","ignores":["source/auto-bind.js","source/class-names.js"]},"ava":{"require":["@babel/register","jest-prop-type-error"]},"dist":{"shasum":"d9690dab83361d7132df4da572d1d801c628362f","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-1.0.1.tgz","fileCount":14,"integrity":"sha512-j7dKvWwrYjLLAjqXkFLk1BOjcGKOox9TFUqzU5VtiL4LTtUyCpbBNnglEY2uoh8JyqrMnVZcDp3JpRWTDQURog==","signatures":[{"sig":"MEYCIQCtLE2jkKxA+GDCj9NGB2rgSGCktg+BGgwu/goMg9dfyQIhAJ5CuhF6IsDfEUklCVpsdb7s4VlM+A5uf+Y9kocxOtQR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39852,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlcw+CRA9TVsSAnZWagAApLoP/Aw2zg6ZXADPEwfXOoKN\nXQ/AsMwgG59AiaUmfDOzbNXr5FwQP4dqCV+q00gptUPYc6XWCF9H23L0ZOVl\nILypuPsG04sTzHxkPNq73PFOhB9YyYHROai2hxt8pvj9xHQP4FvzeboY/IDr\nbNmMBm0jEiOE/Qabgjl78yWija13awYGHrqHs/8YojtGLiav/BzvTyFieBsO\n1mOpybhQWTAWPK+1jewIX/7kg5/lvEaj5QJugRHxww9EfC0PxIsGT4MrqayD\n7Yg0u56kx9aEfH2fWYtitoCKTeh3kxsUVizgSwf3rWw2/JgSRMvxVfwWEt6j\ntEEjzzQv1cI59mzffbVYN7Ma72JQnIN+aG/Cb0U9po1KjSqr1V6zKOS30R/+\nwae6PyFXuxI6UzGt5njXF29j+oSCWl4GwvDcyVO+uhpjeD+2U0jN6CQT2rCO\ntM62g6cOemvlkMEzNDKiAUVlXLitTKsbmP+qnqZJTZchPLKrAkEkPVIsURFG\n/KPUMIZI4ZgkSynqwrtRb/GCRU0f7xHwxvfpmLHp8fp/oj30yyDebSCwDG3W\n8qztK+ae3z1LptcCK0QuxUB/76PAcslMBM1WPqAOiyr/IRAGlceG25WDZfQp\n4MsLz2ayWCRZafaU31DalXMnLYUXLwudF6K+sEULlW42m9F1qAjbBtTJRvl3\nKI5t\r\n=YgM/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","babel":{"plugins":["@babel/plugin-transform-modules-commonjs"],"presets":["@babel/preset-env","@babel/preset-react"]},"engines":{"node":">=8"},"gitHead":"29fa9e82c769facf847d4bb06288e79d9dae237b","scripts":{"test":"xo && ava && tsd","build":"babel 'source/*.js' --out-dir=dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"6.11.3","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"10.16.3","dependencies":{"prop-types":"^15.6.2"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.25.3","ava":"^2.4.0","tsd":"^0.9.0","react":"^16.7.0","react-dom":"^16.7.0","@babel/cli":"^7.2.3","@babel/core":"^7.2.2","browser-env":"^3.2.5","@types/react":"^16.9.2","babel-eslint":"^10.0.1","@babel/register":"^7.0.0","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","react-test-renderer":"^16.7.0","jest-prop-type-error":"^1.1.0","@babel/plugin-transform-modules-commonjs":"^7.2.0"},"peerDependencies":{"react":">=16.7"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_1.0.1_1570098237821_0.862672994623652","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"react-extras","version":"2.0.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@2.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","import/extensions":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/explicit-function-return-type":"off"}},"ava":{"require":["esm","@babel/register","jest-prop-type-error"]},"dist":{"shasum":"81789c850909124e25f383849baf3384e3e53de1","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-2.0.0.tgz","fileCount":14,"integrity":"sha512-nHBDWTBFxNCanVpqY9goM/HsjQQN3puqRcAPto+yo4+RT3wiU2Nx2yhIlu+WAXVW0hrmK/ZaYHStPLLS+QGgNA==","signatures":[{"sig":"MEYCIQDvihtHuT8JFEmqx5sK1fhCr/XDmNdlioAYXb4x4f8uxgIhAPurWTm1qmxiwL92HbhDqenFQlD6uBzq4fKAk13iUnF7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ5WMCRA9TVsSAnZWagAAfh8P/AoIelvTTKV1Ai4ACzYp\nyJaCHycweBjiMcRH9DthYVUEJx6X6Puj2noxeb+vzbrPcKbhQn++Hzm5fNj5\nNXJ719O/0WQ75chUE0gM4mwUhY2XhkRbg4BaKqgiaOofMlUQ4UEdn25SgdV2\n0KGeZch8Xj1b/8gRan7pIlWahunXS1d0r3H7Uue8jUy+wAxby3LitFqsOeOL\n1lxrUyrQJ8+0VVi8su6x9jx2Xa9DbeKxcuwX11XqDzFGnNh5SlBSqVtuOV3o\nAtQJ8f3wtg+Dt17+2RIYLP1b/eIZsq0T0/c/plENgFHl+IySF4bUQvOdCJ96\nG369Cvl4PUENqzmORMXki5axuwZ6+4EjxkjNcLFyt9ZFlL7NkXQmoWE4Z0tl\n1lqbTfE0P4Ozn2h5aesNE+y1hrA4CA0n4zv0ryBjXc8JySza2p/rxTsmoym1\nxNcsCqj/AFoOPRcRXWw3pcPIxMmBSrRgS8t4qHFXgWFjuqb4spfa75GY1aKP\n6On0P98xI54YZsS3pTcZjsRqH4Fl1WsS1rwfiV4ppCce1IG0bTUy/dLNTCTo\nzMvylIcQ8k1OCjO8aA+Bsox1ZbdQMQxHkBwGapRGAEdd9sYxWYRtxw6Rbm7O\n8Obwrsm9TRK1Nc/I3fyPXfDIM1+kgEbATvqeBpEME0MVVjzxGCTds2hr0P2y\n2Ho5\r\n=H72l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","babel":{"presets":["@babel/preset-react"]},"engines":{"node":">=10"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"ed1b22ecf913fd5fc3385d7cb50b9d9fd507d359","scripts":{"test":"xo && ava && tsd","build":"babel 'source/*.js' --out-dir=dist","prepare":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"6.14.2","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"10.18.1","dependencies":{"auto-bind":"^4.0.0","prop-types":"^15.6.2","@sindresorhus/class-names":"^1.1.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.25.3","ava":"^2.4.0","esm":"^3.2.25","tsd":"^0.9.0","react":"^16.7.0","react-dom":"^16.7.0","@babel/cli":"^7.2.3","@babel/core":"^7.2.2","browser-env":"^3.2.5","@types/react":"^16.9.2","@babel/register":"^7.0.0","@babel/preset-react":"^7.0.0","react-test-renderer":"^16.7.0","jest-prop-type-error":"^1.1.0"},"peerDependencies":{"react":">=16.7"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_2.0.0_1583846796353_0.521514883463541","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"react-extras","version":"3.0.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@3.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","node/file-extension-in-import":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/naming-convention":"off"}},"ava":{"babel":true,"require":["@babel/register","jest-prop-type-error"]},"dist":{"shasum":"a7f9e324b60ffb0d44b1ca259087bab4666b0fb3","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-3.0.0.tgz","fileCount":14,"integrity":"sha512-pI218nDe4SATv9SrNM95uPV87ZFcAw1V36DHhrtZYShjt7sDGETv+3p7e0SwFOUTr3hkION7iNuTCUuXcJdlQw==","signatures":[{"sig":"MEUCIETSNghr4P7I8LkqRokhWbDCOrMf1tnKcwOhTla9LWh4AiEA1O2r/A8G+JCpj42hKeUYBONYRhCHB2z1Hp/lPTc0Xf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiB+4NCRA9TVsSAnZWagAAnx0QAJFiGIre3E2lJzPfFap1\nXQkqbtOJyWASMDSPfGFZnPdkx/A5nO3+bKHu63Rf3YPLiXwwcpxUCLrGKjcV\nBhIDilmfx9h6u+AJk2XQkPlfdMA0OJZ5kpxV/XaIxFrDB2oZKMIbimJmIi/s\nLqLvWQ+ht7fK7G0Az0VTiwGLXZ3CWZg0D2UmvJChQm01UwVFSiEAJvS+zee6\nMeaJSUQR8Sq8z0ZoIu+spmaBoVOnk+stujQYWwTOA9DvpQYCJAq9CCEgipkG\naPNtV8NX6J8Y/QHKpct4CP60dH15SOfHDgb8tn1jhc0euCUyOU6If3fHzCan\nQhqaqvti7crWK9cGJ2tt5y9Lxa8ugcRH2qqTFP8jGuBseygmAliQ2Dq7vNFF\nSmkIqNywbXFSE1PnJUmhLGcN4+1MkqYRBn80c46D2U6RnRIZivozxjqxBpqJ\ngQhIxF2Jjy2PKE1G1sGi24rSrVn2GstjOnVPIhZOqx6i4bVw7qeAhVZA6dVo\n7IQUcUfJLVd5OLUKYBjiWR6Ebr/AJSkYi5wt87l4Eu23CBQKTQ2iamEVNxg2\nE/29zjV1knackEiA3iHlNVtz7YDTanu+3yeM+K9JZgTKghC8d74LvyVC7srE\nseuyTrrZ8rUjxb8I5lFnJwTeLGy2LPAHBBUK+ahS55W2RFDu0JRhGUNyQAgC\n49d9\r\n=NRJw\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","babel":{"presets":["@babel/preset-react"]},"types":"./index.d.ts","engines":{"node":"^12.20.0 || ^14.13.1 || >=16.0.0"},"exports":"./dist/index.js","funding":"https://github.com/sponsors/sindresorhus","gitHead":"ba1068c2063ed8b5c9aff23da62c05b8f5bef091","scripts":{"test":"xo && tsd","build":"babel 'source/*.js' --out-dir=dist","prepare":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"8.3.2","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"16.13.1","dependencies":{"auto-bind":"^5.0.1","prop-types":"^15.8.1","@sindresorhus/class-names":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.48.0","ava":"^3.15.0","esm":"^3.2.25","tsd":"^0.19.1","react":"^17.0.2","react-dom":"^17.0.2","@ava/babel":"^2.0.0","@babel/cli":"^7.17.0","@babel/core":"^7.17.2","browser-env":"^3.3.0","@types/react":"^17.0.39","@babel/register":"^7.17.0","@babel/preset-react":"^7.16.7","react-test-renderer":"^17.0.2","jest-prop-type-error":"^1.1.0"},"peerDependencies":{"react":">=17"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_3.0.0_1644686861330_0.8571642327990185","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"react-extras","version":"3.0.1","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@3.0.1","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","node/file-extension-in-import":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/naming-convention":"off"}},"ava":{"babel":true,"require":["@babel/register","jest-prop-type-error"]},"dist":{"shasum":"52c7a944b55dfe78b758d1fd3b4db789d4a2e8af","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-3.0.1.tgz","fileCount":14,"integrity":"sha512-pdLK/BHaQ89NWUm7vnEcY8ROec2KIVdgm8ummNTG3INOWeIBRM25I/TReT6F1W6dMtE8nsom9a+oA4ILNaSm5g==","signatures":[{"sig":"MEUCIQCa1HDIQPH+PRKCbFjHRh577EslfcBQtvOmAHRCQDduAQIgCmGEzDOlE94oJ49Rluo5TgPEr2xfdltxehKSrseqk3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23255},"type":"module","babel":{"presets":["@babel/preset-react"]},"types":"./index.d.ts","engines":{"node":"^12.20.0 || ^14.13.1 || >=16.0.0"},"exports":{"types":"./index.d.ts","default":"./dist/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"ca40309f4ea015751c3bf992d6e6881233a01fd2","scripts":{"test":"xo && tsd","build":"babel 'source/*.js' --out-dir=dist","prepare":"npm run build"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"9.2.0","description":"Useful components and utilities for working with React","directories":{},"_nodeVersion":"16.20.0","dependencies":{"auto-bind":"^5.0.1","prop-types":"^15.8.1","@sindresorhus/class-names":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.48.0","ava":"^3.15.0","esm":"^3.2.25","tsd":"^0.19.1","react":"^17.0.2","react-dom":"^17.0.2","@ava/babel":"^2.0.0","@babel/cli":"^7.17.0","@babel/core":"^7.17.2","browser-env":"^3.3.0","@types/react":"^17.0.39","@babel/register":"^7.17.0","@babel/preset-react":"^7.16.7","react-test-renderer":"^17.0.2","jest-prop-type-error":"^1.1.0"},"peerDependencies":{"react":">=17"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_3.0.1_1686167074977_0.863723983934769","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"react-extras","version":"4.0.0","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"author":{"url":"https://sindresorhus.com","name":"Sindre Sorhus","email":"sindresorhus@gmail.com"},"license":"MIT","_id":"react-extras@4.0.0","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"homepage":"https://github.com/sindresorhus/react-extras#readme","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","ava/no-ignored-test-files":"off","node/file-extension-in-import":"off","unicorn/prevent-abbreviations":["error",{"replacements":{"props":false}}],"@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/naming-convention":"off"}},"ava":{"require":["jest-prop-type-error"]},"dist":{"shasum":"c77dc2876745dcc58fac88107efe717922fe1e20","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-4.0.0.tgz","fileCount":15,"integrity":"sha512-Ny/R6HawlxmN76OAWPZfI5iFmCVaBhRrn4c27xEeUJwa4V6ZtvZcrCzSXrJc7JsNPnsrQaCTAWnmDKNhR/Nh4g==","signatures":[{"sig":"MEQCICpI/qAcQ7slgR2JQKa8B9EANd5iE3ypL0IfTM9XlIQ2AiBsL0z/y9htSgQTJfcNBJ/LLdChwTQZKO4W2W3J5do26w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28509},"type":"module","babel":{"presets":["@babel/preset-react"]},"types":"./index.d.ts","engines":{"node":">=20"},"exports":{"types":"./index.d.ts","default":"./dist/index.js"},"funding":"https://github.com/sponsors/sindresorhus","gitHead":"603e49569f4a459172b79df454c8ee36eb59e65a","scripts":{"test":"xo && npm run build:test && ava test-compiled/*.js && tsd","build":"babel 'source/*.js' --out-dir=dist","prepare":"npm run build","build:test":"babel 'test/*.js' --out-dir=test-compiled"},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"repository":{"url":"git+https://github.com/sindresorhus/react-extras.git","type":"git"},"_npmVersion":"10.9.2","description":"Useful components and utilities for working with React","directories":{},"sideEffects":false,"_nodeVersion":"20.19.1","dependencies":{"auto-bind":"^5.0.1","prop-types":"^15.8.1","@sindresorhus/class-names":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"xo":"^0.59.0","ava":"^6.4.1","esm":"^3.2.25","tsd":"^0.33.0","react":"^19.1.1","react-dom":"^19.1.1","@ava/babel":"^2.0.0","@babel/cli":"^7.28.3","@babel/core":"^7.28.4","browser-env":"^3.3.0","@types/react":"^19.1.12","@babel/register":"^7.28.3","@babel/preset-react":"^7.27.1","jest-prop-type-error":"^1.1.0","@testing-library/react":"^16.3.0"},"peerDependencies":{"react":">=19"},"_npmOperationalInternal":{"tmp":"tmp/react-extras_4.0.0_1757444343922_0.4683173989414804","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"react-extras","version":"4.1.0","description":"Useful components and utilities for working with React","license":"MIT","repository":{"type":"git","url":"git+https://github.com/sindresorhus/react-extras.git"},"funding":"https://github.com/sponsors/sindresorhus","author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"type":"module","exports":{"types":"./index.d.ts","default":"./dist/index.js"},"sideEffects":false,"engines":{"node":">=20"},"scripts":{"build":"babel 'source/*.js' --out-dir=dist","build:test":"babel 'test/*.js' --out-dir=test-compiled","test":"xo && npm run build:test && ava test-compiled/*.js && tsd","prepare":"npm run build"},"keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"dependencies":{"@sindresorhus/class-names":"^2.0.0","auto-bind":"^5.0.1","prop-types":"^15.8.1"},"devDependencies":{"@ava/babel":"^2.0.0","@babel/cli":"^7.28.3","@babel/core":"^7.28.4","@babel/preset-react":"^7.27.1","@babel/register":"^7.28.3","@testing-library/react":"^16.3.2","@types/react":"^19.2.10","ava":"^6.4.1","browser-env":"^3.3.0","esm":"^3.2.25","jest-prop-type-error":"^1.1.0","react":"^19.2.4","react-dom":"^19.2.4","tsd":"^0.33.0","xo":"^0.59.0"},"peerDependencies":{"react":">=19"},"xo":{"envs":["node","browser"],"rules":{"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"off","@typescript-eslint/naming-convention":"off","@typescript-eslint/no-unsafe-call":"off","node/file-extension-in-import":"off","unicorn/prevent-abbreviations":["error",{"replacements":{"props":false}}],"ava/no-ignored-test-files":"off"}},"ava":{"require":["jest-prop-type-error"]},"babel":{"presets":["@babel/preset-react"]},"gitHead":"a7bcd7b26bf12e92ea707e7e75f6e83c53761113","types":"./index.d.ts","_id":"react-extras@4.1.0","bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"homepage":"https://github.com/sindresorhus/react-extras#readme","_nodeVersion":"25.3.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-58ZdOu6ZGfj9lqylrzKRNOJpaVP9nHs66CGn0B/a/tgo9zbNTzxxuowjvw8l0JlJr8soSX+KdV035R0F7/Cjuw==","shasum":"d6e90556b9d937755c2559e1529c129e2900ffb9","tarball":"https://registry.npmjs.org/react-extras/-/react-extras-4.1.0.tgz","fileCount":16,"unpackedSize":38777,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID/yBh87fM3LVmI90bCuy8e1xLBz6y81cTBTbzcvOa44AiEAoiYOyROsr+Xg3tGCxEVFdRHXksKvajZLDNU74FT+Gz8="}]},"_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"directories":{},"maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-extras_4.1.0_1770267277767_0.6217235156621805"},"_hasShrinkwrap":false}},"time":{"created":"2018-01-18T03:04:52.634Z","modified":"2026-02-05T04:54:38.075Z","0.1.0":"2018-01-18T03:04:52.634Z","0.2.0":"2018-01-18T21:38:33.457Z","0.3.0":"2018-01-19T22:05:35.032Z","0.4.0":"2018-01-20T13:32:17.679Z","0.5.0":"2018-02-03T07:32:48.010Z","0.6.0":"2018-05-01T03:27:31.278Z","0.7.0":"2018-06-20T18:55:15.342Z","0.7.1":"2018-06-24T06:12:08.129Z","0.8.0":"2018-12-26T20:49:07.040Z","0.9.0":"2018-12-31T18:30:46.905Z","1.0.0":"2019-09-17T18:14:55.887Z","1.0.1":"2019-10-03T10:23:58.052Z","2.0.0":"2020-03-10T13:26:36.485Z","3.0.0":"2022-02-12T17:27:41.532Z","3.0.1":"2023-06-07T19:44:35.154Z","4.0.0":"2025-09-09T18:59:04.140Z","4.1.0":"2026-02-05T04:54:37.971Z"},"bugs":{"url":"https://github.com/sindresorhus/react-extras/issues"},"author":{"name":"Sindre Sorhus","email":"sindresorhus@gmail.com","url":"https://sindresorhus.com"},"license":"MIT","homepage":"https://github.com/sindresorhus/react-extras#readme","keywords":["react","extras","component","components","util","utils","utilities","helper","helpers","auto-bind","autobind","bind","class","css","classname","classnames","classes"],"repository":{"type":"git","url":"git+https://github.com/sindresorhus/react-extras.git"},"description":"Useful components and utilities for working with React","maintainers":[{"name":"sindresorhus","email":"sindresorhus@gmail.com"}],"readme":"# react-extras\n\n> Useful components and utilities for working with [React](https://reactjs.org)\n\n## Install\n\n```sh\nnpm install react-extras\n```\n\n## Usage\n\n```js\nimport React from 'react';\nimport {If} from 'react-extras';\n\nconst App = props => (\n\t<If condition={props.showUnicorn}>\n\t\t<div className=\"unicorn\">\n\t\t\t🦄\n\t\t</div>\n\t</If>\n);\n```\n\n## API\n\n### autoBind(self, options?)\n\nAutomatically binds your `React.Component` subclass methods to the instance. See the [`autoBind.react()` docs](https://github.com/sindresorhus/auto-bind#autobindreactself-options).\n\n### classNames(…input)\n\nConditionally join CSS class names together.\n\n#### input\n\nType: `string | object`\n\nAccepts a combination of strings and objects. Only object keys with truthy values are included. Anything else is ignored.\n\n```js\nimport {classNames} from 'react-extras';\n\nclassNames('unicorn', 'rainbow');\n//=> 'unicorn rainbow'\n\nclassNames({awesome: true, foo: false}, 'unicorn', {rainbow: false});\n//=> 'awesome unicorn'\n\nclassNames('unicorn', null, undefined, 0, 1, {foo: null});\n//=> 'unicorn'\n\nconst buttonType = 'main';\nclassNames({[`button-${buttonType}`]: true});\n//=> 'button-main'\n```\n\n```jsx\nimport {classNames} from 'react-extras';\n\nconst Button = props => {\n\tconsole.log(props);\n\t/*\n\t{\n\t\ttype: 'success',\n\t\tisBlock: false,\n\t\tisSmall: true\n\t}\n\t*/\n\n\tconst buttonClass = classNames(\n\t\t'button',\n\t\t{\n\t\t\t[`button-${props.type}`]: Boolean(props.type),\n\t\t\t'button-block': props.isBlock,\n\t\t\t'button-small': props.isSmall\n\t\t}\n\t);\n\n\tconsole.log(buttonClass);\n\t//=> 'button button-success button-small'\n\n\treturn <button className={buttonClass}>…</button>;\n};\n```\n\n### `<If>`\n\nReact component that renders the children if the `condition` prop is `true`.\n\nBeware that even though the children are not rendered when the `condition` is `false`, they're still evaluated.\n\nIf you need it to not be evaluated on `false`, you can pass a function to the `render` prop that returns the children:\n\n```jsx\nimport {If} from 'react-extras';\n\n<div>\n\t<If condition={props.error} render={() => (\n\t\t<h1>{props.error}</h1>\n\t)}/>\n</div>\n```\n\nOr you could just use plain JavaScript:\n\n```jsx\n<div>\n\t{props.error && (\n\t\t<h1>{props.error}</h1>\n\t)}\n</div>\n```\n\n### `<Choose>`\n\nReact component similar to a switch case. `<Choose>` has 2 children components:\n\n- `<Choose.When>` that renders the children if the `condition` prop is `true`.\n- `<Choose.Otherwise>` that renders the children if has no `<Choose.When>` with `true` prop `condition`.\n\nNote that even when the children are not rendered, they're still evaluated.\n\n```jsx\nimport {Choose} from 'react-extras';\n\n<div>\n\t<Choose>\n\t\t<Choose.When condition={props.success}>\n\t\t\t<h1>{props.success}</h1>\n\t\t</Choose.When>\n\t\t<Choose.When condition={props.error}>\n\t\t\t<h1>{props.error}</h1>\n\t\t</Choose.When>\n\t\t<Choose.Otherwise>\n\t\t\t<h1>😎</h1>\n\t\t</Choose.Otherwise>\n\t</Choose>\n</div>\n```\n\nOr you could just use plain JavaScript:\n\n```js\n<div>\n\t{(() => {\n\t\tif (props.success) {\n\t\t\treturn <h1>{props.success}</h1>;\n\t\t}\n\n\t\tif (props.error) {\n\t\t\treturn <h1>{props.error}</h1>;\n\t\t}\n\n\t\treturn <h1>😎</h1>;\n\t})()}\n</div>\n```\n\n### `<For/>`\n\nReact component that iterates over the `of` prop and renders the `render` prop.\n\n```jsx\nimport {For} from 'react-extras';\n\n<div>\n\t<For of={['🌈', '🦄', '😎']} render={(item, index) =>\n\t\t<button key={index}>{item}</button>\n\t}/>\n</div>\n```\n\nOr you could just use plain JavaScript:\n\n```jsx\n<div>\n\t{['🌈', '🦄', '😎'].map((item, index) =>\n\t\t<button key={index}>{item}</button>\n\t)}\n</div>\n```\n\n### `<Image/>`\n\nReact component that improves the `<img>` element.\n\nIt makes the image invisible if it fails to load instead of showing the default broken image icon. Optionally, specify a fallback image URL.\n\n```jsx\nimport {Image} from 'react-extras';\n\n<Image\n\turl=\"https://sindresorhus.com/unicorn.jpg\"\n\tfallbackUrl=\"https://sindresorhus.com/rainbow.jpg\"\n/>\n```\n\nIt supports all the props that `<img>` supports, but you use the prop `url` instead of `src`.\n\n### `<RootClass/>`\n\nRenderless React component that can add and remove classes to the root `<html>` element. It accepts an `add` prop for adding classes, and a `remove` prop for removing classes. Both accept either a single class or multiple classes separated by space.\n\n```jsx\nimport {RootClass} from 'react-extras';\n\n<If condition={props.isDarkMode}>\n\t<RootClass add=\"dark-mode\"/>\n</If>\n```\n\n```jsx\nimport {RootClass} from 'react-extras';\n\n<RootClass add=\"logged-in paid-user\" remove=\"promo\"/>\n```\n\n### `<BodyClass/>`\n\nSame as `<RootClass/>` but for `<body>`.\n\nPrefer `<RootClass/>` though, because it's nicer to put global classes on `<html>` as you can consistently prefix everything with the class:\n\n```css\n.dark-mode body {\n\tbackground: #000;\n}\n\n.dark-mode a {\n\t…\n}\n```\n\nWith `<BodyClass/>` you need to do:\n\n```css\nbody.dark-mode {\n\tbackground: #000;\n}\n\n.dark-mode a {\n\t…\n}\n```\n\n### intersperse(children, separator?)\n\nInserts a separator between each element of the children.\n\n#### children\n\nType: `ReactNode`\n\nThe elements to intersperse with separators.\n\n#### separator\n\nType: `ReactNode | ((index: number, count: number) => ReactNode)`\\\nDefault: `', '`\n\nThe separator to insert between elements. Can be a React node or a function that returns a React node.\n\n```jsx\nimport {intersperse} from 'react-extras';\n\nconst items = ['Apple', 'Orange', 'Banana'];\nconst list = intersperse(\n\titems.map(item => <li key={item}>{item}</li>),\n\t', '\n);\n// => [<li>Apple</li>, ', ', <li>Orange</li>, ', ', <li>Banana</li>]\n```\n\nWith a function separator:\n\n```jsx\nimport {intersperse} from 'react-extras';\n\nconst items = ['Apple', 'Orange', 'Banana'];\nconst list = intersperse(\n\titems.map(item => <li key={item}>{item}</li>),\n\t(index, count) => index === count - 2 ? ' and ' : ', '\n);\n// => [<li>Apple</li>, ', ', <li>Orange</li>, ' and ', <li>Banana</li>]\n```\n\n### `<Join/>`\n\nReact component that renders the children with a separator between each element.\n\n```jsx\nimport {Join} from 'react-extras';\n\n<Join>\n\t<li>Apple</li>\n\t<li>Orange</li>\n\t<li>Banana</li>\n</Join>\n// => <li>Apple</li>, <li>Orange</li>, <li>Banana</li>\n```\n\nWith a custom separator:\n\n```jsx\nimport {Join} from 'react-extras';\n\n<Join separator=\" | \">\n\t<a href=\"#\">Home</a>\n\t<a href=\"#\">About</a>\n\t<a href=\"#\">Contact</a>\n</Join>\n// => <a href=\"#\">Home</a> | <a href=\"#\">About</a> | <a href=\"#\">Contact</a>\n```\n\nWith a function separator:\n\n```jsx\nimport {Join} from 'react-extras';\n\n<Join separator={(index, count) => index === count - 2 ? ' and ' : ', '}>\n\t<span>Apple</span>\n\t<span>Orange</span>\n\t<span>Banana</span>\n</Join>\n// => <span>Apple</span>, <span>Orange</span> and <span>Banana</span>\n```\n\n### useEventListener(target, eventName, handler, options?)\n\nAdds an event listener to an element and automatically removes it on cleanup.\n\nThe handler always has access to the latest props/state without needing to specify dependencies.\n\n```jsx\nimport {useEventListener} from 'react-extras';\n\nfunction Component() {\n\tuseEventListener(document.body, 'click', event => {\n\t\tconsole.log('Body clicked!', event);\n\t});\n\n\treturn <div>Click anywhere</div>;\n}\n```\n\n### useWindowEvent(eventName, handler, options?)\n\nConvenience hook for `useEventListener(window, …)` that is SSR-safe.\n\n```jsx\nimport {useWindowEvent} from 'react-extras';\n\nfunction Component() {\n\tuseWindowEvent('resize', event => {\n\t\tconsole.log('Window resized!', event);\n\t});\n\n\treturn <div>Resize the window</div>;\n}\n```\n\n### useDocumentEvent(eventName, handler, options?)\n\nConvenience hook for `useEventListener(document, …)` that is SSR-safe.\n\n```jsx\nimport {useDocumentEvent} from 'react-extras';\n\nfunction Component() {\n\tuseDocumentEvent('visibilitychange', () => {\n\t\tconsole.log('Visibility changed:', document.visibilityState);\n\t});\n\n\treturn <div>Switch tabs to see visibility changes</div>;\n}\n```\n\n### isStatelessComponent(Component)\n\nReturns a boolean of whether the given `Component` is a [functional stateless component](https://javascriptplayground.com/functional-stateless-components-react/).\n\n### getDisplayName(Component)\n\nReturns the [display name](https://reactjs.org/docs/react-component.html#displayname) of the given `Component`.\n\n### canUseDOM\n\nA boolean of whether you're running in a context with a [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction). Can be used to check if your component is running in the browser or if it's being server-rendered.\n\n## Related\n\n- [react-router-util](https://github.com/sindresorhus/react-router-util) - Useful components and utilities for working with React Router\n- [sass-extras](https://github.com/sindresorhus/sass-extras) - Useful utilities for working with Sass\n- [class-names](https://github.com/sindresorhus/class-names) - Conditionally join CSS class names together\n","readmeFilename":"readme.md"}