{"_id":"react-clone-referenced-element","_rev":"8-50b8d2ffbdbdcc3da00017c007976678","name":"react-clone-referenced-element","description":"Clones a React element while preserving its original ref","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"react-clone-referenced-element","version":"1.0.0","description":"Clones a React element while preserving its original ref","main":"cloneReferencedElement.js","repository":{"type":"git","url":"git+https://github.com/ide/react-clone-referenced-element.git"},"keywords":["react","clone","element"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/ide/react-clone-referenced-element/issues"},"homepage":"https://github.com/ide/react-clone-referenced-element#readme","peerDependencies":{"react":"*"},"gitHead":"d387553df46d5d1e8f3e36c35a26efa4d25c4c2a","_id":"react-clone-referenced-element@1.0.0","scripts":{},"_shasum":"10cfb2efc20188a0a8fd21d3c45576ae4fa46b04","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"shasum":"10cfb2efc20188a0a8fd21d3c45576ae4fa46b04","tarball":"https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.0.0.tgz","integrity":"sha512-UUGQ+Yqh6PZtEIRaI6Fom744U3SKy4004bB6Jbprgh5RaxvrMoNBuSCm4Ric6mljDs8XPgxQn3jQHQFBvGS3dg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGF1rOV/ZkRkmxOfEVAoKfGd2jy9wWT1o5frA2uwY0XAiBevXEDAmMbjaZOvUPmesLx2QhLUTwY7OIr7hKoo0VjTQ=="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"}],"directories":{}},"1.0.1":{"name":"react-clone-referenced-element","version":"1.0.1","description":"Clones a React element while preserving its original ref","main":"cloneReferencedElement.js","repository":{"type":"git","url":"git+https://github.com/ide/react-clone-referenced-element.git"},"keywords":["react","clone","element"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/ide/react-clone-referenced-element/issues"},"homepage":"https://github.com/ide/react-clone-referenced-element#readme","gitHead":"fe8873dad29f6beba7168cafe733d48ea26a1cc0","_id":"react-clone-referenced-element@1.0.1","scripts":{},"_shasum":"2bba8c69404c5e4a944398600bcc4c941f860682","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"shasum":"2bba8c69404c5e4a944398600bcc4c941f860682","tarball":"https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz","integrity":"sha512-ftZVOBp4YMuVHOwFyFteRfJsZfZ88esMbRC4YTzW4rk6VV+wXWdqxxHGlWyIM8Q6fSW8fiJQLUCSHs441898/w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhJyoZyzTQI9Et99wO68xBdEkIbv7VhKIy46LnsqULcAIgC6qJ0ZJ0q9cpm3hj7FhJLiF7g2Hgvf0maa+wDDeW9vE="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"}],"directories":{}},"1.1.0":{"name":"react-clone-referenced-element","version":"1.1.0","description":"Clones a React element while preserving its original ref","main":"cloneReferencedElement.js","types":"cloneReferencedElement.d.ts","repository":{"type":"git","url":"git+https://github.com/ide/react-clone-referenced-element.git"},"keywords":["react","clone","element"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/ide/react-clone-referenced-element/issues"},"homepage":"https://github.com/ide/react-clone-referenced-element#readme","gitHead":"694a7b2e77e0d8bbe68ecf08e03e87c12ac422ec","_id":"react-clone-referenced-element@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.11.3","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"integrity":"sha512-FKOsfKbBkPxYE8576EM6uAfHC4rnMpLyH6/TJUL4WcHUEB3EUn8AxPjnnV/IiwSSzsClvHYK+sDELKN/EJ0WYg==","shasum":"9cdda7f2aeb54fea791f3ab8c6ab96c7a77d0158","tarball":"https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.1.0.tgz","fileCount":6,"unpackedSize":4059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmWJNCRA9TVsSAnZWagAAgr0P/1BaNNvTckuRzQP1LXAV\nEEpuWfkeB20FNiZh4kRZpIejb7jlHTkLxYdf1XPvlnHPCKFrLqKwuJG0TISD\neBOuDGnR8ehgT6+4dahLuyI6AAeA40z/1HY93T3fYyapcQDj1r+T8KQH9y8y\nurBh1nYMBZ79gimUyFKgSr7bEvl8tlwJcTwWOI9KajYpHBkK2tymSTvN5Inc\niw6txCKVReyQc4R9B4TTai9Losxdws3AGFyFh/8kQza4Rrrp9QDOWhbZjmhs\nVRiTX3zMpVeoQNTpunxKMkxChutx7/yYkzkd/YxjfxMN2oZjBYGWrZMm8pnH\nTC3R+tMtx6ACiz3b+SYrq5LY2Tn4CtkAE7BdLrHLk7CL7TmPKEGhJFQ+AI0h\nZ9h1L8lJgQynoD6sqmc4NTzyXoRmezBJB16UStZjth7SL8QwpXNRZ19K3szT\nKJTLFGgmuiXIlqw6c8Nb2xKTashltXiTBSo/jm2XkttgdirGPZqdJTzTvW/H\nz4b7rI2ZTyuYAz1oz9sOXJLqujjvOu1aCdR8HksMJrfo8uuStHdHdiKTXFtQ\nQcHNaLeIGwr++ytwzYTcnY7LUMP+yA1fPp605HDvsOTAA70oKtvsAVwDgEpe\nYlTiAIok04LZrLFKKYEyPc0DlN9nb/SdYNmPXt7umqL8EbrBxX/fzu7TV3Sy\naXOv\r\n=Bo4Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7zuHV/XHvmzBXDyJs5KFJwYcs59QaNp1Tnx0JXSSg3AiEA3RNt+VeKs1Kk37LoS/vgiE7bhnV2FQbET/sBvodsPQI="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-clone-referenced-element_1.1.0_1536778828571_0.29384847761117805"},"_hasShrinkwrap":false},"1.1.1":{"name":"react-clone-referenced-element","version":"1.1.1","description":"Clones a React element while preserving its original ref","main":"cloneReferencedElement.js","types":"cloneReferencedElement.d.ts","scripts":{"test":"jest"},"prettier":{"singleQuote":true},"repository":{"type":"git","url":"git+https://github.com/ide/react-clone-referenced-element.git"},"keywords":["react","clone","element"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/ide/react-clone-referenced-element/issues"},"homepage":"https://github.com/ide/react-clone-referenced-element#readme","devDependencies":{"jest":"^26.6.3","react":"^17.0.2","react-test-renderer":"^17.0.2"},"gitHead":"a8031973b7c1ad0cb8654f8002d7b0bc4ac9637c","_id":"react-clone-referenced-element@1.1.1","_nodeVersion":"16.0.0","_npmVersion":"7.10.0","dist":{"integrity":"sha512-LZBPvQV8W0B5dFzXFu+D3Tpil8YHS8tO00iFsfXcTLdtpuH7XyvaHqHcoz4hd4uNPQCZ30fceh+s7mLznzMXvg==","shasum":"8d76727dc0459788e461741e804a512d20757381","tarball":"https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.1.1.tgz","fileCount":6,"unpackedSize":4906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgly6eCRA9TVsSAnZWagAAH58P/j9yGO19J4nWXR3qDW2b\nTWdNVE6Nt3m8ZJldOPJGFvb/mKi6q6ZJKlTwK6iSjFZGtUXlIhT7H0jJpGkS\nuw7UviACsYXc+73olFAVGIhrFcFkgKwHeML0RAcIA4CroD6Eg5oduQxjoFHQ\nqTuCGabt/epzLGAV7Og+02PQ1pHIe2ucZwAYjJYGX2P5NGVQHiWWKZyAPayn\n88KukZkkx0REv3e9f62dxuneCy+Nh/voI5ITHpkoD7Pc5VEW5gk07rumKX44\n27jdxPJvl2lNQMR9DEUHau4GBPcVLfpe1Sl/7bxw3pWiXuT0xPmiMekzM5N0\nJ337wmbz+d5GTktP1EVuRn1zsH/+FhfOIgT4y64ueV4tptBFVF9BZwHI1FGp\nMuTSNH4pkTFYKoR3u04JYT1/+7uTW0Cf2qShZK0swlyUP+5x/5fa6eTSFdyq\nrcyqPCQgHeME0Ini+DLi5liLA/Sd2jZy0kANYwlFSRX/9aX18DgZbZhRz/kt\nccpfl1mTBLFVKcSMAmTxTgifOoHIu4ywW9XK6EMZB9b7OTyKDEECUhGa5nmi\n3RRaIOSKYodAQSpUVfIgtsMQ/ZKcOhUX6X6L0u8Izr8UEXgaU96+BQgPE4GY\nCpC045hL5TpdGlWEsqfSXz1yoB7Lzu5XE/Beu2arDyPSrXvcHaZY92h+IAgW\ny1Cs\r\n=g66D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDaX5xD2WwkDuyCs5Blz8iKwyaJXioHCwnATXz8896kewIhALSMwv8nch0Y30hiTB7RKRK0ku/tC1YVLa9lm2RlKi9Z"}]},"_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"directories":{},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-clone-referenced-element_1.1.1_1620520606240_0.016420203277498047"},"_hasShrinkwrap":false}},"readme":"# cloneReferencedElement for React [![Tests](https://github.com/ide/react-clone-referenced-element/actions/workflows/tests.yaml/badge.svg)](https://github.com/ide/react-clone-referenced-element/actions/workflows/tests.yaml) [![codecov](https://codecov.io/gh/ide/react-clone-referenced-element/branch/main/graph/badge.svg?token=FwQSK9uKF7)](https://codecov.io/gh/ide/react-clone-referenced-element)\n\n\nThis is a version of `React.cloneElement` that preserves the original element's callback ref even if you specify a new callback ref for the clone.\n\nThis library is written for components that use callback refs.\n\n## Installation\n\nInstall this module from npm:\n```sh\nnpm install --save react-clone-referenced-element\n```\n\nThis library is written in ES2018. Your JavaScript runtime must support [trailing commas in function calls](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas#trailing_commas_in_functions) and [object spread properties](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax#spread_in_object_literals). All modern browsers since 2018 support these features.\n\nYou will also need to transform or define a global variable named `__DEV__`.\n\n## Usage\n\nThe signature of `cloneReferencedElement` is the same as that of `React.cloneElement`. However, when using callback refs, it will preserve the ref on the original component if there is one.\n\n```js\nconst original =\n  <Component ref={component => {\n    console.log('Running the original ref handler');\n  }} />;\nconst clone = cloneReferencedElement(original, {\n  ref(component) {\n    console.log('Running the clone ref handler');\n  },\n});\n```\n\nWhen the component is mounted, the console will display:\n```\nRunning the clone ref handler\nRunning the original ref handler\n```\n","maintainers":[{"name":"ide","email":"ide+npm@jameside.com"}],"time":{"modified":"2022-06-25T18:11:59.488Z","created":"2016-01-14T05:04:28.233Z","1.0.0":"2016-01-14T05:04:28.233Z","1.0.1":"2016-01-19T09:40:01.709Z","1.1.0":"2018-09-12T19:00:28.735Z","1.1.1":"2021-05-09T00:36:46.431Z"},"homepage":"https://github.com/ide/react-clone-referenced-element#readme","keywords":["react","clone","element"],"repository":{"type":"git","url":"git+https://github.com/ide/react-clone-referenced-element.git"},"author":{"name":"James Ide"},"bugs":{"url":"https://github.com/ide/react-clone-referenced-element/issues"},"license":"MIT","readmeFilename":"README.md","users":{"brien-crean":true}}