{"_id":"@chakra-ui/descendant","_rev":"183-7c09a15184923b9e087dcdbc9961872c","name":"@chakra-ui/descendant","dist-tags":{"canary":"1.0.0-next.0","pr":"0.0.0-pr-202215132532","next":"3.0.0-next.2","v1-latest":"2.1.4","dev":"0.0.0-dev-20230718132637","latest":"3.1.0"},"versions":{"1.0.0-next.0":{"name":"@chakra-ui/descendant","version":"1.0.0-next.0","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.0","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"94b78d6c63327674853551f07e6543ddd5e86343","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.0.tgz","fileCount":15,"integrity":"sha512-a6snnNXqaKE40MGwj3qwW5FqgvyHi/JcW0lMhrZi/84290cH5faDsWQN37/W/qgzYxHLae1ZO0nJgwiDE7WxVQ==","signatures":[{"sig":"MEUCIEbEiQdBvATy9MhRZf8eZD75ZnQZmdl76pJI+3B9f4utAiEAt6/MnBokHXilwNHyZVTT2oauMcOwWn8Z44zjLgEHqB4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7nTaCRA9TVsSAnZWagAAmRkP/AjGO8YdHSpxhqJjUufb\nmPypMVoZl5tXLIpE8PRxfO3jBpT8Gv+nl9/phihcpil6K06iarLpbUz7Okl8\nT/fmb06x2+z2UbExSOhNzXG12IqkIGrJ+LA6lt6fBIKSA0ChctvwIVQ24AH3\n1N31XU4gO8712DCQfoLZvhjoM4FAAjBTeTlZScxp/oOHsoRrOADaa6ahvVL/\n60R3jZLWun4wzeZcO+fKKnqfGjutg94DaCwVSC+bVMwPPp5rCt+hu97pRQr6\nVqlAJJAnaf33gzwEQE88p75suLlySWOTs1KnudEK9g1dDkr7myM4jFRMn7Oe\nRcNuJJqplE2L5fNi9XVWHwqz0v5exPgO1Y6AkCG2PpL3s9fCNxpH6qhD2MX8\nCIdkkWDyiIwrmfA4+/P0BWfkytXu81URyh3F5HJA5R/+oJtoB++6z7Ou15Kn\nVvWTCHxH5ibmNb9KJeD3x93N1q6SdSuUusOEL9DUyH5gxQp2RqDL/Jy2H7YW\n4pnbvl+CoqxOW7vjxwAzpXOwEybeDGRS8u0o6lXwQhpRwoWwrrDZKEbP6tbj\n+f35Xh8fIWAVrZ27hprJTnhHXffoNqAteNSOmiXypJhX/TKKCJtyifiLC27v\nzCsZA3uwU+S070CSx+s5uCbeeaAgZE7eUPrX9VtJbKtAWoLTcR69/1gxNbUD\nj7PG\r\n=6bQu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","gitHead":"ce6fe489afaddba502a2611f1fb1dcedb991325b","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v14.3.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"_nodeVersion":"14.3.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.0_1592685786481_0.01733493229403038","host":"s3://npm-registry-packages"}},"1.0.0-next.1":{"name":"@chakra-ui/descendant","version":"1.0.0-next.1","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.1","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"48cf5d77578c7d3d2bf214b999047f229b1da219","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.1.tgz","fileCount":16,"integrity":"sha512-gpM+67hunTkhT3vHJ3yF/2KncpZxzv+ugxqLB+HWptYaxKnzyTFpPsXUc95/5C1bIG4GJciDwmJLGE7u/eA9rA==","signatures":[{"sig":"MEUCIAFgZpkIi/YBRohrRPZTvQ6FQqbHosMXYFoskzrDHEqBAiEAiMnCPFPq/gQsdkq59iN+AzUi/YXD+AEy1TTsCA6MalM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7ytDCRA9TVsSAnZWagAAsN4P/juUSg7a+EuACU7V5C2/\nEkchgLrc780Ko4tJp9OOZygj7B0Mvo2FjBgN1T3Ii0zCtU1eKb8cKoK1mery\nd9xzhT2e9j5X3sGPSJQntdKZb9on6RmvvwjXtt0AIL6/1HO3ZMhQdHUUKgNA\nNXAspTzPxP3nJm48KldRZyy/E9HWkDon57f1pkJRJpvxBlvcyu9KsBo/uRUu\nFoCSsPdBk+m+RowC/8fm5ZEQzixcIRAiBFnLBWczgFmw2Gzie4ebi2g3J5x7\nZ56CedIiTwVi4oPqs0uEAXRwcrwHJ/hoWDm6cPaXiw40ADFJW7A6ElFb3mGZ\nTK2WUhx1s+JtGOHsCn7Srpwnutzz84qgbAGw/BPXuRXqokodfQBuyKuHgACg\n41875wHuyK3/p48bctPWiX/qJZ1GbewXSeQOk8k8Aedwc1z15YsMu8hr6wdR\nbptDjnkti114sbVewXIqHFjfzuKmzUCq8DUDj1HxZCrcprBMWUsvxbpRmr/R\n3wVB+KkjPBGzVXNJ+ikpRDglY6sG04QU3wGTf9JF6z2CWjcN7v7mAZHDOscZ\nOjPXor5QA9xQ59mHqzQbByuc9KaDYSUG4kZuDomtZVV8cTilB/KoP3rsn3RM\nJoCvLy2JdYqkc6jUHKbJaFvBoXntw4aApGC5QfHPK2UGWuRUSK4OvQYk0EuF\nlCWP\r\n=TGNM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","gitHead":"cabbf345518d70d446bf95410872f1a0c947ccd5","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v14.3.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"_nodeVersion":"14.3.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.1_1592732482967_0.7617667656561653","host":"s3://npm-registry-packages"}},"1.0.0-next.2":{"name":"@chakra-ui/descendant","version":"1.0.0-next.2","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.2","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"abab34b4cd5193a517e4f3d96f63aac443be6946","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.2.tgz","fileCount":16,"integrity":"sha512-Na8/xj+1eE9V0uiIuwo0mREMSczNAwmTSZtE6+5B+e8gYX4flQ83aFFqdLih1yKKnxEbYmGtK3g77VNt2Xztaw==","signatures":[{"sig":"MEQCIH56SvoAMSF7LlKR4U47p0WPXNDyeWz2Lkg8LQm81Qw1AiA0WXprmqn6m8bxiIsPvfxH5HKfWs4eLgmRRs22cSB/Lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8M/uCRA9TVsSAnZWagAA7AUP/1XFiBmmybidD/gJi0YJ\nnFiar0Ijo6GV6+0HzA0Wv/c+6wkpWiwJuIp9lQICrmh9oTVYAmGN01E2yPZO\n/U/oqI+pJhPNIJrmsBs7woanRUCL9Mi0ICJhPI3orSC2FUxy+fl18SNMGY94\nrGK5EapYZO02xeSeIWnkywTMCITR7PtBhNYt+yl4duGNqvAUnkyXpkC6cgg2\n5VHcO+F+afFJVAeznX/GXF/mr+dxvTVEUWomBcQMCK4J3JzBEYRlHcGBfDMp\nKl9IgsFUE56W1Ple6g+FV4AodRa2JXqmpTH/KGnDjO1V/lb+PHwJX/bssboH\nZJ+8pVumdDfZKSiLTd2PnQpt1ER7yzxm5SnL9xekKGnc4RUe9NhnqgNKzVKh\nHJuMrWwPOyf+OTqX+lEVmvpsmAema30BMAYZ9jnH+06oTPK5pHh0SoQeo9et\ng5K1DxbCduqKNzbcyZSH6BZvBaQHFKOi5HOcDjs5O4evt0Vgvu5mIXyanMF9\njVZxs0amrzGFf0WWysY7GbpdrAX6Myn0c0Eqat4Rpfcj6Jr4/PEtBWlpoSVs\n3bY2MO+KOppltR7zhfDUl/vjEqB74iknYNeqdqL3eUuXhssLo/jvFj7Wugqv\ngZKziSZAGdofqbJ4nPWPautZZRdhN8Ox2KD4KH6AGshVUASmaCmoH97BLcz0\nwfmV\r\n=Tkvh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","gitHead":"c5b51e43e9dff400f8bba7da7ffd135f5d33628b","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v14.3.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"_nodeVersion":"14.3.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.2_1592840174020_0.010256234013054533","host":"s3://npm-registry-packages"}},"1.0.0-next.3":{"name":"@chakra-ui/descendant","version":"1.0.0-next.3","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.3","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"ed52192c0aa345b1df064264a7934d2bd2e982d6","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.3.tgz","fileCount":18,"integrity":"sha512-9yNDV2zt0dzyuB5u0JwV1FP2+6X6rCtRP7n9M9XSWrrC1wB4RPZC/wiBVWrE79gHmhRouoYILba3dnE9UvIixg==","signatures":[{"sig":"MEUCIQC+QB7JKZrFNCtgmYeNwoiQXmAyEaw5FsZc3FVqTDRmxAIgOIycmvg7wIZcbBKiHuOigGAb82GhZnacRCPy33RRg0Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+MbcCRA9TVsSAnZWagAAtdQP/RNKb1NKqzz17RXBcDLy\nsz8aqoC0uXBYaGSGs+JzThJ10753tnFOhWif+3arWeeDJhIXv5FGW8TH+d5Q\nIT6pj5pz0d5v2qcetsrpk+HPccoh1Q1ekzG01df6o/4m26qo7srSFTDoMgVz\nkX0pbOV7SbSV74OyPhHCNdLAZrPXJOTkAZgSngsDjn8e1um6xqGPJm8GQPhP\n0RjJTBiKdhB3/Z14RBsUlKDqWyxEDMlK92NeazZfIDAXriD+DBT4R7K43md2\n+O/z40fkZvIl3hI8TqQe1ydA3kuRhDwMJ+PrsVRoqSUhSir/777CPsZajnqu\n2SCp5T+i84ERNnRmC87GgrBJctvVWcQH4DOzWIJWcC0Lj5TjDs5hSMhgaejE\ndxlVMefHE5wdZWwGQpnQww96yg0pVl3zh0A2eZgM5AcxA9ADH0VJNN0rCP5y\nHw4Wlg1czq/GfuXdEFEDylrYTd6VAAe56iKTPhgl1v0OFCS98I+rxYh11zOK\nN0cAlKFMz+WvdDtAQ7h2k8wpraVpx++hbnzG3W5rOQIN0sGax1HFud2fj62I\ni2hIBgr4tuMZl4zf/eZ+uwqATdHVXyMuTIFCuyEY44rNI6OhqwWVtDCbNU9U\nxEgOR+pT06L54vIr1ljQ/+lfe/gWRP00L1PUa50ZcuiHxHe6neFo/Lr/BQuB\nJVE1\r\n=4Sms\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","gitHead":"d31ba9c35993985f49da4885dd47ab8dab49cdd1","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.7.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.7.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.3_1593362139633_0.8454222247830634","host":"s3://npm-registry-packages"}},"1.0.0-next.4":{"name":"@chakra-ui/descendant","version":"1.0.0-next.4","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.4","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"9639b9a57f98cf38216f7cffcd08f63b1fc38c23","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.4.tgz","fileCount":18,"integrity":"sha512-EVAgcVzLuSRlgfGsn91gXg64OLzUpejHLR11y3vVWWoie0KjhM1FTeBtM62MWTjXTJX8Hgpg7M4Cd5ctkrIllA==","signatures":[{"sig":"MEYCIQD7OM2CP54tp+8mTPIweHcIlN5UXN21uDcTU8tBUJ3qXwIhAKNk2TVNvLIQ3K92XUjNtXEu/udJyt+Ey6/8YlEK2ulC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/Mr8CRA9TVsSAnZWagAAhrcP/jnDXiw2CtrGNxTH6Cns\nYLtUul/L9DN/ZURExqNswlYloP5bfjtFN+HZgUrWwvIZZWY58zY8MGGARHnv\n96jCtFtmVs+DkGhFN5aZUQnZt5vRGg52T623UYCWVBbXhMcXTLDm8MvIp6Mw\nmaaq71F24sY2WJjR3LprYM9TtQRRX+AUqYHfPCjH4n0vXClQh3eV4S0m17qf\nO8EqvLoMatFBx7C0cPFolCyIltqi+m68DAkSlcSYl6hXrUpNfQSCNq1U/2fO\nWWU1lNJlqVBOxyJLwE48bPR1TlOFihHzi3G8WT5hAOxJgzjrYb7QHvlErtpF\nix43+j1SxM8mJg1vftWjmB6hXpLxAqw0597PEtsbwQxuXodaUFwqnF1M7Xbf\ntnh6PCJCHhGOX6Us30ehJA7UOS45/S/L32ZVWBV82v3apsIuICFxdRkCPbl2\nJ+AYVOIrBYABgRDOcZiR38R9wnz1P2su7frFDY51wtt86z+x0Fo8nXGSaoCS\nVq15ifgTPQdjiF9mJPbXxWOYd23uP2UAcNGJfb4lrwMybnBCVZM7KNDK46N+\nBNzhanFrHAdNPkecFY/htp16vvYWlWX+uk12h6BMSp1QqWDLlysLexEl46A+\nlZYVks7WKiNBqWQ2Cq88gyoywc5PZvOK8by44GAMUwSvSoLYbkMkZolREhp8\nfwEa\r\n=An/a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"cdd5eac1db90ba33a07c009fb8dbcc4453d6ec01","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.7.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.7.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.4_1593625339946_0.2136399320044402","host":"s3://npm-registry-packages"}},"1.0.0-next.5":{"name":"@chakra-ui/descendant","version":"1.0.0-next.5","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.5","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"2c9b4c1dad7a865961e9553949f1b6311b6e01f9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.5.tgz","fileCount":18,"integrity":"sha512-fi4vOP4IcYh8H6tOU+2ElAQBi2jWeOgZLBbBSbeIFQbXLf4Ln80DuwqZK6UcawTO7J1Q3XuVzfOWZxhHSTkQvw==","signatures":[{"sig":"MEUCIQCjktQVrDZBPWTzILlhhgxPeilcnVIYfjdIbqjVifd5gwIgAp1tOKFj++60uAVhDtalGD8SIz66efwysRgP7dT7v6k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30806,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDtxHCRA9TVsSAnZWagAAbQYP/Re8xUj3uP5vJebEdOtl\nljqygetzK/Pg79lFJSSQeyfpPSdknGj+P3z5wFYROq3g78VTrYaKu6oFCdrY\ntyGIjE3Qx6dY/qLSU5ExApataP0k8cscdBLObr5hR1+/fVJPA8zKexKlLb+f\nJLw32jKoFlY5U8NMAxX17kjt9Rr2bC3qTcSmb4/V8zv2ghoktZ4HpJccQmkD\nQlU+yCnd7V2NI11NTMo5rBwDKl1dzHKP9CS24MlYwaIehWVqkP6ZjP2gqipf\nEgeYJ/vX3SuPFgfgZy5R8EOfTI1qMYgM5tfzU3dC9X1lF1r2k8OHICaTTdco\nVKGFVsFqfaj2W8+dfDnwUe/DUlFylZipd186fvK/nhFk+HZuc7vCfTXEZvHU\n5rt+imYR/bszmKTkavgHMXZPm24YTBSCP0wJUsYAl9Dr6FXO78Bg4kDYYX/U\nXS6YLCj8rG2tKf8qqNXRtYY25+AS7vF7OKvCbvqwfmwqisUSRv0UOGdwet/v\n+H7eiJABhQ2+kVcSAflNxsTlZEHzC/bnzb0BxYdBHN93oQYGRV+df7EC0xSH\nPPfNSC4DwenEQqKiKcY1oPlIkQuuVj2VvCzAEcmgIShRSdb1sLgl66UGAGp5\nvjBJQDCcb6GHFJsysX/ap+gKkGRVClaBH2qNMi4QSaC19tp5leMnuttUIvrq\n4VJQ\r\n=dhlO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"24eec5d796d81b6fafbcfa7231fb2cb15e6d5a29","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.7.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.7.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.5_1594809415111_0.5099498999147987","host":"s3://npm-registry-packages"}},"1.0.0-next.6":{"name":"@chakra-ui/descendant","version":"1.0.0-next.6","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.6","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c032a9e6cf81f3150b9c8ec23504fe2af4f01a11","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.6.tgz","fileCount":14,"integrity":"sha512-4Pdpr3w9QUC2uBzGmU/uf8WkRqyE+uRDqC7Gh0LYf7lqcnre7I7HQ885TXyvxDYHdfdIZjsNSbQuqvncghYWkg==","signatures":[{"sig":"MEYCIQDVxZp4ZwtOhpwJ4yMVdQFGk1D+FOGEfnNEpAnLSyFC8wIhANOYmVGBWStrw4hzAoXZtphV5rwhuACfk8f1SM/8Ykxx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDyIwCRA9TVsSAnZWagAAbwoP/3eltUnDHa7d+Orz/wM9\nOxvZbPRPJbAJLfDMjmlXrx0ePd7W1Im5bpSID/xdngp+xsR+/pzHmuzXbt5T\n6+Xg27Qvo18kWyc3pINqFJNQJ2kHzbk3f3WSaX/r3vASrXXAXjAbf/77HNfu\npYBpY9s7nP/RYlYZIako+7hIqNj4TLf2Z5rfIWJptu30w4ivIb2sjzarAPKi\nNmuZ1F9Lp7YQq3OvEQmGzbiXmnDgDrkS3+JWJvBqVlDdYz/MwzcR/H0Ugedf\nnDCcZ+qUjv/MPr1KmOJlg9oUvMOR1N9ulgzR7LR95wUqITXOdouAI95XxAJ/\nK2CNppRVAUyTOoe6CtW1FNLszVEm0rDyYJMg1HZR/ClWoxll+wRmfWbF/Wb8\nTzHFbbVqscFecU8xAL1GiJhKWCR9EG9/hnS0eXPNbDijn8logrykcDLoaxZm\n1lE2e4+vgsfU9GBEH5BrsbHk2j3YU1O0vRwF/skMJ/OXyIDL+FppBnX6uakx\n0pAXHinAwZmmTLvCale2ZpwhizX3gpj2Vz6djyRyJtDkvxk7qtVnHtF6lD9C\ny55LzqmbRCLteFfqN2lDJlpyBNJ7J7KqU194N1uvA9+Y03WrkDzITpT7GHDy\nECr00UVR8QuCGDxYplodR6aXePuijk+/y7OEKi+96c1VI6W65s/N8/P00PDw\nWqLe\r\n=mcSz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"72eeca4ba3fc6e7d8845b0d283a03cb6ec384a50","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.7.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.7.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.6_1594827312295_0.6031775972091968","host":"s3://npm-registry-packages"}},"1.0.0-next.7":{"name":"@chakra-ui/descendant","version":"1.0.0-next.7","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-next.7","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"ffd11845c4ff481611446208ffb15dc5fc06b53f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-next.7.tgz","fileCount":14,"integrity":"sha512-JO8oOvY8+iPXwehWvK7o4aIEQ/gZ6Jrt6AXiM3amy3e1+JvZpaScY/jleyHUqNTKWsTHoDOZIA8purzLlG6C7A==","signatures":[{"sig":"MEYCIQDp/WIEbkzdB08rRoHGNGPhJMvV6V3q3v1WKDc71nj6hQIhAIVkUrx/4yPbupbcimd/bEqSK0/OUKpkBXOdXzxgcFAN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHX1DCRA9TVsSAnZWagAAh/EP/1DVechWntp4Hh6YtXRU\n9Hy9njvNHDXEKhdqjtH2QBTRWF96RilMUZwiyP2smb4/4cPolSQiMsuAJiBL\nXQGCsc4ITS8JkG6Pem7djdEO4MqafqDfCsgHQ+dxbt15hl5YOT+DWpkq+FDO\nj7fh8iro44oXMOni2eZ2y1NprmbDCvClCM3ZfjSVFpDYzaBzbfy311UYnLun\nqQMTFwWDecmjf8yUooh23EQS++Vqp5o9gH1Jt2WYvVmm+gNOvKTWxUEqYlM7\nwmFRK2xuXthWjPT70CQl82xld0sPZhHbkK6TrEBSkHatQjDPbSHNTU70G7no\nerxMz7Z08ZZVfnekGN4CCx2NWLzgQ1WHOQEjDLPhcNn6Ss6tRQ/Atbhk99Ug\nXmMYchPUI+b250VvanYlrjMUqXRbMl2rUtVuZNB7mSQR1DZiFdfozXZkXBdp\nB3KEQ2uADGE2K4R5/2JSgWSXDEYmddYxgwZQHYj4CvHinnGPGoT00u0qH8nM\njayy4mWWt4OPtPHoEAzVjm4/fugI9rtjgZhi5RYeUNDm1WYnnPmbEddWmFUA\nbvLC0JrNNLsbfzrp+m+TUqQos6ydh8xoOWBNlSxs9IC8Vx27RxUmMSsLLmw3\ntRdqs6TmGfM2yoKH+lr3JcDV+22bWviJ+39Q2zuU3rSk37QmUc1iaBV54cGu\nRkAd\r\n=J4mJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"3dcabd8c7e21b32ae1b61485588f70370c4e626f","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.7.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.7.0","dependencies":{"@chakra-ui/hooks":"^1.0.0-next.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-next.7_1595768131625_0.8777958135700015","host":"s3://npm-registry-packages"}},"1.0.0-rc.0":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.0","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.0","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"8ca7b216c5147bbd7b14a580e23bcfafb2ed5d41","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.0.tgz","fileCount":14,"integrity":"sha512-UbP9ybWa0mvKKJGnfcc9/1tqhOCaMWaEgSXvnILDcHeD1YbuBPCxw5JLYkab8Xc0/ashpEf9GxOBNlGbhGiG2Q==","signatures":[{"sig":"MEUCIDfk6sTZtmjSWTuK/q0NscDf8YkRj4Pn1tkGxgiach8EAiEAwuDAeZCiLEVxfoRS6H+v4Ih0IVu6HiE9+8b+cuj65BA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHaf6CRA9TVsSAnZWagAAUMMP/jMR5jCOCvI8sIfi2D/j\nRftNj9wjumEnBn86lz33Inq+nh/wg/LvhexWM3hGdNjdkjd8LlBaDmhnj0We\n6NH+L29WCCNg7CKmfWv7CC484bjAE4uKEDZhJsxuKRiP5G6+HOZgpjLRfJyF\nPz7NBT1hSqwr3QmjnX/jcOExgB6axkJZjASJn4wOb9oBhT96mEOGmc5KVPGc\nzYabcJm/YB24Vc+Vy4OvJMnHOQyOK5qKQebPqUmo6FI9ImpalBtNlMlNMVaL\nYgv/4KlQWqVOON1W5IQh/jJJAYCY5cif2LxRZOAwWfXM36fRAcY3PD95/ldB\nrI6RHG8a/IFiNPBLzV4LYI/ocy9KLkywLkwxfEHJciLsNOIAzNAmuNK+B/ky\n6FCPpl/WT5tHa8EqwREQiBd9YcVJn//zHRhA3tzcLo8w0h884Pr/ZbHCzikh\noTFzJm846eQnBRGNxPkAimLZOlLW8AerU6+pkum9+IzEYuYE1hduCR1vK6zw\nh9+C+RsXF1dORxbz47h2BWPZUpeZaSULfl5ZQVB7ZkvUKP4Jiwh5o3y8/mQB\nIHuqhntFeJFPp5GvyCVE147JAv9TMwYlLzrWrQL3EgrCP0RUevP+3zZVILDA\nj3zduYsb0BOGy5IaoiorxQCpnMbnjGGqi+6Mpo4Z9GIwNBNl7yyvSKIDG4Ea\nKvXq\r\n=SqPJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"60392008d42867da38211687e2491f02da9975a9","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.7.0+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.7.0","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.0_1595779065965_0.021552907908069185","host":"s3://npm-registry-packages"}},"1.0.0-rc.1":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.1","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.1","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"06236b7e7fdaa76bcd61ea842bf2261ab53728a5","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.1.tgz","fileCount":14,"integrity":"sha512-PCsx65u0nsvI4qe/AIC+GwCpDDsspGHs1YgrJK8oOg5n2+WNZAIzn4QIWk9KoOPoR4gdQvMdF0x4JCPLVCfZgA==","signatures":[{"sig":"MEQCIBvkw/YBj9zobvfeFA6nwymvQ+TGdBeRsAuG4Hu+GWmiAiApU/ocTYesmSfVfRlYUVuOZQPptRI3/05YmkuZQrrYZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLHLGCRA9TVsSAnZWagAAi9cP/2eT/U7dZSQ5tbdHMxlZ\nl2X4jCZ4GjRjxVUKANQ/CRz4+Ui6i3yYSh/AWyLS5dWKHpB3qknuM75p4Va6\nyEjHAUDnY4T7lP8uGxT9CuoR5mhNCw+0xCFt4jkCVWbumPCCZVQ4DmQ/QXm7\nmmvApzsb/yRJrwkj7286/NZX0PR5hodjh/DbE9SCXCksjyoIseWk3+ytz3kM\nPO3OabOLFpliTcxKHvPO4ZrA3z5t9sMHwUOX3YDgj1KEzAO24o6u4hI1yu0w\n4t7DPPqdxp6h1eWzoCmLsAvPMKml/fLBcCaIOz4uL+WjhmujuDFBVlp3YXAK\nDR9NnGyrvGdYKf/G+Bp8fCNplxgDe7j9ztH282xIXFhBqFLcLbA5t05EfpOy\nO/k8IW4oMr+bn/4veNIc4JjGDu8pGRJMd2gAq7YSa0HnKQ3nQcYcELRq+SbY\n9zazj3tV96G2R7h5yH+KcMzFLZuAlVhqGGZzXtcgqmb9I8MlWhgpRXbZpXpy\nQUanEETFC7XcKIvdwNW2P0eFsJsxH+8BjfnEiIj+5autVKDWxxVsdemN2588\n3jzhELC1MlysMrUUKdyb8P5za3sjQ8kiB5zFtUgYO5USei+pPOFw0ChRFTlt\nMntmbuLi9LsGcWAbMTAM7hQDN72qCvbvOcCRpKFj9p+vKcypAMntLklamRvY\n/mO7\r\n=aOXh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"e0470c73a9f6be24525dc5458d6fb157096b5ae3","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"with-heart","email":"mark@chanchan.io"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.11.1+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.11.1","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.1_1596748485720_0.6994064648049434","host":"s3://npm-registry-packages"}},"1.0.0-rc.2":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.2","keywords":["dom","children","accessbility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.2","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"06d349072e5f40b9688e76320705f253c517fe03","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.2.tgz","fileCount":14,"integrity":"sha512-Y8QJmcQSxpWlG0kfM9k33F81xT8XApeW+9ELxjjpw6+YUx71FWGYoDRkEGiXJ6bup5RRTdcHXWYTnPOanDO6FQ==","signatures":[{"sig":"MEUCIAWdhxVV99vDFFboYUv/XNpCvL9zGZdUPi3pr9yc2wHcAiEAv4oJKXWXDVbGsj2AdefFk2CgxE278Zx7gndYC3RU81o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfL965CRA9TVsSAnZWagAA3B4P/1iuqn6pioIwlR+z036C\nzqcQJ9Ce1eYHvhzBbgXFX6jG9lYdo02eOUunDNlqciSjfdWkVeODGjZEoUQV\nHNNV5lcqXKEidYBNw7NM9LEH3E/IyFYwxtnbFyY6dkiOP5Si5DsBn6fPD5Lt\nLOZQDGMj5ahR/KBsgeBu1Zv7bLrZMcOmz6HPhKtfQA03xrBOUZhwt53NMHCm\ntaD/lnd425aCR1mmmNRTPsxwW2U4Nn1lT0ZQCIb943FtxPjldERE6KIVMIRv\nNgbGCM/cV7rzJO0SJo7eRr8ljRXNgEwFTIoRB9QrVUCwuqmMxTedxFVkztpk\n/Ii6Pi6Nz8bmLNb79paTu5ESCd87D5QHqSfglS4QIDlYtpOlOfwss41zdbcr\nbcVg8TU7TIull9Bmd1SL/42Jk5UtOMwxfMbyfbHyc1E2Ih30ikbllaT212zk\n4Nfj3lddSdU4MgB9jNlU6PGCHLWU79+75sg4DISnzB33GRJ5olrPcbVO7n7X\nMOJRUYSAFuCxAgGKJscH3cH4TAjl7M7c5pgKCfX6CL6pR4XUCSs5oE0gEevA\nGagDtLPllTzB2Mee7DH+Saw7bC+bni6mzKSwt/6+YDkjQDTyR++pqC7+Bk1b\n1+9/XiuK3UebmyMjEChmabRgO20oM42fDk2f6wvkMCp/WSseNdJF5nj+XS3c\nURqs\r\n=qaC1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"c0a55ae7279887996fd2cbfb410476c86793e1bc","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.3+x64 (linux)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.18.3","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.2_1596972728988_0.9564814493185778","host":"s3://npm-registry-packages"}},"1.0.0-rc.3":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.3","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.3","maintainers":[{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d80a803f69ec846517c3736da94dec79320059c8","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.3.tgz","fileCount":14,"integrity":"sha512-Afx9GHbgJK3/PpWI2H8ogSAYA5CHIt7VflxWctEcQrH6LrpcMRfdH+SBHJXrp7zJdQ8TeyEkbL+rKBdh4PZveQ==","signatures":[{"sig":"MEUCIQC4IIL3Mo3Q3Zw4Kh6T0mNWQOxBVHFe2PFWhk2uB0AvfwIgZe/W788tpiioSMFiNDsMD/ZM1A1m3nMui0XFITji4As=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfS8YKCRA9TVsSAnZWagAAQ90QAIxIq7Th6jGE5ODAVFKz\n2/nm0eTonDjkG6qeSSV0E8lBIg9TswkFSaedLrWB4HkdgezWUX9LPbawzGQ8\n/8G0K2joHjSnub9j3g/N0HHKylaidOrrg9FQJIL487+mXtfW8eiudzXSmzqS\nUDOLr7/Mt6YemTGioTahBzJ3qyggSceTdoT7eymBmGBwm/woHiJ1hFkf7pdG\nu4QmxanGXiWPfPnsiOv15mwrqD527963q2Y0JRqSRDkhsZs2/GS56GbGKEkj\ngDpbCnr7XIREKKSsbuppUeK5aLGKGX7ed0o2zT/SW2iawIn67TPcPziXY/y2\nMbmmz+oZEvhyZakCk9Srg9BW15TwP7mgUe3TJ1zXHdDo5duOpOQdTg/mmkYT\nINwuIg4Djk7tUNWBOXNnvyQsvgl4jLcx9HKqF7/T/IbcsXWUosugy/klniTt\nFjx/OOpGzoh243cAs+QFCVkoU8IKm4V/ELYu3SOqXLwWJ3nFEn0dFUMeWkb5\nTTgMSvUpX2auX8v6jNJatTvtHb6jMsylmb2Putik35ITEv8lg/BLXigdtkgw\nZdCI5LEaKpFq0zR+wX44curWoteZXKMepkaxESTYgxdOjbGoX/8XYrBY6mOC\nDPTfUhytzig1tR/N3jR63mnIvevh6RfE/8MhLTU1uBuRarFW7hnLTUwK1odn\nuREX\r\n=ReXx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"a0b689f3a2b1589d58e4d9b0c8a9bbd02ed90f6e","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"with-heart","email":"mark@chanchan.io"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.11.1+x64 (darwin)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.11.1","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.3_1598801418329_0.31338590482156237","host":"s3://npm-registry-packages"}},"1.0.0-rc.4":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.4","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.4","maintainers":[{"name":"with-heart","email":"mark@chanchan.io"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"14b6a3198940f51735420b7c05311cf5fa3fc766","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.4.tgz","fileCount":14,"integrity":"sha512-fRdwDgMJTBqad/382fXs+eo8xgIDeDgq60/MQldt8xlHJGVA9lYflayulNMgC/5Ixz/MP9CWcsu32O/OO0iTdw==","signatures":[{"sig":"MEUCIDSJMo6mqV+FpsGjK0z6igzIsXxFuLE91e1oGce3aLTxAiEA1GPpv6EwvNQlJ3q4JqWWAZQXMc/c4QyLoS4BUnGX+Cw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27662,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbfncCRA9TVsSAnZWagAAdXgQAIt78efRxgD8hBr5bU/o\nl5lO1VlqEPeXdDkPl2YRloYQwnn2O2K4nVWMX7de0UPjs4b41B6hmZhUkGJk\n0Opf1zcegig+0OXhDzrqNLVbyPQ32c84i3XcOhW+Y1WXxEWDwNhlphGgjxyG\nykAwk5j1GFLiWI4sFb+AX7gANGZUrKNm7gqdB4B2ssBqVaeOStyS2z7TqfEa\nTi5wM2kw/BikkrHnFUDoXikBNu4uR6Q3GsO72c+pUN1lZODbpaPVazfJWy0N\nIXXS6OW4vHysJZ1PNVE+GSQOQ5BqFVeQJhw3sPHX1LY30xQi/Epc+91xnUKi\nPu0R9FDoeMLEzDiPwWAKYdCH8nGVo5TPW7Op4r3DkGleurLBriMr+5JEL2mF\nWFGroDaolc0SdR2k8k2DxAXih6yY2MfA519mtQo/ZVwpM9tqUjJxlV0+lvU3\n0XKu9grDDksyKmH7x6P+T0DRDvQ07bgGAiF56cPWoZsj3vrBTHzdDd69OkwA\ngSDSyxChgqkBcXba8owRTi5N8bSfGSMWaFXv8TD0Q8zHAA/TEHlUMPXVrUqA\nDRXa/tboV+cROazjKO0kOXTCh0vC7VdMtdzCzdnEL2yrjV71aeZW7iXWwdJY\nUR4owbfpXNfsDxgUndF7/zDLbqaQ6Z23md6JEfmBEsxg4guABN77o0+J3NGr\nuqF2\r\n=iip6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"830b8587c572a4c20d6b56b256accd6686255819","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.18.4","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.4_1601042908226_0.5322290888210619","host":"s3://npm-registry-packages"}},"1.0.0-rc.5":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.5","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.5","maintainers":[{"name":"with-heart","email":"mark@chanchan.io"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"33a4b849e79ec6f4a116ed9cc6193539b423b005","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.5.tgz","fileCount":14,"integrity":"sha512-2IzfZZ/bPFfJbQmUFIulMDQwF1YeVWpV38be7Kv0VFHbF4vqVSEM+Gd6BCrT7mtmH5FdqSFm7eimjQEuk12ydA==","signatures":[{"sig":"MEQCICRRbpFycr/p+kOBFzJkLXB4eP6wLqnWEJ6gu5zhnypBAiAUR/adh/A5LIYIJrB9OBpXGZ/5lj2nj6Rd/ZH/IW9VNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcPWtCRA9TVsSAnZWagAAd/AP/3YbX4yRNQhvB4ucvZzG\nBDgrlv9M9bOArh0FJSs5edFm47EGtFM2pKgrbsXRnSYRaFlWgLDu6guXR362\nJ3NJEUZyCbFlNtBTgXn8a0EZ9bAxt4AQEOAzqJKHAXYhmom+vcsHFEYwn5vy\n9eCYKXkK9PrypjnByYj8+RH7KkGqriFSr4GFcKwTqKFMajsPKu0u+aQ/SidT\nPAzCfCZGA8vki3+dTFxqos5CaNmGTtsTOOT2yQVQ3lqML4xHyjbXVJZRAmAT\nHLB+7OV/iIFtqgXAEi+m8MRW/ErIg4oWarZwOID/a4HS2Zo9Z0uzcX1cRUsZ\nmh/IXAcoH7uHi5zPfHr2bBZisjiyHFlqfFyNkQzCz35aXLJMa2W28WZuOUCK\nuB51jTH2LLTZo7SIq/y/vCInfHHjbQYW+m8Y6HQMBLn1MxFNdaKolP+cQ3hV\nUniC8PnwIn1nbMTbBIT4nnwNHt7rh+GPXS39dIamucMHfBuRITcDe0/l3r+P\nQK5u26cWFYwiO+HIE8g3XBQclJIGbcJZrp8IJEEBdkyBg1hkde4VdcTPtZ4Y\nNuaXk/ZV2rFex5XhBZ1SkoZJvPsDZGaHkOeQramAba/oZ+sizQrc01332EEN\nSltKeJ5bX8YWQxsAlnZ6v42r3a5sVNFhcaJGY/SSbh33YCzg17/7eTqOyg1+\n7qal\r\n=gLx9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","gitHead":"b5c8482b778b19f27ea1d6c8ab6d5ed39c664afa","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.18.4+x64 (linux)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.18.4","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.5_1601238444821_0.7463126127385533","host":"s3://npm-registry-packages"}},"1.0.0-rc.6":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.6","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.6","maintainers":[{"name":"with-heart","email":"mark@chanchan.io"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"e3dd2a3d58a1bd783139c3682a1c942215fda387","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.6.tgz","fileCount":14,"integrity":"sha512-4CbhEIFZ0UiV9VREauuL1wzXNdnttb38QAB3agX/soLSa+CSHxpPKNG74QHzBwmj6IgWmW5dEZtlHoKTJi2Igw==","signatures":[{"sig":"MEUCIQCpLV/DRqhtzyHAXV+9dueeCS74yVThtn/Bre81QGHBBgIgYniKQ4Qz8fmNVepDS617nypmCfOPw9mhoMCwP17p3DY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflZz4CRA9TVsSAnZWagAA+xsQAKGfitErHjHbphaFgocn\nKZS8RwOSKgt5C/jXdbsOFWH88bspnOUpjeOMt0stSd0vC3HpqxuLoBMKBg0r\no2XKPOrJmAlzZc3bJtEZt8YJ9eA//CKh97MC1uRvoiyMtylWGS9EKOi7FIN/\niQLjItHsfSSjSUF/ZullvYgeRzalfqi8FRTZRggWMTivq9b31sRXz1AqguAY\nI50IIaeMpkP/45fRq4Uj4qxotB6W/BSflKAqh5fguMDtPqmAOLRkPmzappMk\nKDlHEVPG9cjpjOtU44/8vVZjq60NkStTVh3LsjDpMqwcMqqwD4akl508Uy7E\n05rxxqbFo0w3TtZH0gaZeEOjnp2Qg1EenAhEeORxH51MWgbaHg2W1aMe8DmF\nbvFxEJxVNA2YROsmRdUx8BE9DeZ4pbVwa3rHgAtiPZQFOR0MT9UsTd54F66T\ndqkZ24KM6gCdg32NW7bA0KuhTblrUdWYxD3piicxQHXNc3vYzDM1w7PbaJGo\n49eYY/7FMRK2RVbF/u4d11Xjwu9a6wqAW1BVKYWqSwD+NeHbsgfYB+sukx/f\nitc4+xTts8EMOWU84RJaYUqaVFW+QjsAz3+vi9vsf57pG78zG6lO52JktNE4\niIp2fuRDX/kJM2NcxdEN1wHEnMe//oWSAqSWNXTNtt7T34ZHmmOuvulqeSLW\nRHwT\r\n=AOZ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"e55b45840d1edc821ad0bb45632535333be5bb86","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x || 17.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.6_1603640568392_0.2537949024203159","host":"s3://npm-registry-packages"}},"1.0.0-rc.7":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.7","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.7","maintainers":[{"name":"with-heart","email":"mark@chanchan.io"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a01e31c92527772be4d5053abbc80768618b90a6","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.7.tgz","fileCount":14,"integrity":"sha512-z8G1nL1wbw3/aHdS6NSOvoMfcn2i5eA+r+XJuibN9GMc1+7PlNW4pq1Tej/mMUCFwtwrtdL1otKeuDwHrbIDNA==","signatures":[{"sig":"MEYCIQDej1QtVqMmAr72O6pSIBhi6oGZOEJkRFooE1ClkgKWNQIhAPIfUX8xeabzV/yfSqGqn4kuJpJq9pHIzO1SBAKze6k7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflfBfCRA9TVsSAnZWagAAovsP/2h7jr65Tg3QsyHMRdMs\nqgdrFCppOdizjIzyZhqdozwXw9bmJQeZEyuhJ++yW2WUof0/SOVw/3X7vQtH\nu8GWblz0xvFgZJfaepJjInbYCq+cembGBGU1LpTDROK14WtLU5uul6WyPly+\n5hXy1QX0Dm8s8Z0+ylfgQEUCP1AlhJp2volKcOLmSg5BqCfKQ777Sskz7Ny8\nJT/zXnGBv5cvuFWh98BJ8C1/G7rqf2XEaQn+BavUhhX+VSVHC9fb0H9mFJeg\nZu9CR47YFA8/E5HtJ2043VlVBck+VCBTsfJqfZjqQUnH2bF32Vwb4ODgdEuv\nrw94WhD4MMl/q6hChmSfxLeBhS4ZZEAKogCdcwzu60Z8O4Bg1U/YCUSy1c1W\ncC/5AkyDWaPgMIqSKjTq6v9n5ylDoMCUdWoyaXXZKt4PfWqzJjbj5CzjkWnH\nlQJLwUou+6YEA+vFyYx3L3juXWX2nV7fSMdr3Y3RyyWOF0MKuRZ8cfffPFUs\nkPfQ/0RZBhH6C1JVSvif/B9H5pYOZLBsGvPUbGyubuJYb5GIfDpffp0vcRou\nn1KD8WrtKKTGMZdRiOhklqSR3CbZoG7nU2ib7WT4h4LVN0wuI5RRAzsk8M9X\nj60e24qV4tFHwEZo9wi2m7H3BtOWsH4Y6V/4vxACFVFJmFiypjeu0/8uaQfV\ntb2J\r\n=DTR4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"6da531af61ae3780c764590cbee62297fb206e46","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x || 17.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.7_1603661918852_0.8307651290362876","host":"s3://npm-registry-packages"}},"1.0.0-rc.8":{"name":"@chakra-ui/descendant","version":"1.0.0-rc.8","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0-rc.8","maintainers":[{"name":"with-heart","email":"mark@chanchan.io"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"463f5e1379cd6a93b8a8de22775e4c44c9c4fc2e","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0-rc.8.tgz","fileCount":14,"integrity":"sha512-JK40BihvaNZBlEss8Ez58Ccub0XlOyJVJkGm9xPva7p5MygeTlqwXu8dE8IhJfDI99AFheMNPY1r24n1yoYOMQ==","signatures":[{"sig":"MEYCIQCvkJrtTXParksn2xGtNJgetiCTD6oBIINRXAG2SE6z1QIhANfk5fGzyd/dUBRbogk/covfkYf58Ev40hv4PS6oHZ1o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmyT0CRA9TVsSAnZWagAAA+sP/2WlHWez/vPUhw0xuBgp\nWNO1uyGWT0wFvN5nSBAKrP5385ne/aIRCzZs8cd8MuVU4WFLxQV2u1KpZakJ\n52HGTrWwUsLYhU2bUCeIBvRpPI7hcf6ayFKgNXYUlLv8DK062wa7dfVyDeUM\nuvpgTTdWsi3ybgYWRMLYxb5K+pt2L1G6T/0t7MizmhoVtj8dYR6oRTqEIeGk\ndK51edUcKcohaK+xKV/bFL/GGxpsnTEbnQ9O15+g60E3UU161/6oeDM5Mh//\nBEzDvpDg5K43BqkVTa38OCZLDcCY+T2Lu7ynptGB8TBI9jRlzALFWD7tNE3i\nXKVtcixE6Pb31+C464jVrqSKNG6d6EuNdHjd+pCUPqv2WI2nkGCInziNq6Tc\nqJ6GqDA57Vf6tWtppm9hZHuofl6kMBsSm4Oiwg8yit1+l7XhXsSaX59ETSLS\n1pvfYxEVK88FP5/MG828C4gjjHh1HLOLrZZhk/eryv9jwwFz90vkP0WAFDlW\nBb2mDJ5p4GElrmm0JI85Kqf++dNQVj10V1qeyRvg4D+Z21xYOl42L9iPrIo/\nitEHRbcXvyBusYxXlF1YWesR9Db6NNcge8r+/CJE28aJRe/335K/BFrAG7Kx\ns2hsa6VLbnqVfHDzgnGPNSSNnIvz7WeHgU3odCMPlY2d8FNGq1v39lNqc0TM\n1asr\r\n=R6Rc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendants\n\n# or\n\nnpm i @chakra-ui/descendants\n```\n","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"de4cffb1638e8d10cd74515b0289d70eb94931be","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"@chakra-ui/hooks":"1.0.0-rc.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":"16.x || 17.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0-rc.8_1604003060304_0.10311973950793174","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@chakra-ui/descendant","version":"1.0.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.0","maintainers":[{"name":"with-heart","email":"mark@chanchan.io"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"7241fa9c6a9a1c6b7e7f4d9a0faf99f7eda20675","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.0.tgz","fileCount":14,"integrity":"sha512-5rsHppUp7Ua8m81RrsvHaDFb2nPDkPcmBQLFLll+HHdDo0Ar7G/PEQ9lpagtUK7TBGRCA0rAhMbYYO3BtVNyxw==","signatures":[{"sig":"MEUCIAvWpgj6+EgyHuKVPDQnQLXyQ9SiewleOWO7wXrOLJgHAiEAn4rJXlgftT5gDwEmI9zHaSbR1yA+z3+vVgpG1J5y884=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28947,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrl31CRA9TVsSAnZWagAAOTEP+weT3Uh2YjYTfvm9AKD6\na8Le+Nd3fGY8DjMEsKG2JaMW42ZYiLaUAkErBg3sbmd8b3eGqndCFMwHawQn\nIkA9bOPizGHTUecZ5sASSN8VWza8Vxpwry/3eq2ABdZmjh9UdTP9X1O7v8Jv\nxDT5rBBo0GQR25gmSFw0oVxK3ZjZaHeX3ykeFeMvRIiR+eArFNhDBsZn9Fyr\nrED7qGVxFccLbfjf8DHL84193PsSlFH1w7t26NDEH0SMmGesItzU4EE8la5t\nPIUE+7OQiQFhP6esZQZNYQ/RnA85cL0kAX7ZLDiPvWhu33Y539t8cnlw9lTl\nZpmylhhyLqU+YdOefmtQCc/Qk/FRtM0NMyA2QTga/+HcapA55I/r0md3W8gY\nd0T/SV5Z9NwDjOroGk/RJkL5VzCbSSQ3ws7VU2gmhNAo4Q0N+FukfBK5zYW4\n+F6PDJ9EsWOqbHjfgjL50JdlDeKEv4BmnHLAknhXva1vZBm8y6yyCH5v5QKJ\nyAwQe4FpNFjpvFON6xULq0Rsu0ahACxCrhSpb6ai9zc0Pxd5KjRObCpGL0Nb\nuwylmXJb7gvpaOpDnpBZkTRZcJQQEySI2i6eWxYZMDds6us9yihDYzS/k2pz\n1CnQrAWsX2dlp12LDH7zReHpjXpNPjIrtEYGkF3cSb77enZ1UfQXXhxVYOBw\nqk/B\r\n=IV4A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"c98ca366cec7151fe7ea4e0b6f893088797c5398","scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (linux)","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"@chakra-ui/hooks":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"16.x || 17.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.0_1605262836675_0.5411890316857868","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@chakra-ui/descendant","version":"1.0.1","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.1","maintainers":[{"name":"with-heart","email":"mark@chanchan.io"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c4620308853f8eae3c48574fbcdb9efbcc182f17","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.1.tgz","fileCount":13,"integrity":"sha512-1Pkud18gYGtRGobdMNRhWEg4GTQiZUs38dMEktLynTR0F8Cjwqw12ncWCKfhxaXp0XTkWM21cwcB6QDQtFaH9Q==","signatures":[{"sig":"MEQCIEdyOh4c1PtaOcsKCLPxNrC5r85A0CvQ3lkb0MO5uUyJAiAVwIgVgHlBVkSDLO3W2KTuzxjAtUf688zBye2y3uLsjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuB3lCRA9TVsSAnZWagAAKIIP/2zPwvoMTZRqb+ewTTuY\nqznKu6P1hjW1iHjqsIoFGJtOHUaCuGuYXdCASdohdzqa2WEnYGx7nT1gU0Jg\nvYRj2kWRe0RMoa7mpTqdtMsxzMzV8y9KaWSeqn6Zbg3kuV94eA5FDsddlqYI\nVtxghJ3UlgwL4x5SVSw2GV/IfpeKXA/oUGWtO2S2jWBpztKuYyz7d2SbFKor\nfRa6ygnHG8JEVSnPnROo33Qy1JGEI93iEpy7mrF/K0NVNDYTQkeaxUHl5hwC\nG1U8VGF2M/Sd9BDsM7Ba0uqe3QJAJpA2CwJq+B1dnOorROtBMxQbG8WvgBus\nxj/I0ZnnRtave3Li+W1l096ypuXG2Vt+pGmS/RTLZ7jrE8pggR5rr8LLhnYp\nb3YPri1zDU0KUaVKi7p+t5mkMUUHapmcT9B3Cu2p798aWwo18e68FgaPsX4l\nHJNV7YZCSSc6JZelk65zix8upixadx+zJtLI1QCacKZsufVx3FfUrWso1qCB\nrvCRWBaWqQOF37dI4Ft+d9lod2vSCItsUVvOWQNqaaUjDPi85DzVugwtkKf+\nV2RWi6bPZhhgBi0mEVkrtBii8Qy5HZntG3Bwyujk4kO7kmxjr/2d9aStbzLk\ntuGi7DHPwtwPisa1fJcqSEiLmslbfpthJf/UkSSyCD7/9KjwEsymzCBOauUX\nvM3m\r\n=fmzv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.8","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.19.0","dependencies":{"@chakra-ui/hooks":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":"16.x || 17.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.1_1605901797032_0.5554242673131906","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@chakra-ui/descendant","version":"1.0.2","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.2","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4d848c3ae02fc34415cf83c81bc9611fa11f95b9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.2.tgz","fileCount":13,"integrity":"sha512-QkTguL7IWX/HRTmKFsMTJtd94kJ1HkumrxqtptL402ZHavM0jRHyGYEUeGpXg5SUmfNFxPm05vYFdbr9/F2ylQ==","signatures":[{"sig":"MEUCIQCmuaHX9JUyhD+2WEr+c3u6yLmIQQWO+B4YNnP9/wGPfQIgGcCRrdW+ImjHL2GJ8J+72AW2dSycXCsMpjETDy8uJes=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf29AJCRA9TVsSAnZWagAAiaQP/0DiSHzGtiApw9p1Nbpo\nI+0HOLw6FJYYbClPkPjeA+P3aPcs2jhTvFrRuurfr8pn9x3pEmw5yTraRN6K\nGWa7O2ykF32vV1o9Xe+xV369L2Wab7Fy9aTvCSbWToo8n7U1ZPmf7UDuX7Nw\naR1FralrenDTgMco3d6jQ1tHTwHCWqISdQ47J3NjgWQchy8AsgVSv+Pd6CWs\nfBb71wPS+Vd2bDaTapfeMgZGJhHRryggtQqiWnM8+8M6lvMXPoHpUTsFwZXR\npGao13am+ZA7QsTcy44ieuz6UaNN03EwHWb7P0N97VFKVMu3WqtBoBXBYx4a\nZzKrlsAyd5GNnhwQligkqRM7W7rVsRpuwYFfYPfSrot5X6R7Kk15cGibL9Up\nmvJ9nKvYqp+L7J8x/JU5GJN3PB+SCiE+zwOozHluMnVeAq+S4kaWXI4HY2bR\n7pgc5RhQM5uFpnhmRRBYEKGEo5l/nNXADAvqmat/8Pa+Fmf/Y5V+DfyGR6ML\nTZaf4cSMu0+rdCSif6vvt+qMQDv0SUsZSdZVuVjzXDhhX+zZew6tEuBLQX4J\nHzZLcD32kVBN4/wMZQGY9AS3lDHMus672Hu6ctqKIWB5Y8lOIg099OZyLt8o\n75y2w21thQ5LPemQL6C9p1baYahTKHPpP4Bzrq7LPGHmMvnBNIGbkBbSddLu\n0uw0\r\n=i0cr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.8","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.20.0","dependencies":{"@chakra-ui/hooks":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":"16.x || 17.x"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.2_1608241161419_0.7441030424011281","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@chakra-ui/descendant","version":"1.0.3","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.3","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"bfad8da185612425d8b1f94b4b05c4a472035947","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.3.tgz","fileCount":13,"integrity":"sha512-Y+beAv+Foy1hfnCucUdIc0eF/A1cTMZZMOXF+hJpOJjL0UVTVhMOntRvhbVfWvJnBRi1KuX2CiwjyjIV80D/Gw==","signatures":[{"sig":"MEQCIDcX0XGtzcuRQRPSpRNO6N2tJBoqavpXYM71vej/7orBAiAnU3E7wqJBLnakp+A4PJ2EDpl13WQILcL9k2Imrb1L/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/ISGCRA9TVsSAnZWagAAu88QAJ6SCj6ZUtdUYomAJc0I\nNjgBalGy8/wBOv2B3ZijLu1f1txRkbqXdXhMzWtaiUb5Yostxm0sxir6A1/Z\nyLXZPVNtLAuBnfJLC6MRWuysqV3vb6Sq6FU7jJAlAPFp8sC8bf/pxLHht6CG\nvE6Dn/D60/YqzMyJ8F07GwU9hAYHY69R0ZHwldDEbxeQ1dGA6IyldZc5CKp0\n9wupWmpxa2uNrwrkkZCkJ9Wg1McvTTs9Nos9Wbb/2OznvoDJzEqlSSUxSjVw\nS8Zyawb8ZGLjHrUhPv/Wm/UMHGYGpZsB94JXXE9ik0fxhLjiedTJHs6JloTP\n4+uk0/vWuOQnrzHdK+dUFXLBUfJBf7OLCwK79i9mU3laDGGlFADxYCPwgVUG\n4p9DvEUgqkE5sult05l9qqT7a3aQAVccQ2hoqy5nAEDQJPBqDcMPZLBayZga\nQYlXHG74Fflw85OKUV7S2BU3yN5cuGpLQLWkkiVxpyKxCXKqStAxqINKyzdu\njDbe4QfS3KOFSux69rqXlMeuKqEx7ifkS4MnlFrUfMWhVrzRj3nRetq5Ir4K\noTD263939xaPLeu2QGnrcI9VkgFKRi25z02osTpxbvofM3NxHa+SRFDoMiLO\nI3pZ/FjS258qRyxtlI2DpImoRjXsUkmJUEfPG+2sJ9CO3nEybb7xLaQie0GO\nBgtP\r\n=mx8c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.8","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.20.0","dependencies":{"@chakra-ui/hooks":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.3_1610384510480_0.5489824714221812","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@chakra-ui/descendant","version":"1.0.4","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.4","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"8438d831fb19d2e3cf538d58e4ddcc81cb533e16","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.4.tgz","fileCount":13,"integrity":"sha512-oliOSIP4R+FGWAGpLIXzkrNXHSFfe2I3uGjFL1Dro5rEK0QALFfbBgjkz2SckhEobd4jZqOLeNqeQFNW1DXXKw==","signatures":[{"sig":"MEUCIQCyWDDeYFY649zYzur/RgKzlzE2K0Q9U4gW1Y8sQw1ucQIgAuNjy8fsiJW7IoEkOJpS0LKlPtTsu+EwtOVq8DCxnKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBJNfCRA9TVsSAnZWagAAd54P/1cD9HfZF5WvpSZqxu+c\nGVygyBsS5uChHMmZ8rSDny3V4BjTcYWmv3jqdVbwhlxBYGdbbq0J52lkknkR\nSUS85VTlvT8Q8RvessSlqhzXADotf6EsSJPMOs4KoGevGarG+ZMRtZJg+/aB\neBP6EcmDDPY3eQmwdIp/9vpb2vpt0N5tKNBZ2QxF8k+6uTr42cjxO/60/jvI\nUd8DtGeZJhIG59SXYJnr0En6SL0WZhj/xz012ijyJcxSF3S7aZujs32iDu+5\nMUN+ySQ149ISBphc2xx2TFwkYNGfgEXp9I0BWvRWZWuxOvkQwPc0GIG8rNtF\nwpxrDAm54JeYDJHruCHukbOrpd4vPfk1yvC3SaOLVOadXPcd0aSgDc46bir8\nG/CgaH68GsmPPbWpm9vmN3nv6BxIQyPQaQXF91WNm71tClJRvaiIe2oaEWs1\ngCOvE7FKa82bl3+u82oxm9idBCvhbR3aTfYgpDlFNhXOo4kKUXJ8jrkOgGQl\nQvigH91iQYrbHfMrdZ2Ga2OUB07C0oVXM/NsdH2oO3db6+haRqFK5zO4gnmp\nI9z0N7gw1VIh5MqDJH/ATSnHPfWfdgmo7/mMTI6OjGky3/cqFcJEGbxBE31a\naH/1j35m1pcUNfdusU4V/i3ctrd+zDJa9SMLdcPnAxqAPwLoqAaEk4L9BrYj\ndMj0\r\n=skyU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.10","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.20.1","dependencies":{"@chakra-ui/hooks":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.4_1610912607002_0.7099227343714514","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@chakra-ui/descendant","version":"1.0.5","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.5","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"7be0d1e53fd249030b3c7bcc596991a3ce791396","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.5.tgz","fileCount":13,"integrity":"sha512-BTo5Ha5XoLCkiFxhO5mPI+DbvhvTR9NKJ/PnZf06UJiPhs0lK2yOXOWu5iL6PQWZOaDQzcZyoNxjGhtJWmeQPQ==","signatures":[{"sig":"MEQCIG/7QVrLkFQJx0E2H6VJNvFUuH4SMlnAJjgSLrTXCBEEAiBd4oVa/0pV+4BX7SckRoYZ1NkVKxFeVOEJdpuwmxz6Vw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDYusCRA9TVsSAnZWagAAOBAP/Asc5oUw/ZUit5p3qhwN\nqfX7XBUrsbhG752G4nstvRyYp8jKJHA6HsZPGBxKM8rCFkhWJ54kMBQZYt1r\nGCf68buKC99zk4cBzgAv7JMcF0tMxaber93DZQiSSJIp7fHiot0b/1G1il6W\nPVKc2byW25e65vbQS9z5zVKGMV32WrpVg5VZPo2EORCN0nzHztXM+JPotsaW\n384r6WuihwhglplFpz6O5kdFswm2VyWIK+CyAAUFmtvKRQ15ib58+ES7t7jz\nGo3FGbwB/uzCR5VyrOfURIkvFYnumZaOavJN6iTA0kZ0RvB6fSsMb69auvzx\nnZpld7AZCDgs442MPsJR+5RduzJY1WtBwUlRrVYi50OYKXCHLsiAYTm+6fMv\n7Uh+leRg7wkSVbhxYkgmE6fYmWSYPGuFf5PrqXyru5ubRPrAJs/RfMzm+ndc\nrFk9kILT0S11um9XH0iJgyzPGSvgA3ehqjZSwigdAtrAIspFGVlsK3R3SVrK\nwXfFkzthLbvjBJdbUpw09RPCd1xtC2vq4ccWb6YjcSf4uRgpNPunXjyZUPdN\nLKAtHiVBV9SzUbJPNC3L7ogMpWPOUHPsoAX+qFpdfbkozxezjoiMufIvejSQ\nchgNZwhFtqhQNlYcfZPjoFsC6mMDjlcM4rLkzSj0mTiiDCLhVtlwa/F+x7P5\nc2jT\r\n=6oSF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.8","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.20.0","dependencies":{"@chakra-ui/hooks":"1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.5_1611500459690_0.48317937307190517","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@chakra-ui/descendant","version":"1.0.6","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.6","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c21d66de97b3d8e1970a35e53acfd263ae6494e6","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.6.tgz","fileCount":13,"integrity":"sha512-3DPEzHHSETVIJkbB7kt0dkXtzlCTFXw1wozdUAtaEJ0/tP6H58qQV577gglTRj9q6+CIFaB8rc9DeF+9I0SsLQ==","signatures":[{"sig":"MEUCIQDpGGJ3L7CHw35+3f8uspkTjzFQgF5iIPsbWLamz7svWAIgaMP+tb7SkuR9lBPek6DcyyU9QBVUnJpncizzCCiin0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFdUfCRA9TVsSAnZWagAAP1MQAIwDDHSDeRWh94cONvZB\noLrvDLpT+ON6Mmly3a4oLHRCj831lai3CsjF+tbi/sFJWcWXYgcqgtWs/3zC\nGJ5m2elzHUKWuUU/6TCCPW7kvt+qvwgJ5QbGR0ZfxWHFKoftg7KMy0gN/7B7\nzVGfdMOT5G0WFyZZO4iMFjHoMxhRkRZTgO08UK9QqDCEpJNCyGmw6BTiWcTq\n91YjWGKV1CHmqIXe+BqlDWTFfp1GNRbvxz9ZvnOqVrEWOHaFXTFhSq0ITkpl\nBt3d20njbB9FOaeSVnmQcTQ+PwL1znMMweRkRunut+b3T0d/0GTD/ZBjY1/3\nTcpcA48ejIGHO8qzotcTmCGv/DvWux+8cWm18l0/FumBWGu5rJaKXqqYclt+\nF4obkQ2qcwCiGbFaEEYwc+/OiSg/2Bh8z9YWK+39kjyUPvPhyIMO1Fqc2wx+\nHBgE7T06F/qvpuZSH4XYNGYXVxEomdqPG6ppJGf4aekTYaYRN9Plm1O/tDJK\nadecx/3/O3M6HUt5yIAXCxOnGCimxa5VHdZ9glfoNPe9ZnrOpvQ8gHsNV6Vn\nFu689ODZzPjJ/gkeKXqfSLRsZtMoUGfkDJLnjTTUZrl+hzxCbtBGU0SmBP1M\nbOLp0WRpS/ayTxS2Lh0dWb2RQdZiVZ0d6sJWjIuBrHTY2+UwO/b4kFyFdI1r\naW9n\r\n=IVU3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.10","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.20.1","dependencies":{"@chakra-ui/hooks":"1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.6_1612043550871_0.7599284570278981","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@chakra-ui/descendant","version":"1.0.7","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.7","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"22e13fd732c742a9a74c0f414b0fbd03310299f2","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.7.tgz","fileCount":13,"integrity":"sha512-PnyLyV8hD+STVr9KYzPN13hCj7pwSLvGtQc3J1d+XXvazBtmwUIaX9WZ632kXQhxlvdz83tOzDbJPQs3e1VU3A==","signatures":[{"sig":"MEQCIFUpMvwlRnBLw1iqZT88GqGsG/S8g16u1AnL9tRj57GKAiAOrf9rtE7InPShZaYgVV8Iz5xg08QIYiWhTJN8a96Uww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgHoBECRA9TVsSAnZWagAAR4EP/24vqVLBqZD6vVmF3Nj5\nVL24zXQdQNwK3doGQ+j57un9k5OGYNqGj/VOjBgczaT9RvU8lzlRrf2zn+fl\njrk8i/jNMujzuQzG/00Tl02zokUxbY3pugqL4j3PYNyfHl7MyYAfL8CNPFcx\nXILY7oqXcI/treEY8cxY8sprH9yDHfU6PvrDksMxj7LG/E6XHUvN1HjrVr2i\nZBIwWiGV5fsy8ISgqIT1uT/A8DymxncHeSjAN8azkU/ZmKKud0vDWVXdeSb1\n6InwbIz+QkgPUSQOazusc6Wt3md6lZqkK82hpinoOUWuwo4U5n8rbVBVdAUt\nn9mkORiT91WMayneSXV70q9Gi0fq1LK3QByuKwmzl0K7UCWmtbrJ1eikRJz4\nlPERp96diMzo3g4nMBLMoXLDFB9TZim6ZQLV8vyiGuh2FgupXoFUlhNly9PM\n7WVQs8HmzLNWeT1TepJ6fRNEdS7ElyY33AZmwyOhSf4VtUIzSGZ5Jk21+AT+\n6lt2aZjeIAFmjAw40AHbXOZdQZcS+oPkigTA6eVcBZuZMYLM+blwxCUrx/rT\nHP5YgrWCEro1Z5KCqj4XllliUZl2y0RgaA3B0PrWWqHo0/eClS7IIkEfePpJ\nmPkEBa4VXlQRqKtxyIso5T5LIrWcsFt9H+R404g/dCIaQHJhNhyo+1S22FRR\n0KAk\r\n=c9ZJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.10","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.20.1","dependencies":{"@chakra-ui/hooks":"1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.7_1612611652536_0.163434213040482","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@chakra-ui/descendant","version":"1.0.8","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.8","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"50e809b82b5a54e77c1b3d3291afc1ec6b8ebbf4","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.8.tgz","fileCount":13,"integrity":"sha512-amKxOoFJ2uiQxJqAw5XZOI5nwVdUQ4BxZAY2Y7kM9Ml5qATxzRiVv8eoyJ0uQ/VksFRfECFxyudFtLm0VwO8hQ==","signatures":[{"sig":"MEQCIGfhgsz2y5f/4SfG3VCVi5pZyx+ylr24mXM+MZGxbcMKAiA/1IlYG98RYezmD3YRIvCK1BsbkUiifFgvkA0O7ls31g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQo3YCRA9TVsSAnZWagAAYycQAKIoThj4I3WKcDFVykBo\nyCmPYJOi6D0MO1i7jsL6VDOu3mo2Zuy4Y+HL4Q+4luxxeBgYQ4JAeGcC2dPs\ncGXwiPeQldN6ycvcBhfKKRO8+YpOlJyONjswoWQ9AlBjTvkj9vctWDRneHks\nfAZA1L9tM0kGH1/YupdWsWGUMJcylGOgf9wE+Kv9MuLkDmghdKUQbFrHz6PB\nY+0ZmqMyLxQ4yOU36I+0NFvMD0AAUEHYY+XBvKzuIwA0tFQzD2+MCOOKmL46\nCEtYJefieb/hRvRPHqOeVdQsiQFALVSYOUEtXz013UyZ8MJfvmjGLb72dsZR\nte99G3ggLrsElAXL8HL/fDd9T569Jn1PVMuurZa0kXFdr/0XWjjRoA1WWbC2\n1uOqhQLKPqkvdIVeFuUgEE4B8pP2FJNidyKCHgUCVdqH4XL1KpXU/BkSS8/x\ndz8ETVsLDOfeVdHqvzI35gGO3xcA67fGdro8EvceCRCGuFSBD9+LbcXHlBD/\n4hOziBz/lBNe42nvWS9NQiTZxMr3MKyQqOmongLKp/JZltGcp7QcRdObSvUn\n0Qg7HDGnBJ2qh768wMTg7uLkrW2Ho1wyDHLwzuNV6aVtrdBqG4tuVJuAh5HO\nTlTOu3DAa4XowaS/hkIQn75Gx3vG1EdqXyshgVtRNOdhcxJjVyVB1iz2tVla\nRRnH\r\n=+5AR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.11","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.21.0","dependencies":{"@chakra-ui/hooks":"1.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.8_1614974423093_0.6468748035355172","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@chakra-ui/descendant","version":"1.0.9","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.0.9","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"acc0470c42d5ec962586a91e7165c8e654377f5f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.0.9.tgz","fileCount":13,"integrity":"sha512-N/s5+mr7SfDHdMDKcXaJsISYxtIoUTy+Wj9fYbVO2ABx5TrMWc/6Y+3sIlEHzobpsAGfaPTLUhTUYT9P82zGSw==","signatures":[{"sig":"MEUCIQDvH0NsM9EEkUlEhaDn7DKqgvX3fq0Uvusfez7DfAV7NwIgSKSEFULbBXR+EIUwBDJBFHQ2aJfN4I+PV2ONJQNH9K8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29516,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVukeCRA9TVsSAnZWagAAAPAP/iuXHGM9HZEhMC0hpwkC\n+phY2ep0xKYf3FZmoaViAEN7oyGd7HwswyG359wZvVA9vTrN2W53UDXO09mG\n55nlinWIMT0KRMeZ2HtuEya40JmwvlwbhpOAq0cp9MMmDlcbINNp1mZJwVoG\nRrQcgjyMD1Nj78h/BNIYddy4mkL1ReqHnJ6Fn5T4fHLzajceZOMkhqPuUU9V\nA4TuEdWLGy9KITUGDfKho3avgqG2g0StLnrGE1trrMoipEvx904kGjub31Q/\n7DEDxYXXPwFHiRbHmqxAGyzrJfpY55Ifn5jceKQsFSzJPdq1X0rRtAcv0lQJ\nz96fH6EoQkHe2jVTeQhu1mo5TNrDI7kETzZt7XM2xnwGj47uEWZq/mP68I90\nW7XI4/q6AZXAIK0O02v/3lwkubWYxQ4QD1GHu2Ei15fvkBchpqOIle0c1I+Z\n1vAEJjgwNout7yq/sX2RxS+bef/YKkfJtc0fzJvL+Z8C3/40UVQUQIaEb2zv\n3rds2dYR58jaleudApaMsTWPbZrtNTrg+Hi7rja9cIg+naQ+L8+C9mDHfTdi\nfURr3QmFt6/F1FHtU2jWNa64bKK9bxfIaGczTT2bTST04yUe+xczzAf59fqW\npmWem2DsHAcMtBS/QSuHYC42RNACVLiIeByxn/SvtxXXY7+//Dm3Adh55Y38\nxhcv\r\n=QhvS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.11","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.21.0","dependencies":{"@chakra-ui/hooks":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.0.9_1616308510173_0.8883809981426454","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@chakra-ui/descendant","version":"1.1.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.1.0","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"b3d2c93443240d8f2cc045b985b8f3ec3bb82e36","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.1.0.tgz","fileCount":15,"integrity":"sha512-wNA7Y9YDHpFtK1XvE4tR8OpGfolg4FJiD1uGqE0NH6IpKSRbT9yMpkVO0SltHb3ng4Als5zZMFwtjANqR6gXsA==","signatures":[{"sig":"MEUCIQDiQs9sFFF/QPMDlIN+fvpL4pIz85Th62ZqhvaNCfkukQIgKjTAeN9hO9r5YKZlztYSUoSMX3sygkimek7S8v4Efcc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYxizCRA9TVsSAnZWagAAzR8QAJvuoBizyfgsvsdZ4vW2\ncMa/R9XQCZ9/RRSqp4Azf9kOSMKB0W9kM5H7p1sFlK2Hbu0arWMZuf6G0foa\nbH4Vlpwrot6JzTUkXrX0VALKDZk1TgiIbEwFFv31J/ef3oSVKtBLfq5zc+NB\n7flA2qte2g0CG0NA4UNtRV5CQJ/TPy5LAwIGEKNBPSESLmaiDjizb5OffgXO\nYohJqCS/IdpgyNYvptDpgDo4Sv9zgztkquPVASVdfaZ6fN1NnY674FILQx+V\nMMgbrLEkODtHPX+JW38EkOhc55uMw2ElIIoPnVPP8a+nyA+rMduzgsmv69Vb\nMLsAwP/xCHX79EX5RcwCfbU8jaLAg719JVGBDKIaBTQlUFo1baYMWRFVwx9R\n8pGwGIiLIpMviwzHolSXBfODt2dKm4kz/HFAlBQocxIZjulSfP8BtTSFzlKK\nmCPkilPlW1HxRif/uVRS2lq+GoXuGBOquV8xsqxpqrS0RZnwIdSiCOKicTkq\n+kuINyGZxCVESJO1AjY6Yl+CxLLZgd0uFqsvoAfCNIaX/5b+gYvckwCoAdpp\n4wAzT2MIegs80PQY71lTTTMx9n1ksT1sSxU6H04+8YEe+4LfJuXK8yIRbE91\nj+yPo8n5Ij9fKRn8kpczfbSBv/Pd10Q3HKkkhunhJkFPHK0zjdQWhGHT/9PA\ndg+B\r\n=Yz7m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.11","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.21.0","dependencies":{"@chakra-ui/hooks":"1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.1.0_1617107123395_0.5063695157324177","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@chakra-ui/descendant","version":"1.1.1","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.1.1","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"963b21ac2b94a0f31cf3301816822a0f098b14e6","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.1.1.tgz","fileCount":15,"integrity":"sha512-PlhxAIQr+1UGymBWbe0gGzTcRk7n1fZSJiFVFxA+VNXXdXbJhffZtZOBLZqer/drU9SdnPnpOwchw7BehNUGxA==","signatures":[{"sig":"MEQCIB1WKV80cEhk0vU+CozgVI0MxLrP3ezfgzvG1+uCaaf2AiB2UMdqAAKsLJaCMwvM37s5G796EENrIC2pzCy9LvzjDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbcqkCRA9TVsSAnZWagAASYkP/iIteLWA16fwMfi0E2jD\nwxPlPe3Ceka19MR8cmQdIsnYuBEhb/KDYmpyI2UO+8mdfQMR0mmAeEz1kwd8\n3F3aRZO9aXZjCZzL6RUpgEVxGxoehCLIKZjCVGqRH/LdxJOrUYl/c6dLvjzc\nzQhEo2vOdsJvIowvjwGULAqwNO9yGhSucQMK48E+KJDoFNnRZfvhE7g1edb+\nbxxtqbuRpLScr5ZbUYzRCZf6McxcPI9bhVM1iorFxzrKyvWqx6kvFSWo+eXY\n7l30+vXvZ7nClzmA/9dBzKavfCqln6BYMLUsJxXSMBzbVavY4uQdtTzkVry8\nhHzM+SiHU2IFCkfXe38Bd0H2XsLz24ABHBMXOzF0oqD0OBtnG2q5iI/i+fnu\nmQkHfV7gCjpgkHAnGcOUH2qxBJ7OW3e1+6Qi6J9IG0pzarsdZhEF6AXC805r\nl+JYHxz1N27F9ctQ/VXGamCZsrUl+uRiWe7jByB9oAjETpcerbZ2RskyDNfO\n/auZ0h5mD9xdCzUwLLCoUsIEmtRYw+0O9b6FoRGA3phmGuJp1r5VzGrnAse+\nD0afdEOJgo9sp3vaPiSgBk9hoirCrSvvqXvcXPD7XgxCoLX/ReP8I0CIIDrc\niaKUV0g0J0wFU2ZbYcJANYTA/bTCrc+MlPf8Br0T1EBIL9YLnQr0+Oadepi1\n8DlI\r\n=4Nxm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.11","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.21.0","dependencies":{"@chakra-ui/hooks":"1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.1.1_1617808036322_0.24431559269301384","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@chakra-ui/descendant","version":"1.1.2","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.1.2","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"440f4a7fae77b90113896306a13788ee475d70df","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.1.2.tgz","fileCount":15,"integrity":"sha512-mHiH/r2BjnlYDYKnYjrYgQ5vR8HcwG47e1GsDjEy8J/i1LdPyW3iiNu0ZxxAqAsrFHkxTXp3HD276hqDJv81KA==","signatures":[{"sig":"MEYCIQDxa5ARGD6ReIlI6mG3qO8EpgHuGTpSEk9ppJAncpEGrgIhAKdq3PWM6yKve9OjbIe+LvFuEOXtubMfOtKO4ys5ky9m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdhcxCRA9TVsSAnZWagAAnhUP/3NYAcxirpOozDmgHdAb\nZabGTOU+sghwFdycmz3dtOExt6ZoVUfmjvuEakX2Jx2qWLIJbcuTplVSYudm\nVgFVBbkIz1GKRci1/KumvekdtzRml/t5kUbDMemWgxdoXVjwJrg0nKQ+XmRQ\nYvPNvmufaxPWVMKKq7/UeW5vnIilxpCFE8+yQW+eTQp1Ld/6qJ2M/6gY/gaW\nR9Y/SaOwl7h8Xmsn/eAENQBvg3Z+sEqYyHD3JN9XcNdmENeIzYr47x2zrHZW\nXSpHpdcFwYmSye/p87YY5F6o/MlEz7P5b4y67hOUH9+JuTPtRUWHfd1g1FVv\nxTL9r2DiCWiY/k0Mc0h3q/7sn6zkdcWWXOTH6ACuZUFFIzbLc0TUFMQM5Ex7\nWrBn26b8wp7e+6bj7Dfsvjrp1nA5JMd61M0eurtQCL8wo+ITXrb5rVIyzSw8\nV2b3z0p/qCCjyybMQghm0v8r7Lyb1lKRHp3AVVY/BT+zxsNluTOOU1q7G1Kn\nXmZsLAUUEUKUxzf0bSVcVvWFKkftGIOpwvI5wVxuMgcF/71Rlzz4styX1LJT\nhU8AGnYjebeLOBMjgfUmPZDsaDXIY4MlHQKts8ApTnFcbwXqR0vXSd30HsML\nuq8FjSCloOrg7hnDSA9cFNalMxkP7okXeEjajgSGVPkPgzIIX6fdvaf9uIm+\nQ3nf\r\n=IKZC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.11","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.22.0","dependencies":{"@chakra-ui/hooks":"1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.1.2_1618351920574_0.3197704254396798","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@chakra-ui/descendant","version":"1.1.3","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@1.1.3","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"28d8c86ed1c81b748d26654fc6d33ba28de1d3a8","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-1.1.3.tgz","fileCount":15,"integrity":"sha512-ca2yS98RH6zFnxUpVMY2nssYbapO+KLDg6BmzI+6Ob5LPU3moudot2d9n1Oe2ALQQIQUs1KDDGjiY1ikhXBLZQ==","signatures":[{"sig":"MEQCIAmXPOG4WfwwAImRRzzmoZEsJIAq8FiDvHRuexlG+G41AiA8I4Rmg4iBW+yR0twl3jjpQJ+aXUb0tCMreJCmRCFAyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfc3lCRA9TVsSAnZWagAA1dwQAJjuCU9ZILO58PjRV6Da\nBHLSvo10gLYeCs8Q/1hkTkGY2vNG47/N+JOzG7VHot75q1knttFw2Xk5cTXX\nCmqnu7MPlkWKYGvD7sFVVLNq8rF2U8PYHm0saanY3zOb3wWlhzqFK7YGL/jH\nqMekSOWyO2WZ5Pn17mPqllNVL605770sRI4MsC8FLoXERgKPrw7Qgjz/dXoF\n7zmyT1Uv5XO1dLxzwhfD0JaHPXhgCNhYLWsqa6HvSMNAZCae/dOSi9zhBYRO\nUjMXrkVYU2zX/ZXDw3L0zXpU22uRtnUKLbchwnlgSdlcH1cuL0qmBl7OoyJO\ndtxsao0MDnllYhgUiVI45ZsvNRPpV4K2R/gWM3v00RWJdxo7225tOsE4+Smo\nx35W0tavipnyNAlc7OjU97yZhzz/chmcl3+c8z3PUsipG+N5a2io6vNAVXrT\nAp0MlCiKj+UDqiR7fgzb12WYaSTzTYzRScY8u5JZm4PA0RfGuwNZFtruLgJt\n/UQ8Eq1b75k41fQURp12nVnvFX+Nh6vKwIDh6VT1EdbhHwrD3HATvNb8bU6L\nuEH6RVKiFhMnqoWLMYhz/p4u9cIq9YNv0SWTeC0g+rXi9+UKMA0jCvGdLS8H\nuXbf5p1hsCbE3sZwpalmIAXW72a2i8db7PX6l0lGTDN0sRcKXjrovSucLMui\nu1qw\r\n=XMIN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.12","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@chakra-ui/hooks":"1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_1.1.3_1618857444867_0.32780452552804973","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@chakra-ui/descendant","version":"2.0.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.0.0","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"719a2f585a73e60db01233a9193dbf22823355a5","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.0.0.tgz","fileCount":27,"integrity":"sha512-kdesvjzeTxoLStpgbtMN5JMO3qhhRmZVVH8u2juTB9QIPGs1052Brb3Hcv96kQj7RyigCvarFF9KmvX4BUSdUA==","signatures":[{"sig":"MEYCIQCzn09XzG5FV3Mm7O79RsqT3d0PG2sxnPIqLw2E+bZE0gIhAJQU+QkvOjOLUis5oiVPzhH+t8TBRhbKLzelQWx2y/vt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggwv8CRA9TVsSAnZWagAA1LEP/0YDtSbf8N50MSekDF6T\n7a6RJaVGNJt9zM8TTsYdN3HWCIm7gnE5w+HtYxB6Ee/Jl84mb7l/x5xvI7Mg\nZ6gYwfwOPlr1/LQhCYbEI8ZzyVFELpI+APRvMnjgTVRJ1xum/mFAUVQXijNj\nbjcXM0N5bRzVay2Mil4OrRQOsHYcZ5WOk8HjPYfxyCVh4XuBFvkB0sQ+9tNC\nIFP/ikIlcVX8lmNXp8vnGMFvj2anT50xCh6stfTaBBBUjgH2QFbbvsAqdSKg\nzphbuTYs+9zPDJNcP/i2qDRrIvRZFO9SaHIEGcEOy9VJ6fRLSG+3JQiX6zjg\njW/l66rvJeRYf9bhSOaOdKj89imZ+1ftZXHrKiYAFBzmzVVKQ7EBoVY1MsP3\nE+bcxnJlVryvbCXvzjy55uptZhGdeNW/vpa6yxUd69psGKHih/s9oHKfll3u\nEfV198+MOx7cJuUQtFfBZoTEwhPJ8FF66OgHc0LBuMY0h+0n+5q9QHAiPiSQ\nEF1fY+ylmG5QqfY6Hf7i2a5Gp3F0sUNaG9xeqgWZHuRmUvuubKQ0sTKmhf9W\nrKOpb/L324iRhpl7ZW/Px/mS8yLFQjjoJu0h39N0/Jut0Z05jVGiF08BL9Nz\nb76n/eOiAjgIn6TtXL+53utM6NYSxD+pIHxLwK84bIqeWQ9w7bvhzgaNVQbV\njFAV\r\n=7lAG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.12","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@chakra-ui/react-utils":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.0.0_1619201019768_0.11273386407552999","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@chakra-ui/descendant","version":"2.0.1","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.0.1","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"fc3bc9081aa01503035b2c9296bc4b9f87ceaae0","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.0.1.tgz","fileCount":27,"integrity":"sha512-TeYp94iOhu5Gs2oVzewJaep0qft/JKMKfmcf4PGgzJF+h6TWZm6NGohk6Jq7JOh+y0rExa1ulknIgnMzFx5xaA==","signatures":[{"sig":"MEUCIHlhMleno1iLKKQHH7lhm8DJraOuD7FLNQSlCW+g0dyvAiEA8MRwe9kiWOrOMSG8bLNJ1lkEEYpoq4uw1PgRQwtIp2Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78508,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkn2pCRA9TVsSAnZWagAAmeMP+QAroVYZ4kh+/buteTlB\n1sijYqCN5m/4KXER1x9cdO8LcfrED0Ftp7mbrAzmZV6s22NenakZ5fwRTuwP\n7lBkWLh7x169EjrfDASc2PBuuOMFQG1k9sfcHSXxX6BxX1IOCOLe/iPIVlCW\n+a50NiBUDQjzg7R7ZgfbaKkbiJLAGcatZ1Yw0T2ArOns+dgk+YZZ4UmMhT0j\n673SG/7YYpckipSBbOg0KFfRfliVmemahWdy6m/0BkGFuQJbD/L/m1l30UTD\njdverWtjCJ1iNpuzLJy8XxP4awRb9BXmElj/43N7nHwUG1fsCQ6rpKabvL6V\nnSjxouxUSGAjHIFKyDKdujiQAaMLihZZWU98Wb5Wfb5WJ7t/5VxSv83eh9Mv\nu1g4vunc/4LTu9mjkibRVO+A9I/a52HCUEUnfj4PChHBrmwP04BHfaBO+uyS\ncCAYuIwowfShw1orgmUEFwfX47kOzBcB1hVKl2dLkCchX44ugbMUny8L4mra\nkyMx8w/I5DNOcID5ShnTfk0VfFXekG07Q6X+nq+NOHEYd+qilPdLmAKrP/bX\n1nbpcZ/8VAea99Xlr+jffkO9CDwym/02Th85mlsxYXEgwqtGEu0GT0AA5ImH\nMKwF9xBQqCYu0S0/egd6tUOT8SuZv6GenmaW4Ria7LBsAtCNu/vNYTaNkZw1\noyno\r\n=RK/L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git"},"_npmVersion":"6.14.12","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.22.1","dependencies":{"@chakra-ui/react-utils":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.0.1_1620213160722_0.3388346122621566","host":"s3://npm-registry-packages"}},"2.0.2-next.0":{"name":"@chakra-ui/descendant","version":"2.0.2-next.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.0.2-next.0","maintainers":[{"name":"_codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"340b16498df990b8b67461e5f3e2ae723f001648","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.0.2-next.0.tgz","fileCount":27,"integrity":"sha512-1tZp37ErnBdKc982EAYQpoDdPUr4jSKU0x89iTotZEO7hIhPjr1u7hBlm6NKEnZ1M+3raX6EhUdCXic2AnCRUQ==","signatures":[{"sig":"MEYCIQCznca66ftbrOel/BhXfYk3c97NWLPBKjUN0Lx4HKVXGQIhAL7PSmmVozmW/EWuZcyMA4qfiiv76E7v3Z/qszMqYsh6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDFP3CRA9TVsSAnZWagAAYX0P/0yf1aorR82d7ut+7vG2\n+fTWIlmY6Ob5G7PEnllLj04HUI3/LZBztK/oFYw+YeP+OpeT7pBwn5druQOz\nX1JuMkbSmiy2TkiXMaNTkKP3kMr4CG/CPw3H/5E0SHjE/rTBfZgaRuRqkvJ5\nvnjQBLJ57hZUazujvducZGUx+xP9JM7K1rAnnj5/OJ47ZS1J9/lma82WIFYw\ncdjB1dVFOmwA5DxlQuKgPrGGJNm/oGUR0paqScO0WF7hOA4bPGBnZYKhz89p\ngi10tl6paRyE9YNmBRI6InFSIhpMhtnCsoN71pO7i0jx3hVE4lfIbMHo5xEW\ntkknQDpqucnyJLmwNApDgnhMTnV0IY5X0koH95WlmzMOGY92RMLsteBKbM5N\nZaI3pwfD6qBsgzkJkgGAGpfU5IaU4yv3XHlK67n961NHM6BnzeKXimbGfNEc\nkWt3JWfHcEb38RbXZcep64gNkwHdZBtDVRb7/vPjESC2XfsUCd5O3ScIU4y8\npSFcBxVKyDYi2Llg4+gfm3/50bm9pcEMQ7+O0/EO7a0Ulm16exbnalgqp4zk\nGI8puOs80ORXiI5xIoNtDjK2OP5kTMz9/bZWJ6GLAPTdl3tz/eznnLlVjmcp\nJKzaQYVFqmXbreZGQ9tkP7Z07VlJZOtovQnbzN8LJTPA0xEP2Cn9oRxgi45Z\nBsQE\r\n=mujF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@descendants/react\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"6.14.14","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"@chakra-ui/react-utils":"^1.1.3-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.0.2-next.0_1628197878912_0.7184107724038371","host":"s3://npm-registry-packages"}},"2.0.2-next.1":{"name":"@chakra-ui/descendant","version":"2.0.2-next.1","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.0.2-next.1","maintainers":[{"name":"_codebender828","email":"jbakebwa@gmail.com"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"87bacde4bee4f7b1fec442dfc2ff8d2cbcacd003","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.0.2-next.1.tgz","fileCount":27,"integrity":"sha512-JxV/78nLif9csfbX/Wi6Xup0iFPFpemcNKLEsbfwaSeMMiSj6oOVgm4hrcZUONzXKQVAZfX13RfBkib+w7BmgQ==","signatures":[{"sig":"MEYCIQC8hHd4LJxdkY/ozclDCx2kpgr8L3Vm3a2QFHLnhJ0HrwIhAPwtcGETKYFyQjv2tBg1J9sXUoIl1nqRM+j1Aeq4YBJw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhF+ajCRA9TVsSAnZWagAADOQP/09pXnIr72ExegQb8zkF\n58kUfjTLC6FcAwtM8GTIHmkODmTEuaK2k6hxxAy9IxPfEWNs/oFGvpbBrRqL\nmnEMKk7NVCdO4FKN5yI2VwC8k0hLhjzNjPeHP8ugB3MiVt7GBxmfgXiXcAEN\niBts7oAZQHGBB/gwT42sBPrrAX+j6URfq1iv0hq6sfDbkVT2Z28Tf5jM/mgZ\nP13tU9SB6Ns4QGD3MFbeZtDqbnypOiNE01YjId4ShAkfoMXUxXdIVM1oAy/+\nurlGZ8xZWj6cQE1Lv4V+CI3jQuxO+SgUcxRC3ZLHvCKo6LW50x6M36YP3b/T\nDpcriVDxq2j/I93DWicGq3AK3ofpNVvoHF7igsRI/ZyS1kvnXb3KTy5N5qMt\n9mh5vt0z4Uoqtc5eoPjD6e2F6I8drui+DHqUyKP0o969n1U+BGoaWjbYgP34\nfiK7WhHAuBP2kHnuxYpInzbckwnV/sIKs2E3IfJYbh2w/kYEd8R5lQJVNAu8\nf94QY57hkENrZ1lEYu3W+wOF0IkqPhm5tYtJRmSVqczAQJ9DrK0o5octcgXN\nzQ8NSLFOaVxJ0IefzwMcGQynQgQ9p5SHojalvCFWTOirU/xJL113Qqme4GZg\n/m4zftTlVYAhAw6OpoLP14P8Iqs9kLl4StmhVt1JzzJZjXkyPMrF5PRV/djW\nEmAw\r\n=h1zE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@descendants/react\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"default":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"lint":"concurrently yarn:lint:*","test":"jest --env=jsdom --passWithNoTests","build":"concurrently yarn:build:*","start":"nodemon --watch src --exec yarn build -e ts,tsx","version":"yarn build","lint:src":"eslint src --ext .ts,.tsx --config ../../.eslintrc","prebuild":"rimraf dist","test:cov":"yarn test --coverage","build:cjs":"cross-env BABEL_ENV=cjs babel src --root-mode upward --extensions .ts,.tsx -d dist/cjs --source-maps","build:esm":"cross-env BABEL_ENV=esm babel src --root-mode upward --extensions .ts,.tsx -d dist/esm --source-maps","lint:types":"tsc --noEmit","build:types":"tsc --emitDeclarationOnly --declaration --declarationDir dist/types"},"typings":"dist/types/index.d.ts","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"6.14.14","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"12.22.4","dependencies":{"@chakra-ui/react-utils":"^1.1.3-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.0.2-next.1_1628956323224_0.10098178697195559","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@chakra-ui/descendant","version":"2.1.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.1.0","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c6313063eff2dd275d5e0883c8203b6ac549eccf","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.1.0.tgz","fileCount":12,"integrity":"sha512-ZnTpzLOAqCwp+L78ic9Oqel7u67Gwr7u7hkRUklI5FWt4vWrsPtBHL4sQy7pkK8kMeFYvTt1GhGcRHCHnYhZow==","signatures":[{"sig":"MEUCIQCCP7PFm2IcZnXk97CX2Cug5mpUviuqxA1/t9oetu1+eQIgYQNz2HpuiR7zAc+FDBLEeuzb0xUY0I2K6VYUbeIbo34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42370},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"6.14.15","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"@chakra-ui/react-utils":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.1.0_1636649802373_0.4911941269561575","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@chakra-ui/descendant","version":"2.1.1","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.1.1","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"tiolukaka","email":"kolawole8tiolu@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"},{"name":"with-heart","email":"mark@chanchan.io"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a46fde8b7700f5013140f4fc2fa51064e71cc77f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.1.1.tgz","fileCount":20,"integrity":"sha512-JasdVaN4MjL7QFo1vMnADy6EtFAlPKT1kTJ1LwMtl9AaF9VFLBsfGxm0L+WQK+3NJMuCSDBXWJB8mV4AQ11Edg==","signatures":[{"sig":"MEQCIHrbktn5f4ud5rGMt2nfVi8dbY/JgIcXAArmPjl76amfAiBcG99++aHJjmqWiDktiI6RL35LdGusS0/7JYPErqvpfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58576},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"6.14.15","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"@chakra-ui/react-utils":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.1.1_1636746689033_0.26843761790396137","host":"s3://npm-registry-packages"}},"0.0.0-pr-202215125733":{"name":"@chakra-ui/descendant","version":"0.0.0-pr-202215125733","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-pr-202215125733","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"621fd97114159d8ebe9cb84ae6f5f226b4fb241f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-pr-202215125733.tgz","fileCount":19,"integrity":"sha512-NhCJNEfFheIj6v3jkCXtnOtGAuk90GfUuo7Har5LOhjO5j6Uc8gwTJSxd5YHyeQ410OV65/bIUC7J+zTrlQf+A==","signatures":[{"sig":"MEUCIGngZ5kcmMau7kQBQDr66pYYHjupc6ZT3M4q5fR8WlYcAiEAqQ41I5tYKkw4jJMTplCsKcTKiGeO8/cnxZXBFrTCW8U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/nReCRA9TVsSAnZWagAAjikP/2ky1s5Yq0DkvEKbwl2n\nEcyQCYJjZig3kPTy+BLTLqXt2riZMV8hzh8ZoK3klwXrl3UeWykhIjJYzFkP\n4omEGxnCtUNtAWaYsYaWvGYHcpJ/xc3YmLvwS0FxD7I4L3+gNCVtpTqy4MB8\nRWAR1VocQU5PfHeZenwQRn93wS9G5fNf0JeQUva2oQXP/f2gq3sTrxBwERGr\n/j+P9jY+KUZKiziSlebNG6FbVVPoZyeBzj1NXkiO2o+cmaDBwPpHy4xoufaA\nAFV7nlB3k4WoXHDiTrg5aZHBCrIHrsVfUQuAzu3vXWEmVGDZYAiY73oIGBOf\na4MyKkf7k1SH/OhsKb/9fg6Nmyc7WI5F983STBDko5C2O+UgUZlPHalHDYEA\n6zHhZtsr7bYzZ8uYVBmHnBxgvulkdZXg0lRICdGtEsHnKEn/FtbW68/IBL/u\nOWvUpbbIMgxoTjN965LtO7pKQT+A8AssSJW8zbY7gRbAwvViy0THJecY8g8X\nFV9THqqK5+1XJ3dO+ii1FoSr3sWq6ixfXLM8YOMoW+F5pnxRY9vDYPk/mFdj\njudoqxhOg5OOzTHq3x80wor5Mg0gOC2fHzDrDjcvhEMM5I/TjPPxOvQ6c2/x\nRqKHUF40Q++UFpsAtDLz7j8eA4d6XOJmFzcHM6TNuq+5DA3XobtXS4AYzffY\nUT7l\r\n=P7Tr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"5ec7ab0c37978861b0a67e7f31aaa4157f05cc4d","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.1.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.13.2","dependencies":{"@chakra-ui/react-utils":"^0.0.0-pr-202215125733"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-pr-202215125733_1644065886791_0.44879389728617136","host":"s3://npm-registry-packages"}},"0.0.0-pr-202215132532":{"name":"@chakra-ui/descendant","version":"0.0.0-pr-202215132532","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-pr-202215132532","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"61127a84be16dbeba82f1f7e4ab0b8fbe8ed2797","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-pr-202215132532.tgz","fileCount":19,"integrity":"sha512-LR5kmAMphsntp4/dDJ5JTNl32IwaMOhAHAqQpWj5C1UAjFHmZ9/bgIIIipDqoJR/+GqnfjB5t7eRVF+eRHHErA==","signatures":[{"sig":"MEQCIAYONczEyneh2NmWCS5kX2GgkaoJdK/9RMZMvHK238v2AiBn1lfQ2xVtzC95qoVRKgfDZBjSoBxQH/FhY06hw7QDgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/nrrCRA9TVsSAnZWagAAF+oP/jq6OznEg0N7Jrehx4zx\ni4XiSz+Ygz34lOd5ExKRduR2Znb6ySoqNn4eLIlpLgkOPyVdG21WSg5Qo6Ps\nbDtNhLaTMu8V0UO4+ZrkKXT6cOmLwfSAHVaQAf4tGFZjVe03lLaQ/Xy/T2oC\nzDs8nIGmvptoFAwyfBJA8EsREf4MoFPYSjcWUI1yBAl7eLlro4bUNNk59J/Q\nNaC+0zvvQlLHwC+OP41Bv3HFI0YyMaKRghTht7+edtE2DTEcfiwEj9Nte1Ul\nzGi1Wdi2BeBn49DMwHkIgH0ypikuN+XNfS+N8ZFifLME0K0auoJQIqdzFVIR\nyJIRLxvXC4/Wyd4NdNl86ZsRLYEzbPEvTm0/DzBmZ7HCYPJ+NqryI1gMfyD7\n23lVBNRq28+LvkoCNMhlKWCdAiJtxYj7M3P8xST80PQvYjensCtggYzqbACW\nNOUfpg87MOkVCgtTd1YcZ+4KZu9vZX3xoi9O7im6PEFYufxNHRB8L2ONfAcG\nrtwiek4ZMW+1nT5u4ySpw8gm9NsgfmBXVoYp51ZSh9Pbzm3kTa4WPMjMhEF+\nJPMw7bdFETcpCBh85T7/aDREJ4pn1aTRWoUxz1C2yDI+pTiK+K6C4+TP8Gs9\n2UXHkV11F7BzMAydWTKhNkvRerkM32mr/u+yNUUnPtU/1ZvHCx0jpBkaP/Tb\nk2Qi\r\n=sw1+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"a503acabefcaea86cb7f40a6305830f09d2d6083","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.1.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.13.2","dependencies":{"@chakra-ui/react-utils":"^0.0.0-pr-202215132532"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-pr-202215132532_1644067563556_0.09427873307285783","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221513279":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221513279","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221513279","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"910604c9ffcf7d65b62813eb73350be96ab36889","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221513279.tgz","fileCount":19,"integrity":"sha512-RV7mefs30owgvT+Sv6EvdReICKiTu38E4ODmYU2O57Aem0rdzPSd++i6xC0kF8GmTNdhQAU7xGF/0TULPOZ8Kw==","signatures":[{"sig":"MEUCIHktfCT6jFT9KZiQYjIEVoZZSoxPK/HQ4pYZywzeHcRTAiEA1MR9Y1UwXaY0lXlu40/tCAjzd3WnGTLj9WWVm0+9Sr8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/ntUCRA9TVsSAnZWagAAQHkP/3O2zNSL0B3qkI4ShlRD\nW7dAiZt/Yq+z9lKtsqRyJOak/76eZqc/z9mzZ37++PnarHz93AcAGfmg8cxL\nPc7SGLLpSSH30XRhm48iwBCrleVr+28kLXm4M/bBoyDBHSFwNShLcRdhg/ka\nYQZfJZr9fW1Yxo8p5DyOFQ07+vNp45FUMSgpw1B4r3TvI27iQDY83QzVVorp\n8XQBotwjQaZbqgAG0P61HI/G8FsZaHMjK0lsUXE+Ur/CL7LjxzvmKhUqdORS\n19oBDb9Gt6qci5VPTHKXEHO7fi0/6q+JKnD7E+LV4vChmPDBHSvHOWhLGCoe\nIo1Q8Nxu27LPlX9xrdKokHtB7KhZOAl0E/mQ47hHVIoOsxq1FC93pa5Km4r+\nYBhLe5/wnYrKYkN1VCG6Ycb89vKwCweB7WKTNLgZ2PUH3qR/XQ8NroZlSuQq\neJqiRwkmhYZx1Z0F/yV5u33cC7JZ/vjtDEkWFtpCnUjUWgtM10nNMqIHd5yO\neafY608edhQQNDD/oNl0JCi2jV3lM7x/ACKwbVhP17kQSubyBr4klVQ2O0sH\nObBWwMfJbkIDH1dT4CP/qCjxn0aom2vvKeU2+PMLwmApJmLSVByQRLGZSxci\ncqDjwmWQUsaYDh/U4JZ6ffSYj3EFGaUz5KwkZxGllEMoJknz5oFbP32Kz5EU\nGdLg\r\n=daFw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"a503acabefcaea86cb7f40a6305830f09d2d6083","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.1.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.13.2","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-20221513279"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221513279_1644067668730_0.8993274787501175","host":"s3://npm-registry-packages"}},"2.1.2":{"name":"@chakra-ui/descendant","version":"2.1.2","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.1.2","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"6ebd9f000d01fea213d05e1477e5d273e4b20d71","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.1.2.tgz","fileCount":19,"integrity":"sha512-o3WrYD0zGBdRB7aM9bENci7BWrFYBCMTcix/0iQQfsvIPeFKZOKOx/zUHXVby6nvmC7rIPep5yCn9UNNB+REkg==","signatures":[{"sig":"MEUCIQCRpaLX8HtgiirH6rU9w6yNfHMSOmrFcsrnSyLJi8fP6gIgCpTEbVPJCaoYv7F2NAGNNkyZ8jL+4cB4yG7lNvRpwWE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/n1UCRA9TVsSAnZWagAAdjUQAIuNDNZzmwby3hSSdftk\nI6ToIs0BP5BZcQmawqnsbXFPXrTyXgYAPUv0YjlD+FuP3nxII0MwAZkyDM2f\nWcQiodqYzpT/bcfgs1MLxv7OVJ3vB8ttR00jbCAH2Sb33QlxXqO/kqOSU50u\nnuzoxcOJDkiKnc1GKvTFMf5CDJ16+sofDKszShNJFGAQPXjs0G7VP4eD2pEs\nUOpd6EacLhKIpybeNey8KMOkogUqaNT52HOSRoFWRMWSwneu0YzV5C9GQWpt\nsvyCNqvt2Etxkz5K2ScvzYRqoQjHC9z5vpZULvPWwbCdaHpxUt1wQsF+DBHy\nN1ZMvJG4iIMtuoAqxcncZMvZF1s8SE3pQ7VpSrbP6GKn7BX8vc8mnvZWXqrA\nnr7StHoeZmOS6d01p06heUxFuPyRKrFsOyxVo8uEDyI+XlY73Fy7FAk0n1GP\nHC4R6VeKSlbD2nyIPvt/c0jK5eXQbZpb72Y2iNaP4hXO7ooNOQD5FgxUIJgx\nciwFOs5Vww+9SwjZIF0d8h0W2HKEA9vaY8uXaRUPpWB1h7a81eYRkSlY54VE\nIAmJVrzAA+9M83CAQBuTdgQD6pYADvdvqjHn1oqkg7mjKFFeUQJlAXmCh1RM\nbIQWk4+NsHkd5RrohdUSVTG5Dv0AQaDhoFGhrKzkw+Q+YtMI9W1WlTVsQdS3\nSshO\r\n=qT9O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","gitHead":"5a6537a05fd2d5600b7ec51cce47e0a46d1cd069","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.1.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.13.2","dependencies":{"@chakra-ui/react-utils":"^1.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.1.2_1644068180202_0.5687105635719032","host":"s3://npm-registry-packages"}},"0.0.0-dev-202211720414":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-202211720414","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-202211720414","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"fcd9f863db332e517435d170c3e747c1ec8ce693","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-202211720414.tgz","fileCount":19,"integrity":"sha512-9nI/ucgk+4nL99hpPhsWFJ9N9Yk1leYc5vZTISnPyUfHNORFG5UkCWTG5C3Wk7MWlNa6eNKCTGcLexwZSxElZA==","signatures":[{"sig":"MEUCIQDk+6QOo3T+gkf115Ouv+Exquj8uf1+5IQHM6KcLed3AwIgeLQK+f0Ojmn3FIuT9G6NGCOgA+eROMitbfHes+tQJx8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDqpcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCPBAAis75i0fMEQZzw+H0BnpTIKpRjp5gq+YUta6oHEoHO2ree1sy\r\n1VGGa5EFr/R/q8iztfaxJkgYK8Ip1oOY3goWwgTgen3gBDRVWAk4KZ49UqqO\r\nZUvG+lEZYRJwYC/xNuo3iXxse+zA7eJ4utdocij1WzHxSp02ubGVqw0Z8cJl\r\nzehI3GQDuhnXcBfTkjoE4XMwxZMSdcLEahLMJmOO+ZgtLZ/BPojBSpX57Yd6\r\ns8PwanWpgFRYQi4KLD4WfHO8ngOZsB7Ov7JmTFIB+xsWw1jaGFXjBXA2/xAO\r\nPVxM+tQ331SzIWhUM2DPyV2WEah8Qpnu/aU7FPEJ7g0K0bxyu+73umWIRdJF\r\nUNlbNQGgSOa9IEMspl8GdE4JLQkMt/WcWyi2XUNaaBQAyw54W5X2vyyl2LGW\r\nv5bgoNJkSf+7o3beLWECi9W9h/ZOOQ+0vHLhS/+/Z26iyN3rHAmgfMc6AMx0\r\nfCjbKBc3CRyl/OsNJ3Y4MQ6YPsPHTiESxmepTv+Q0epnQ6TKViJ/UgCkDsaW\r\no1Wl91OEox/qk02j8W3NL5/pVHHXKq8CxqUN89p6/X0MYp629lEI0u3mdKmx\r\nO526h/puHIKsWuHalWAVkckQv47COXGKaZEGwWOcQBkchCGpzE5qC1N/JOUb\r\nZCH1CN0aGMjn3QJdvCfAHmHGljRoRQdvSKE=\r\n=BTps\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"20b7a19ac5608ea52e63c0ecc7e680591d7f4366","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-202211720414"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-202211720414_1645128284372_0.028418941560356625","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022117201925":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022117201925","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022117201925","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"00166417fe858cd7da0d86cc92288cddd6dd8cca","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022117201925.tgz","fileCount":19,"integrity":"sha512-xeKuDskOx6rG7/AKPUb/diwLwruz+WR5J7Ii1eiAKQ2CT9IfqkCnXc6wBhmQSTvLftg3wnXkxldwanTU8xs97Q==","signatures":[{"sig":"MEYCIQCIr8qvSvkwwNJPGnWDD7nphmPgL+NGOkjMVYi6D0svCwIhAKs1tcYUdygwP3oIQgUw3+IYeAS0tKOpjuycSsXKxFDY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDq3uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3Mw/+MhBjt4hG4KR7TN1ddCgNC1lcOB2fUTy3Am8L6EcTwslypkJ+\r\npWTlxbrWgPOeYuhVWsfF0SMlBIEWTQIRuu6znXKdOqfCePF8tbiAelq3wDGJ\r\nkeeXb3wgdzkBpOnJhr8qFiMjOToFt726jSr06dPk7mPKIkUqB8HmImL/Ur/a\r\nGS14PjrNA18SBLBYewGmzfJRGVZLlHiTj4u5p/xutPe60GYF0Zke87ZFRkFZ\r\nfepXBD2hJFaX8xKzG5KbH9iInurm+4Hv+4tFFkoSVI6aAzo4FwBELLzKl7Z7\r\nhqOQaGzCCdkhZwm4eOcRE20YZgP3znjB/Q9BH/U4Y8pKg/QywQso0T2LHzYg\r\n3C+zH5wn5G43ftdHKXpoqmYI80N2BjGL0bm6QzW9rpfbH3fd8UDx4JiPKfcf\r\nj60Ai+j+07LiobdzaBmcBf8z69obDdSo/UB/5caRNMMHxPfiayNR+G5GB+a3\r\nndnxzcC8eQyLza7DQ3OIUBVAqpEwv9XpFuJiqa632jUZrXL32SdtAWUdV/z8\r\n+1+RGHKglQ8A7TLJ6DWhq4Gpnv2E0VXMOIRLh8C4UxEa6eNFNquepMr2UBHh\r\nAb9IbRHCAggr3JRU1XafIi8Rmb5JNcEjcPiqYG/vGkz+g2YLZJ+Sc7Ky2UJB\r\nzhi3IviSLRevO6kcQpyE2EPtz8tlK/qs8yc=\r\n=utmh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"e5e0f255c95f5e41c3b17adbda28fd09f7251642","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-2022117201925"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022117201925_1645129198170_0.2685034935169959","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022117203714":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022117203714","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022117203714","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"1bcd26672e201e1b5e19575de3677bc3f8e7734b","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022117203714.tgz","fileCount":19,"integrity":"sha512-C1WqpE1xg+wHnyRorQ7ovJ+43IAM0lCrB6GNLjpMaiUVd7bIwkI9e2EgG+dNN9PZ8frY3IuAi7d/xzy9Dh63DA==","signatures":[{"sig":"MEUCIQD10yHNu1G4dHehKjeO5Yt0zLry9ghBv7vlpxsSaI6czwIgQYrJAI/5hgtfCUYisti3FOBJtHX4+Wz6y6S0XL3gqnU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDrIeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMVRAAlyB6TSACKYL72I3eyj+wQ902/WiKCfsdnzPqP/BfEEWFsBzP\r\ntkKd41xz7tVH3uPAWpFo2rOBS/W0B4HjXSXXUzUW2sftbdkwGeUgLfqV4f7I\r\nXaVUxbxLaxqXCgSfpLUK1YlOaTx3E+fNWafJz6xxbWpffckE/giYS3I7ohFK\r\nesxLJdmP4x7eysKCEKTwKWUfQ9hlGNjbtKH5bziiI4ZnzZ0K5f1/Eklm+ho5\r\nN1QSf9el275nvRul2N/hns5MiWSksZfABRLdJixc7JYPpfIXbSY/XC++/tqL\r\nyTouJdL/5FnoRdPRFHaiBBGKqDelIxpAgSRXu/uaRQFluqIGLGW3W3Z4RDRJ\r\nBquYsXN/va4Jw5p8dQNHvIBiRmb3M/AO9b6zxZeJ4ISRMsCFq/QXRJ1zy3O4\r\nmzTmTYWyAfjLg0lzjhgmSPiXLX+gaMHRrJlhTFNnAVFjzKFtciD4SvdBh4TD\r\nKjzS4Nu9ornPngJlW3VxRme7QIimAbJP5BaNj8MliIqUwUlxuWcM9I10ZSMl\r\n/uKrtAiMfjerdQK2dgA6tCO5PTjNCTZFnuWxEsZ/8Jl9Sfg3rSjzAmnObhJD\r\nu+U5WrLY9KKqTHVHqe7NHAwkCeTeUkEspwANsC+m0DxubCgDyWefUKUTFNl5\r\nvXWzCOPateWCF6s06rZKQfO2HhtoFXz7K3g=\r\n=4wwl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"0542b8a53425093f18fd86d2b55220d3fa20253a","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-2022117203714"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022117203714_1645130270574_0.3781760210804419","host":"s3://npm-registry-packages"}},"0.0.0-dev-202212083710":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-202212083710","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-202212083710","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"9390897451713d9f6aa4ba8ecb60645f3f7734aa","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-202212083710.tgz","fileCount":19,"integrity":"sha512-jFYz6yCP5YWstWu7qKTjtunSr/9BvTE3tSnz3gkiugdEMV3RfaLGK6THT14KEBlTAPI8ly0O959m/QNRocXJag==","signatures":[{"sig":"MEYCIQCO8QZO8YXF5A8o952BZuegqEk0Ox+Z+I7JIx+5t/SiTgIhANYCAfBUDSGPhUdOwCPTrpwQp5DWqgaSbflGXq7xJyO1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEf3bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/2RAAl8tnKXeCNWjvxcyszkOQ0HIBJuVQlHHwKy5BUG0Oc4lrJKaJ\r\no+8dbT6YvHUjy9IB4xkmg16giq70nkUZaGMfNfH2CzwHNlZBTZ9wPPVQlVmj\r\nous/QT/kS0ruUs1saDPczc6wuZq2Du0wYgKiPL2J9Vybi8rHxNyTjGized5G\r\nTdp5Wk5PdqrcG09TZEJLiH1sfOd5h1HwgextlZtRSDjS5fo6bWftdE3vOru0\r\n0HaGIpZvAnoMmlkxQRAeehq9enKJyGrZNIhmCVtfSZXGeiIquRbH6yIw1puw\r\n68otdfQ9Eto8Yn+pVscV1DVjpof+/VGM4Zid1mWKq3XLHQmOmcERxj5ueQ3y\r\nWIwb0ejt4igoD+akB/PDYkNtBeJu4PL5O8FtDOWsDXBXoKdZvluXKM5h8YMj\r\nKMQVB9HjZcTuCZ7MkENjkIsBP6kXmz++kiSYcE0lubUwgTbvLlLWFbfIf6LL\r\nh5BiJB+oMdZke+YZjH1YzGEOLtf6QtcTm6gVS0GRhSoC0OyDrnSXos7CIlfd\r\ngxq8YL5knzkmvacCL2JzCqA65MXlpVupZvHfQ54wNWC8b6TUo9FFktFT0uAl\r\ndNq8wt9MojWVzaBCJWQBBpoNzYFEBZ+dpztHQG5Vpf+DRuQhPbevK/eKFy+U\r\npgbCyFdYlnN+Pku8iXjhbV/6wrqAy0PN9NA=\r\n=50ic\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"085bbccc59f9c00b57caab647fabb43939d97247","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-202212083710"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-202212083710_1645346267536_0.45672201828672665","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022120113958":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022120113958","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022120113958","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d1cf156a52e4ce437a70f01c12a9f6f543cb6d3e","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022120113958.tgz","fileCount":19,"integrity":"sha512-xk7oYKTJNw0Uhs8CZHHSmD/F+lBn+NYnc8yFit+iw0ghsrpJHd1R5akhqXBZ6iz0dDT+89agGn+Jz0BvGp+ouw==","signatures":[{"sig":"MEUCIQCVcyoBcHVwh7CFneYlsNKMI3UG7GbWW2y+fwH04U20fQIgNz1T2PyTv1MnGH6slfaPBKh8qvM8xlNOeRQp8l2Q8C4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEiiwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzCBAAi/30zC1enuLuuBAvu1RD3/KPB6UP91ba0lslbU0X2iAFi+9F\r\nm9QoFKAMme3Yy+DZD47bf4KPDgkytf9emT5u/MNAUWpkHA2M2oESewFYJNmR\r\nv335eOa9uHu3WYpeWWwuSqrsGkUbc0ZEGMkyWGg/ArQI+AOsuRg/kgVFZnXi\r\nsm9qXejscwWD+3st6GWvkaxQw0jU+tlk/vuz17jR7B523yN+2zo5GQpxEg/R\r\n/O7c7sPiJ9yDlQ2JQj+oMMATyCHjuRMl8MGfz4HtFIGXF1MCcyYvUMJkadwU\r\ndAbXTKKvcpUSIE7L87PGBiOoa+pRKjVRcELuN8Bh9fDD+cL0INAxa0V0C0VX\r\n3vWxwVIBlF98rYRhEgXX8JOSYQvFhLJjxux1sKZxS6AphaamAJC4WN20fNPN\r\nuf/dGIV2m5NMZP2uIQgun+WVuiO9YWi4QYXaN9Tupmr3LwEd5sL3SqTNbWQQ\r\n+3xDaKBwjxOiB//zf7fGuq9ELMrvsHaqE6aWtw8lzoo2qw2V+I6Dil3Zclw+\r\nPzO+s+vCFuPGNRtQEkWZqL8JYrmXGOfBta1lpqAcgVGIVQKuZnoym0c9y/1E\r\no0Fnau9G1XWkO5GkoqDm0BCzCSCE+jONjoGsiqSXQL321sF9BHvQAb0oPx2c\r\n7MPb2I+p/4GyRNWytGY3ZUoVkrQ0Qv+hJ/Q=\r\n=KUhW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"99c92df9331e6a0c5667b77e5a605343efccc6b3","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-2022120113958"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022120113958_1645357232315_0.5409881525903719","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022120114012":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022120114012","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022120114012","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"89512d9b34c579ca4f7443874adfff318448ad7f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022120114012.tgz","fileCount":19,"integrity":"sha512-Ww5ZLhIxq4DnYXS3u5O33mhu441Zs6lPjjaqiBTSwbT8u9IzStW9vAva3I9LSxFkOiS6c7CHu0lvuQ9tv+JXOg==","signatures":[{"sig":"MEYCIQDOtOrvRaREtIAaz+RK4Bj1puF01SxePb5wu7q3yjrTxgIhANC1AiZ2tiAoJ4xGB685UuYmITFMy6Ra5fzGLNIA8I8Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEii5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqSHg/+M5/h6hIWQlFOcne4WCI2X3eXBJOQBGi1nCR1h77Q9Cq1twog\r\nc/Pf+2ykw70TCGhZtCPQvLBy/ASbwdwL2QkA1NCeu+OUBGUmnDAYjuVdXY/5\r\ngqvapGFRCw5Cvms3vjQ8pUOawkWlA/q5d37SXPpfIPENFpVyPlDgi4lvg4PQ\r\n+zWYsBekr5UMOG2/HhW7JAwuyL57DBxGj/AXgtta6kySxxC823fHVTyZ9rUK\r\nT8f+5s0j6X4dcrls691fqNgkRrvwXHfxcMxmR+9XkfzMSvevXbTk+wRnc8+R\r\n8aQcgYPxblZFtE0uALR4BLuOkbKud1khZTQxCenk4VSXVoVRKLz2MCcoJAud\r\npfrZsCi+Cx4+OFrcwRJ+vNxdFZCZQqPo//SFDFkLvXKdY4Ac6uCDpuXGEi0l\r\n2UHpRKRdWOU4zSZ4nB4sAU9RMo6NJBn/efNNYzSlnifzr0rEme1hZeE8PY0c\r\nEL4NCmCuluM1ex6wc/lcoJVX9Muo4aX7RAwW9UxEJHSMg94yXc8nEwSbRQNa\r\nt87xfqe678VhWgQFb2OBBU7nx+Cv/1rVEOBC/5wEyes6gelHKNnG5SlPHFgA\r\nKF/5IETZQhWmqKHR7xBIsLP0Dedzuw0yP/DP2pFG8+N9SqAoF7EYh4uDZBkF\r\nK4LXsRs8P1lnBEllU5kJKRVJBc4me2/GsHk=\r\n=ZJgh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"5aa79f81c71b1ac28d1ee18b4cc28c908b68cbfb","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-2022120114012"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022120114012_1645357241638_0.2573267857098174","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022120114225":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022120114225","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022120114225","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"35fab1c39159ea595ba36644b3f4180e95139875","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022120114225.tgz","fileCount":19,"integrity":"sha512-uZ3Iie2aFaFHuOHKkkttfXsmKm/xS6fyXFTmQkMBnR4bG54kwMAZwW+PqLviFewysZheIdIlmpWo9rC/3MTEsw==","signatures":[{"sig":"MEYCIQDe/xsELmjiz/2kVO6CCReSMbA3cPB0Ll4orIf3kNv0uAIhAKENYm7x7FAAZ+PrJYsmXVXBTSVfqKQtZtXpBhVcCZ5l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEilDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrS2Q//aMwJUE9mAA3WPQ6Zq0AlUqc1+YTan1joAFKuurfx7PoOCa4I\r\nj4esxJEJvs+YH68rCDunOP+WRpQ8ihRmqDGYftIYOkboJ1DrUDOOfHDW2Exw\r\n5gbAgohIbcajMruGp3t+dorZZGdfxmNo6AxdctYnHn0SoAd+NAzSOMEcDfTA\r\nPrwXtG7lSsSIfdSznumilt0tPF8/EpuN/8Vg2QnZhedEfy2jHjMVAf4wwu5m\r\nK0Ksjoybxxi1xUDu9Ztif8rReoHTdQpAuL0yIotgbY5n5ME2bxlWEnDHEIgS\r\nX1ibD0zULLoZXDxRPfr7yST5qy8goAoYYKZ5/1piqBx/uFQth8jX99mcNywz\r\ncEyCQ1IsPAoCakQJyfI5A9ufMqKbgqSw9owFVb2/jFBmL+uXxkUAOubMFaAM\r\nh5WppJdUYRwSvhrAzSiWPJd+ZzJdW9eHeiNQFfFkuPJ+3rF31NbinydFMS0X\r\ny8R7P4hqFxcJq4Xjf2wVXqbUfW0XLNTfuy7UUH37lsa8x80zsuxqj8ijxa9s\r\nRG3MK0g84tzFteAfr3U48nrvk7jFHvGuQbs4Z8C+42l1bOM9i4qVch6MCfp0\r\nYUgglEuhZsFmjkVJsYfCoaSrUx0kG7himsBPkP9f+sLTonn/BU0wP1jaTwN5\r\nAnJRKBCMXAkpVSIpdVqH6Wb+6TJG6z6UAYE=\r\n=waC5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"b0da6e6665234c1584403f7f7251390c3a9433c8","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-2022120114225"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022120114225_1645357379690_0.9175268100005856","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022120123118":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022120123118","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022120123118","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"6e3191e990e2dcc4cab5574de0355f59988f1f2e","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022120123118.tgz","fileCount":19,"integrity":"sha512-ln5resEM9RJ0fz9kYkSpj+yojg/znDsF4JGWwMPTHOvEYUBVg0LqPSuhkTIPRBOtT7+RJVOob6u7I0FHJ4E27g==","signatures":[{"sig":"MEYCIQDHM0aKE349U7mwTrtaOFfLuqHjyxNXXP7JbhTVe2bYqwIhAJyKxFKiVyYrDCAQ+oqMqNPT1riBdWX0zN3kMk/NtYvv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEjS6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolAg//eRlSXMdHs2vdSZtih28nulT2xgL2pW1HseUdoVbw8myvTdd7\r\nG61XzMB1bCN+OvaBwYYJLbOFLFU/Sd9hAUD3HsyrcGE3dF+rMem2cxez7XMs\r\nUNUNtcFOq5+TFSdOueSFEOpZxW6zH3ZBSjrZ2Jbrq2X6fYqK1XwjVuXb2Xi0\r\n77njhtpKGJTZ89wsYGAxIQ6lX8Da2nVFPjRnXnjncQYO9Jm88zxI5tiDIjza\r\n1L4U9widzy/8/VsHhDs/B9nla8rdk/cwe77FzltvMXn86Kc7abFlydSm/Ytl\r\nNd3hQxdl8YiUCEnvFdgWgOzTBfpgGD5fSAZUEiT4CN0yx94Q1hP5kTc+FLvb\r\nkp/oaUy546X6NK4wZ2jFtFvEKrTUaAso1oSTgdXr5e1ZMpRWsGpzhTNWT/wM\r\n/kyoScP4hjQ0206pwDDjlDofp87CAM8LUjWSZE9MdCSOE0PsuA7YQW+Hp5Bw\r\niMBEYgAUPeMQRRq69yuFBCUy834b52hwDSuPTVq+5PDpHISq9Qb7Pi4XSMdK\r\nc1KYEJLLbDiQZFgBsMYSC3qKHpkjByW38D8d+OAUpIXkAVbqM7PoEnuv3Q5p\r\n0cFtyhcQfCRSQ1R4l8Xza4/aBvSdXw2b2uMuAE6NO4gzm4/CSsRskeAQj8iW\r\nGqvprfULWhFH+X0ZJ51BWswaXT6jXiu7huk=\r\n=mzPv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is an utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know it's relative index\nand the parent of the list can keep track of each child, without needing to\nrender in a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"e1fe48cbe37324744cfe6184d785c093cda1125e","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-2022120123118"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022120123118_1645360314118_0.6257721393107614","host":"s3://npm-registry-packages"}},"2.1.3":{"name":"@chakra-ui/descendant","version":"2.1.3","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.1.3","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"6198ccce207b3d8697dedefff6886f18ca13b5ce","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.1.3.tgz","fileCount":19,"integrity":"sha512-aNYNv99gEPENCdw2N5y3FvL5wgBVcLiOzJ2TxSwb4EVYszbgBZ8Ry1pf7lkoSfysdxD0scgy2cVyxO8TsYTU4g==","signatures":[{"sig":"MEUCICMlB9VIEsJGDoDpWPohi9xtp3I+3KwPAngM2nd7/UfoAiEAwNmqNvzwgOmKl7aiTVZAGCHd7CBqgZ76nD55kJvFCW4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEjbcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoR5RAAomUnvXRUxccYCB2u6qFk9Jrt6PguhFWCgHRFx4IPNMaV/Hux\r\nYIqna8vScE40yYpb3IDXKIK5ciZS0ZCdRbdE4e4byVpdqAfRVj2tq5BhBlzk\r\nDLqANv/uaJP6XpQxsefeM2IkdieFLrnn4EhdM6CK1uEKW/cjtkwZXcMOu+oy\r\nf8qoBfB2MbsPnJetEYBj0bsT1LfsY5kkW0aVoufmKQ8JiwdZqPykD989cuJq\r\nxduo4Akt8yx5Xp38a7RWp0fIpH84F5yPq2vH4XIQwTUmfJH7aDSexNFpFmYr\r\ng5CzaZIJVf/A4pWzAZRbPSc62XiD1dS9/57RvtHHoZkpp02ax1w/I7RpSivO\r\nizlupmZvkrx8uzu8G9JtmhBAJfjBf/1SVWSxYJRQVMfVKtPKC3wNUpOP59kV\r\nH8UiAhkAJ531dNgKCa8C+zGoI1l/l0LrvMQ+pdmcSEUj+KIA8PLqlGRgBkWa\r\nUutnFdCnCvyA0nHFkCdv9Ew+HIxpxIfsuNHQU25HQjBahtgbGU27c+EdSgRY\r\nD3e3XnhjzagWMBqZzrBTzX1XBHP+tQYXj9fDTD3KAuTKFpcO01KTOMnFofuz\r\nqAYjCPdCCn4RQn8hvVM+r1V8W3OxptHm03qs53mZgOiejaHbt//JxdSw8dkY\r\nWInwKz+ADwmz+913I/6IR67bmgNF5K74+EE=\r\n=Dafe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","gitHead":"ba2fe6c4b856ba3833226dc7b6a15dc91173719b","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.3.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.0","dependencies":{"@chakra-ui/react-utils":"^1.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.1.3_1645360860400_0.7472725935360163","host":"s3://npm-registry-packages"}},"3.0.0-next.0":{"name":"@chakra-ui/descendant","version":"3.0.0-next.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.0-next.0","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"7f2f40286333c244dd12ac0e6ddf31d06a0b879b","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.0-next.0.tgz","fileCount":19,"integrity":"sha512-pOff9inuzE5qsmKMO6zsfVjkEMrPWUpBOAyzUIxIVT7hMnnXuTIBm1plqmu58xnC4IWZQUJX3xjVDPL7sQArNg==","signatures":[{"sig":"MEQCIB/RMX6wyU2n4sk6io75gnHSsoZcieP0HvqXE6ZlvQfRAiAKTtAEMNEav5YLSgQy4GjnCnMZ9UVRD39jVGQccluAdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWY2mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPiBAApB4M+AOqW+na67Nab9kUOjwEZRnw0lxqORUohMLpk1CADcAh\r\nxjrc3LRO6rhIh7kpBTIuExw5jjEEnJ/5JXHHsceswybFfkqypwRx6XUpVkrE\r\nssyofn7TVyCCR8P+UJHu8c4hbVuhzoNZIeE6SkpKBcrDsGY+N/63ose5/6pE\r\nfYw4n2TVwMUGNyHfOEqN1XPMkXgvzM+QSmX0hlpWa13X0vOkxmUdgKKJvzfw\r\nd3gVqf4i27jI/Yf8SGbJL5sKDuJipHfob3eSJFZp14wUaThKgvmqzSJMt4m1\r\nuJZmZGSZOBiv02QxpjzeywxtU31wyIGRb5iqUpmhwOkBrNceEgpOheg4d8Uh\r\n25wZPCIWLv8VtXYDlOBw3TjTZMikbfho4tqXw3pKKIFwYDxAN4oWWMxHSR0T\r\nRwlHNp1mvmuja7KYdIxIBMdGUGmORpkmjo2XNRf3u5OplUdt8JPCOvyTjOeo\r\naBUzG/QV0uTGcH4gA4Z/6A0v9QC4HExDARuAKCRAd8QKWDnabMTnyvMq5Zxk\r\nBYmLKeb/xBbWMrON5oOSaHcORGqWUeX0a1OiNpfQu39qBCAfLchWUEn4rsQO\r\nMz2xRlYPENR3fdtat4n2GC2lpYqpTKnF6Ps+zOgIf9XU/NKH3wWPHg+hFnWf\r\nyLihGbsMCRDU0DGB3xXPY7vgTbCLgo6B8xE=\r\n=LANS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"257811601483bfba6262e723393759399a55c148","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.2","dependencies":{"@chakra-ui/react-utils":"^2.0.0-next.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.0-next.0_1650036134161_0.0546543611484962","host":"s3://npm-registry-packages"}},"3.0.0-next.1":{"name":"@chakra-ui/descendant","version":"3.0.0-next.1","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.0-next.1","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"b55f2cdcfb31600dbe9f9da8d5cc9959ff8841a2","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.0-next.1.tgz","fileCount":19,"integrity":"sha512-0VNyz+YHTusQ8OIlytH7luI0ar1/96Tk2iK7KXZEPlY8BKUpSXR7vB5qwHogGal84NGPdlVgMr3EP2MmnxS3eg==","signatures":[{"sig":"MEYCIQCL6u/1CM5ah03zuCzNR7eCqnEM61WXLlfPKJo3z3fi/wIhAPeZW2LoUGElOU/yusCTKlDwMLnGnvOcRaBWH7cRf1J6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYkWlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXug//SO1IqFchhb9Z83YJKEeS57DCGzil8KEkwcQZo4MQh9qlcIuf\r\nSrMVdAT+FHhbnvjSbsvN2E//Ed6ZlqO5+s46Np3Nz3Wr2oovb4UQgb+QIPEx\r\nUhLMS0UM1OMMJ8y86wMy8MfRRjyHyMl+UOGIOb4VEt6y2173DxQqpZW770bv\r\n9a7Cud8PnrZrxjSRP6mRkvQNyXRi28M8sL3MEnocPv5fVSkQhi2b1odr8gYk\r\nlLHZ8N8AyjPPAFlJS0UDSHMMNeC4qb95ete+1RnhaCcWhPD00RSQq/npA72i\r\njpoM65M/RlL3E2E83XnoZLKrwFRV9U0e8j7eC1jJ2zX+/JELy0Uzv6+K2NtX\r\n3eB+y0kSBxYwvmvxYjfh6557K8KlZTPDYpDQ8op3gWMTEzEBrJR9vxNHUXwQ\r\naJgHOvg7xQYGWV2HGSaPldAfV0gFhBvKpb2JjSE+b9u5Mf312SHhGeO0WaZR\r\nZdFcEiY/ouph9QT5qIGiw74xWyz182M78eKxo8zCQasn76L5dqU6rGOXPzEf\r\nbuW2vLfBZDzOb7c/8rlEWMCPCetz3vpt/GphZB7d2gqTXScCk6t7JbioBIxm\r\nwW88fWBJ1Xn9mFIZ18HGRfDetLL8Ur7mPO67uPKpxTcLdiZ8+EukawE/1XKs\r\nMAUmTKuWP2MGWevwgv7XoM6EjG8Ol2cxG6k=\r\n=3HKj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"d90c04942268b9b586b1ffae3dd3791137716935","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.14.2","dependencies":{"@chakra-ui/react-utils":"^2.0.0-next.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.0-next.1_1650607525125_0.33342826977087037","host":"s3://npm-registry-packages"}},"3.0.0-next.2":{"name":"@chakra-ui/descendant","version":"3.0.0-next.2","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.0-next.2","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"0fb56e62f6fa599555b6026efff2543a28a61197","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.0-next.2.tgz","fileCount":15,"integrity":"sha512-BxwwssTLvtV26SY2J8PcFFq6IBE2sNPifWr5nOqGdlikaE79mWZzV6iEjPI/afgTaQoTa33kUzqK/Ilce0VE8A==","signatures":[{"sig":"MEYCIQCgfKtcUZ0ISuJQ775jyTtwLb3dBUVQezZJWcxveLLSkQIhAOnGypbOsALV7c5qRBjGi0zXCrgdUlwCVS2usBX3jgH7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieNOhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoClQ/6A6Qboj9IZ5SGpquBF9Zid9Z7AmY+/v+edsbyzff4l9HckjLC\r\nap0ngtXj5yKNqMgZQ5Jsn3h5sdnskMcpYHCgNo5+DOlU6f08ZeMMBNP90b50\r\nkwRgSHoHN4ZHiS7dd1WCqE9xmnUjs9wkNNJGl+oRvzzj70+DUb45YAz27u2A\r\nfyk0p1/rC4R8wiYekJFxLspefe+cK72UbbvHcEG494EZZAVDZxaqw8qHcdHJ\r\nQIRuvIoJUGALJGSDlKes2g1ZXJPfqFQqY1izZ8mjZTNulMv+sQ8nVbqsLUyc\r\nPpf3GH0wfEIXq8U+SQG9TZuD7ypyei+Opt9WY7aaIXdEmX7cckE9G2LuKbdJ\r\n+zc619ESegv4qmAOhZy7BZ6PZnMDhgM4PFYdVbI0xcE9AsevYRt9a8L8fToQ\r\nIKCACiMEzWB2WXgZAbr5MLBwU/CsmaGlI0UTb7LuoS6g3Z/znitA/YFB04DK\r\nLJJMSCagGfQLB1W4l+CS16du6XcJW12cAxOlRlS6BdlJq70RxbCHimao9+iB\r\nuhVIuV/tjTpBXvgbmJwNqWNtbgTaqRbGmp2IOlsb9jyLoVeJxZeiYGaxE5tT\r\nhcMhR3n2rMeHMbt8DQKJysEvZyNBTITb0t11MZNYAYMtXdvPxzOG/Jz6iTbP\r\njlgIjZEbl6iVF1Y2eOqM2WOl5+HKOrNrdnQ=\r\n=s1Hh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"839e03eb3d949c1f68fc3034456abc050ad2d8e7","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0-next.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.0-next.2_1652085664856_0.40415864424038994","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@chakra-ui/descendant","version":"3.0.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.0","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"aab75973d1f9bf61b446ede4da45d21d655c0754","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.0.tgz","fileCount":15,"integrity":"sha512-SZBrHnHtRSt6lYeelO3mK6oo69na+ERq/dhdVAkWrmcHCLJvbfjZ8YE7b4rl8/oSGMjI5m07RvcbX/rqak3hPw==","signatures":[{"sig":"MEUCIB4P+zgrAXYgGPsfjESHjyRZh1ZWrbleCA8eEFTad5S0AiEAznvf0i9xTW6Ry6Nw1bPQB/QWyK6/g7/TLOy1Q9ydZhY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38238,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifUlMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdUg//cUTecCR7QPGrhGl7ynnGsc6cTfKuG90t+Ph1Q6TWnMKwWdi/\r\nnUQ+Sotsx7p0+6yu8f+bmTMKALsBXeh2IYgL+dEw5FqBvgXom1Ro+pOk7VdT\r\nxvDpp6qaRy2LtASKq7uQEHl7To1i+epTqyhnMp7T6RQsVPfKZXZvpWx4SsAS\r\ngNfeZF3BrKoCrtBgu4AWa45Yzqb7sJiwTL0chNA9AfVBKckiEQJGEYD7IQOH\r\n7WhRfDnWjokX03OlzqHKFeXY8k84TrNxFKi4D2nSHErTvFMY1cW3+W8/nTJ0\r\n4Z5QnzJZFHPQ50wUUi3uETdx2RjqqcZ1BQ+A+RquLV7mGAIXLychbWb4UeLp\r\ntyi4i0jF/wQvXIH5hOKfc5ozASLRKVQ9w0u2zYcYjsTHeHs1IQWGyWutwarW\r\nFsXeUSBqn/ZNjef0Ky6wuO8UKAFVJeFoW2g9bgTaRFyR9+N1ywKMT/8rl1rU\r\n53pF1xcYOnvFwQiQpZYrcIlqSWxrsf66C6lOeKevnUQSemAUARz1EciIb3O2\r\nnPjs9GCxYL4hKh0hCBCVXaeGzQwI4WuThk7AvHVoN4LO6MwU1vFh8oAoCFSp\r\n/W10iBScNA5V2V5BiUAcOI7NEHz1u23b596BKorogSufqku9iqnxX95gJHyI\r\nk42jgYOLZmFbgTFWv3vpXnmh7QCXb0Wbni8=\r\n=n9eM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","gitHead":"48cc749d08853bacaf380a03abce69d428b47022","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.0_1652377932516_0.21793537541258545","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022418165624":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022418165624","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022418165624","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"da24d84f02a00d65fb3a9fff27194e541bec438a","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022418165624.tgz","fileCount":15,"integrity":"sha512-ModCRiHtR8M4tXwItKZK92kenV2TS64qWHkuFKZhXNPBESWueZKFRpWkrFxWjxc8UXp6lVJaUbvA4JOgF+Zu4g==","signatures":[{"sig":"MEUCIDreAFMMbgDejgA5Mp+9AIEY3/M7GFIvyoyYAaFaWrSNAiEAmMwoNCd1oWvseWlOhiTJ1H17gKPadi2qHADIqTpghbU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihSVOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrw0A/+IUyU6qghJGrTnpjuERKPJCyhHixtvzaed68KLb9hxklP0/+o\r\nyFQiB8pmVSGPU4hxuvp6tSZmVm3YCiRHop7a7e3MUuLl/eLODjaCcs1RD0Iy\r\n2aC7JPVFxSrfdcw40QWvmAcnkpuGPmoFKSHjSsQQV9kmhZJGgeql+DedMgHa\r\nG8kskov/XjwnahTDaVhMq5ChRvKHUqTLjXxWWyNYv37k838lB4RSBHD4tjew\r\nfg+FakxYhqLJXM1FECeiDiLSa5O1rrB7BA8jjnCcy3J7t3VKvUA2oyU8M28N\r\nzlLR5gTRztKmjz8w5hvEZFosztnjf3Je92BKjsvcH5/DRcOyaGiE2Lxa/1/k\r\nK1Vyxh93MxMD0cuDjhYvYVA2BJ5VR+DlMBaCJn23anxIdw7eN8dJfYdogQQy\r\nPeILYbl/Ng1hcGJJ7DomVB8F0OmONAG9M11vy8mDwKycWATamq35qjcET60F\r\nEsO8i/Lw6gfp8MngrFdgRdcjaSo48eQ6unJkkKVmFFWBL66C9UEccIzg3RSp\r\nFysjRZqnL/+K1XryOh3CtA6IOAcyEf+9qqpEoHlgZbAfxW/vygAsO3jA9n7a\r\njeMusaXpph5ZBtbFd8uLOHSYqV3+M990MXPpFeD71+kMutQ/jVc4j3vxKmNC\r\nHGDFh6SBtySQ6jZoJLxj5wP2pAw+eFsb4RM=\r\n=fubk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"4b76f24afbef9f191988cf6a046e7374639fb89a","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022418165624_1652893005898_0.9107856819859697","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022418173331":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022418173331","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022418173331","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"406d6749ad216c2cda268e7a3311ac8f221d0507","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022418173331.tgz","fileCount":15,"integrity":"sha512-bRb12jBrn2/Kc9Ey16Ygl+TCDwKI077jcC6Z7K+JS9D7w9Twi2U2lxlPL/czGwTKp/DddRVy/mQFWvzENDvJgQ==","signatures":[{"sig":"MEQCIHfKEC2jg2rbry3FllHp7U4BQtHfzau0r6MHOpRt0mpNAiAzK07L+k1DBT3EUG+HYmOxPVF1VEIPgQdnEkK+4bu/jg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihS4BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCqQ/5Ac3vLKgISn0p7T0WqK1zDNxDj2t1hzcSIPOGv8Ua0X0fHyKg\r\nKuQnvxY1dv5RABaqMr+eqWL80p9CXig3qmwe6Ygg6CmqkTodYt+Zn4QT73oL\r\nw/Iu+/eXNoj5uu+2BAyPEJJHIeBesQEtRkRtVpzHqntXgm3jRdypQLhytSOl\r\nani+EatOeSlVNluLcu2qHpLDxbkgHFx8MPnn2gtbjA4XTHlETsuCKEG4dDkI\r\n6XJOCuxcwVXerax/Wb6bSBbDAbe0Ei14jgBz2xbpg0WtVheMTmnnpG2Hp/zW\r\nYfRCF61jSxKpTQN6+g4Tq5rFa52yjWllMD21tLHrgsViF89OMFRDVFUgVyBl\r\ng464KIw/T8qkUVbuRM5RuIemtB6YOXlyWBBsmzjsJv0SiOstwuOu0sBRUJi9\r\nm8b8K/pSAwvm4yn6gWJXmCcJoiodJFFpiYF0enUVTWn/RNSxFgSvnCJ+mnGh\r\nRAkFB/23wUnNgdfOwEuwI9IFmcMRnnLGCxz52zXB5DZgX30rnAaFiUo+GIh0\r\nwyBxd9qZgmW3Ypc2M1Fqt6BTNGqWPHSiexH2BBk6zZeLno+JNHkfYw1D4epm\r\nCuF8y/HJ5R9DHXWh62ai7lPBr/Hd6mlUFiDHN8REHHnaDdrIgjwESf5PfvdW\r\nC/FLfJwzBF7tyH1uCoih32RPBfkCVeMgMhM=\r\n=S/4c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"427b5c97134a6f4e621491d124e765237293ecba","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022418173331_1652895233779_0.517962821563613","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022419101754":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022419101754","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022419101754","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"84064a9f0ea3f6908dc8db88429d6afb082cb5be","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022419101754.tgz","fileCount":15,"integrity":"sha512-kHMWhIduOy4p4aMCuOl1BnoqBlFoysvtYHIvK5Euh03zjJZRlDY7oe/U4wF+0p1s/UnfmpaMTHo4bFqWDKEFKw==","signatures":[{"sig":"MEUCIDNV+UqxP1um+/7nuNBPi8XoQaZX8hmLcX6H+CNNnAcbAiEA7Ctv8rNqRjLjqSUCdYfMkCT2Bj5EDHDTiTnZPA6R5/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihhlvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+KxAAkNFYjYgSducm1daC3MCZ9SB95ZmGL90ZTgPhzb1qHqWlG1Vj\r\nXp2vHBBvX/Mvq+uONswn2uNHu94y5ZDw98XzQTJSQ+2ak+SooHklk+Eq2Wqc\r\n+SzOGyUof7JQzJaKR2mdPlOl4yc3aF/l4rylFyxOXN9dHXri7hEa21RILWov\r\nW3xHnIG8j25YsUDlso73aJ5KUx6G9tohkPuO5Qt/CVQ1855dLmCFWm0rETH/\r\nw4j66lnOFbhg4/4hqJz5VBXspso3QY5+Dc/FwlBvABj7ING9bL9KJUeAANX3\r\nfOKX5Y+2dqfIkvo8N6j0VXEI3jvyOSqbus/ir/C/YfEg7H37B7X+00WwIe6X\r\nKvEqjHVOeo9VQ+4JSxHCYjs4b1+PF23uV+j8uaWHcGUDN2BqPa3WTaJsB9uS\r\n0MJ7abbrNXJ0+4bBfVkEfnJu1VM+eBKfHbFE4jFuz93e0bnHmO3nWti274cV\r\nm5k3bVAKoIaMoYcGxLElG4JouPggiGop44DduZSJpXiCKBLuqpITUPHORaBF\r\n5xa7pO6FfinvWcXL1pCSeTXYQksajuO2wr+0pFDk7cVIyIkgOQMtm52z9bZ/\r\ntCiK2Ecdz8LFWNkRwyVWx+NWi6TAkElXUg5uun57KYeta/cUMeW5F9VUhBZb\r\nHvGWvwFX+FIPM5kdP7LWqMotOZhxmHd2o9I=\r\n=kOO1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"55c87cd62acb01bf7a74d75af24cdf8a091dc1a6","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022419101754_1652955503243_0.32303437752086595","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022419173934":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022419173934","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022419173934","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a482a76a9b91ac616afa8312a2762ab39b5aa2fd","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022419173934.tgz","fileCount":15,"integrity":"sha512-fGTVO3hay4lbGSdhEL/Dxh7vdC2Q+PvDknwmpHtoI2G1ixc4C/YS6IVB4BqFh3KaWBHMarSTdpY6dS06lO4MQA==","signatures":[{"sig":"MEUCIBAJfAi5aJRjL9whrCcGqIpR/9pM1oD3YFvH6WfKgiWRAiEAkPr7nm+h6I0Bi15Jm4dTUBAPTSlrh2A9T/c7lqYR4Vw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihoDuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlyBAAltDhx0p3S/vFwBJ8qJa2ji3Ndjos+fdnAYn3s+O2kewiqn8A\r\nbf1dw/r39euOJxlcYHYVihXt+7iGMyhjZu73kMC8ZWwaSCGW0bbjNsJtu73d\r\ni0qspG/RxyHJl8LJ+gCSeIXnUmDJ4JyZ75dT+CDLzn710kKY4qDSVEbCcEbd\r\niMJF6rjEaGklHdA4xey6XA34dypyvnGCK5h/A8/fVs4CSxcpZ4R38bb+5z13\r\ngLSB8DBunOwes/8WHP6r0vJcbArDPTpPDXA9tsGjIjaEWHfxtlqGwJHBZXqd\r\nMG+39vSJSFH/Qvfk+BeUq/ygn2JXYBUNgwnGOEJHRjNZwjthQhCifGqTOaZu\r\nLnsHrmXElioxtDakbzlgLai7dGwE1coIBgvKZczAx7iRHMbWuE2wiCMG0ZEG\r\nfQEKQMHqbB6wp9sShBhh6C0D1U9JnmnSG6FIrrX+5pQMNdDqnzQyVZ67msBU\r\nRY4wwQAr0xytnTDnWGe/WE8oou+CsUsfXAtnXqvK2lCsiD65KmbrYOQnoCOV\r\njuQBlriNnqvX69mWRfVSsrPfTq57IE6MhcyOtaoop3I5m2jWnv4qddmxQ56Q\r\nHO3JiieQxsd0R6ye7erSgb9JIMfNh+wHHrCIm6zC1k3PTn62DOzi2KIwjmGj\r\nxHmYwvWRvO3A/XgI80KvVwqdXayoAGUQiwA=\r\n=0mAQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"1e1503f48905bcd4c0a1b5767679246c1a03db1a","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022419173934_1652981998546_0.8303767164593501","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022419174740":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022419174740","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022419174740","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"223f66baa00cccf21c72ed3a6d169d4d9068804e","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022419174740.tgz","fileCount":15,"integrity":"sha512-0Ol/UlLeaKWqhx+c0cn1P7WFBrTwOz2A8J9cgDiKLGdNeY0mIBjJNO19ZVCAVitcqChlxsHHf8rxHtUa/mE/9A==","signatures":[{"sig":"MEYCIQCQc7t2LLgDcVq8abEX4zy48WlS/VVCeakd1hYeFZlPLgIhAJ9ODMIkayP88/W6S3z4Ikm5zgokA8b5yioaCLPDb07y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihoLWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmplaxAAimOvzuYHT2U/a5vP3gpDIqOPdvCzvZRNzfyLmmxup/spCgIV\r\nXxuc4kLnA8WS48FEBrZ2KgfVT6cndKZ7+Kf5vhCDPwuBbTnab/0sVrzZC4E5\r\niJocc2lTqHepKmGSsDao8bsVv1BdZ+U3+CohN0zj+F/J5GYD55LK0m6LdzVk\r\nrDLqC+7g0GjIIG29zgYYdOARLcKNO5Ati+4bs2L0u8vzkG1LG2HSWQD1rjn7\r\naWCnE55Znzwp/AKn8J/oIq5p3A90fGYfpZGMamEcoTu+e/SSzTiGqiMNaiix\r\n5NZpOoIMyq6qozFpiZDCIoVtBeW2HA5TYOv0/b3ltBcBv5qEQil4W7MvPHml\r\nN82Euch+DKl/7OuUuL+24jyVcXmrOlS61nz0w4/XWRs4y1jS6dXxIC74vRcu\r\nOYLc+RJiCnM1JyvQfYEhY8v0hKR7jcPzqRjdsy7VWrt1aoi9CwyLKZLMC6wn\r\nH8DsdlOrVrbKyyzXttRwQfX/fA1eMB5p3Y0rGHfmx0nkpVfnnklyRXlmTIjD\r\nYI5nu7W/7egYymJL2v/BSWMjW8EpbH8tbXgQGe2y+MA5Eyi1GGdV86rGrgan\r\n0RQnzC2ALURYcmw4/ABglvTfClXYej7ZvhquLgZ6vIWSJqqj60Vhes1Q7AKS\r\nln8pY8riC/jfkWiOf2LOJ2HLoA1N4hj5wD0=\r\n=T5At\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"6f23780c03750a1b70d8c855c7058d2b9958b6c1","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022419174740_1652982486123_0.5163915717768943","host":"s3://npm-registry-packages"}},"0.0.0-dev-20224205231":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20224205231","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20224205231","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c6d0ace58aa991b408e9036c12092f8c5aee9e8d","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20224205231.tgz","fileCount":15,"integrity":"sha512-Wes7AzDQX4rziHlCWUKemsICBmK2eWA5eLquPQo25xUyW9kr/7qtnQ8l9i/MJD/+bFe3c2NW/67Mnc7a2XsHQA==","signatures":[{"sig":"MEUCIAFzn0L9Lu657UBTZ9jHvm1XPmB6+jt6kkISn+GaVOGJAiEAuJD9tbPYrBQ2aP385yQKOlK7JYPg+Z4/p/InWVKArH0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihyXUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5uhAAh6iyAthYGK3tr8PFrDRj/zetsbL3vuEPSYZSpg8zRZn/lxcb\r\nCT0wQ8HoKCqPereTJXsQHuwSxaEoR5H9JXgr1r3Um5mpsSsC0Yqrs6HA9Myx\r\nHGWc5ZAplPjsrgnv/0iIPH+lPiin1p4T9lUJwHQLW9bnShRkSs4Wu/+dl94m\r\nGYsQxDhTeFEqFKxZO48emWB4FLLqcnwnEcNE2vbilnviQc7VA/eNypr88SKb\r\nyxDtBXY26rlmJf++46BTIvB0COKzjA8AA9s/qp7yrv21NmHqX7t9J1Idjr5I\r\nPeoxyKKkiD9Wqgq+f6iRuIl9EKj4M38JdZGAVEf+7/3IceNMbdss12OtJe1k\r\n1POxQo+h4+Bj27HUIS1a36ZJ8q23Pzd7tDUSL/AEZoc7yDiCdUAGVTozz6UH\r\nft0MJ2T5+1uDacqclGCmdJb+33F2/xpm0iehUEawjoTMlZ4w5VRxOVhCu0dM\r\nS26pDFG5gxzIdz+SJhydcUp4JQQQo48udHLiaVKOrIbHiJTkMGJLKi3Gwi6C\r\nh2m23WxM3r8D3/Cjmg3RZZg6vrtZo9v1W0KByZLMgLCpWIfbuzJLQATx9Vbl\r\nb52U+W5tFBa95yvLFM9D94YixrBKUZKbjZsA5gl0WbGdd9u6zBvZGDYU8r30\r\nvsvQerxBj9+7ZouzMLe1zNQx3Dk6ZazMlQg=\r\n=tN6k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"37054f067f41bfd387b92c87de6bff4e43638455","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20224205231_1653024212297_0.023906227238500444","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022421153722":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022421153722","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022421153722","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"9f07c1e644e6c6cdc78fc239f72a4155c2ec8ebc","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022421153722.tgz","fileCount":15,"integrity":"sha512-wceoxJCzjwg+UkapLRxg8E8g8EKGWs1Er6VdyBhia3Qs0J5Nsf4sQDRCS75sgTdlQl7pTh4qX7ZbcZkPikQ1Qw==","signatures":[{"sig":"MEQCIDmki2nTr68xmO8m3Y9WbqYPs+Ci0SOY+UBB35fzyZpMAiB28gP8gYf+jtQ14KwLfxRQOyc8peykaO0TTMYeglTV3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiiQdPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrtZQ/8DKgNI7HkVuzIt9QSKqs4eALtptwutppXXOZEXQmjuE8tN3ko\r\nVRFqMxDtt7rDvhxic9Blxb9UTw2XeeXJ089r3tp2Bnn2oKmjD9E/RztZzbwf\r\nq+nTfYIBriaLj4nt7y4qRzJIAe7E+KhC8gzGdKZfThUEHhidmTXst1VPJkUQ\r\n81n00crejrXf0v3dEsR40F8LOG2ov1GPNp36M27Kq3bEtU7zuhXQCkvNPiGI\r\n3exelIpa30ypQ8T5pHkGkGQiHu7EGniF6WIn9TZZ8FX2f0yYmiMe8RsBGSWU\r\nnpruZbVSUW/eV9wlxD/2JcjMr36p8w/CpEQ0gx0ajNdacU9hcbj2kJmr9WxU\r\naK7VPa8DCJShW+Pj8w9GGDUn5QbOkf3HvUwmvYnaoscBd+c/601BpGl3sYa3\r\n7QShfLM2OtA/WsYYAnfuTdh5PFfx9qhv8wUsY+XScegdsQhbSLaatJA+n/52\r\nXq/7E/1ERdnRUOf8De/DxWX/nktW3sePJ7tY375iVPRaKhvKD3kgZNQayEy6\r\nYYiHJopVlH/mDaBY59s9zyHwLtWkZhBpvIfBlBnVDCFQGUVnoAzD5ZVqphcA\r\nXPHMQmEdbcSK8mfmWi0J/VGwl0QrF3CANmIf4qEp80i+P1dCGaAkqyqA3WD2\r\nTGu0Q6qXbA0WD8VVDauiqb+sp2+iyoP9zVI=\r\n=OZ58\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"47b0f3c1d446ec73146609bda3c2b19b367e9980","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022421153722_1653147471060_0.3318156505856056","host":"s3://npm-registry-packages"}},"0.0.0-dev-202242121518":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-202242121518","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-202242121518","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"71adea65cb392ca20f58067addc8fb53965200c7","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-202242121518.tgz","fileCount":15,"integrity":"sha512-vFQR6+C2SJ7YmM5ROyKd2jB3lRHe2wSCPGn3K+2HaIry4Q0PVO0pFrJ9p/6KvmI0+/NSI7YYHPl9NcbHCA7tFQ==","signatures":[{"sig":"MEQCICWN6Fft6oeMxrzGheEa9qn5Mc4yCD8RXDkHNScJKIf7AiA1afpUjHRQqCNNAXZY5HNjfQ671HLdx6n0ks4b2FEtLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiiVQrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpz9A//RGlYR85+sF5wZdJQLDG/nvbLDXbN5UomTAOAhEL6pnsMvyKI\r\nxUwigR6QOdYLXdI5XJG3bD+4s5J22WO4YCMwRBIxbTZq1zOepgz3ZVwNncxa\r\nTFJDzTE+1UZSDNHpN8ci/E6L6FVQsJ4i7gKS//iEX7Sh93iz2FY8GqoVhdHQ\r\n1jJ1BlaXjW6vWooThAFLta1zPcUybO3LLUfMPKSJeilj3JnTPunvb1gS3ZQA\r\n4JKgZRbidgOkBWlWkkS4cPKds0g8ItHaxaua6p2typz74rDVgL1EEfxQNiJ0\r\n25HMpCEXOEQjAbL99V/Sf+5coF/BmsrgT7nM/0L9TNtw3/bJLJolOaw6qf2M\r\nfUEQwjD4VznfBonkge2fhACF/zYqM/6SyA8Wwm7iR/6PA/vWBayGle6eg570\r\nRC6bVsv3ymZPVtfEsscsUIUBPFltkjXYRAg5pid3LdfcaEC7exOQQSlorwRS\r\noR/nTghUADOJd/OUyEt5mrb2dK5uEA49w+56eDzU99cKTWmkNEqpGTlAuVvX\r\n1N+P/iKbRpeuTL9bMc7D27a4aU4dfyqQid0TVl8kDnCIU+IDcf3DY9P3kiwI\r\naC4UdqWrnuUSAmyQkXubq0mXuQHJXOFvsnRN6125G6EEYXnHKT/vSnseBe4H\r\nSgrhPMVNauGPcwaZDX7dL2AJFQ4qiU6bAt8=\r\n=6jma\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"7150626f047f6cd0f559acf8fb679e29eaf7247a","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-202242121518_1653167147215_0.7423693645009839","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@chakra-ui/descendant","version":"3.0.1","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.1","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"7b7a1cea96390a697badc7bea76ed809ab6e3a3a","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.1.tgz","fileCount":15,"integrity":"sha512-V86JwFb80iZqRxAoj9lmITv+/Hj8Mw3p3SZy+TdcwPzIYCDdbJUxuMM6FGQjjiygul1H4NPoCZk0AaobbVVHcA==","signatures":[{"sig":"MEYCIQDX2pqoxbQblMs73jT0N5fXGLVwXLWkLpfWCaYOZvTMCQIhAJ/w8VjOfPKFNuLjeF9WHB4kV91ptb21jnaDWnQCOTu4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38345,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiic0GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoApg/8C1FJl98cvJqHszBgyBEjg9T+hwPVtpqt6vwDQeD7ApSRPxle\r\nyTmw64Q31LJPUlBGYxBimzxLq01y9Vwe5TsxzOu0oMLJWHzOcsUKTIyj4W25\r\nTQEnOc4/in/vu56I7ApTBY5dJe+6kx5JYwp87jNPzl6rKQsbY0WOonu10f6o\r\nS0swnsDHxyYCZPfH/qkIHGBgv3QZZ0ZSa1l9YsI8SHmnKSXTGjjoeJ/xGhSU\r\nQhbhsKe6ksPJqxI2yzHPijDo+2CojorjQ6K8WfBpVBjjrDjWRcHUUPLydcxN\r\n1JoVuTHAYA6CuDA8/Wv7Nv9q9kE6bjjZDmYrquIAnsYchbp3uiINlACLjhnP\r\ndWUyPTO7PuPS9WwsUzwJjIMrYqzYoswNlvXpg2ptqfITQVVutjqvxW46pJei\r\nocTchxBh/HZP/3acVY5TF+cHhKMgbZJvQKLn/KZx4uoHU04QNJ1/TJqmza9+\r\nE479z/ong24sYwkUra0h4uITDU7A147+xtrpnQmESBNyZO2QesP+XziVhmaV\r\nwiCU+IzHUZCI9O4D66QnWWBqYzU/jj7vCsWIw3M5kP3DThfJRIr61VhvB0Pe\r\n3z/m9lyngjUAuBz13wqCczYTxUvcQs5oTWINgD/0OeJRPt3NisQtmvVHx5Kh\r\n7EDrIEXkQ4OfrwiR+6uKfDx1zX8MdQiLiMs=\r\n=D6Io\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","gitHead":"9980e6ad4bd6c1f0a44e21ec4f8b28e8264abc34","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.1_1653198086529_0.042384967246043015","host":"s3://npm-registry-packages"}},"0.0.0-dev-202256192154":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-202256192154","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-202256192154","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"09caa6fb0ad6988348d762d97d8f322c190f3b8f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-202256192154.tgz","fileCount":15,"integrity":"sha512-2lEA7SnRWgFej1yp4yjETnthkk8CnvAqwjM0DBXQ0qgc9Klm1LbW6PQPA1qTglSdHZEdqZmYlKV6SC4VOt1+Xg==","signatures":[{"sig":"MEUCIH5CaYINWHlqDTNxtyB0ynf1FuQLNDud2o/mCT58CnRiAiEAvYW70NEWqrDDZjWhgs3CSTUyNCnGrUqPfUkP4auc3uE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38442,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinlP2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPnw//VXax+sDHDOywUqe+hkZO6u83XTk2+hVcLLQgqqr0MHB9Z+R3\r\nP2Ip+8wRf1VWdzunTWbtvzvwlK8qz3S5NE+TyRYQyNttM83gbotzRk9rr8VP\r\nPPtl8y5wpC9TgJ8+JiHvYmVlHAJ+LhXEoPo+PsUYWObUYCSpCL+KE/XxhOZm\r\nBHrSTs3XX7INZgck/4dEn6mcCXihzcrbC/Kf/cVHG9Z2nxRpqLxGDzdEYNFm\r\nTwrcYhBsDz98Rno+rQ0DpVj8r+8HEHUcQRJjzLFSbAchGL5dCufAq8lRhkKO\r\nOQIRs2Vp3PzkUvLaMuEGKR8ulneyf2bOqD52IOqStv8xgsy7oXjM2oi7Kyjj\r\n6yOoX4mUwsAdKLDRVGv4psfCgKSh4mZozN+UugRxqNsWuZSZweXFzKHZ5HDA\r\nxpt6df6mGbXTRwKxPkBLeUeC0uEvAP8adcR8GMF4Ze3z7+RZ/4ZVVc7E6VeF\r\n/8F0OKcVU3BfBGM7m/Vhb74/xIDy7I1m1rnmoziuYUl8U/Z4uCz5Ys9QVosW\r\nHUP1M1ory/ANk0wznPv5Vp7BQ7cN2tsm8QOnC8k6t16sdet0sGCtvLaFWIu3\r\nOP9VKWMrO+fuehaHVw67Fj7CzzQWdNKr/Y+xnAnrT1U7cYP28UojPAkQdUV8\r\n48s9fCQAOBICd1JJ8G884aztjUKCO8TpuXk=\r\n=gu4V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"06f29f8cdbb10ff1da523e0d0e958b9990d041e1","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^0.0.0-dev-202256192154"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-202256192154_1654543349866_0.10347239753064574","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"@chakra-ui/descendant","version":"3.0.2","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.2","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"1cf2584989160d93d8983bca7e237dd9368cc0c5","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.2.tgz","fileCount":15,"integrity":"sha512-BV4IpONYr52V7rJnEYj5Ej946HD2BTOgOQpSB/LMeITfkp51/O9pOayNoVghYW7cFts+Opy4YmvLcuxFhWrD3Q==","signatures":[{"sig":"MEUCIC1ABSGz4HF9ckltaMDhDaaDWNjLIdy2w9bb78WZYKJcAiEAjm3A/oBy1ENBwUQj26wxT/gsNjEfgd4tGOXV860UbU0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinmZ7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMSg/+Or73jDfoSSC6WKFqpAiNx/1Nf5E1AIVz52wZkXwUF2I7ImYT\r\n4Vqlb2dl1N2d2CYIX6xds5qGHMueiXB27cKoSUBT9UJIV9rl8dG/M3DALzbg\r\nVZVBZCIrDvSSvZMTb3svAl2XGwdymj1KJFVg8W+SSHgzV5Fj0i4CboRBu0nr\r\nZXfIbA4VzDIJ48j0jJD6mLEszMPoPqIkb63Hkzp7YTZrKNRjJVzTANY6bpvt\r\nNucKxuOhbjn7h18z/uDldqe8zaLBpcjAkaEedFsULL5NVHzWOtXjAeHFi8xz\r\nPKqgbzT11buBudnTkjuqFAtJ297+sBIWCzrQjIzV0djjnY0nsqpYMyh88DJ9\r\nAiKhyhb6Fzc3cNiMx+93/7pl9ssNXAzIECKm48wxhp6ZtZkGcANUhlLmhIHt\r\nW2XMHo97RKKpn1DBUaG4KNcnBhy9m9+CZjyKri48LRBMykCiElBdcLYKLoLy\r\nju4+JeTHvp9jvmP/S0O6wEzUY4ywO1yV5ss++gQGMZooFq1z7XZJ6WoW3Zuu\r\nKkICXH+S/y2Ndbk9n3KbIYXe20BvUaGXmINj9DfZcKD8Q7Grn5WCnIY+o/4/\r\ngtNGIGlrJ9Ku/A1XtLVvo2V+Xb7UVovyLOytU6ckOe4Aae2U6nVx5M1YPoL4\r\n2RiBqz1MFhrUGXVEWjZM8mDjqf8w8ZYigcY=\r\n=5siU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","gitHead":"28e10e36d773f609246df375dc6279385d07e0ff","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.5.5","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.0","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.2_1654548091377_0.0308533502359023","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022511155212":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022511155212","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022511155212","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"66aa7bd37977ef2e7a017440df537b351ff04e45","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022511155212.tgz","fileCount":15,"integrity":"sha512-ZU3lfam/JxRxl62GnDvEfogzOxS01Ad3d8IYHJrgiPBM/ffNS8knElX9Y5ydKjQsTLeRZRBuKBFesQ7h0B2Mmg==","signatures":[{"sig":"MEUCIQDTTkxunaiVJVr/LU/tA4oZk6WkDEo675u0IhWPJw+3FQIgOCl3zRoBhzNWVGl7mlPooNq8CDDn41yp/Levvl138lo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipLpLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmraCA/9FZxkLo1DyhscK20fSiZ1RjL6T+Evj6pl6p6BM2qWk68QXpLr\r\nnQiTvQlMztyCVWkXKiGeI9WIcILLwgEHqpUx6zUEZaKS6RA82FxBBgE7J/Sq\r\nkU6lsVU/zmF6YFSYRYiEuCimcgZCM8SE3IVmFDAJ7SclyUUqyGGQ+fInPB1Y\r\nF90JvW8ctH7I0h5um+eI7zePEHqm1nYgOejAjTawUYxzudy6GPcql9Banp/x\r\nBzI13fQjUUDYc8ipoinT8kObTv8C+FPr1PW6RjSIffeUnv5gqaJj6hCqO95c\r\nM9TG3irX9IJdET+JOk6mISXx0fBtKKibgL4wQvoTHvPUucqjB66Mk1mwNfJD\r\nnYB9MCCHYzd0TOeOXn90JUobOVLT8UwIuEYH2o57g2mKCvMwveaKsINWGk4X\r\nFyl4WUxRaVAgnLUIfjp7czBz23WRIIF9puvqyiipOEXSaLn2eLYTnZPiKcTZ\r\n9/fXDKFgcYN+uBJBeZUEkz+NLQTznmnmYPYUXkr/UKZjo+dn7EaRWtLsxTnT\r\nLe0o90cUH0GP+LFR8O59mZExTH5NmHnoAdLJXNGcAGKfPVwVtqi5D1xTtgRJ\r\n9YrOGIPrJENV6egNKFvL2Z5r2m15vKW+nkquq74PZ4ZMtiZ/mecjqiPoVxwG\r\ntNhpDV5uwJ5gzKwcdtW/9ay3HJnobPk4iUs=\r\n=hAs2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"911e13823b03fabd673d7bfc4270ef845d3d496d","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022511155212_1654962762893_0.8129646797616308","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022511155356":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022511155356","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022511155356","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"8bf51185c99b3a41624f81e463bcdd61f855e966","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022511155356.tgz","fileCount":15,"integrity":"sha512-umbrhKo9o2MWriZfxTQu5sRIsa/vP29cLsD95h55OOJ2POhy+s2doT3+IPasvSGprt4Rp4fP8do8Xy/WVODU+w==","signatures":[{"sig":"MEQCIFsd0C/zXR2RgLApoSYGCAd+5mh3tMYjbZ5Kqnrop6vWAiADicw+Jldq8BghGcnNyLwDHwQOdpGBg8zMLqX/QDhZ+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipLq0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquWg//bQyMXeccJUwxjchZovLNEPZI0Tv5zi5f/WPhhWppjBaO9EWv\r\n6Pvr07esKBIKRA/Kplet56dC3nNzoRXKOrM5VTbSTcMGreMCXWMss+a1jV2e\r\nGny3nyi+AVgasw97XhWDryF02lgnQaheLyduiuwvM84qae8lbI9eVe+Fljm3\r\nOrmMLihSj/ar7BB4FnildBnEYagWZ03/OEmJsFOCUJrzrbKQ5X4YsmwJ3SDt\r\nAfKfTfXknW9a6e0rBpgV+maZMvs038mGAl8byhads7/gcJTNu92IoASVIQsT\r\nO6tK34A5xhR4hStuCbnDBsebo0EECo//12QCgOp+0m23L0sNnt5qUm4eESB2\r\nxCGR9HGfeg72bcRCEFntBl42DTwhMp5AvUoJHDZovYb89DsWioR+AOVsGlH4\r\nUF9ZzNmTOBmFRKezomz1ibtQzfDZP7SRNowsQz0g63aqPkPNWFG4GTXlpyoY\r\nXI19rBmpTIJ/qOyQHmPEotVYXx7PWB+u/FBLMxx3BGnO2iECZrQfv+3/9WPt\r\nZ5WFNNkL2bvYXzYdQj24KkORCfpNEQVxxl8+ikEiUnfmXcsB30ecQ+8TaUEk\r\nKiPbFaWsA3a4zMjhM76fPZ1W5NXjB4ykfk9AIiq1lMWX4I/p9EUXte7xUk/b\r\nP8CJD/n6ZjwJecC8VXqlNMPXQ+LhH6ugnr4=\r\n=HZXi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"7f11b0cd2299ec57b98399fc61314202919adbce","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022511155356_1654962868810_0.12704595644303107","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022511155428":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022511155428","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022511155428","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"7f94b6b1f0cd246220802369a54fc8857b7aa5f8","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022511155428.tgz","fileCount":15,"integrity":"sha512-DxVg3LUuK8RCzxMkU0j7XzIflvqzM2H/VhEFRqfMagRvNsg9xN/O6mrW2Fw6acbdF24ykjcpacoMhhodgfDYFw==","signatures":[{"sig":"MEQCICVmY8tUB231TYf7kE8DqoXHiQSh0WKLH3FAuCRelZUtAiBi5vv/0uaLPdqKrNYFkyXgMUcPiFbcCktOg+nJgyiCaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipLrWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmokvg//c+d3wIwEHDfYq9bPd/SbUR/Awr4lGXfuSNoD6Lq5QypiM9LD\r\n5rDytzexqR5qweOp6XNNn2X94x0apPDGugaI0UuLPmE06Juf8MHzWfxg4Tbp\r\nmeZ37BkzPI48+CcoXtSojWkQJGJZpF3mW5JdMgPcLg0VdYbmfNxZxL9iE6h1\r\nPZyTvn80Tifsg+MJN7zrJeam30lSEmGA4kcsKWbxRdWadwbWhEfGVKB5yoVd\r\nDKclbbNmLc1gZu5PAT33go6SBojYfNacz+uIPYjrcxo1lJ9JhU8UgC6MHel+\r\n11XhmPu5yGnW+Ep+3cz7f1t1xO+jmNC/46X6hFNQAU9YUIAAgu41u1Zu3YBV\r\n4zAAyyRd1cKj4tMyx6V+AqW3XH0UmbSW7LUKbhqFAaQxZhslHEztLH9GYdr9\r\nHrlFXi2HQcXoZkCYxSTMrKuQ0FTPPiPEgyjIyXjDCN4qnpm1cM9P9w1IA97y\r\nlAwqy4hh2c7RI2/oqBHk7k36fVrcILwxUy7s0NS2IcLEf9LSlIbsch/rLWRi\r\nMt39kCAZpz84Xqs07xPdnS+KxC11Pg8ziEV31TwFNufw6mb/6G2QflBFpeHb\r\nQnYTtrmqorGpvFboNtcdMlts87kMfnZKEiRbdG0VeES+GPj7DSOMKjxJgYSm\r\nXec9RvaTP9HqVMJUiNbjtzIeQovVz6UV/C0=\r\n=UDIl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"7fc054eecf48cefe788fdb31a343b1e281649197","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022511155428_1654962902701_0.8077526185432957","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022513181240":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022513181240","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022513181240","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"437e0395a176656cbc327418de83e6c26303e879","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022513181240.tgz","fileCount":15,"integrity":"sha512-y0+29c43YOdykzBvfj57Xbw9WxdyK0KL0aboaBlCrq0n4ikKr2/htjG5VZkCfbHvWLko8j1MntuFOU3tPAPyig==","signatures":[{"sig":"MEYCIQDDSHyNusZdSN59TVWSUdXBoTC+vqNPkZoFrf3XbESKagIhAIRgnLmQI4yCkLzL/2xUUPi3SEcw/PdCsEV9WgQNzIk1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJip34zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIGw//fl19uaSzMaH5PFjrJXTAI5stxFBfd62J3farhXaBPvo2ICdg\r\n9nVrWldGNebq3Yz18PFvjYxKiYLFoLST7LaVPHrYK0AHpFH4ci8S/T9r9efr\r\nwDOxa91InKvrIkqWqsFa4lWQsepyxSIjEPGZ1s77Ym/RypTjpjZXcVEG4/6r\r\n6ilfflHWZeFM9DdD2s5aGSHyxX+JhKoetGYCO4vagg6UwqxzLFS44MR1QeSM\r\nEpU/rIV9idomT6vbsxHHWb1LUATN4WYywmsLDSTi0II6ibaZ1m/BqU2Q/5+s\r\nJRrcnmksaDJ/IyVPcVIWRjs6zjT+tc4NtenvjzTcfvfmE9c+KjtLI2XeKmFn\r\nHfYRd3JlL6a1VYHdNwQzkLUcvRZG+daULFbtGuu7WZt2eYFjamKNDwdW6rcD\r\nN84yit0uDnplBbzLqn1oL9i/zhSD8jYfUXAT1HYtlXkkqNPpUvk+B+2/1jsw\r\nZYoQQ4N7rLywYVqHPCOo74WJviSOxqmUc55wRLPtonmhJzmgNri0jIGMeSg+\r\nMdUa7wYqsrzBW4lfLta7tlgl1hA7ytt7ryN9kQ0ZqbEzx3WgKBoW5sE2OyEH\r\nFYCQJXMBclDF0BiYzAORn9L4P+R6Fba+mW1M0o3atJ/9AW28lrqioM4CLN12\r\njwcoRDlZhbB76WghZFY1YKJwl2kkowOBuMM=\r\n=qQFV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"31d24f6b0953fd4eb9c90a80e3e78227624b4d40","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022513181240_1655143986973_0.194213509916906","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022515163532":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022515163532","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022515163532","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"dd0f01b73da9fb456bd6fcd0521dcb069f6a07c0","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022515163532.tgz","fileCount":15,"integrity":"sha512-hbSOCRbMc1nzBTlgHBGgUEwLFSCA2i1AH5GdT33oDgkssVjzpIos6lmR6cLLDqF5N4Ya7301ZSd3LhXkOp6wlw==","signatures":[{"sig":"MEUCIQDOmc5H0yifgDjErzlLeKzDVe8a52ZeDuK7mUE4OTBK5QIgY9eYAcp8W+47JJtnshgo9I1I/gZwqi2Gl+FgrMjyr7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqgpxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmod3A//futNLkmkvGpudsDMVMVm6BvDoNRO+f5xpeKrSLOpMOTLMaH4\r\n3eeCQv1uDBY7bgnZabs96qzJK22JmG5sUbrZWDhbOuyMfKU5OKI1AEeH1jww\r\nHMRQg/SVDuNbJONgOnlABFZ3zp+oj/AE05uPDPzqP11wJnHjkgTszJFeZsKy\r\nT1tFTUcaP414DrNOU+N+Uwwy1+xWIrjo504ouVY9PXOVTZNNxWwQbVZyG80J\r\nTmA/UP1W4DYNeXPtwbjFpWw1Q7ZaxOLLvjeuibOfWR6o93eOCI2wCequ6M3U\r\nCahxzY1UO7eIIRFj14+zh2VpyYSiJvXKuQuDaxFzzKD/X0kWJVaGilFurZLM\r\njHviln8IUgOW1YE7m8bJc0pITX4XR3c+VOnXfXDxa+7adau3uFar72m0XdeQ\r\nb7IDbaQ8JrPaaZtjJhqTFwOdjdViLtmVw1cv5f7N8REp8n1Z/DWfBIoz2cLk\r\nc5ls6nQDnNRe53R/t5BE85pqbKeR1SlHKRizKkmsJxYYhMV+owWlzusL4OtZ\r\nv6OF0SxtcWUnVcEPcbW9JuNcUSLpNc8RYiLVkxktgtub2NHoyGhP4LSoUu2k\r\niaUl1Lx740K3MiZ3FPCpekJW/VWXH2024CPCpuaOmh4dl5hMWgTFh3rBoDPn\r\noqHWbDVMEUiLMbADwLm92Shf4ehviI0OI+8=\r\n=yKis\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"f3c0040dc87a741a46d5ad76e4484fa72221c914","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022515163532_1655310961374_0.9405824704911356","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022516122241":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022516122241","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022516122241","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a2a48d5b8a9f9eb7cb29843e6710c66ca6068475","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022516122241.tgz","fileCount":15,"integrity":"sha512-vDQAxF7x27rMG5BXTnhu0fixMnadEEO5UNrrGoYaemfRRW+G6DY7C/gSjs1c7wvk8IrzKhSdA7XA9rak2stGZw==","signatures":[{"sig":"MEUCIDNbpbg+nGLtIJ7LBeKzK68Aob7SVBu20mQF5BdEVZolAiEA8CZLfPmf9WlXu0Jj+nw9RBm5iAOClFRalwyOHqQ6DuM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqyCvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouxA//f6z0q5zS8HkD4eUreOIuUBAGeRkfqb9RE6wNw17j2z5Nbyuf\r\nAtuFMUWEJZH5tvHkWDxaDWn29JaADKauN3yrSkGWpDaEx0LkLt9MZq7FEYzb\r\nbNv1ZSGOhlu3Bx2lw/AYsUyULO4lgbk6bJxZhaaSG9wd/ez2wtd/BAJCTdvI\r\ns8zuW0an9kzILUKWRctZOAPDGX2mzQwERK2VHrWsUtiWG/EUf7hHEHAZBPOW\r\n1kePOEWkRzyITwxQLsEmkr0D3V6gG8D78/86yK1GVEZPvFIwDSiDP8K+tw3c\r\nqvVkaH5MWT84CsQruc20t4RD2nUkQElkK698zzMiGJ4zYRrMdRbcGsNz6N4+\r\naJJxcBZz8zB4t1kuGmtKXpsV74r4WOvAYqxtyG9GggG/e90Xlb6eammmkwpf\r\nvqKgA4FnWzr/yGnYZIQZi5oTWMbghETndNAY0bDtZ+vxX4dhCCwJmDLWyChf\r\nvl/6mF/seXiScC+rP+17BlvMAhddpe4UfAFmZqzyje3juPu/ADrqSmqQfBbz\r\nbxPP5ZXeJBDT4+CJNIfWdIpJ4UhVdCo6XFuW+LR10RCp1vmIzeayVmbfVquo\r\nNOYFZHWqG0xeZbZBzk7wOaP4ZySITPpqxi4RClfS5Pqltu/FHQp+01iIO5xm\r\nGyf8aDEipwOwR7Y9BY0lVapsQGWQvLP7ji0=\r\n=zxqr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"69353f68131cb17f069a17135e8b3ef8888d5f3f","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022516122241_1655382191307_0.7905475873757586","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022516151633":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022516151633","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022516151633","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"77d1643d654350f24453fde3d46fdd7b0090940f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022516151633.tgz","fileCount":15,"integrity":"sha512-qNrKvYJjwooLZ9wCvPRnSnCUa5qG69HZl8YHeJU+jX7COknqVL24Y7baLi1oxe07/yqHqtH6FccmBE3b2E0F/w==","signatures":[{"sig":"MEYCIQD+dDpVi9zvjk/lLRJ7WsU5R+E5b+YtM8/4nAS8mQJlOwIhAMtJbPvGJ2JpIU7tOXHfhJx5cctFr3cjqkJrhukfakxE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiq0ltACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvLg/5Ab55Ph8FgQRw0c0EwnuSTQPVUTCvfF/GXs47cdRwJ/XOAYrj\r\nYXSw8iTFjZVmWUQHVSxpJlj9dD/vZ1g19DhyRnz+SdzIFIdOYbCgg8/pJQCo\r\n3EQJRMyu2YKya8IfLsXBN5fLAm7ZkTUdHQtEfUXiizYIySU0fjb4fTNsmR6I\r\nGMoWQ5TBjWjST0wJNbQRnxWNFJOdLGwo004Jpu5f5RqiGirA5WqsqqsbsEkb\r\nvXsAUJNd8Q2gFsRtqdk7lBhXU6yZg26qWoGt+RaRdNyuB7HkTu0EvS0htNLJ\r\nZTXcI2FQ04jwp/7Kij3ma2VUD5vk8KN8LGkUnENrS/+9KEsVFr6bVznw6HJV\r\nB3G9YItqdaCRrSexnfQjdeOUQFl0VgeBIbHaM/pQJo6QE8nseoP7+XTwjoeb\r\nPryAZF3zxb6C6Avi/pN5ZMJTUZVdERw8a8gTlvInD5Oum2AtO4Atv2YBeDqI\r\ntp5cNvsb09WDFalaHEw8IQRt79QVS6FwDGlsZYy8Y4Cck02TmAzsKnVa+Sw3\r\nCP3GYkNf5gjHU5yMoOHPvbLILCqMH3fZT1CitdDEb/hh8Ft2K+0vtXYt7/rn\r\nuNCc3JxJV4Ct4VFfSXQVHQ+W6sFov2oWBIbEL82ZsewuwBY/qV0BPmLZDniU\r\nfLkO6wnCrqKymOxuJJ3A4EyAgiXPSLtL8+s=\r\n=gdfk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"b4ea78f453a06eda2019410e925e527176e0815c","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022516151633_1655392621024_0.4515228550426065","host":"s3://npm-registry-packages"}},"0.0.0-dev-202251616831":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-202251616831","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-202251616831","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"6f562686572826e25ab8e9dd3b19f8eb0d6eb207","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-202251616831.tgz","fileCount":15,"integrity":"sha512-EDiwrKB/d3YyjyX5tZn/EYW5x36uhVWkxjM77y0+VPA01Ur/+OmU+O17bpPOWO6LzkY94a6HoKEcsVSqykuTbA==","signatures":[{"sig":"MEQCICY2VBLmX0aXAMGTUzAYqvIAf6loXYNpcIOKLaJXOVIQAiA4x6YBUDeYNdSojLOtZsDep/mLqNZUItLizWiCBirL2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiq1WhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrn1g/9HpPyXHgMYUv6zz1RdZoXcupGu/K3CkC1K7Jh6lWcoXlzVXLZ\r\nX+sEdN83T2bwn54YcT21wMm2hjzYMc5Va9Xq3b8YapL/gaV4mna+ZNLdwuiz\r\nXTtlmtrTGILW8HlOklT/s7IIfrsJ++j12h7AXI4umIb6D+QRd5Fch7GxylP2\r\n43ISgVecwQAsvcz7wJFN7vBERYvgG71gt2gpn57D+82gykMCTND5kHHgzQIj\r\nsXxXnRrw4LmfpiAvIWgVFvMlv7+8/kflfd6KudMmqGaNsErqWBy5+P4WwzBR\r\nm6wivb2yh5EfdqQGcFtluv5EdMYPIKz7yx1ATT3zr0efZDuqEJBhSK1rt68m\r\nlVTI+ZiMQ37iAoICWBfD3iq4M+1MrJ06L4KYDpjCXJB2YWc4enM9hFx99ck9\r\nR/pbRTBtgMt+nZ9D6N/uOa5LJo6k0RdkOXE0IPPoFlsm577VmfPkPUUYFO1U\r\nYouKtWkhWCnaGeoA4zsbWVd9tiNHVB14KnoBc9IMxld38T4rbbtl18N150co\r\ncXOV43yBtgOLYfvW5vFVB02qBagLE5CoHV2A3VYzID/ygb8iKu6KP0yVz6wr\r\npaLNPN6zPyZ5TO9YNlVdzC2B7uoOlRZ43ufb34IXoXl3WqMW8kKvcPmyjcrx\r\n4rWowrY1Uyg/zfzp7ORNS4odDIv8pBXB4Xg=\r\n=DbR0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"aac6c98321e6487894b45cb459e67e5e02499224","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-202251616831_1655395745524_0.10895811804796085","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022518113258":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022518113258","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022518113258","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"56ac9d8a75850e9d23263d33550dcdb43c49d5ec","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022518113258.tgz","fileCount":15,"integrity":"sha512-5PHboGehvhv3q6NS53Fv04o1Q2XRAEBuC97A6s97DEI9ljyKeFHYJQaqYP2f6PSFhgV9X0RcLLl9DYxz8yxQmg==","signatures":[{"sig":"MEUCIQDbYAq9J/SuDwBik54uyEAmMS3Sj17QY/ZVIrahUZRkIgIgCZ1F7MMQqjseIccrPuMnMLyI31ce0mGVCbzr1zx8DFs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirbgIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoICA/8DxgxxDi/CfQu8VT3j5q1WUG/UdHuIZjFos07Vp7p2EhK6wtD\r\nSqWa73pnUTdSdz8y3YXNib843iWeVu9FeFtUanmWvA5nlQljK8Yuj436lYaN\r\nM16k1FiuN9RGOKj1emarJyWuFDRDK39NXv5cInclDTLw2fmsw2RtCi7dzaYs\r\n3iRyYu4YjNt10zSub4XZOvQD5XJ7YpjAWSLZHKcoJJyECkJmX+jwLDWc8jkl\r\n6oviAt+KRbU5ypB2eZtoQtnfAIyRKVaj3o59mNtXOkL+sRinKixdxn/qsw5T\r\nZ/GScKx66A7I+bHyXcRVkYByFBc4amQ+lWy3yuv/JzFG/GcAOhvIrxXFkuNC\r\n5HWwoCCoYO55xyGOV1gNKg+1pdbU2xGlOrH3uky+BigwmoQ1r9hScDguGWoc\r\nlQ8c+rtW6vysVzufFez9B7/ta4HpUh48Jij1kjVbqTe+KT/qBIQdJZ7T8b8L\r\n/XxrMxu8ShQwX76B50PKKVtYQ3vwL2Bj+xPgQMDlJ6NmF/JxqpHyyyvg0pYO\r\noA7K3Z4aH97hggF8BJ5n+3IFEHPGgJR4iA/bfNUU6V04gQhNUr1OP3xBr0Kx\r\n7vex+JupIBEaVRCCUb6omGX3I/Rq+ZttdY90/wjgerJFQbLQqsFfmClGIXk8\r\nCQFs5Tp2GoKAkzJzOTfkL4U9JgoWmTljBpU=\r\n=EOOA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"6ecf45646d1558a52b9ed5ecb45e96feed8f09f8","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022518113258_1655552008317_0.2603723563735605","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022520143145":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022520143145","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022520143145","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"87889abc128fb445861a9a86d62a27e6843ee079","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022520143145.tgz","fileCount":15,"integrity":"sha512-6PqHJG8uKBtvSOF4lhdK1AUWAEto3YSl9Z9pCmMy3uvcSEfceWtkyKcZCYwtYl43KmgbO2LAfrSTePPzRga0Hw==","signatures":[{"sig":"MEYCIQCXCU/ZCd9o0jSlSzGM+IBL3loBG9F9Y00kOpg/BHD96QIhAJ44GpTzJDFAqCnb6g5mukZ++tJ22+gnH3d3AyUUS6CQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisITuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQyA//UXdRAq+bnHNRq94bIFyAD2ESRVHy9vUD27nt/xrvpmSepPJh\r\n+Cm/FrOBw3NpUYS53CYozfxi9ZlJeZy5xvTEfWBJGS1KFTfhltvEYRuePmrg\r\nybG51gWhT7HuXrk/bqez1qg5Y0GxW7PnjfizDXl7u4NTdjf8EwwRW6cD4mkx\r\nINWA9EwEAZZfDz+2D4UgYBvyqX+2ln28UUDNlq6WGS4TFnCUn0H/isfC60ax\r\n+lO/qcVMEylx2528E+4shMINBtcUiSMWjivYjisUaiu/lKyw9yGJqgRYLqBl\r\nq+qoa+lZCiPDfzY6gyOuB3+d2VQh2gl6UeetWszo0Xg2zgyh+iBt67Z4E4Jh\r\nMKc07MEgVWC7wOwSW79AZ8AlHt0pRIjCaAhlabSWz87Q9jxHcBysC7ic8xY5\r\nsLXppRdfBrCa0z+N00aKymNrrbmNJx/EbzcjvpvKfPSaxK8aO/y0UMkI5X6u\r\n3/OqECQiT9vS7bhvCSBCHltTgZPWfbH2BRv7H1Tngc7inyklqwWDImsIkPWv\r\n8ZbllwRz5tnbiRNSRYMWnWTurtUVgAB9DEHy6n/0d6Cm2lm12qeHW9/fNIO5\r\nG/FHyBUZUwclmxPf+nVobSwFrLJfkjH+aSh0y1nqKyxlnjhQKCdcCzJKRlvW\r\nTVJOUO5zPz3luMNhMAsnqCyPaLnXxcHvNU4=\r\n=p6JS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"20f19b09cd30236b5067d6efc19c13340938dfc7","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022520143145_1655735534681_0.20110533564598643","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022520163758":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022520163758","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022520163758","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"e5c110245bc122849d9f490f46cdfce3b8f5fe33","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022520163758.tgz","fileCount":15,"integrity":"sha512-TCCDtFVGi8C5x2Un/8Txxe1gki9r0tMSeXXv1DQbmqdVc1j6vDmqSdjuleSKcIeRprafNQ5t2kPgkE3zAXR7dg==","signatures":[{"sig":"MEQCIEcM0KHdr3ZEbeq2HWJ80CahzXEja0PXS8T3lGBBle5+AiAKFvXlhw0vCJoObGkV4swRKrqXhubfucHVwyQUY+yNXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisKKPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3/A//YutYYq6BXTMxaAmZe8ILSviWtIfpaMRt/6j9QOWaAKjehrPs\r\nGh5WklDF5FINogcnv1/+wBQNFeiznxHab4UZzudCcHNEOb8yVUuaSWssMe7Q\r\nMvqBq2ZjTSSPDpfRxz4MpSF4aEhVjzumRHXuF99Uk2QdtPr1hYOURj1mKvub\r\ngQJKJxAfA1uhjppKKH/uBgiOkZWKUa9ZTHHBVbOtacwVJjM+r0H6SaTa2RUZ\r\n/iL47yAvCLClMwkI3DlF8irsJt0bG/MskNt0+urI+nqy0cAkusXdQ+kaIlM+\r\nDHZi5tqR483Vg1gVUqvI+uZfQ2AMUafb77kbEyKjMT9Zpzb/Na9BbnTnC2sv\r\nJT7Y9aGTRQInvtXO7AAFN81VsLAYiKm2JLFdqH36sMWvCItIQG06cTV3IQrI\r\n+09zs8X/7FibkNQAOkdVvd4OPNKOnhl10KNfnOXcyUXsuG3A1BFLgA3/mDU/\r\nE3FlMHiW/8/lay42UnbuIgG1XkGHNv7jNuyOGhY0d207zKEhY+RHPN5TV10m\r\nhBZoQg607V+6NipuSqdpBV0GEnE/m1c1dllx6qrhgJS5hHEpyNIrkPgd34qQ\r\neIhNkGvwW7fWiMhr18QvWyrP28x39C/06MFtLG7Ayst9XwL3K9/BWTt8oUjY\r\n2zEwxS6RQN5MGx31GWCqjVQOSrudrAFIBX0=\r\n=AHcP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"cd25161aec422ecdaa157c25102c4f0cf6c15db4","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022520163758_1655743119213_0.2662616743496147","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022520164715":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022520164715","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022520164715","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"27687d06b8d5d5983ff7c22ecd6efcb617b394c0","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022520164715.tgz","fileCount":15,"integrity":"sha512-7r9o1Ot+XfYoMmEDRNnJSDU8BwHbcgugwjiKg4ceOnY3NKQlZ/q4nA9Y1yfQJKeOy9zZPeGsP5FUXBgek4gwDQ==","signatures":[{"sig":"MEQCIBIYnCpfhn1A7rUALd0FAwpNr+tC2jv19mtbaEXwmaNTAiADGCTmhu4IDMrv89g1AEU/wdFdNnSrph6qCJpp5RoXpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisKSwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrunA//YAI00iQylNzqA+qep5ExSkIl3JSIMkuPmvrrkFl9t0+t7gq2\r\ntHSaW2DH5jHlRmECYr5WWplkA//g3IlSwNRzCpI2ag+n1nbUAkSHylXQ3Whg\r\nVXWL0qGEDYhgV4R9yfoRomkMsJ1+9dON+eWwHszhSKt/7GwiDKXN81sDx4Yf\r\n5XLgDdHfU+GVvttcJ4Ob5lQSkcnAZv3t9E36uPLeevFj6jMKrApIaOZRNzdy\r\nyUA1J5HimW4GPUpFWQ4xZZT5m3XP7E2bjitumZpSdJIn+dkwOs0PIGdo8Jck\r\nNi4AUfFAtOd7RasLU+3XRIBuHTGBJHEiFF6uL7wGtC14YOkCS/SYnNNNp2PZ\r\nIC0CmRTuxLvA08MEfkd+Nt4zARcCePRAx8IbmZqABRxyGx8p+2b5tJhAbpPb\r\ngPWTMTBJjPbScWdZWSZ8oWPK8MSMm6D7xBYPeL+my4FC70B1KbYY8lXyNKK6\r\n09YtzaWJQr55b3GMBiMokS1fPWIgtlGSc90uE3c5wfXQvlkR7j/EQS5KjWrO\r\nMOzXlApWy7RCgSoU0WGTN5gqEDD6ILksszMG4BKPtzfUjs1qP7SiryMNpFH3\r\nqSrVib4qKIofQhp/vw9GBm70EpxYp2fSELu/l/12/dALKcqa01HtBVSRv3Tq\r\nLBJ8mDZQrOmTgbJr4DnMWmHV/UsQ+xo9Mok=\r\n=snxH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"b958893bd458ee7ffbaf725a4185636f48b19590","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022520164715_1655743664172_0.5371023213351431","host":"s3://npm-registry-packages"}},"0.0.0-dev-2022520164752":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-2022520164752","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-2022520164752","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4ce162a907066f624e01ff4c05a0d26599407cce","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-2022520164752.tgz","fileCount":15,"integrity":"sha512-7WStpKepCNlT77c2FyxBEM34bciDGM/2kX2HSGP48iZ7U3+OaKkvqAySuJsxNDZAAuB7eE8ucYSy1TlThNFoMQ==","signatures":[{"sig":"MEQCIE8z9KD11Twyb7R2+IUJ4JQsaIExWK2W7094Oc2Clp8MAiAei4NWKxBR+/40DEHDK/FxhkYMR8b3tbXF5ignzfuNuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisKTYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSCBAAlEuG9Q+yi8pw4VyNRr4gsr5EyT+Beo8z5Io7lDjYFUKisVDQ\r\npQw64A7XQSapuhM4OX0o4nPHsFmGgo1r0+3Cx+6njkwZd8sezBSg4S3AFaY0\r\n6m19s0DTziA3g7YgyYlRzzW5l3aEjnMindeWHfj5Va235g5r2TOH6OSTpOTd\r\ntD3sif47HniCa6ruEwfLow3eTSvDBaPcXEEvlSDRNL1dQDAMXqBfG8NOJYPl\r\nlvnYwpp2I8kLiTGcnFIX7+x5vmogC/BCSmryB97xAHGccMkxuIR0Ia/gdhoR\r\nkQoiASSjthCoHcsv8cJUTeHqdasajWuel60QXU4EK2NnQHx2t99LJZeT0WBE\r\ns47ujeyN/X1UJADAj95qJjhvImNfikv38vSf0mDXzb/4uAit5hGygp47eNmM\r\n+zlkqP2xo9q46WOuLjGFaiex6daaL4reAa+8qEfs3fbc9HRVeUyWWv0pxg8t\r\nEZaF8dYFZUD1d5awd5tA//Rlwu7wVCpUlvP30927Inb6UiGwUPsoCcxXDvB2\r\nyxxb7M3Uawv6xPc/QtLn16IiwOwq5XwjZaK+quntf7ibgBay+uturfd+pI26\r\noIbsJ+AjDNcO0+T/Ow4vPTWouqrQEnT+fpvSq5r1YnW5O/AM10CQL14q3UXc\r\nZlWISJKO1XJTrZk1zHMKUVkbifVWQObxUSY=\r\n=62EL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"3a9cb998b509535923e2673a2f402900151d2a6d","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-2022520164752_1655743704163_0.4501357776964672","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"@chakra-ui/descendant","version":"3.0.3","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.3","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"9c9b356d04bfdaf6f6d7040576884945b23c5c69","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.3.tgz","fileCount":15,"integrity":"sha512-uI0B5BO7khb22UWE42W7n3oGjxQkdJl+H5lhX58lAOAjbNsbmd8XbIVXTO/Kb7LvS3sPimkyG8nRC9A1epq4tw==","signatures":[{"sig":"MEYCIQCgqX3GdgUltMMXXvf3bIiyuiFq+1gg9glP2TT4Q8oyfQIhAOdA6eSS0DRv5MguTet8/n8byABS9ibUQVMCJTemSO3G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisXesACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs0w//cxxb0vS95Fg9NHTi+I6BwW99NVZEI1cA2zQwnbJ+FprB7CeS\r\n7mWOLPogBwo54I7kawVAnGocWY30blt+iuyStXyzaG36vnc1QXT4S6X+m9d5\r\npBjgTAQFyNSkCz6dHO6RtSTQssYfnpXNV57pbV3dCo9D4+lqbhN96m1l/PyO\r\nQcMYjmX8WovmJeebaOTYSM9ePrFkOVqCKebxnxeT0EDwvPPd6Rc34339Zwgy\r\nfR24c2Fow0OKHdqtvh6YsUUGwMnoaMFalStPIbanONfBJZvE1j6whqc2y3Kb\r\ncD5CYiC0TNvG2lvIQqR15ZwTEIaq8LJcelgooLqHd3799uNib1gz2u8aofxP\r\nQcwGD7WhPCd+funrIIGJ+W/WhXZx1QnokP/rXlBt8/P+X/FCT/Gv0RWcRIRi\r\nJvdJsMknjp2c7fcNvHKUYmdsY3PPBs4Ky6oW2Kpr8uvJ0B1OZPrX9W59Mz2R\r\nTz09PVGSjSU4Uh7W1Lc6g/m0DvwJYCc3s7OkPEn/o+wwmvHtK3691Yo68b/D\r\nzJzga6r+Ena8jt37vPuhs6vkIJbyw+RSlqJ8UDnNdDjrJifTlznxFNT2y45u\r\n6opfeblCkM0n3nFGTAwEIIIW/47MPRyYa/vWT3N6BHTPNHkO1yspggjMSUy/\r\n649n/Xww0WB40U/uBrj0XWZzeIz/uJ3COPs=\r\n=VZEW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","gitHead":"df381bf96076d99e875f548352476114776fbbc5","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.15.1","dependencies":{"@chakra-ui/react-utils":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.3_1655797676043_0.16611408717034748","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"@chakra-ui/descendant","version":"3.0.4","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.4","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"53453a277178bdbb8bc7ee6b95ff60f6996c3446","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.4.tgz","fileCount":3,"integrity":"sha512-RJQTgkJuk04lHVj80Gp8y+aUHN3If1Q4Lzbo3IZv7uMJVAPVdJnKik4TcFAwuIzPQ2nugzr3btdk1wyW1AAM7Q==","signatures":[{"sig":"MEQCIEVF1eLguKWFiJkxVIl64TTwS7IhKYu/sVND2YPM0Ii3AiB6tppJ5c9/SoIk0jIJVTKukzZyb/Ss0kb4kndGZs4ZWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3iXJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpFORAAihgxnJ4bXSJsHEoYHXDekX8/haS9rXaxUab00E3sRURzqAEi\r\nBOwUoxNLqA5ZfvfX1cTCWI7VZ6vM/SCnbE7d/+VmV+fpVwYyDMpRHliVlAun\r\nePPc1ROwaWKcbJjRxH5O27lBd+hu3sggqMQvUYEdAlpMZXAeozId6vGyQ/2S\r\nCURgSAp7Kvvt4WFpOSdlraGsCA2gT4SJD5aQridMmJ5Lq5/diZ+tws3hOujW\r\nEKflWMdushIM5cochfcHd+QHFyTJnfC5ogybGiS48JzcMMPhQxk2S8Bhd0lv\r\nGiu1b0kn0pbllZ9fjTAFqRBWQzy/2/pEVWlfvob1LElqRkTap+1AJm5Gx6MK\r\nPPUQyTws5ghxypysZQcxb+5A+Z7ie9Ks+BpsR68e5mC32E61Q1rFYl8T/Ah/\r\nakETIYT4AvMPl3mAFsIvDJtq0bWMW8YFvAJ5yrbmycjBtDnDeVQsj8LmV/yM\r\ncektq8KLPQDLh7GlCl0aI/BZZciiXtHGgquzSP59hAboj4v6hBjtiyeAXpi1\r\nWEV+Lp+aSI9tPWbxuJAeGppPxQXYckG25sZOLBxHYoAvejf3qpoZHgE8Nnr+\r\n8FNlUICmVAhlyusj7wbfwUNpaxUcdOtX9jLRxaS5cv+Lcrc69dxpbcsMcd8I\r\n98vx5WjTqIAjvk53QTjgBJzD/bAaI9FBHMs=\r\n=BeL+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","_from":"file:chakra-ui-descendant-3.0.4.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --format=esm,cjs --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts --format=esm,cjs"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/2ee194d0a4380ec6476ea5de893ed55c/chakra-ui-descendant-3.0.4.tgz","_integrity":"sha512-RJQTgkJuk04lHVj80Gp8y+aUHN3If1Q4Lzbo3IZv7uMJVAPVdJnKik4TcFAwuIzPQ2nugzr3btdk1wyW1AAM7Q==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.5","@chakra-ui/system":"2.2.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.4_1658725832888_0.9118421090501416","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220804193103":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220804193103","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220804193103","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"3761c1fa1154ebb4d6317f1697269a9ca3f0a3c9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220804193103.tgz","fileCount":6,"integrity":"sha512-8OxH1uSnHKHO6UthPhRNAcm56SOCgubGi77/EyAKMVDCVR0+zanODw7JHMM+CinEa7ySjm0mZjYfEz4Li5/Gqw==","signatures":[{"sig":"MEQCIDxyCtibs2D/phv5lo0+fMIQnDDXOKk4Rc0nc5BnyQ0FAiAUZTTIGr1OwoebohTq9ktSdSUnB2IczTPEt6eTKynznQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7B7jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolTw//SmaQ7ovBb68NOHU8sGQMG0fv7R6P3cnSzBAP98JT/OkPiEqR\r\nUhWtXkJb0Gg06zqKzL3Xk/H2VJedqcxSJmhKIQ5zQEfeZn404dsjpIiQRVZG\r\nkdzwaYsF6uwLlg0lMxIBAqg5vGxtqBm+biUIhYT+YnklWuLApkyMRYzQyKhi\r\nIt3VBXFlmRfQWI2ReLVLEv0DalRXWaipQ9VOugdJqz+Q87mSXtckJ/1A2Ozn\r\nWYfMSY5yfme2TlBbAwzNJNAD5JCAEf7eTil/imj/VpkvmLcjBNj+8Vg967yb\r\nasHo8NRi+HqM3b0p8T58TPF57d96zAFFBiqt2E7a+AyzpdIXQgnhjxHZCPSp\r\nB7njzffTrvZyU75MHYDS+Fmy9lBovRNAox8i7fh275cELEZ7eXDVgLVb1DUQ\r\nP+vndfflluyj1YmK0K6r0XS+AkeqdbLkcOje4AflVP/QVfyKK5iHZP944kD+\r\nG0dGanaerrg9SkUV3bj5LRy3hWRUZ6eFwYHkqSMWjwyoVKxIhyhrd0EmAI7G\r\n9TBPwk3cl5yiGGPiBn3BrI0/uvkaYkh61tGOWDJ3QeAg9r5Wt7xsRMCVD3Qh\r\ntntJypr2wbASHfwQf7/pXnaY30lh7ECN4Q67RCLzwE9BH+A3DHHHdvS35jYc\r\n/8TGDygU6712xN36ZFIVUsaBaUnrVgMJw6Q=\r\n=ksZp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220804193103.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/private/var/folders/fh/7kklt1bx7595wvjxfmcnvkqh0000gn/T/2b899edb724f5b7ce875891f308f2678/chakra-ui-descendant-0.0.0-dev-20220804193103.tgz","_integrity":"sha512-8OxH1uSnHKHO6UthPhRNAcm56SOCgubGi77/EyAKMVDCVR0+zanODw7JHMM+CinEa7ySjm0mZjYfEz4Li5/Gqw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220804193103"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220804193103","@chakra-ui/system":"0.0.0-dev-20220804193103"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220804193103_1659641571571_0.289601557573248","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220804193815":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220804193815","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220804193815","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"e13298e3e0caaca760fa097e6deb3df0f6c4b3b7","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220804193815.tgz","fileCount":6,"integrity":"sha512-7P5euCTwrWPreAoiMXUBvERa8JJNjb2HxJbQrmcev43Xn2NCzTWzhDZNB5h3p27Ikxz70+7saD7q42kqzTuwzA==","signatures":[{"sig":"MEQCIFC+Xph33aKLbYgtQu1gKo4P0vGS+4bPx1iTxpSaeNrbAiBixtHeEr65FZsZXLb7Gbe5DCeNulJN4T1oEc9/vXru8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7CBNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqijg/9HzuDK1H3B5oD48gflTXhxz8CYjIUdDwuUA+ojoLATbv7tB/y\r\n51dW/y9u9cPfWpN18y034eIOzaP81hueoneZgYb4CNt21z1/n9s91iDYU1/R\r\nmR1Z2Fn+XVX1xl0gbHsw30zC0X2ivVkCEVCIW5P1y2wyJ/NHmj7v0c8SsQYL\r\nj/t0zeOfOR7xMM9S7U3MkLt7Fi0lnRP3JtVveQj/tHqNZQ4DhnWYWRipmJ8X\r\nTSq8a8MDGfxZeuFo9avWIt9NhVKz67rzULy1USffyFM4UehtxIxpPo0dPC06\r\nzUu0d7RQZeWQvK2mrH7s3Oad5FRzW25PVzFk5aRF/IhkeWQI5L/oJGzExK1f\r\nbw8b8yaTqyqkfPIQK+XwtU6WFJxVEVYUQa4onOs0gWj0eByLj+AAas97nTpO\r\nmx1dPnmHge8ZD1HR6wzOoWgmKTiDCRbNhOsf0NFX9zW5fRKjEs1XHqprRybN\r\nMGA/P4cVx6iusD628SqOuOnKDeWHBuzf8y9C95CfMkg2+MdVhUvBUu0JNucC\r\nFmbgsDGhF6M0OEmx+jegCX/ptGxGr07P4vFO1hRLIRIYV1xAVoEE+4vjq+FG\r\n193VMqGaBkuv43OXSKe0gQGLXNNQD+WujHZ3YwrsTGS6cs58BKbqoVO/FIQQ\r\nZ/Yh2JO+jLHlkU26qorcAmVEnLF10oJcvzg=\r\n=W+b2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220804193815.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/private/var/folders/fh/7kklt1bx7595wvjxfmcnvkqh0000gn/T/be2e12c2caa5ef990b55764267a47df5/chakra-ui-descendant-0.0.0-dev-20220804193815.tgz","_integrity":"sha512-7P5euCTwrWPreAoiMXUBvERa8JJNjb2HxJbQrmcev43Xn2NCzTWzhDZNB5h3p27Ikxz70+7saD7q42kqzTuwzA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220804193815"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220804193815","@chakra-ui/system":"0.0.0-dev-20220804193815"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220804193815_1659641933269_0.6063477817486131","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220804194739":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220804194739","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220804194739","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4aad3e3e82b2cd60bdb566743416d6adc5c1d4b1","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220804194739.tgz","fileCount":3,"integrity":"sha512-z3+XngF8ZZ9Vel4+JfsGQDh9qGYrYktZjG1an8sLLvo91QDTbFvLv/ySgZjYFiggDl8WVIH+d30ZJqP3U6G9bQ==","signatures":[{"sig":"MEUCIQDNyyXKwx71z6zgPbA+Om4lB0Iku/WPFzLuLqDGraZAbgIgee1fjzuUf2XYK9ENg0OBB7AkYN/qqESbgSP4c2jvu6k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7CKVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrfoxAAkyfPOz0JxfdTn0PgC7u9i8s+Wplsje3iUV9HrHGu1NpBBX3r\r\nyXPXMO9LqlBRbxxyaZcHgSxAcBEf1KeJi1TC/XfaTfh0gLIcQKu+36ytFfHS\r\npPyzcyJUmLOBir8sT1VJpOhWzqzzGWJQYN6iWvJVXmCBdymWFKIln6sknbW4\r\nlQtVYkEgDrojEZbxefrVyfHZ6xMgEnN0+tU0O0rZT2op/HQ+vegB48WzuPwV\r\n5MIdfQIIMLF1uULPEN/+38INU4vbZuX0rmA2VWT9MHJQnxEMPfpHSbj3HMoq\r\nx6cDJVDVe1ViF34dwu/8DqBTjgYSWyYEUpGVA5zjeSkUpQX6MtUhp2gliuaL\r\niYsZ4xLUBwK1B9ufp/PKh/K6AUvNoiH79S6Vmlz7WxqabCboO9yU35fqWgE5\r\nZBxPbZqPzsPZrc2nZrlNBie1+YIRir06HBl5l53jwLPlfVJ9lCSsz83FrheG\r\n+Fn18tvVzlu+3p0tMd2gg8FnYiO5ggf1Jzrx9bLaeRP1/t/9fLzEPnAEGo3W\r\n4RZExGaUr/E2BMiXdgN6awcIV+jP/r8RH74pnDMOjBUikCb6apCRwo16gOic\r\nqBQobvvSo98YO466ph08lrPpBzRPy/X/Qp4kqz7PdKXXjLIOmDZ0O95P6Ou7\r\nE33qxo4YI4uoSB5O9n7dPVLcB+8wCLYL6qQ=\r\n=HWSk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220804194739.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/8a473df09680e25eda4a3c5a6d0a40de/chakra-ui-descendant-0.0.0-dev-20220804194739.tgz","_integrity":"sha512-z3+XngF8ZZ9Vel4+JfsGQDh9qGYrYktZjG1an8sLLvo91QDTbFvLv/ySgZjYFiggDl8WVIH+d30ZJqP3U6G9bQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220804194739"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220804194739","@chakra-ui/system":"0.0.0-dev-20220804194739"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220804194739_1659642517757_0.9566706878345919","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220804200605":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220804200605","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220804200605","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"0050f772b287d5d723d8438b5d66ef570c9629e7","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220804200605.tgz","fileCount":3,"integrity":"sha512-TDifYosvZ8eyLur2/EFBT1eVaWMyymAgwLmR+chPIYtdbVmuuWfPVADFdv2v/xKY52BpTljslqaSPwfkpYi6Sg==","signatures":[{"sig":"MEYCIQD15QJ0h6Lu00rFmFX6KDV9sX/Vg9uB/77Raty8YWJ+ZAIhAPnEIDDkTHx1HV8BSNtgG3kl9L2bii57CCip1HhnVpVh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7CbmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGGg/8DWh7FxWdHoLx8rF142FK28Ee/sPWSvHwOASZCr/5NDk2ZgTG\r\nI1qbR3CpTB6v3FM2o6csJ003FD3c+36RYX2Zc8SQBo5nDCB7og6Y+ddNXYOs\r\n5ckUo757AtHKBr/7OtaIfYeAHhGvojWLY5eFimA8QfHMqIpAuTASuWS0p2kF\r\naFpdh65We8fkrbwbRvtjL3vnWIbjN8iT8d72ksO8Xcl5hcUnLwl/pO9x9NtD\r\nyzZgx/Dv0YiPRDg1ch4z5bJ610Rn6g3Q3DnU4jv61T4I/3JqNO0mo+2QTM+S\r\n0zUfZanY8zUYqUdO+B4zl6yKCzLukuOLyqvD3kmxOPt/qTFUl/agXnmVwkU4\r\nOPg6tdLvlO0iKLEoM+wqVHVX7E65J2dctoWLYBi2J1wCjYfiuKMpZhtqvaLP\r\nlnBeyXO3RLLtXeif9mWXg+XC2ynQzk0CTotOKni9sL6Rctr+0B9NOzTZGxK8\r\nCK62ws/C9gT2MA2L+ZWNXo3jAFQkIHh7i11L3jH7iDzRThcGJyFr/FfDZY/Q\r\nwtfjhkrNfnLNIIPHJstPCS3td5M3uPADvIsROc4pX42/pUf5mI7FocD5g1v+\r\nc3wmFKqIvnt2cbncdBdtjU2aqICguuAC2F6zp4y7MrX5GHLLgwCKvqyBeyoy\r\nKUh+1p+wSaRmfPOnOe/DEAGwJN9dhVtLgZw=\r\n=xGMJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220804200605.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/ec55a6d70736086c4ccf58fafae378b6/chakra-ui-descendant-0.0.0-dev-20220804200605.tgz","_integrity":"sha512-TDifYosvZ8eyLur2/EFBT1eVaWMyymAgwLmR+chPIYtdbVmuuWfPVADFdv2v/xKY52BpTljslqaSPwfkpYi6Sg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220804200605"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220804200605","@chakra-ui/system":"0.0.0-dev-20220804200605"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220804200605_1659643622806_0.04000384267960588","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220805062318":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220805062318","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220805062318","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"af5fbdc721b7192aaf1340b0e5082cf8b45ae4e9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220805062318.tgz","fileCount":3,"integrity":"sha512-xhECePTEg2DSu67ywkUPi19svc1e+FKfFABWUv2Bt38YD2qJTnm2gKlNtwY7P3LsPjTWw17SVMBZMCg/eM82eg==","signatures":[{"sig":"MEQCIEjdNd2X1HeaV/CZhE5PRemeCRNQjZ3tBGbZSpVuP+12AiBF+ky+Ij/XElPyLBb1vma6sAiNmuqPpgt1stW1IahGHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7LeOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGRRAAlu9T4dcQZyQ5rLom78nJ367nicHMHl2oEBmsGB8JZp5RqL2Q\r\nRxd7IbwGEVee6q4djLSPSyZ5hjtWsKRAaifwHqrfpPlAAGCi/ftAH9+kzmll\r\nvo5evBYUp7GFjrFUO9WSxI2hDAdxn5Vn64W36c8MPr7oOGUNmDS5xRjNtCMR\r\nlWdcUUeStLY9yYZcQBnWmxlboKP1JWUEZR4zQPQh3x/IbN0otlvyppNiginQ\r\nomwav8DYGs3WNPPg7E9eaqZIQANjs7S0RAIRtMo2kPM3C0V4M6gkq/CZFvxN\r\nS+XLDkwVer2bLcD8TAaBwZOwW3jKX4UGSDlahUc1Hxu1x1ldW2nZM/vdFMOk\r\nFC0E9Hf3O4ScFefcvwQ+8cwQRUI7CVWuAXPdCsDO0xpBcwJS/DeLKXc/X4f1\r\nm9T+7vYGtlX9T8E77AvZSI65vHhuKAIwV6kwjy1+pQnY92wbvEZM/88gGyJq\r\nBJ+69Y1pMTVDGY/Q7zU20w2tSnbQse5JW8Klmnn3WA2o+CrC9raSxUyEGn92\r\nptxWP5/tfl7BmMUnQAcjbjBF3r18zaa53ggfhQ0JoHj6mLdX1hBd/OTbGLHM\r\nfLwgiShgnr5ZPTxnmp4CE0TBD2GGwAnncAkezNvXIn1qPLz84/AJHja97sI+\r\nNtATi3le76Ire/oLajg6l4Z67WLRKCZ0TIk=\r\n=3nHB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220805062318.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/371ed2405edecb35f8da7dd052c3f65f/chakra-ui-descendant-0.0.0-dev-20220805062318.tgz","_integrity":"sha512-xhECePTEg2DSu67ywkUPi19svc1e+FKfFABWUv2Bt38YD2qJTnm2gKlNtwY7P3LsPjTWw17SVMBZMCg/eM82eg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220805062318"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220805062318","@chakra-ui/system":"0.0.0-dev-20220805062318"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220805062318_1659680654745_0.04800237640525573","host":"s3://npm-registry-packages"}},"3.0.5":{"name":"@chakra-ui/descendant","version":"3.0.5","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.5","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"749844684cfb43dab95b7736343e787fb6ffba91","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.5.tgz","fileCount":6,"integrity":"sha512-Vd47q3Y+/ZmdTJnkvm9IssEozP8Ig1ug46kzxP4BMqY9xO1+Reuj/yur95eiyVlTn0hGVQM7p5yIA1+uL0Z7lw==","signatures":[{"sig":"MEUCIHNhJDK+Ts/WiUPkB5AFox1uHXATf5EP1W9XDStHebu4AiEAmaz/wSlFpcVG5R0uy4XMJEYdhMRhSzYLUbyLOKa62TE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7O0tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/Mg/5ABLwXBqqLoJ9mngNqOAm/nsV89ridaDnIzyQJgqly0aAN3Lx\r\ncHNLxIihGnvR7Xdp9MKECZpWnDml4PwQcCfE5oB+UzmV+IUNEGGRhTzLGLY+\r\n8yxODQnQtXVhUtS8/tHy+MYW6tAumcFcJFEjMSXG8L3zo+xSjSdRz63ociMy\r\nf3u7cRbX7u8Odcm9Omb2J50DH4ZqC6XfHDb2jyeJIcRkPS48EuguxKIMirxr\r\nAablGDkQCMt0K5R2NFyRgX+XRTsT2efLmiFA8eppasD8kshXA4gI56tZkhYk\r\nLScxobBF05eC4wC0O+7lF2RZyQGkPP+3N30BzUw5qxA+9Oj2QMswG4mWjFzQ\r\nrKqvNNG8b4MDdBpUcpBYg9xWHuyMAly7lZcQBPg33DWuo1BxJPSZJHXJDRNY\r\nm+Sz1QXRNTAZRdrLuN3tFlAxl9A599HkTEj9Q4yzK+ZikhK/Tm2/JcHUxLZD\r\n9LVGkByqbWrYGSEr6vuBpsxAFt+JV9RIhWmPviNYlhMH5hAaWhWfR/Hb3LKq\r\nDYyXYfBytQv17hDZmpVTMC5OZmIldIsQQqNW49PmqGu/KfwDjHIaI1Y1o6U4\r\n3v4swtjKrxCRF0l5NLsdsYoFoLAIdfrW4HmozQ64dHX+2cjPL9gI1exObq6d\r\njCrcCVgbFFUwZlDYSQ9+iGjfirE3VddM4nk=\r\n=C2aQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-3.0.5.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/private/var/folders/fh/7kklt1bx7595wvjxfmcnvkqh0000gn/T/4e8a98036314f3dc0b199abbbf3d08ab/chakra-ui-descendant-3.0.5.tgz","_integrity":"sha512-Vd47q3Y+/ZmdTJnkvm9IssEozP8Ig1ug46kzxP4BMqY9xO1+Reuj/yur95eiyVlTn0hGVQM7p5yIA1+uL0Z7lw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.6","@chakra-ui/system":"2.2.4"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.5_1659694381634_0.06653818740582418","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220811084042":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220811084042","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220811084042","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"dcdb205ab7a746f3b8e046c963c68fac801d9190","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220811084042.tgz","fileCount":3,"integrity":"sha512-siuv2ZA+3TFhql+KRVS/7qQcGMnCnXlso2y/6rZPOn6AlLYk7YwiaGwMzz8PdUaA5w6L9j8K+OjYa/rYDzeucA==","signatures":[{"sig":"MEYCIQCYkoUf0HfzsL42nuCR/DduIVTld7RksRl5UE1ewY7/FwIhAPxRKtiEYM7OCV3F9J8t2AYDTeerWI6BpoVFiJ3tQyIt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9MC8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoY7g/+MGaowj34dxjItFb/f+nNQNNCnZuE+Fx0UjuTxhtAQtj6vLl7\r\nrxkZ2zNB/gaQWtavO5/yzW0ORj/QI0Ug2G/ZTRMMUdxZZzwFDTVx6RvL/5IY\r\nIOoSg3Ya/dkDabikY/cc9TWKJfMhXmuKXmXvsaqxps/VlMIJQMtB8BU9ND/3\r\nKrxnO9i0xU2HhULTx/N2m8TaBY3ymGON0yxsG47eeNH8Fcxv+VPDuWRyHnYq\r\n3x1B5F663Kq27f/LCDgXlvx/CtGKHQ85wDLrUrpTVt1cYA5MbE3eRztB7Ozb\r\n4/KSM92OM/+mXTQ9aAKC81H6JW8p7vaQTjAzn2pUl0jflCLmEdj6wHTlFOFL\r\ncVUcRk1R0UXxPw19shU+jn03WBADhQaVgkQYABCedxde56FhhGpZDj7kTXb2\r\nyDtZ2Vbj4yZd/4rDC/0uz3jIDyQ8svuVuztlZ7UOozft+t2imOnsI2zFtiO7\r\nxtecYE6x51bQLLiDyL3ZtKhHVfClgfzr09NT/exgNeaeYpYzYviLcBj5ivQG\r\nSneRX+HapCMLsKWOgdusyD3bqifNX7/72vSsPGmx6pzlvdcBZs7BJw1g83+y\r\nkJrs8gZ1XBu3BKRjro070WinXVKDlB8BhyLlIFpZb/utaMKpWp7Pf3FEH6WV\r\nAJ0K2tSHI8PKTWsFntx3aLxY4SY088CXDX8=\r\n=pjPz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220811084042.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/6972f70442c8b468d983abac897bce6f/chakra-ui-descendant-0.0.0-dev-20220811084042.tgz","_integrity":"sha512-siuv2ZA+3TFhql+KRVS/7qQcGMnCnXlso2y/6rZPOn6AlLYk7YwiaGwMzz8PdUaA5w6L9j8K+OjYa/rYDzeucA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220811084042"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220811084042","@chakra-ui/system":"0.0.0-dev-20220811084042"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220811084042_1660207292292_0.27021115682301056","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220811093515":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220811093515","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220811093515","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d6e991c461f77c906b9da1e5b02571a09aebd276","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220811093515.tgz","fileCount":3,"integrity":"sha512-qsLjRTI99/NrMOrq2zwHZTcNHX3x8cgOzO4J/W72QN+8ai3SVTcnIToPk3WYuCUFtUpr1eaeCOWeTgAAd24sGA==","signatures":[{"sig":"MEQCIGFjasuJq6TJFVX4oUGIObVO36edHvboTYGIum3uNNfxAiA6K4sNRva1XJQYYby/ABJAz5poxx/ZH7DPcmvS8+P0Cg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9M1/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHuA/+PCnQfaU/thdjmGlBd+DLkPWEAyyuKi9zdHQimJh6rqVzjFup\r\nLowGliIJL/oBMkOr6CXjyd+CBHrVSncOCz2kk6ty3vXW/zjdwiWLV1tzjuau\r\nVkwv2ifqhdBQnMPtX+BckTfk5VDvyrHxLqTOEfIqpTt/tOLcQ0LBs4dJarNq\r\nQ1pD4YxNHn6xLPbYNBm738UeFVQ2VC5UViz41JqAsnGUDLj7BBTCKaXdDGpb\r\n+COhti5NQ06G+IQlnnuKxSXd5Cj6cPBOJ5hPmnlITkTmJ3zPAqEMY0ExZPGK\r\n1JXiMJCAW9+LU2RgOZo0IVQQgIafPxTWdf4scqSTnMG8bbvdwJ5yWYVvzGjI\r\n74HvaKUYus1RjpCX9QRj+Lp41hkZw/0QVLx4Ptu+qQ7biDa1gmIV8ul2r+s6\r\nNu1sZxfPkEPFJQu3AxBNUzG4l3tWB7VOVVG9CTclsSV/Ktq1kVUc5X3UAmG9\r\ntO0+deSnC80A7TexxI0aT+WFqAZaAzrGbO7Du7eihpASVXcyC8ume2mzi4ZR\r\nw1t3QdSRY73OjvCRncyZ6YNeHM75yrLVKFxZH+dVnsgqNJiwUnRtOySADCh7\r\nYUSHrJ2jCwosGWWSzyMsEwgSobLnIkvcYbW0Mo6Pz64Ogl4mrxSiQj7KCAQu\r\nlB6Za/iMGR5TYkYXDnX2DXV5GinZ1XNh5oM=\r\n=KkxT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220811093515.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/8145d8fdfdadb2ba1d192c32e50f4fbc/chakra-ui-descendant-0.0.0-dev-20220811093515.tgz","_integrity":"sha512-qsLjRTI99/NrMOrq2zwHZTcNHX3x8cgOzO4J/W72QN+8ai3SVTcnIToPk3WYuCUFtUpr1eaeCOWeTgAAd24sGA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220811093515"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220811093515","@chakra-ui/system":"0.0.0-dev-20220811093515"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220811093515_1660210559765_0.9603474803902377","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220811160709":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220811160709","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220811160709","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d12c78d496f90e179573d8b152c0ae67055bc42b","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220811160709.tgz","fileCount":3,"integrity":"sha512-2AkIFnwJwv392c/6zVEcZRKY3d3GpmGdr7DDqN+CbmH4f6JiVHeBQtvYzS2ch8AB/par8c0GlES4iCBEHup80g==","signatures":[{"sig":"MEUCIQDJvF2eS8kcbzN10a/wTxFDJXwZw5/w9VlgNKYL151NTgIgHtnyqgLdhXQPPexy43rW+RTiGulqvzq3uGx5cIcOJfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9SllACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0wA//TwxIn/Zd5ome5WtmhCnDsaI61Q1TpwyWK/FAEqAzz50Lb9H9\r\nBUpUJTHSuTqDs4DZlLVY3rPhznvWFIAKgAOvPeMCP3sMimeQeENoeFfDZ/wT\r\n3IN66WNwJXM6+1Jjive7rI2mwdsge7KSrB2oyOXnJTqJGBTRXfI65BZt6/Lm\r\nIh6KACMOK6eKJy2nn6N/zrwE7MeJ+J1HFUImOxjhADbkIj5H49ejXh4SOdd7\r\nbD6+bzk1K1QRzygmz3u8gSv0MK6UvJAjCADxdmCmpG6+pUZIleHtm4oST9jo\r\n4s/z0TgXiQN04+bOwZo96drc2C90Wk+sts0sVNCY8TvrSKxiUT0+Puk2Ol4w\r\nYISPbJdRR71RTjXqokT1tTqc0fo2iuDwUAKjfC6ew2N78zR8nn7felIHW68T\r\nNNr79aAhZPE9BRTsgIavws4JCd+uE6lBY5EXHktGBp8XGpGzIICaQoggRPIr\r\nDL3l8Kf9CXyFlZsCqbRVfgFpndcg17SJhdTPNWiyfIgV/XdPOadCAKdGCegC\r\nYOQESchmGnABA/C7iIDhg6W+HTbUA4A2qedhuJvvcDK8QiCaOIOFQ5v4mGKO\r\nkXlH9qfyO7hB/vU1NLkGmZG9zwlONtZ+0Uiyy69XAUBV3G1m1vVOPwq9Rkht\r\nScUvPd0egfrf4wopwZ4O37Kk+t69LnJ46BM=\r\n=F31M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220811160709.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/6ac965ab956e393150d4bed8d3f7b0a0/chakra-ui-descendant-0.0.0-dev-20220811160709.tgz","_integrity":"sha512-2AkIFnwJwv392c/6zVEcZRKY3d3GpmGdr7DDqN+CbmH4f6JiVHeBQtvYzS2ch8AB/par8c0GlES4iCBEHup80g==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220811160709"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220811160709","@chakra-ui/system":"0.0.0-dev-20220811160709"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220811160709_1660234085109_0.6549944093311499","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220812060931":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220812060931","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220812060931","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"2be0026e494572ad89d4b142020a019054950ed9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220812060931.tgz","fileCount":3,"integrity":"sha512-EwmL3z4lNA18JzBGakIRpxMUVesLBPo6MHshQcRGk3gVEX7T8d9TjUIdOJDcTXDmnksl18kWqoR1mPuV0L5Kyw==","signatures":[{"sig":"MEQCIGiRZ6Al0sus2QC+iZNFSrvDNwe9NaYV0dOV9grp46iiAiBWq3Jz8SDgLr4Bp2zwuiub5WeoJe8uBb2SXhT7yvcPaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9e7RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8fg//cPavEYkZMVuQUgINvM1U0I58qkojm1RNTFgjLH851aXHsfTd\r\nItgbHW28JNXZ8pJre3CwkeTK7kd6QsfCKV7QTLDoGu35zX9hXrZNDgbnOFRS\r\np3GHqRTEBpmvCoCkJqm4FDkpPYmgARNDQk8b0v1t0Xb/h/Z8Ydtrq2sV4JlC\r\nmhS9yn91fBJ8v+vzP/JPhdoXwAKddXdLzdbckRKRrC3HlcTDnJ5gcDte37i6\r\n38Z+1+PeAsYK+FvhjxEYvj1KxBhZyKRTx5EqStBHTA+JPzHHBppyThZQEcW6\r\nebBuybskS7oXQVqxBT0vrWOQlH1WT7Xk+fBhNrraV4PmeTFC6Z+MnANazDZb\r\nfHzOA3yJUzZVnM71s4w5A3ivuffByrnn0w3eR0yA9esGbYVmLZu79XxfbIGT\r\nfF4vPSkd0masTCJUaQxXhZWdrI1GVCCxIjJAm9le+GaAD1jIf4fkp9hsko1g\r\nCoOo7YNSCnnSyABgDZx1k7LE2eyt2RaZfuerrv3R+RoWPXH1/XdOBdMxm/+1\r\n76144CVU7O4d+zmxE3J5HnQzwG58rOG/xQ8j+1qFP66JfCCY0YD9AU4qk2sX\r\nTD0GPXTWo3bCwyurCLRdRNS9PmmwW6iYWWIKBMQCWcLhpsHg2rXubOO9Y1nI\r\nGWFcEkIAkIFwzh6GQOxkHVeH9eQl6uTeb94=\r\n=a6Np\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220812060931.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/011db4a217a5791859b53fe6468b262b/chakra-ui-descendant-0.0.0-dev-20220812060931.tgz","_integrity":"sha512-EwmL3z4lNA18JzBGakIRpxMUVesLBPo6MHshQcRGk3gVEX7T8d9TjUIdOJDcTXDmnksl18kWqoR1mPuV0L5Kyw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220812060931"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220812060931","@chakra-ui/system":"0.0.0-dev-20220812060931"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220812060931_1660284625490_0.5743431631062159","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220813051625":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220813051625","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220813051625","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"469f67e965719861498681d40fd17cf574d102bd","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220813051625.tgz","fileCount":3,"integrity":"sha512-JFM3ewoFJPNIqORy7pQ41lcyrovF3hhFWJuMWsBv9+2rY4aFMR19DpvCq8UYyFxkJYSVW2w52dxh54rqB60t0w==","signatures":[{"sig":"MEUCIQCCFW2via0eozhhg3LYuV5NqmYFq56PgHG2bU4bskoD2AIgY6IzZ4tlIaP4k20fgd+hRbWICJLXSJ0VzW8vVBLlEQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9zPeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSUw/+LggcJsY8QcB6YtvvJtzGHZ2W0cK+VmLTpIHCGr564k+Ke0/X\r\nBRF6wqoUdHfSwbRQ3GJ32Zbo+vvQ28zSx6OtU310C3TDzD+CL14AHCBWpu36\r\nxuROvDfsjgA0y3rvi0c13T2BleLiJPiwhl7TWgkBCQDaCJCV4eZU0Ib6bO+n\r\nK+LPMrL+TMJlB3rNJsTNgSDUAMqQr+dsBTQj3DnvIX7uB+ZhOcrRqkq8smoK\r\nSPZlKs0C0SqrfqJzvEi6NUtPwqnSH5H/bKvrUYgVFEmuhho1sa3DkPeZA5EK\r\nxkwSIsLRoLLna78vOPMNmHswSrZQJgDtj3Ya7QcSfoflhuTq2p/YSizJsVVT\r\nPcIjFmOmrfNbiUYKNy19t9lEEQtYN+bNL8SAPLIePfnVkpeC69wtv/Q0yAKK\r\nSia1YDenGAafdnNS2z8d02ulkpqWhMWYEsFMf2F4OdUqUBpLV6UUMnK00nwm\r\nuGll9WNqMZMqG4ZyMO4NcOuWN+ksOMwmS4md4Pjt5ILFVQ5cHp7W+6/T3Bkf\r\nGr3JPam9rRQodK1YIOzXl0MWK+vGs7G9BPxWcvbmX0WNrPe3fUTYakgdZCq0\r\npk53gyUCCnfCkZH9XQ85lS3t4UNiKWjRRAGN/dqAZ/mkQguTX3SZM2vGPGl1\r\n5r2PxBrKNKUyh/Wli6wdDRpNy9BE8opFKw0=\r\n=Nny0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220813051625.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/130a85aea34c50a792da9964dc515c07/chakra-ui-descendant-0.0.0-dev-20220813051625.tgz","_integrity":"sha512-JFM3ewoFJPNIqORy7pQ41lcyrovF3hhFWJuMWsBv9+2rY4aFMR19DpvCq8UYyFxkJYSVW2w52dxh54rqB60t0w==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220813051625"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220813051625","@chakra-ui/system":"0.0.0-dev-20220813051625"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220813051625_1660367837922_0.9730994727098512","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220813052715":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220813052715","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220813052715","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"356bf673b3ef420ceec618a9743c1de32f1ab804","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220813052715.tgz","fileCount":3,"integrity":"sha512-vmmF7zVD/U1YjT5OqEyKRiys3Ma+OWA3+wGUqWNLIrWDL2q0ktJWqH7qiyx6xaOuuHdiN+BNWPxVmtDyC+fmcg==","signatures":[{"sig":"MEUCIQDqIhfCiZ6EYgjxR2ttaHyFCF9EebUUOuuZ46znp+FwBQIgIoLFIGc8hnG+oJv7cPIfV3m7tHl6c1V/UHATRFCD5CI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9zZsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkKQ//ZGPtyUsQFBBHIINdEfaCqZxddtJH3SBh/gHB0lNpjPxJy5MC\r\nD7JLVtXj6d847tcDHtsRBJNZgQ0bBi9uv4AJUf2RR37EaQvILGZXDWKOb7+4\r\nJg42LQmdMo3AJj71DJwONRjBhLjQuSMgAaVBJJrmthgqZCnTUilxvWx0/QPg\r\nlPN79LOaiQGVyi50rysRmtWnn5qOgBzRvC5D2ejKjcMoK///1VprJDQ3rxvZ\r\nVFkZ8SeUhpY2ibDR1edNTgk+8QrzXG5Fl1urgkL+qU2hvs6r47uLCXtfNfRZ\r\nDEByEbhFnB0c3t3MzU2CUA4bEC64giWwoKQCm35RMYXNtwcTt7HQ1ibiIgCc\r\nSU5sYdO8fYAm+nsgYQpko6Y0Em1KTuolt3aqpp76C6kdzpPMala3T7/evzAM\r\n3s3A7f2IqKGssPx6GRE9TJSZo0CsMVSOiitAoCV2OZJbXp2o6O1zdXGYleKq\r\nAsAuAuKkmwCZPssk/d+SDmB9EeU1kywU31d0Ed+a+cIgWwkXIFL+hlNsRrsH\r\nsyXoGITHIEbBvKYV4CyzILQUpShfRnJcb1KRFDMg0FclFdx2EnvPXcMuM1Bt\r\na+a8rS/IqIfTnakySwdi713Ph/oTSruhUb6AFxNHA++bCvvbAXOwn+v5CRAm\r\niF/0DwSwMH8CWyYiYggYNMKuO0AEs9u8zSs=\r\n=dOKd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220813052715.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/b447cb7c2ad668a4a9acfba2d820f549/chakra-ui-descendant-0.0.0-dev-20220813052715.tgz","_integrity":"sha512-vmmF7zVD/U1YjT5OqEyKRiys3Ma+OWA3+wGUqWNLIrWDL2q0ktJWqH7qiyx6xaOuuHdiN+BNWPxVmtDyC+fmcg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220813052715"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220813052715","@chakra-ui/system":"0.0.0-dev-20220813052715"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220813052715_1660368492403_0.7063410930635652","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220813053727":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220813053727","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220813053727","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"37b933e46b0e869cad71353b34453b807d0ff522","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220813053727.tgz","fileCount":3,"integrity":"sha512-91tGdSEq8PNbS68KZTzq6iq1gFkLuSMNtf8i4yLqZEqjUoZl5dVBX34fB+LwiQE3j/zwY0qTj/Vpc/KLF4+dMg==","signatures":[{"sig":"MEUCIQCsJs46UxJd01mWGDcUBxhQ2dpiH4rD0Dnoxf3Y6K2D7QIgDHZQ41/+m689rRXOqH86ceLE61ib6lU0KWAdJqQF5NU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9zjVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpURA//QzmYSas8a+FAqv0lxXBsKqesMv927HxdGqX/vXyigl82J/4c\r\ndD3n2bf2kUVan/qd7IDbmpWxUUdKsZ5lKYtbMc16N9405QiJk//dw5aQQSP4\r\nfpTHViFzG3oucB2eL0DaEWevAlD+CjvpjrN9qboS9TZqaF20juLp8NEhlnmf\r\nI2UCWwmZdAWSvJcoFUiZXWQTs5zzm83o6bwtJcU1kH/V/cSzuvBNAmvd9SlC\r\nz2Y5hGaNrFUGQD+/cL24/5/WKQQqXm3Gicr5+0AOxdcIe0X7RhNZNv+AmTVO\r\nybdFK6eaqAvc9G0++6At3lB9+mgR+3uI53/ntThwyQS3AYaWKcC1LJFC4fuy\r\ny7/EC88Bpo3CPjhONl5WUpdi57OP7EC8XGRaK0XG7Sz5RZ9CgytsKGepgQbd\r\n1uI4cjQ++Dksz1zHflrQ7d8SZaR5kGYhoVnJc5B/4pwe8V4YNO/EDoD/aWDw\r\nGtJ2qPZqrgnr8I1gC4uA+LlX53W3pJ3VKEwBLibA/TrkXwU2hj34Wa34c/rb\r\nigzR3fN9WjOX20L2KD+Tw6/VDZTZXKjUbPkyu51/nzGDNHsfHiqZEOezps0j\r\nSMBC8SnsZ/+h4lWrmPD4SCOQQN0FpJ3VQ1v+b6Dhu6UgGFP+zxC0DLn2+5P6\r\nfXRoNmeBWVmDzhNWqdfMEhrsvxOnMQN/iXM=\r\n=9dMh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220813053727.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/c85d3500281d1a508a350a3fa0d9e5a6/chakra-ui-descendant-0.0.0-dev-20220813053727.tgz","_integrity":"sha512-91tGdSEq8PNbS68KZTzq6iq1gFkLuSMNtf8i4yLqZEqjUoZl5dVBX34fB+LwiQE3j/zwY0qTj/Vpc/KLF4+dMg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220813053727"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220813053727","@chakra-ui/system":"0.0.0-dev-20220813053727"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220813053727_1660369109307_0.16034632239201896","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220813055957":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220813055957","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220813055957","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d0402509ce401025dd3e02ee18eee364ed09a7b1","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220813055957.tgz","fileCount":3,"integrity":"sha512-Sd/y3XHH5c9f/BZuSQGkXGbNgRQUqjoua79hJWLbKhrdSccTMWb60y+IMlhJXOgtR0NI9d06OzDR3Rze61LsFw==","signatures":[{"sig":"MEUCIB5ZetyLSBurEf3St0OFAXBPamuI9nzOb6CZRx7zKYZGAiEA5dPsH6DTBdX0gzaAFj4lBDSU7ntQSGNkpluehOLV+1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9z4RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/yw/+KfXtG6vT12CBTxZae5VVTkYIIKxNhz26NkGm4swbEDBaqT76\r\nE29lde5H2d35Gq/GAtX+PWxGB2leVZjdo0MfOBY9p378+hoESvwfiR7ge4LL\r\nquoTuEq36Vt1xVe/BwjF855IQGrNTBrnMz/ClZd4g4ET8ezMlhglNPdxFbnn\r\n4LQYNHJLqXu0f0D4VOflj0NLZ5T7SxmqAaOgjv/WwBmiDIV2ue6sBYcwS1F4\r\nzuYTD9TQwxK09a9hdIqfgK9NI5c/i2dfkA5kOEW88qL+6Tnh4tqRpZa5eEui\r\n9TrM3u/FfNg2UHxDPynSEiLhuh8GyoKE/h2uxF5uP9rRTnXOczipbhsscfkm\r\nQAx/0UaC4v+JBb7Tnm0+SE7RptzzgAut5yAiZWDIEhADEDAmfxLxbe5Sr7WV\r\nWNIrvw/auqJggaL9i8xAl1i+4JsmzJhhsOTB8UOlurVdxgcrGHvDZi/a2a/Q\r\nJG4rmCJiIkbA+CWTYMg0UVV7+akJpEmeqQW1cXzivrotbCfeWa31xV1vtJst\r\n1Jo6hWNSLlRSu3X0JBAtiRLRi931HeD1s4YpKfZfrwkwxVdGukIr0JhWfwnc\r\nkXTqVI0/U/1wn6K7C3ooEawKNdcyniKSKmghtqSbD0JdBGfYl6KdCdcYzm1A\r\nN7vDkIb6KXqLoRZVQDvxgh22qLh76o5J/+s=\r\n=EZ9e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220813055957.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/a6e18b55fd8bca35b52f94067e97e77c/chakra-ui-descendant-0.0.0-dev-20220813055957.tgz","_integrity":"sha512-Sd/y3XHH5c9f/BZuSQGkXGbNgRQUqjoua79hJWLbKhrdSccTMWb60y+IMlhJXOgtR0NI9d06OzDR3Rze61LsFw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220813055957"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220813055957","@chakra-ui/system":"0.0.0-dev-20220813055957"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220813055957_1660370449615_0.07660991841196618","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220813063717":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220813063717","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220813063717","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"721216e8189ab1b6605d423a0272036f924a0906","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220813063717.tgz","fileCount":3,"integrity":"sha512-OU/T1nTdr6Dddqw8Kj84c96QTMGBzHHym5hvcJkQweiMnrIsJ9tKR1JrzMjsivp7G9Vi547rufGge3tF3v6xOA==","signatures":[{"sig":"MEUCIQDntqjwkhRureD6Jq1o3oSNDp8ls6d91xnUldVvCwnj6wIgQWb82Uj3bO68/TQ7jdYZxlq0nPh83EY9MOiOITobTUE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi90bRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmNQ/8C8AxXOL5izkNt1q24M2mwpxuQTROf8kzwWxsjuK5tB3ej1xb\r\nBOBR83o6c8VSOTHflxL60RUtoZkTGkQ0rJlMBXRTMMDIudnSqF6c3BlMUvjV\r\n7qHdoFYwDJ5V3YhIlp7oKp9jB8Nbm4624TpVNQFAKuyxQ8KiUiy120cqu7BB\r\naK3EOQn4m7j5ccs8UbV2ItqG5hKH+MbkEmxmyHWW++REj9CTWfMB2Q02Nq9x\r\nrL7HTsUskGFS4VqnIQhhp/U1iKsGvoyPw9FnLS3tVeukT7rlOGoyEBasOton\r\nN0GD+v90SNBV7GjisAdlFtKfhx0gNo02ZevzocpVhZQFqTJEdI1RKNuzc4EL\r\njcj+ZjxzEnKMG3OezR375GCYC48FcCUudSLstQp/w/Qu7+EllOdWmZ6uQ+F1\r\nZT0wKOqYWZEJvEMBX9AaJ9vTzoQbENNA6/T48RroIBCqtqT0Sjv9cmUJu76J\r\n1XIybM4Iqw+ztY2X8I1H11f2+dc1tWqer1n6ZUYItmrRFoFBxF8numXOaFQs\r\nCRiFM+sdCt0pOx5gpKCSdCz+GNiHl1LtdwkNkcOpU1MhAywTWrZGrx8lfFw4\r\nUXI+a6pOniCSl4ZrxZUNAfiXmk52qY+p184D7BV0qee9c818L5y2dUnGQPWi\r\nzE2YdwrnjSalUIxRiSsK2Lfcg3w2TvlQ08I=\r\n=Y4Vn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220813063717.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/b6611bb6d661e7c7518b45ad99f3f626/chakra-ui-descendant-0.0.0-dev-20220813063717.tgz","_integrity":"sha512-OU/T1nTdr6Dddqw8Kj84c96QTMGBzHHym5hvcJkQweiMnrIsJ9tKR1JrzMjsivp7G9Vi547rufGge3tF3v6xOA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220813063717"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220813063717","@chakra-ui/system":"0.0.0-dev-20220813063717"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220813063717_1660372689603_0.6892806216671485","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220813070741":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220813070741","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220813070741","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4d6fa37db1c3ed4014cc04df7a4213d8ef32025d","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220813070741.tgz","fileCount":3,"integrity":"sha512-9r0lO/w5AjHNF0Xe0KAGF8CN4jvACdy0TD/swZCSxXG50BgwFXMkDJWYZiyc7d4KPrGPzN3HiyxFmz04xn9/rQ==","signatures":[{"sig":"MEUCIAghJqOxgvOfToVrAaXD75bs0XitBeNoGSKBBdYhzud2AiEAhTGrz5fQ99ytzC/jgnaiUpmiggM4kp4+xNeQGenbAN4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi903wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo30A//a1QagNQv4Vqaeh2T6GDD7t88VXqcqMxLgbi5Pw6x8wxDzPlk\r\nFxB2ytsApr4HrisE/JMXiew3pZLY8t+TNiw6eRRPKH5klk63fQ2OcW1CK79A\r\nrQalWy94hHEO1QypAPtPvNRQipZWuZYzyrE8Ps+ZPU5OjuktFHx4sE7iv1Zz\r\n/w8+cuB2kFife8Cutspn4q+osZHA0Ffmzb4LdUp+biHXIeOUAzOL/t12ZzAo\r\nW5eoH4/vfwIcpB+5r2N5Ztw9/jzmeTGdgCg5vdpyIwF1gblNHidhDMaqai7f\r\novDDcSdcGV76r0GR0ekJbtjAic5zHtdzRDA7xhC8I4k9BKwlqX1RsOyi0Rm7\r\nggpkSOYvtgE1oVd/32DotzmUHNaKQjsunrukGUhonXfzKWwtEcPuWfu+VmlC\r\n1/jIoqAKuH9So2+Rped8FJx5KuoGSjYszJtjwrYgR/2T4MBcuHpbPvZM+R1U\r\n2S0f94AGtGxJ0iTiiPkZzVdKRVcCZxcL4rMPsDZdsIm5ZWX7qlTou900TsYg\r\niz7Y958Z9laVxErui3TqJF80bKHwcmVhfvslqvs9I4Wvv4LXLV/O0BEiVsKy\r\nTGYjk6rpdpXCNycC6wgvFfUorQeOLEZ9p3NjrNngQdmco5R3kFrc9BsPCOVh\r\nOzsW7OdAYfoV01FOwHHN5YG0iqnhZDjcYrI=\r\n=dXZb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220813070741.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/0ec80b927bd7fba5205d0bfce072660a/chakra-ui-descendant-0.0.0-dev-20220813070741.tgz","_integrity":"sha512-9r0lO/w5AjHNF0Xe0KAGF8CN4jvACdy0TD/swZCSxXG50BgwFXMkDJWYZiyc7d4KPrGPzN3HiyxFmz04xn9/rQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220813070741"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220813070741","@chakra-ui/system":"0.0.0-dev-20220813070741"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220813070741_1660374512510_0.4019933304655754","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220813083358":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220813083358","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220813083358","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"6da577574f32ee9c36e2c71206434aafa664debb","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220813083358.tgz","fileCount":3,"integrity":"sha512-RIUsJFPIYjRJ2uIO7GtUNCPeJBX37Ou5TBBwahIhfnaSUARZTd28jOJCy79nv7KJu7szGVbBGH7UMgcS9qSIuA==","signatures":[{"sig":"MEQCIDmyogn8YueCZXeEgfmHAzygktV7iewudXbypvXxgz5wAiA0mJwW5HKg1wZteEGDTh8tiXsBaqqaWLjgPiY+73l30g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi92IsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0wA/+NqSjVkiq69i6ScBW9xqy+BsMnQNcv2lZyyCkS7IPcuZGFhTl\r\nbe6KjGY74qDpWuu4j4vGhx/6j7h/MC+2E/RafsuIylw8PCkSoQnZC2fqBYT4\r\nieJQWhc51eMlz/H9uuABAHGzx4IGCEKK9wIRUrMHjwxGV2q5RO9SIempGEg+\r\nWF/eQFCgUkgeXJkcVKXx7h+s7ec6SmrwPQoTkf/yS6slj6edqDXWGuHnSGbr\r\nEus4CizZr4rO7Z3QSmpGsbWabOPpO5Ftp3evKY4ITRaOhjj0d3HAXwSSZhKg\r\nB3ZkIgi0gz6DcmHqjzWrh0KvaFh+YHi9He1/OiL/ZbHqCtrNLyvxgJvt9fRk\r\nr8TS4k5IV0Q9a7vUgNSa9lkkSI2R6mlXhQunddjHMKkcESDInoVNsxgCpvUT\r\nF6+2JlbE6KwkuVfqPUuQTAisITw6cRQqx7aOFC6aq/H+8T8cUeDuudYqON/D\r\nXrvSZK5dMch/Vb/lqgaxdAHZRavF6iTbOHO3yrRkSFGgtpxQjTjJXvsD/dOj\r\nUjCLrHUrUqvO4FCTFZ6aBk/YPklwFJirDxZbE4V678uaN9ekq//LEtG0oZCu\r\nZHLOtac6PhJ07iQZiT8MnLdigcAsZmza33rQ4J3zJeh0UpS+n+tl/fLsFEGQ\r\nh312XhPwATcTTDvQ96sOIABwxobGwM8+4Ng=\r\n=WcW9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220813083358.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/04f52288dc27a325b3bff8b053d04e30/chakra-ui-descendant-0.0.0-dev-20220813083358.tgz","_integrity":"sha512-RIUsJFPIYjRJ2uIO7GtUNCPeJBX37Ou5TBBwahIhfnaSUARZTd28jOJCy79nv7KJu7szGVbBGH7UMgcS9qSIuA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"0.0.0-dev-20220813083358"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220813083358","@chakra-ui/system":"0.0.0-dev-20220813083358"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220813083358_1660379692049_0.7066558693957063","host":"s3://npm-registry-packages"}},"3.0.6":{"name":"@chakra-ui/descendant","version":"3.0.6","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.6","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"3da10486c307be47762a5bffab9269ee6456f580","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.6.tgz","fileCount":3,"integrity":"sha512-ro2d3L2U6suLf1AkwVoHJ2mKiFES/38/UPUgV4U02bu+Zoz0VrnVAJmHiZAaXz1Pb9eDxhdRK++jZ8cyzkmAIw==","signatures":[{"sig":"MEYCIQCJB3OTjg+np6yn/9i3JTliaVWsyXTCOcqH/rzIRMEg2gIhAJ1pyZBbEJOKAUILFVcsPLgyUHtS8YIku+12qyDseVOr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi94HZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrG/w/+J0x5FbJ/3CbsCUnN1X3KwRLoSLQ9h/f0y8zfxBwOW3xx8qKN\r\nlwNHpdyMnxd8SCqIbFb8NMaIjlzEMdZ+qq/AkmVkljUZtA9Bwvni5mhm7W2G\r\nofqsDMrVJvKEvtRVApv97D13sxcnWT48ECmjAK0TOYjHobhAYZPPpBgtm4z1\r\nZVOOuj6mxRGAzo/l/B0pkJWkZnUmdYiWN3OLkmsJ47A8B1R9lZdOBaFTBbr5\r\n0O0Kp6cTso+j0SHfppAdnpUn2UginlNg/uuwCvUWdu2qkuhPjLtU61bVXHwC\r\nyA1SZExX+FNnkLhO7v6cCOPBaEoHY2IK6F6JDF8xkOfsDtuAvuA+FNur08+2\r\nwVCztFReIL/ubvWQXr4dMLsRByx4nimQAPPlWJMTDor8pulEBMxtS8kfID5D\r\nEVG/5t3fxuHw0LA86BKMbitDK9ZZ5s7Qz/1u6PSvBldpA5RkZ7+Sl5A15wIn\r\nXJrarJ+JhH4lAa9+72kOtAjttRCVqXyp7vvWj3QZJ4xNaRxjwPhsUvO+zuXM\r\nKdqmHrpgKe0+QkXt4BVeGg6ImyTBGoOWVmjXB2nv0U8pCEdlrIIq9oJH78tR\r\nS4TPoxQTY1d5Gcuam0QnTFpzMDOX55DRfI8+CS5OgGZoLuHQiG67ampcvM28\r\nc2tL2txw/Q6rMiAGGuS4wrSJUrPh0aVML30=\r\n=bXo0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-3.0.6.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/8f54393182fc13b295543106a4ff760d/chakra-ui-descendant-3.0.6.tgz","_integrity":"sha512-ro2d3L2U6suLf1AkwVoHJ2mKiFES/38/UPUgV4U02bu+Zoz0VrnVAJmHiZAaXz1Pb9eDxhdRK++jZ8cyzkmAIw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"2.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.7","@chakra-ui/system":"2.2.5"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.6_1660387801135_0.19768221426793797","host":"s3://npm-registry-packages"}},"3.0.7":{"name":"@chakra-ui/descendant","version":"3.0.7","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.7","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"53cdb0207eaef799222a1da11a68068b3ff618a7","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.7.tgz","fileCount":6,"integrity":"sha512-C58jkUox54Y2sFn6H29QXkAyyalTMn3uYeeVNAftzL4SRFE9KyRAbMtOujZHH3GRr2sEykawiXh9BkqWpZuhiA==","signatures":[{"sig":"MEUCIDdz/0lYlJSl8oX8m9uHCxZM/NB9AUioiHGTuYgAalwwAiEAsXfxh927+yqSpDg2QkzVc5Af1fD4l1mvxK6CtS7OXnk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+KABACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXeA//YdP2vse2fdni86j81V/s3CmNrpHxYD2SQIK7fqcX90nqvhSm\r\nDIhH2nZgnOrtmXWSYL7xtX4Ahz9lejVIG7vcB9L7mbC5+jKgYQSxWlLvhCAn\r\nr2etXxl/Lh3kOoEa2dlNmrYL+Yj8qCALxK5jjOOd0nSQs60vxRPdN+NTzlfa\r\nQ5SysRGQVOZiwh2CLtLtF/CAT368prHbrSc0Uwy4GefKk/eScySwuXFuiQqg\r\nqmRp8JEYO2T1S8ILxhEZc/o1SArNBZr5ddKtOeH7IZEJUswkeC2scAO+XYtY\r\na52kp+asMUuC9AI+D9E6Cuq4yBgPs6deAHzU99Fwb/9rZB0hP83QpOaUO498\r\nTVgchS7JwVEIP3ozUEUQYuvNRLBSaQ8jWk13Np1rqqjMSqef2+5ZHApSHWKH\r\nURxp7HNdPDGNlszo9S4ZS89UIpVJ/Go803ran7DVp+Tgvx4nYQ3rruuIVPcq\r\nvUaFbHgbfuN9QCVsF9WvkMfRG3fKspv/L1xG+4ZGyRqBR/4WJZpjTovGRKsx\r\n+djaEFvA+aF8DUuDQB0tkxtjC/LA8Ujjt56e7psIQd50WyxfZh7kITOX58pq\r\nvXVXcOBX5hcJ3HKmg7ibVy/t9xuWsT7+AGeiDdRTjX2RkVLT4fSB89ZpVzrB\r\nZYTSSWnvaSKTxgtFmNugId9mUesgYeml8Rw=\r\n=ENkj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-3.0.7.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/private/var/folders/fh/7kklt1bx7595wvjxfmcnvkqh0000gn/T/f18959db32767c20245d5fe72166220a/chakra-ui-descendant-3.0.7.tgz","_integrity":"sha512-C58jkUox54Y2sFn6H29QXkAyyalTMn3uYeeVNAftzL4SRFE9KyRAbMtOujZHH3GRr2sEykawiXh9BkqWpZuhiA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"2.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"2.2.6"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.7_1660461057543_0.04008479020289668","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819090547":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819090547","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819090547","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d64e6930a0160c831d63a2f1d24f27d2bbea3642","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819090547.tgz","fileCount":6,"integrity":"sha512-eGEPStcvsT5vVGLp2k/KtI48FMlZyvuabykkwGZkBW1f8d9dCcYbH8Xuya7ofyWHZy/eTSjrbTXaiV4oJ8kdFA==","signatures":[{"sig":"MEUCIQCJufd7i3uvt5Ilu6eUmkkU4k8j2zkeIE0/XKw+figdmgIgZBUVFVSVM5WDnk3vokw9M8RkcmaQZiZ1buoV1KX8/CU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/1KLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlHA/+Lgbg2Mv/I9Ey47uI+3sH0i+3mhvGWUoZWRuQ2NcdFo4jepW2\r\n2zraxXCt4rgpAkp6COkzvSSgAr5iznB0+nFUaoaV6I9sLwvyBzE7WT1YB8G/\r\n/xhdCL2GZiCFQOxdFtTh3r4Oz3kl59jtXohFyv6OAzvwXNvO5QAxaYWI4f+D\r\n4CqM2c4jGJ+J8C0rztVghOx6IBCZ+/tmPrMfJSRDwS9M+RoY+CyFbs4mDNZC\r\nkzW99Psw6KklQhJof/K0ODuUJgLnvvVW1PkFf1/QZr1vV553mW99XkISD+xg\r\nGSLfP4zPy/4cpRaTTD0eRVoAB5eoZF+hJaXfcEpOODuxbdkrAjg9kK4ln5+5\r\nAXscMTIrhBJn/vAp64PC92ctwnUn9guAgDsaMTVxv2jhELQKvpupmpHelJ8O\r\nRZkY9vzJepdQirPYeDps5f1L7JY1R9rQ42kIr0VXppHXfNugxn66/KMkt49/\r\ngT8QCtx23DniZuJyFHt8QLXbz8+LPMQJyMpULRbCkYViqvCn6Bt0L3MWG/7A\r\nkAdG0hE9YrOXb3ifpQK3sFkvtHqxki64BZcv0kRTrQLNdnFoQgN9/SrsfpRa\r\nfUGUD9RjljuhygbVnl77D505GGZajC0jxMf7Iu0+2KlKHGJ7tJsgtpRiUxyC\r\nXXA/S6+Fwta/H/YbBH0f8cWes4VNjjwQO0A=\r\n=AYyd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819090547.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/5e6a6ae61c430412bc4f55555f5175b5/chakra-ui-descendant-0.0.0-dev-20220819090547.tgz","_integrity":"sha512-eGEPStcvsT5vVGLp2k/KtI48FMlZyvuabykkwGZkBW1f8d9dCcYbH8Xuya7ofyWHZy/eTSjrbTXaiV4oJ8kdFA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"2.2.6"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819090547_1660899979334_0.1403877641610185","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819092119":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819092119","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819092119","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"73731a6630a56efe086266fdcd59835b84aecf54","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819092119.tgz","fileCount":6,"integrity":"sha512-RmyyScPV8OwovtShihGpWv4d3F87XFro0kYaD2U0NZos431ZKdS3N8TdfA1oSUD+dVn16sDtRfntuzSWrct0Rw==","signatures":[{"sig":"MEUCIHCjniyd7OZsXCeoep+LFEX4CHRLjcPrum0nMqvgzQ5VAiEAy/E8EelH/vZ8maGM85EMW8UlHhBBPkMYewVK6BKJu5M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/1Y9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7Tg/8DscLPwqR4r8rErgXKPornFCjAnEoA8bsptJZhBGY/fW3XavQ\r\n4ePueCH4BjudVk+zCOW9UVi8WfVFbmXJAYLAZ65BIiz/4wO6ZnLdrDxtP49Q\r\njIBiEdKOrZwkxxdepDYH2mjN79Y7SSUW/u0u7JWH8LFONcBi0LPklUOAu2sQ\r\n/Vw5J8TXvove4gd+UdHeSAfjJKwLOZRVKt+878hNvPtCp7hcw5VK06vUQSkb\r\n0AbsTheld2ZnzffVSjyF1iA33jGDey9ZGjw/DGpzx29BPPYRpy+rKa0i2Rwm\r\nlieYrBZ5qvYA0Sizg/q+pVGlusByA1uqhiz9GGtPeTIXLeZUFSBMzEaDTRoK\r\nj7T4qB337GIuzCt2A6bwBSKEHC/HR3OxVwodHAGqLtc4tHJPk9Y+iDHj/2r7\r\nnlmjp7k4xJXnAWdS1lj+KYpz//TBEPMx3OxnpUpNjmAe0fnVyQUkrUBGkThV\r\nDgu+cspmrfaV9KIXHJh+mvLr5Y9VY5yldU7aPZKEJIKCeiKo2ukniL++bu85\r\nHEVzie5OBsvPXRgLUrRITm71sMyNMFvF0N7BTZc7JkUuhX7lGIzGOi0fCsJP\r\nyS7VtHLdSbmqCxzxa/Q2VVNUtuqYvGUB1mP4lzSIbW1cDIZnqkzof3K5YJuh\r\nNwqOwUi6qvL3Mi07Um+F0rMMU/XflfAOjkQ=\r\n=Besc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819092119.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/4ee228801c8e4cdba468fa095648c659/chakra-ui-descendant-0.0.0-dev-20220819092119.tgz","_integrity":"sha512-RmyyScPV8OwovtShihGpWv4d3F87XFro0kYaD2U0NZos431ZKdS3N8TdfA1oSUD+dVn16sDtRfntuzSWrct0Rw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"2.2.6"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819092119_1660900925018_0.31805766497201104","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819114147":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819114147","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819114147","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"f23688a19162335a1554f2e270dd0a330c9ff680","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819114147.tgz","fileCount":6,"integrity":"sha512-lSGztGPv2JFxgpzFgaBgFZETtnQNXNbcsWCVwZvGas3qJhlob6eF2u5L7qnrRwU3IgVQY/M2LfCt9BiZHWuabg==","signatures":[{"sig":"MEUCIGmS9UhdvgXmHuMAadGyuTchexkv7hSexvgX5rmjlBXQAiEAvOM6eq4/VYBHVvrhHSdLqeCntSCS+XfPm6Hqq56WX34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/3chACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqSww//e9HezcvWEuIKP2lFTaVQcaGPVJLfymO/LRcC9rToomjiLQCY\r\nRnmnzklQKezh+tswioy5hY3LjSBE3Y2R9LaW3w9eFlKOzlLPtdUR+lSi/5oo\r\n25RiXO+1YqEAlSvN3z7ltdGoEkHqH8iVFx0ph8ej+VM7E0m5o+K1M7dJLVb8\r\nVscax4hzO200Bsz386i67P0UcRS0oqnRWtkMGTwifRsFNq+i8+gqrxku27o2\r\nsFUbjODnepa+TsfNQ0YiM+Zo7vQxwxbsQK6Qmp3JdwL03vxItPZCl7acabp0\r\nVffgtilxbzQjPrr/J+VL8dVN6VuObn+NyGRAc3ZU3a1oxRm/Ff37kQiTqx/j\r\n229ptG1ZXSIPKeenThoOiScx2yFtV563+ep+riMbTNiyaQ7tgYJCIvRAEpvA\r\ngvgkfU9mwBeZGBQ7I3hgax0ykXk/B1ebgTJMu8xOzQoF3AUmnXofBemM6c9c\r\ni1E1N0IZWKE8U2JQHFuGqMolW1/uYmS0qJbcVwpqbM8eNHVVSl/av+Hdv0w/\r\nGzRT/m667Ak+28rLhxhFtgd04SJPP5bEysI9EgfgirC+NHF2nsZ4Gdp6Jmhu\r\nEVs8L0SVzNCn8ez3RK7Fp7ndi1sqIrArdbHzG9hD2VEv6pZVV3JQ9tYp7fe3\r\nwqz5cKrnJ6ehr78elYU1hJbPLr8Es14RdWk=\r\n=U8z5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819114147.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/c6e17d495749ed6a90505f0dfb435441/chakra-ui-descendant-0.0.0-dev-20220819114147.tgz","_integrity":"sha512-lSGztGPv2JFxgpzFgaBgFZETtnQNXNbcsWCVwZvGas3qJhlob6eF2u5L7qnrRwU3IgVQY/M2LfCt9BiZHWuabg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"2.2.6"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819114147_1660909345447_0.23670169414723485","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819115812":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819115812","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819115812","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"549f69c8e8e8067027c85916b4a23e666ef12073","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819115812.tgz","fileCount":6,"integrity":"sha512-Bdr7pubqJQ6EPxosfCeb2klN6dGzX0GsfAKIZqJCKF4+BZZkzA/KkCRta+zoor8heaGSNchLvn7cxJDt8jQnXA==","signatures":[{"sig":"MEUCIQChpsktLauneHEtO7xiGK29fRYNTywDw27/Po5m1OR0uAIgMAqzVz1L2El017hg04m/VQOnJ+ybDaxyRDjfhtBwJ50=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/3sOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/yg//WdVoIBzhkdZlIF9BaSS3KzXrJ6V4iB++bV0bpJSMTsTERfBu\r\ngydJJcM5rowqPw9mUJZy2KJBjxYbzhVz//Tga8ngXXUkxGwt2r602rjN4qVY\r\nzI1OreaG54Rzi7ADrUj2efedZXkQzR2aBNxvcXTypB7ZYgfNSfseGVq2wRlK\r\nqFxieZ6IHtit8dPOxgmjlY8UKmunjq6imbHP07XyGzwFpHyi+dvP9TldAJgp\r\nbMpoRTWEHObkyv8kImH8AIyXGzm6gNEo+gXl9KnFTGszTumtiUNVu7LXGtwh\r\nM7ArWCgkPEXjM4s0q5sgEZtGGbxnrS35aU4RA89gIjKfRgrl8w5XbtaVQpHh\r\n2YMkko38RMJhloS7J+xsRqku8i9Cu4jhNhe0bxCphFSsOrLh6jnUkbVNTHPq\r\n1y24NCVtMmzi030uYKP8vk4V2MaENQWXEIdEYS14Djyo4jkFSaNvH9qzjMVd\r\nYxPAD1jhmXkny/ItV1EgKijwMYCraRQG2urej0owdBM701MK6CfZ84t5yFKW\r\nQ/H6OG4VM6tg81qQw5j2MCOdj68j8ubX5EGjKw4bQl4i0IfqD+dUbwYf5deS\r\nJFywc5BeXItvd6jTWFYWvgbBja9LTlzFl3KGQP5K0npArRH0K8X6/Tt2k/5M\r\nz9C0Ly877DvHabPsObp68CLO/3Cta3YM6F0=\r\n=gXSD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819115812.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/8032e0b715ae194d8ce8adfadfd45347/chakra-ui-descendant-0.0.0-dev-20220819115812.tgz","_integrity":"sha512-Bdr7pubqJQ6EPxosfCeb2klN6dGzX0GsfAKIZqJCKF4+BZZkzA/KkCRta+zoor8heaGSNchLvn7cxJDt8jQnXA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"0.0.0-dev-20220819115812"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819115812_1660910349941_0.8291750774482607","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819125800":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819125800","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819125800","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"ca94fa9f68f9a4a6a00c79cc8a095ee99becf0fa","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819125800.tgz","fileCount":6,"integrity":"sha512-D/7xHiWeNHsckERZYRXdXlRMdo4riwYCx52+/DOdj6rr+neIie8hpBcAop5tzXoHuDYHeOyEvlRer5RxMPil8w==","signatures":[{"sig":"MEUCIQC4bkK/A+Ga9IgRhO/vDEzK1quDu/+aqBIILqiBru8m6wIgJLFYBTLVUcNpFPUNgwQc72Z/i99ukngcPiVNHWfO56c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/4kQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGZg//ex0SybWJdnwCWdreN1N5KeG5DeVVXWjquY9sWucwDow4ID56\r\nogsrBx4o1NY21h7FCNMfrJJgvTXw9sgAarVlI/gMz2ddoVkClf1Az2OD7IEN\r\npnswH6ENTEkXZwc2jzSiHu9TOtffjCiMGSOKA8hISTBsNFF6ylwAr6yCfOvt\r\nxMxuKe4Z9nODsDvnSNNkYHTx6BRlWXE6Ytau4hDUmDRAEeRFeFWphhJxPy4a\r\nH54dnbX46dbjstWOSb24e8cGWjkaKKWGLDAfwX6LSh2WaF2Qb/Y8IG/WBu2j\r\nNRQMD6ppznZUAR20MMp41TWxxoDCyws0EY/I/Gm26e5G2YO7B4LHpGlLTfyw\r\nJIg2dyxqNwH6A40kdGhW2wlBlCgjYxx4Ven1QBW9MkoaIka4QDG7Q3K44j39\r\nBMkbIEjrOcmEA8xkfGUEQc+63AiHHWjCoQERba3ufYDhwjzLPNtfzjZ9n+VC\r\n2Z8KjQHDd+MI467aH1o+2+N2au6v3kaWps51DEbwZ9iBewlP98JKui0o38Z2\r\no+UPWs7THR1nJuDkntw/C7jdaBzUxAwqwPyPY1nh1VBYmbP08gCoZLq1LDGn\r\nEJx/dnKMDC8YJz2+Up868vT0mKc3cEmn++tKf1SuLsYb1wjmBgjWnvpPJsat\r\neQT8SgajnLwrEOxuY8L8R1i0ZvtdrervU/k=\r\n=HAeY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819125800.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/be08a45245ecef7eeea0e702a4bd72e5/chakra-ui-descendant-0.0.0-dev-20220819125800.tgz","_integrity":"sha512-D/7xHiWeNHsckERZYRXdXlRMdo4riwYCx52+/DOdj6rr+neIie8hpBcAop5tzXoHuDYHeOyEvlRer5RxMPil8w==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"0.0.0-dev-20220819125800"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819125800_1660913936004_0.593183298522866","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819132034":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819132034","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819132034","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"74b15e4d9d42d8850be392dec87c4bfd26c5bb16","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819132034.tgz","fileCount":6,"integrity":"sha512-Fd5KTAzo5IS09ui5/KL5x7XFiKGoM50I2oBK5KQ3pNqjsZQKLIgR6LmAuxE+5cXwqH7pCCUC3yZRLCzEbPFCQA==","signatures":[{"sig":"MEUCIQCZ3dGTpTFv+RdHFEbsgY6a7un8QGzSvfBPMNsNGoh0wAIgNeyF5RDdN/56RMwjfLK4Ae8wpY1npf1NJf0u8ec5YGk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/45NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEQw//Uy6IWpY9sLhocURyXVWeVdnMo5QzCy6b+pfNnhYhVPKQpQsq\r\noY+J0h4YrChuIyPgkNuNVozh14cguSOn/QxToeafhRZS77Z9vZdkGCudPjV8\r\nOWbZn4GRTqgrhYUgTNVnt5rP+QdalnnHvsNJx9wohhIXJik5JEVUDov5XaTV\r\nBi3x+pfpO3csmsanaIveplP8pO8PISDTxcF1HT8mhHeSnrv7G17KA0Wg++7M\r\nPcqt9/eJKUG5zNV7T+ahIfnSfyEc50itr/WrLVMlFIiFuKVj7y/XOecQo9Dh\r\nSJjzWsmbQn1o2raO49c6v3187VCctTebnclqtKrKM6XySjoHW54hJtJsBtbC\r\nPQWp8jugoltJNqpPKnmiR3/BAiduZMofknJhNSwM0GTGNpHVigucfI8pRU2b\r\nTmmo7zgTWoYRzvV6xa++8GE8CzJcOkk0jVj6DssvnwNrH8eYOiop+Qoat1H0\r\nS2dWFilarOSweEXMVB8DxFvHu8BN8k/9Rcpuos+Puhp9NBtRcMf93s8BrTkC\r\nVxj//RkglBl/RZOFCFCmlZOcZPu0/p22b7zXxGzk5DtaF40doh0gghH5YNXg\r\n7iTBPn/jmPHYqxIDhx8atuo76PGuRHsKFKw+u1koEH8ygDpSmVBWeml6xfFX\r\nkPq/1usob9lQsqAnwCXAVCMeX/Vr+2wNQus=\r\n=HuQ/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819132034.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/755df34f17d3df4ce1d8a2b658c422c4/chakra-ui-descendant-0.0.0-dev-20220819132034.tgz","_integrity":"sha512-Fd5KTAzo5IS09ui5/KL5x7XFiKGoM50I2oBK5KQ3pNqjsZQKLIgR6LmAuxE+5cXwqH7pCCUC3yZRLCzEbPFCQA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"0.0.0-dev-20220819132034"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819132034_1660915276867_0.06246123564325878","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819142048":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819142048","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819142048","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4aa808b69d07e622e2551dd92d29759f3b1e3b58","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819142048.tgz","fileCount":6,"integrity":"sha512-mWHqOYGtxD4fV4JhMVafVYlXBQZh2b8woP55ezAJV/1Ey38fcqphG0pM99O1ztwMog63Okz6qPHWNHpohwF49Q==","signatures":[{"sig":"MEUCIQCPjTrQpCbHYAc6QZcSBBC4oSEIJD2G7BaBLUcZSh2rpwIgBN71mJbJ5xqroopzz9qiZGUdiw1u1c+Phdu2Ytbie5I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/5xwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1sQ/+LmyC58Bnr4OSkbPXc17rE8yWMV3pA7/9UtK/NbDWA/GAkTP6\r\n9XpSIuloKM0Y5NBiPtfvmcVHzK7vIUsrfF7f+4MUIZeSemdl2lVEfp3XMjSZ\r\n99CdYMAVGKakkoiyiOd2FM/HprpITnawkSFbmhMU+QyS4p2PWyqF4D2bT+5s\r\n0YwvdI7jKqw1XvI4Uadm8/lB7va+ifciLx6gj+pqLZCk3NLuhHgRe1rzJ800\r\nmt1cJEqpboYfJYC1it0C4GbGMliiax9O8uEMRVoHAS3mele1RgkFe0y/Mq+6\r\nbtssMPHfpx0mkNMw3LcOs3bTXzNov5Mtmv4du3laJOkalPVKVgToTTaxsTj8\r\nhSyGkvfhh1sao/3hTXSMJniwJvog1Ug9fhXYZC20ALjYVsCyDgQzdT338Kzg\r\nd+wn++zHiDkLwXY+UXbxEndVHj9QIBSnCkXmIR8T6YeOA4fynnAJLAFYPHk0\r\nRL8OwC5GMKzU49h37xDFaiJ892WOihKtJ6Ub9zW+svcMwo6xfrDJIIbEgaT1\r\nOf6+sCK4DtkZLoxliImSCihc73MFjDYETsfbQmgdat8g5Qz2B7nAap007jlQ\r\nCzf4OZ2eva8zzIXV5LUXRSfPEBHUODygVpHORF+1812M0tZxQ3I4MlMwiSZm\r\n89XnenKmL9evqqQEaBbgEQEI6K+IqJleEB4=\r\n=5P9A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819142048.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/116ece854e7beffcce76e2c298f2c7f2/chakra-ui-descendant-0.0.0-dev-20220819142048.tgz","_integrity":"sha512-mWHqOYGtxD4fV4JhMVafVYlXBQZh2b8woP55ezAJV/1Ey38fcqphG0pM99O1ztwMog63Okz6qPHWNHpohwF49Q==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"0.0.0-dev-20220819142048"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819142048_1660918896492_0.05030166326161334","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819143632":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819143632","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819143632","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"edc994560e61a5d0e77400056097071af9371c0f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819143632.tgz","fileCount":6,"integrity":"sha512-2U5PONhL7RBqilsCTefczPG+/PDWMWB3+jOWQ4PLNsfnoMRzyCz39oW/EIC+amMYTWTeVapbl90L5QNZsnRasQ==","signatures":[{"sig":"MEYCIQD2xx+YjrFOj2Kl4HOzgd/QCAWoB4P85xHjUxS/djjdAgIhAJzeixT/EyN4x/3QvD0e6C7SGyHBU/i8fUM5TScvia1i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/6AnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsIxAAhOGHmqZlHoWQc8Dag3ipKq4QeC67BvYNcc/+gaxfcix2Pjmz\r\nGxzXereWZOX3IBCwqdhPoaUNNFvL2KqZQybIv3aPGHyUn+QCQWlzvRnkF4Gv\r\naQYO8BZOI4JBwr6pPs08kGxu2PL0hrtpZgv1TakXv92ydRnB5srDVq3ktTRH\r\nyXYI8K7xoJ2CxMfXh0olYeYzpnS9Iw7r7+6zqvd5yuE8nhde73pltmrkoXbk\r\nEi5JjR8yK3rXsXQgPGTxOjEs1VdZjgHm/Ijxyx9HrTa/EKEQjLp27c3yGH9T\r\nfJBK2QyDQm8QvahNU24g8NoyRQIMaMFEhuMh1i0e+a5qLslXkf+52uuue35R\r\nB89NtEHBt5U+xZa2eFAEqzJK7NDGKGZjk9v+I0Qapqavh+HK85yp4AkBFUvj\r\nXNbYIy7jsyk1kT/Qux3tEKMZ/tL+uXcvALLYUvxdKmEvLDNVRYJtlUpWNXwz\r\n859HhOuZB+zmtQGPADhrFyElLd6NrfFQSqH/XhZW3yC1XuNQ6u4DeWbIwjWr\r\nGXuheGXEiPJ8E+n5CR9e0OQayozsSlIK8blsC+156bMTtaBWP1YJTazpUCm2\r\nUGiCbx5EMh3bCZPoyY7Zy3uYZx0lm2DIoRoLulbXj3FgzpX6BbdkQv7/JoyN\r\nKOgdeZORsmVcCON984Nl/eHdL6CmVPfvkKw=\r\n=3QI9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819143632.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/d122787762980c88f12c2b9e8fd2556c/chakra-ui-descendant-0.0.0-dev-20220819143632.tgz","_integrity":"sha512-2U5PONhL7RBqilsCTefczPG+/PDWMWB3+jOWQ4PLNsfnoMRzyCz39oW/EIC+amMYTWTeVapbl90L5QNZsnRasQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"0.0.0-dev-20220819143632"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819143632_1660919847448_0.3186675350528163","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220819191103":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220819191103","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220819191103","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"db8ffb83ed1152b231b91017ceba73012982dd3a","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220819191103.tgz","fileCount":6,"integrity":"sha512-YZ/ns5m0yTbD53NPpmDRvuxZh6HM6UzdRihPH83FdwFEJmVSl8JJWnP+SNN9cWykHaNodCQPkzaNwKmOX0s7Fg==","signatures":[{"sig":"MEYCIQDnCLLa+PCBJHyz9e4LdjFkdgIVCMkBYiyLkL3DeVcyNwIhANTxrWB6FU9fXIwE/V9+puwk/Oo71Iwx8wNAz0y7GU+z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/+B+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4Ug//YVMmFCczJ9auDMlv0xdb5xnMogUaKgTMRCXRv4HPUO/UpD6d\r\niecoQqypGOpLDuE1TsdMAnKPRIXzzOiq663S/0XuCYuWDLJvyGaQJ4Q8Abdu\r\npZZRdPOVE20PhxhomlIY2LlWA/9GuSRO0KMCXg6ndrvSgY74SQUr3hl3aOrP\r\nkiOcZTvtPTdteBvtapIbhjJvBNrBM14vtudA5N8HKHaftfdH2d2lN+JsInZu\r\nv2G970nIUPaRwglP09Nx6T17QYF1NvORErBm8ru4I7yqikB2Gzr92GbpjbrT\r\nvhZNoYF5GbtIYdf98yci7PMKOHnsLFA9gJinpdyEukxCz9S2PfwdNPk01hXE\r\nYePh+fwWzyuTLfD6tXgqYILPrnDdusyQEKWUh8WPwPeNc/779vGz1x5gMD13\r\nlcu+Jq6gqtbm4SxtdoKOsLNIZc24hPLGcp/Pa6z55qPu2Vf74LOQ3jWY4nAj\r\nvLHtPIVJjS7Sa0epjUTPuNeLxguPFNrN2i5kHQQINGMRFvu49RkHMC/2Fkqe\r\no50MoU6MznL71W3lUo19t5R4YZPftTua+UAyPhGHWbOgULxg5QzwaNfyINvS\r\n10IBPX+zhHdL3nJMqHVyZhcjK7laUq11K3LZ7gyIiYudg0kJmVPGAHUVUGCQ\r\n6s73bf1ZisAcrJy7wtJiSbY30Zjuc7ogrGk=\r\n=JzkI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220819191103.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/600eaa30cba1a85c43ccb65f5c456284/chakra-ui-descendant-0.0.0-dev-20220819191103.tgz","_integrity":"sha512-YZ/ns5m0yTbD53NPpmDRvuxZh6HM6UzdRihPH83FdwFEJmVSl8JJWnP+SNN9cWykHaNodCQPkzaNwKmOX0s7Fg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"0.0.0-dev-20220819191103"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220819191103_1660936318337_0.7734370383082663","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820120308":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820120308","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820120308","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"23eb2b2334190a608243ce7c375d9214f8db2651","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820120308.tgz","fileCount":6,"integrity":"sha512-skpRpyL+i3l6fBYIPAnDJQKJtL0v4owbl1E2RgzMj4Zw0WQHHq2uWhroxhj9fN8wM25p3ncY6OuDiJF0c7BQtA==","signatures":[{"sig":"MEUCID4NVFlIaWZX97bZwXXQe7bYzTe51fle4bUMHW96lXjoAiEA5+j0p4sMWRwB8q60WoOtiQvBNTF3uq8C7iDlYLQcuro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAM2oACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHQRAAkn236lI42glPX3cfWAzJ167WBKZATpEkxzPq23OkWQNK34kX\r\nWHfCi8jRuF65+b1i70UrvX4BIBINoRpnQ65VNWD4jCRR8U6bH9K1XpZzt32w\r\nK6dQHtBrN63QCrtuCVl+HQZ4aF7RgM9dRG9Yks6LSg1oavN8ibRsO8dtuoJ7\r\nK8ZbMiHKCBx9jO8SD538i7GySktpdwsON+lg3YdtZrWVIl1jvwB3WaC73pqA\r\nM2TVwsuccoUNa/RgDPl8XQSt961JRrbKiMV9xYMDcPto3p9kctccLzikP2US\r\niQOs6cn5AOF9YpeBgdcQgeHNcTNVdoPdgw7J59Pd+LVAqKY+/62aVEvx7Rb/\r\n9KTqxEzmly9/QeQiOcc8NhTXbfUdX4G3oqm93l25VYRgI7xenYG7/3hN1F60\r\nYKBshK/pXXn4gpSJSTf3aYtFxjBEPrFUgsGaC/SvUHsX99x+/jIWDwT1CNF6\r\nzAjvhFp7Ejyoap5IL874Gc/1844uzH8dcgkon8Y4JuSjnbvPSFFeUwy/hvlf\r\n/BwpqnO2sRATLgUl6dOtPTJzK/hghTfauYY2Ooc+UcNFIt92GmcVfx/6EiKQ\r\nymdGMNhh8y4IKINUZ/w9JaU5XeGBUlvB58+LsVwdxMRDaCByXcwqoCYXPl9x\r\nXNuzlNNeav53yB8oIUatSZamiIY+QIwczkU=\r\n=n4ti\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820120308.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/6041381a1d1dc05f81d199d8f7661d9f/chakra-ui-descendant-0.0.0-dev-20220820120308.tgz","_integrity":"sha512-skpRpyL+i3l6fBYIPAnDJQKJtL0v4owbl1E2RgzMj4Zw0WQHHq2uWhroxhj9fN8wM25p3ncY6OuDiJF0c7BQtA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.2","@chakra-ui/react-use-merge-refs":"2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.8","@chakra-ui/system":"0.0.0-dev-20220820120308"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820120308_1660997032472_0.48854995030000836","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820124231":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820124231","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820124231","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"baeb557bab60a45dad4e196046e31c99ca852b1e","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820124231.tgz","fileCount":6,"integrity":"sha512-qBSc13XACoeMclgY9Ho739VyoS/+0q201U1qCeA4h8DNEJD+ZgAxguweoyJK4ioykDZHXZJvsFuciZxFlp8c4w==","signatures":[{"sig":"MEQCIGvpj/xUvZ3Dz9oinlRiCKF/tiQkE/8FhWr1WS6RotjyAiAgaA5MmQqf1SS97yKdbc1uifs3vtCMgPMFcymv2RnBjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjANb8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqUcw//b1EuQcdmBayED6h8LsLAeDWRSMXnXtg0Wc1lrSiRpdUZvw6i\r\nj5hd0Bb14eWneHq9ES/RiThi+e9EJHl1J+tZInVRoGPFI2caEuSdrJkNj+SJ\r\nXcy/DZP4Yz4kN2cJ3+UQyQynhZA8bqKdgKz1qmUew9WoLG2r1u2yRsbPmmuG\r\n8jNXYwwJg2cQEwvZ89ZFN26RrEmdtIp14Z3ryL3FZ0nxjgZWLee6oXdC1yse\r\nSiJQE4802vd4yKYd3DoxeXyMYjikxwypb/dCb2tFxz19PMxk1rkj4dy2PW8o\r\ngs4UT1/nwMlmTpBGo3SofGT5KDDXW3aZ5s5+RwXWhAALWyjcNvTdVOaFSwSh\r\nm60tXzMVmS3ubin+CovR6nZcYIlJnQVJ2x8qR4sPktFahJpUdGX/AGsD3nYk\r\nSnlY2W8GukEX1IY1DDNzVxBMje+1cosbUr3pkrWNqBQxpHYqtFwdMYyU81oc\r\nqgFdzGQKMoeDrTDanXRHcmalnLulE8Avzu3S5seC3hB8jugHTfnUdo06Vj5k\r\n8ZjuNUNHAm/Wy7iotAhmEjd0nqN9kJ5PXLddX0YY2d10fqHK9OFpxY19zOmf\r\nfGvYrWhQS5A0kjjwEL4QMpendeMKJz5hXPzfF07yze5Tdrt4GGw910nAexEv\r\nPvgilOqpZMrrPhlTvtJEDFmW7n9nHYTwgRM=\r\n=Hfkr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820124231.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/85fdbcc93a503d8c1755d3ac561e031a/chakra-ui-descendant-0.0.0-dev-20220820124231.tgz","_integrity":"sha512-qBSc13XACoeMclgY9Ho739VyoS/+0q201U1qCeA4h8DNEJD+ZgAxguweoyJK4ioykDZHXZJvsFuciZxFlp8c4w==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820124231","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820124231"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820124231","@chakra-ui/system":"0.0.0-dev-20220820124231"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820124231_1660999420785_0.16418488109094853","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820152257":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820152257","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820152257","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4bc467774624153e6810c5d37f5c1f49a6215517","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820152257.tgz","fileCount":6,"integrity":"sha512-TJyzTb66nkCsPGNwGMxLoGiJp2ULw/FSoOwDdXbIr0kfgUVuXkrM2LRmDOwGzSunEQVF9PLc9SxyA723zQ+6Cw==","signatures":[{"sig":"MEYCIQCNADSz19KjpUGq6wSetDewrr3F+IGCJ7rRmizxlPlMsAIhAJsbYnp9gn1sUoxe4Z3OFu2n561xwfyUtHKRB1Jkt3g8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAPyOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqF2Q/9GtXblGMh7jUWehgcxVeL4cIQiLn5mqH7nYd5NsqUapK3VbMG\r\nydvnyVrqHQ8RNItrYhZGa2pkE4YMWj5p+XAAcLh1x/Wne6QYVxeePs6LWrAG\r\noRE7jCqXlOG09MFDj8XKX+Hh/QByBfnA8/XpeCuSF8owtbAPMHnwjui2C66w\r\nDFP/nV4ra+olvsfdAbmrzn601+W/9yZ2NuNdZ+AODDgjrWntdVbScEVebWLb\r\n2MmN8ZBM136Q1bsAR16BOtNIZ33VwE5omZpyEF5bGtNLklbqyJTWQL/bQOFl\r\ngYpAprNtxeeiMgJN6bHXK0jlJXgAeffAuBArBUSEhQPj3f3TGj0oy0TQTC2E\r\nO4AykxZjDYvLGpPVkwIAmAfrU4LSZmwom3XKGIXiCvn5Aiz5Co1+j+tl3cqg\r\n+UYtc7E7qcIsl9E/zhgoyUIb32k8cYeG/ZVeDgspW/Jcrdb/WRkBIZe2lXam\r\nRVG05qOty9+qMBDdMnoeBWAv4O8XYkBBIgc1w4Nj55GNSGEc9FUrV4+2erFo\r\ndG55D+iY3SfmkChcIPVChFs7X+TArnpjTgKB3VLxV+BuacLfLN2fWCP8MBtT\r\nKmMApabELY945EP3aJaHY5u9OH2BWAvAcfvQV5K9Gu5MiELlxvljaDT8u43D\r\ne8/svFIeY7kfimjdhaXc39wMKUFQeqlsN94=\r\n=RdfA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820152257.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/e8bbcaffe82a61ca719b71c160ef1112/chakra-ui-descendant-0.0.0-dev-20220820152257.tgz","_integrity":"sha512-TJyzTb66nkCsPGNwGMxLoGiJp2ULw/FSoOwDdXbIr0kfgUVuXkrM2LRmDOwGzSunEQVF9PLc9SxyA723zQ+6Cw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820152257","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820152257"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820152257","@chakra-ui/system":"0.0.0-dev-20220820152257"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820152257_1661009038023_0.38332654466084337","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820165925":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820165925","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820165925","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"9774683ff519aafa25fa5dd6e7e97fa35190c9d2","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820165925.tgz","fileCount":6,"integrity":"sha512-l43HLs/iF5+v88SKUVW439LhwMJx4kGUBByadxWKXWcV9vo5e43W8fOPGYhElY9kdPRASK5krnfMu8UC5r3bdw==","signatures":[{"sig":"MEUCIQDHEPMugcok3RQCKpkpD86PB94UM5NZZVmz/KGjAbeTogIgY4Gq9s/01Vtv7E2t6h76Q9qXwyhezE1k8/76T43uVhU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjARMmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrd5hAAkuw3G9p6RjM2aWfEGyMnhQX6xjmcRpauMK/F3nh1hT1/D4Hp\r\nKQNfMKgjKAKUvFy1Hf3qJlJeERgRa7XpJWn4cW1yNE38HeVFXjpvc6dfEI2B\r\nhAxNEEY0urlTN1Z13zg7WZyJLN6tUgCudRCDNcp6HWUUEnD9qHCipBUC/STL\r\nfBFpvyARd+pgSTxKIebc/+jo62/RszSuINmEeZizYJcTG1J8efKbkP8JSW94\r\nDCf4qzRn+Df7Fju8ChAclCy9BMaRUwp9EiZivuBovMrh5CWLg+vFeQqIE+V2\r\nH/XNzfsvtBL6g+2DPTXXWilsxMFqNVkGaafw0efFCuEateOGUlMhVGun7wYB\r\neR79Ip6mddAhSAbp8jf7IWnjZ5LNGOuvUKSKhIeP5s/vZdvMYxEqKcJ7Cxxw\r\nZ+M6GRbo8XNvLclVPtcmIny9CbWFvZKiJmH6IcNtgBXujBacEz1cQTBrnezO\r\nIqg5NGfa0DK/Eotqe03Kf7r0Lu+cZ7c3Y3UAmEjpRbl8iKYltx7u9jyGkQpm\r\nsS7DpM61cLeD0dWZ7EPxUDXX0TnlPc7B9e8mYctuci/JnJ/PFOtTbYJPtAXk\r\nrOrfPQJa98tN5MHjByoXdgrxAYlsR5Kc+qikosXNyJ4tJoii5poZYwqQtPdD\r\nSb2mr7imITZqs7NQtylazE0PK/NhIq+kP5E=\r\n=hPKH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820165925.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/b3793566d83594139e781c0f383d2438/chakra-ui-descendant-0.0.0-dev-20220820165925.tgz","_integrity":"sha512-l43HLs/iF5+v88SKUVW439LhwMJx4kGUBByadxWKXWcV9vo5e43W8fOPGYhElY9kdPRASK5krnfMu8UC5r3bdw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820165925","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820165925"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820165925","@chakra-ui/system":"0.0.0-dev-20220820165925"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820165925_1661014822385_0.521852827328048","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820172220":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820172220","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820172220","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"68393dd5a27cca73f5870f7e6f3aeb6ef09d28d3","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820172220.tgz","fileCount":6,"integrity":"sha512-H+nTslFHjwAI0TY/WyRk8UqlL3sTL5zO9Hc2SHSKH2fp7bllLO+FpqYBsrhloSrRpU20k6VgxayajGQMpUWN5Q==","signatures":[{"sig":"MEQCIAl265SZ7aUuGvwg2Y72RqhNGLw+VFB0tDZHIboHvCeaAiA9trKmstGwvA3IurhfqJk6/saYAzoyxNnX86goxSfdWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjARiJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4Kw//XAdiAzPrnweB9afPoch1FJUg3E8ZwZ7tuYX4uT5b/qt1dI/+\r\nBz8LM4zRBz/YO0OcLgayP6j1ulSwVROnN/lTo4ju6X1EfvvIjvmmZBrzi0fP\r\nxBKDpTHirISgq5rBjOeQsgYa8XSSyj9raBNluS9kX/g+zBMVPNr3dB0UXdoG\r\niRS1xfK/mrBTiJGsdZfS/vSL3ulAwGdImgiu1MeDhDw0h40zxR5fXtiZXeI4\r\nmYyqlwKK9LeA+yGIusIqBaozes5Vi7yTiCg3w2RV4z2LikmRTXYp/+IPoiW5\r\ntrrk7WrpE4BhTAeBSnVQd/l4oGHz7OJRzQzVX+lq2lIzMb+xu1lQDgP+VfiA\r\nwrddxpaIt190dCgwcYlTHQwTJbjcoXfvTBmrnz8IRR0xri4ZzoHGzK/pbzFQ\r\nWAr38MRS33/UJr//ErzUkZo584eZMEmGwl/R6NXH2swFlcsZKXYClrGZ3Bbb\r\n5mQnxWJU3N8wuauFXMWdak/GOGLlS5qS6hz8EX4jTLTfkm3uDaIm0xVhn9ih\r\nf0t2b4r+R+14dGLDdkhEbnvrGNmcK33caJTDzvJCrsWep4QDwVnYz8wW18sP\r\ntu32JbwbSZ3ttkQaouq40fTIiPiglE1VTL1twMq1Ei+12s+Ey42KR/RDcBtA\r\n555FINq5leLitjGo6jw0D5TKCpNddgvD3e4=\r\n=N/SG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820172220.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/b4cd97db32c2a5a34206196517cea182/chakra-ui-descendant-0.0.0-dev-20220820172220.tgz","_integrity":"sha512-H+nTslFHjwAI0TY/WyRk8UqlL3sTL5zO9Hc2SHSKH2fp7bllLO+FpqYBsrhloSrRpU20k6VgxayajGQMpUWN5Q==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820172220","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820172220"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820172220","@chakra-ui/system":"0.0.0-dev-20220820172220"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820172220_1661016201582_0.6700436510730894","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820173639":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820173639","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820173639","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"436e140f97edc1b24c6a3f52c0e2c7e5ecae230e","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820173639.tgz","fileCount":6,"integrity":"sha512-fz+TqnvjijoOy/1YxeyKpntYtYxcIBz+QyVOSt24aCoTutfDV/WoxdDdJYrvIzmtUW8xrlT7wbEDp5hMjR8wkg==","signatures":[{"sig":"MEYCIQCkMIJVroWx6wTBdFoveRicSBhIUA5UQDCycxY/48Xr1QIhAPv+0360SM5MuWT33ITTysW5jLpgHAi1Dc9IEWJbQgbG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjARvgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2VRAAhb5YWvnTDGuvwP6aaBODxrdBl/318d9BV4CIoJn+6MDrPIyx\r\n1dSiYK9l3N+u3iCpjizF7WCVZ8V5y2d1IsnDYbI1sfGCA3VXANzvBPeXjxLj\r\ncLakdfGzB1wgqoC0Q7jQZ8vU3fF/fCPGj5lOdcBx3YlkgraCdTXtLmhdHl1O\r\nGTRhO/PpV7uOuEzSp3ee9GUYCGAEPnnXqOYIknYJNvQFz+eZQKgKuRh6I/6i\r\nfSGl+GwFPVJkKHfpt7X28FPTTZ0xpSP5Zv9L1OiySr1Rlw8UoCa3CXZ0ebER\r\nuy4uMcwv80jg4C2Sui6FDfNAc0prVwbCfJOUBKvW0vYaB57DKpNckZjAedb2\r\nnidOXIUTzNkhCAk8sdH6u0xbU+upjIJhxW525b/nyWsvvrHIy7NV9qYbUyNa\r\nSvT3VsS3ikvunSsGoLzNZxOV8ZpQYnTai872l1UE5Q0pnWp+UTKqFyGIjG3B\r\njIjBzjCp8DYcePIa67OP6H148zHNtK4Za7jt1Y1I2xe2VgW/RE1BgFeXDpWM\r\nkgKvtLQ2SfOmF7HgcWKZ1zYUxfUl+5h07V6qxAiSiguMPw2GKR/WfDgKD90X\r\nlyZTDOqjxhDyTDn4Cxy7TTU4GRnT2Yzk4gVpauNvT8jnOnoBHC1xLJmYL3aK\r\nucFLo2npnfP5O693OOZtzojlPXtnWFv/opU=\r\n=4NIH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820173639.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/3d603b18be0f22d09e3e82cc8054c999/chakra-ui-descendant-0.0.0-dev-20220820173639.tgz","_integrity":"sha512-fz+TqnvjijoOy/1YxeyKpntYtYxcIBz+QyVOSt24aCoTutfDV/WoxdDdJYrvIzmtUW8xrlT7wbEDp5hMjR8wkg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820173639","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820173639"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820173639","@chakra-ui/system":"0.0.0-dev-20220820173639"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820173639_1661017056252_0.41787021367479493","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820185458":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820185458","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820185458","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"3ce062b32f2410dce4b024f422f15ec0b9c76959","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820185458.tgz","fileCount":6,"integrity":"sha512-bSxWJLFCbsoELdJ8NjOFGjkhyGc0CVawkF3EWSo/E7OOU+bSfMfdhlOrX51dg4Xg71dIEF9eUoShpiKrnEl/BQ==","signatures":[{"sig":"MEQCIFS/DSnzkr7kOP9tgMdZfh4V2E+y9DHHfJ21ui+jIf1sAiB5ng22gOcM/vt1Sr1CrrdNh//cK9C5z/uhKN+U6f59vw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAS49ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3Fg/8C7Zgyh6xUpzAFJPawRR2VVUZeLDsNwXwoHm+OBTOIrpHmzCP\r\nzWLPf52FTwEhILwsjdhvjedlG3u31SwH8XNUVZ9WbczscymTVddMhQ0MaMFa\r\n7LsBilwdX+YPSLzYlf1kOapKlRq1VNEdhIV4XJOuN4kyfeUEB/pc2arS76tg\r\nRmH6N6iXYoV3FUvRG8/iKWFHZ9uiJOtpIKfx+RXLCYm63XY2NLoLe1TFhjp7\r\nPMb37yMq//xM2eyONBGVrlkMYC9LU6kkuW9M1i3c9XmJOac8wkpsm5sXU/9Y\r\nYLbxlk6F7/cysKlmgXMo5RieVMmTt2jIxnvcR26cZ4IxCMW+ecDR3Eml0QYW\r\nGj/oYsRrBPw0L2niAFgPB1bHoTtOLAg4waTMDMQcKyJRv0Q3OwCmwdwi+XhQ\r\nC32cpl8+KOogF9wCHk+7ym75sA4t7DGRDABJG5z/wxbgkITJ9Qr22LWsTQlv\r\n6TqZlmTLm7Eji3v1kRNYSXlPaWJ0Uxk+165zNX/LHgVtyt3v6i1X3oM2tiBv\r\n7J/DDCN13L/5/LVmC4SMknA+9bMWNFzki0gPcAPDV+XJN2iwb7wyWhyKAN87\r\n11haS86X9QcZTAsdmTsoukNmJ+29gm+RzVKSPDKuFinqJ8EV0t3gzcMoieIe\r\n8nTOG8wJvDgAPbeKCs9YMeCAV8UWcTewi/M=\r\n=GYKS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820185458.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/a74d943a9430e69e06e50a2d01f8c283/chakra-ui-descendant-0.0.0-dev-20220820185458.tgz","_integrity":"sha512-bSxWJLFCbsoELdJ8NjOFGjkhyGc0CVawkF3EWSo/E7OOU+bSfMfdhlOrX51dg4Xg71dIEF9eUoShpiKrnEl/BQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820185458","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820185458"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820185458","@chakra-ui/system":"0.0.0-dev-20220820185458"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820185458_1661021757062_0.13065034251061491","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820193723":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820193723","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820193723","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"533b6ea93a7c35a1d2a62fdd0a3a67c06d59ea17","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820193723.tgz","fileCount":6,"integrity":"sha512-sJPwJonz5O/CyDPAXcxnj2p0NriGcBu9fwnHKX8TBjAm7kaoKPV4C7fmmX5GE3Yga98mLKi5Nu6zoHlLZfdGdw==","signatures":[{"sig":"MEUCIQCPhYzYLfN2zaAn4DxOcRWQyb+0UGqTo3nNCSxfUeQ9zAIgPMESUsAo7WGOxhJ5iHVoCoX01zpeFoo2XkOXW+rk/P0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjATguACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowMQ/9E0j+acADiY1iMLxsFQy5vXcdJstSuK60eXx3Rvo0pi7jgzPd\r\nu361VcbegzWVpoEQsQn0yzzweGmzrsKfJUhUdpJCqlTsylJEQ3pKms9EAkWp\r\n/exiT1UxysATLkKE2i9HIcPl0/r7RqPGzWvgyYUcoJE5nE4v6U8cEItRQEIn\r\no8sP5oEeJbjbFnfW/UIusn1NOQpCl/w+LDzhDsfNaeaQib8vpxAeeSMkstst\r\nHSJFkvUgkxXtL9Qy5qjI9PSu6548bZASPNXsDHs12LISRUsSr33S7D462PuC\r\nFZC4nDGC0qAyyLAH7wrQ0weGJNRuFMl2sF1quMEqUdHHhhloLzBHdB+XfIET\r\nlCIHH0MS3zIddA57gfSogUwrNK2FgUGdXUkTrjP4tI6Z6I+tuleCs4fPcKIX\r\niR/eJdIexnoN4wjTj74NH4/6AtsvUsy57nXFpd/qjpWIIFfHwv7DIBiBlmbB\r\n9IPQ9KPWcTRQj0LMf7Gzrechi/UDmYsXu6UpGekyTfzDTrrzb3wt6XesbNv/\r\n05f3X5WOsoIH3gJg2s0tWlcFX55tyO01EYpwLYBVV/Bmvf7bdBTVLhZZ/ztI\r\nl4za2zNNc/2KBektZ3ou3h3oZDJ8tSR82sHcoGRY7X0oPMyO14UO8r7Ue4rI\r\nOMQmZsmvBFOgTmzLLLCc/xouutDFapOsDhs=\r\n=NTpY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820193723.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/e8ad45036852cf5b44f896d55dff2b53/chakra-ui-descendant-0.0.0-dev-20220820193723.tgz","_integrity":"sha512-sJPwJonz5O/CyDPAXcxnj2p0NriGcBu9fwnHKX8TBjAm7kaoKPV4C7fmmX5GE3Yga98mLKi5Nu6zoHlLZfdGdw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820193723","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820193723"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820193723","@chakra-ui/system":"0.0.0-dev-20220820193723"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820193723_1661024301897_0.061165869493453595","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220820195548":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220820195548","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220820195548","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"1bb90d9a1abcc8a68df217c6fb93735e76e03d96","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220820195548.tgz","fileCount":6,"integrity":"sha512-wW6wM6nXnhQMJl2cyhNwRwroEeBIKUShKYAZbHj56n2LAaGuzBFfpFEiMnDJqyknsie6Bh4mgiU47QvL6OYScw==","signatures":[{"sig":"MEQCIEyQ21++Wc2TaPKVn9yayixXEFBmlbdpyDTWFRMYxuLZAiAPf3RWt8pPWsQSf7i1tI8sCFBEQPguChFoIBcNqF9PlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjATx+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvoxAAlL+tHfdX0jaRnIGsYbC5tqHZ2oRN8I32Bp86ntasEyPTfNeB\r\nVHoE27lPzeQhGQPG8QUvMBeGq1xA/DrXRwCVQK/R1C5VRh/FGsaQFrxsJXeY\r\nHjcdsDbPLKSmX5n2H5LF8SiFfvgPShj6Ddc6yTZYQgG+CejXQtRfbC3DYquP\r\nI5URttY1apwF9nOLI8CIK7Od5rz7U4KE8bJu655jzqp5TAL5kmf7Jdqfl3hm\r\nOwgARCQnYL+a+Up/rQZgzmJiCUO0vmPwApsc0FQLlGC8xdqKcnuoyJ1Ul2oY\r\nksOWAhW0hBuUHf6FY62DKow3P8XxnGIDvXfNQVVsbikTE6eY71ufn9Pw0Lx8\r\ncafwOQ372aU9qQnRmIW3+LE26YpOMfM/EpyU2xE4wu8oDlwgYRIjXMFSoLVr\r\ngIHBaDRy85CH4MWGnPx5TLMcK+I1soNaZnzT3rvcTzC97psQGjeLRWyFN+uT\r\nJgf5xmK5E+3NMsUOMUZprRHwJ8ecDrs10REJYzmPzMXyL8DziJhA850KoU+W\r\nbZQAiC7UlUFRmXvgwIgayGW8xKlfaveTHmO0j9kHNHwZ9WnaJnIuL7/5/jq1\r\noLtmLxbhMvW+/RAUyDw4wD6vsDYdGctdKIA/IU7DdkhrZSZ/3rqKGWYjHCD1\r\n/r/DXeU+Tw/kdwo3aZcYpu/uRrRcC727MoU=\r\n=NiW3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220820195548.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/fb0dfd4aedceb3e43f044128291ba119/chakra-ui-descendant-0.0.0-dev-20220820195548.tgz","_integrity":"sha512-wW6wM6nXnhQMJl2cyhNwRwroEeBIKUShKYAZbHj56n2LAaGuzBFfpFEiMnDJqyknsie6Bh4mgiU47QvL6OYScw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220820195548","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220820195548"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220820195548","@chakra-ui/system":"0.0.0-dev-20220820195548"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220820195548_1661025406179_0.032265911834368444","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220822051456":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220822051456","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220822051456","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"f77a19382f8ac3988ce85e74950b434f4bfb141f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220822051456.tgz","fileCount":6,"integrity":"sha512-e7nBN2msFev2+Ehv3xENnkpBIparmUwIXMldEXxh7V7jYuatkZTYS+Zj5eMyxpgRA4IqhHmq6p7m8Qtu4yE1zw==","signatures":[{"sig":"MEQCIAUGS0jUfM1fLSySggF3lTTTwyxNqM/sJP3CMH2+2NNlAiAad0TK+xXDvTZdgvFBVJChHlzRrV4oghL86Q/9R7YUew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAxENACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqbnw/+N2hsnNUmNyZUXhIpHX+fSH5H90PaU1kMo6utkpbsewpYcZXP\r\nobS1B8f4AtzUek1bInpCh4MvZnR8o3ERbOrzz6XMCOBRgqMg7l23huVjExRl\r\nJ28uUjLxc+4VkKqjGHyy6j7lhJxeZpq+0j4ZgE9YbqQCM51KeT21F/UNhI7d\r\n9l6LwG1LR114onmEXUV6nLqGiKcpTPoV0KtcreVZf7NGjQ3kgCObKqnefBL/\r\ntj9LEF6nYazs4ujeoxcfqePdqfQ69c3ET/OVXRMIFnkoDzA3i3LQrfw3aam+\r\nMRZlzDq4HMw5n0KiVR/Lf6V/cAWNOG5tNBrFGbC6dpBwhDMYmp7EgFB0IeCt\r\ndsw70mZghfB9GvQUNBm2GkhD/ScT7juAC+c01Dz/qo99qF7YeG9HIkT8ua9A\r\nIigUscyLsNYg3zh710tQ+VCQNx0pGbRimjY8i0yxlMBBrQ65ypayXdYTGvq4\r\nqSc6Jti41Rn93LIH2KY46WSzbyY+6l1yHBJzhCGxxmUlbJGcytl+cQ+qTKp2\r\nn4BJZSMlwo4bxuOdgab5aUKxELwd0jnrvXO8tlfnKOWuLhPRltyQCXrEDoC8\r\njZVn7+Ic3jDegxymFlkrNvynb9cbdnUXeB8PHZzM29PjVx+pUJ+czYCrg+kk\r\nasRiC1sntkZEZFGUPLxLZ34nNek5FOLKdzE=\r\n=d3Ds\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220822051456.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/64d77d080504321b94063943d595710d/chakra-ui-descendant-0.0.0-dev-20220822051456.tgz","_integrity":"sha512-e7nBN2msFev2+Ehv3xENnkpBIparmUwIXMldEXxh7V7jYuatkZTYS+Zj5eMyxpgRA4IqhHmq6p7m8Qtu4yE1zw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220822051456","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220822051456"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220822051456","@chakra-ui/system":"0.0.0-dev-20220822051456"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220822051456_1661145357083_0.9730983898336298","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220822054045":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220822054045","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220822054045","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a27886b540858716920b17d240eb718341fd529c","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220822054045.tgz","fileCount":6,"integrity":"sha512-et6do77asVBfOgBkRJ0A0aje78ehae1vXc0HP11DSmSaOzon34V+u1x2UVpLv3Sgx9R1xZR4LlkFDmXaFE9mqg==","signatures":[{"sig":"MEUCIQCD4C27gdjMaHqdNj52O6sxe/PWQZwdIEv42yJZgxI0xQIgKeG4f3jt814hAs/cb6yXDB97R8WP7N8SjDz2juu69r4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAxcaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmok+Q/+KvB+ft9xGIrb8QKKd4LowjOLmv7WoobMUufCsguMlPSsq3ix\r\nzZcCiL9s2Uq7QQAWi6z1n2mQKPnfDGa+gawQlxR3pQbWDVSHzxwFoLfLrW7t\r\n2mxHxxkZOYedQXWS5lN5/YTWLY/vf1+TdFPscGhOAQmDcTC2xQTakZHfp8xE\r\nANzxU28RBWiDRM71T5Eav8Ts5CXwh7h1bbCmdyTA1h5twHCkGgmsS/Zo4DIK\r\njC/9Qgk2pXWKaGQvyCYTNmu6n0lukBDTU347KY6LBFMXTB9XgAv2YbywY6BU\r\nc969+b9789+9m/2j3eioQhnFPtEaYbmshKybSyKffjDX0JCazOejEKY09YGW\r\nBBiy3ZZs6MkHZUBJitDweJXVXptVNiLfHFrBmS5oHR8AW0jDEnjNAMJpEXau\r\nfKwJEnTRy20sf0aA2mqh+IwHi9f3QOeHzHM2oPriyK9dKSTxphjwGvlkXgBw\r\n1EeAkRS+p7bN8q94UlP74nyemQQlzmzCt9JRwidN4ufIJ4gTRzKnNkNZVqhB\r\nnqhJbla4ZvxZonD5m0uYgMl9PoA2lNRjmtxBmxPE1TJNPcTqnN6QKfJ3HtdK\r\n3MClDLw8IZn3Dn0pLNZX7m1qMAENaed1XfCkXJkYgz9B0ida/6/VpPvyzQE+\r\nvgMsyLdkRvW3/2VA8wscxoeid4mKhQX/lvA=\r\n=T2Tn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220822054045.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/daad919f29a7c2b6dcf3ba884a33238b/chakra-ui-descendant-0.0.0-dev-20220822054045.tgz","_integrity":"sha512-et6do77asVBfOgBkRJ0A0aje78ehae1vXc0HP11DSmSaOzon34V+u1x2UVpLv3Sgx9R1xZR4LlkFDmXaFE9mqg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220822054045","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220822054045"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220822054045","@chakra-ui/system":"0.0.0-dev-20220822054045"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220822054045_1661146905927_0.5927917556333073","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220822055339":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220822055339","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220822055339","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"784f1ffee832965f3478803a678a708f9e45957f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220822055339.tgz","fileCount":6,"integrity":"sha512-vJ57UVgROuTBYjfeT+eRwupRCGasX+BdXiXIthR5xLkgiOBPaYWS2Mc3ziZILEY1XRR7j4LwRNMLxzAuKtNOsQ==","signatures":[{"sig":"MEYCIQCaYZ3330zXrskJUGmrQrPYSZ1ExwNw5ebdYwZwuKzKjAIhANppjxjt1VAVam5erRpMmzxpyqabEC3I+NSQ6OxnTSgI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAxotACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphIxAAg37k2gALok6GU+a3kChOIzMStXZV5c0nLDiRmvgopMpvQ6X5\r\nMQY+8gW5A0h7WV5XAui5rC3+ikxTEymofN3UwBu5LIYCVCTsVfMIJoJLb0tn\r\nG3S0NasgjrxHXVgOd7ClKC/Bbw8unKyEbWAYkdpbBVxIRlbcII2UijKO7Z3K\r\nW7OBru7gmT/LLS91VKpfiIKr7LbfFynMkBmg5V/zfRTHP57EEbY8kkYv53fE\r\nvYdI4V/vH+IRf/nAS6gx1Qth12Kjr8HA86gQf0Tv1Je6skz7ecPXDpA+z7ZN\r\niWvotVoxbjJ2M6OW3fWFWykyMJfNU0I70c/WrrSbGHDlS89C0Gm1wWNktQKJ\r\n5oP6qhtSTtRjBfk25w1/AoYpgj0nn3nwwWT2gFouelHRI8QtXoHSnRgAcF1R\r\niNVjKwezlAE5c8NFqrRdNHRIHd2CUvxWSqAd1qFZwjIAh4TIXCMl6VAQ/GAM\r\ncfO2JGYVWKQF65r20p8p4XNrSEsZ3XKAorvrG81QTrgm6HHxpVytrSkmx6DI\r\nd5ZnBqkBopXNan5xN8hdrWq+2iGLpFZySMJFaLDcu1Xm8Ovj6UU3UGVT6PjV\r\nWJtTQrpAfbGbLsnDu8a1iX49LakXoqI7xgPzR5wfxs3gAO6mSOME1ASqenuY\r\nBmsGQBI13qLpGCURWHFAXsnwl10f6JkkL/E=\r\n=MADt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220822055339.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/37e3faa419f0503dc69720dee02e11c7/chakra-ui-descendant-0.0.0-dev-20220822055339.tgz","_integrity":"sha512-vJ57UVgROuTBYjfeT+eRwupRCGasX+BdXiXIthR5xLkgiOBPaYWS2Mc3ziZILEY1XRR7j4LwRNMLxzAuKtNOsQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220822055339","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220822055339"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220822055339","@chakra-ui/system":"0.0.0-dev-20220822055339"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220822055339_1661147693205_0.6513717049513277","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220822103611":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220822103611","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220822103611","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a0411c009b90a8998e824af3de432f78365219ae","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220822103611.tgz","fileCount":6,"integrity":"sha512-IkDMVUUKOziAFdMQ0KZDLSzEF5xD+CCDKs9awcYj1RlFPHoYpF9QabEV+69ohYf1eQUarrSnusRzCXqEQO8hbQ==","signatures":[{"sig":"MEUCIAodtx7EfObjzdSukc82+aJmxu/LYUCHyvrkPo55rTk+AiEAk4ygvHbLNye2GJIOph+lNFNslWUXJcfDaTvNpAdjP9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA1xbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMqBAAjarcFC2Q/IRno6rF4/uhrumxekG2+d8DJKcpuJkfzUlsQzga\r\nFHgmjf7BbfhlNSCKBaZn7O8uCjMhCC+nv8dWV2SOLyimuVRXAhasSHLi1UgR\r\nxj8KNsW+wPWjaJIYBMVnSpmu1bBek6/JmgPJ1I7izQB6YG+fOO7jRnmPRNVa\r\nuF1dKrSqUkksgV6nYGFMPecDg2YzEXmQNFaF8qBKre9+df7E7Z4sqvbPtcaw\r\nftCGFEQBX4KE1XE5gd1tmAC4TF0rHqJxbVPhqEd2wVwQTM5eZpK8Ije07QKy\r\npPZ2A4kpkMTCk7MV0xOhET3Cw+v5OIr+1jNJYHfXpR01EUgsBrGuDhvmkjGQ\r\nLCyYsWj9NAqdXaCFgTrx/JguuPeGE9H6jnQ6XnL4gzMxMSB5m8mfPedR31kz\r\nUFnLfKeclkY6xu0rZO1n2zAsRL225KIahcTijtjsh6kO/QDFatt8JFNjWNeo\r\nuR40whYth3SZlKOElAV4m47ZRX0FDDDTNP9HU6cKme0YVNZQALfw2P2XXwVi\r\n7LF3miSYy2+fWXh5A/YBmLgfp5/gCLw2W8wr9QwFadIONxBWSvQeTdGRyC6M\r\nkJuhxTMHFRRROxwi5Vm/LnDGaFuVpdOlzBeCyOnEDy/N31Lxw7KTzx0DSOlI\r\nohp/xVuH/DsiSAJRS9gz5KGADVcQ/WmsjBY=\r\n=T9EL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220822103611.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/c4a1e860e81b488ddce0c5d460a572cd/chakra-ui-descendant-0.0.0-dev-20220822103611.tgz","_integrity":"sha512-IkDMVUUKOziAFdMQ0KZDLSzEF5xD+CCDKs9awcYj1RlFPHoYpF9QabEV+69ohYf1eQUarrSnusRzCXqEQO8hbQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220822103611","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220822103611"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220822103611","@chakra-ui/system":"0.0.0-dev-20220822103611"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220822103611_1661164635015_0.9434417173903713","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220822184448":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220822184448","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220822184448","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d5e5b8f05c7bec605db9a6327c989be6dc7e5742","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220822184448.tgz","fileCount":6,"integrity":"sha512-6O9EMxkMSyP3/l12Clx2VQT/ereNNJi6CMTJtr70IS3q/AgvL7JIpohUL9d0HKpcwv0g38yGXY76DJ8Th7vTxw==","signatures":[{"sig":"MEUCIF/JHMH+y67MRMuSSdEIS5eFYtu2QB51RhSCcN9HJHbtAiEAwkSebxpASNqmwChn9dIKf7PytKClSOMtYwOzQppsOfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA87nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp2kQ/7Bv/jj0ZUyOjTLM8E0Z4rCRMAHLQFoLSIGC7A25aJNLDA+vO0\r\nZTueE//LZLxkWeRarJorhe2DBn2TQTHLDQvP8p8HKoqEjHKj3U7/gr4RDnlc\r\nafWVC30vukfwMdLqm+y/FybiTqETmj9U7TWcRsZYFHRHfjITarqXaiDE2a9R\r\nyRXrzOXGq2RMCxAtVWXamaplnrM3eubpOl1j1eXvkoKNGVmDbtQq8RcM25g6\r\nA2GYMTVuQ9PDrr+dTeedRyfya63RHvBhdTXNphJZKKII7iZxcqUToul63Ma8\r\n1neareMhmVm69BgYXa//z6KuXLaFzJVX9MHOJyN1af6CNh1nVM1LYtFVRntt\r\nzrTO8Jk92T8BvouLFJGO/++M4I0NMgq+LRkUJAjOLnf5yVxCwPN0JHau3kL1\r\nKaLuduDAhC9bGUvWaISP4jTosU0jG9e4u4CRrkWG3rvgpq8qBfBb1BZW1Z9z\r\nlmhHqDiUSWvHQ4ovz4wXYX4RE2YylWQmBqEqBFtfBGo/Y1uskRnhvRtZ3v+X\r\nR2BduQmcTdJ6Mqwo8ec6ncbmJrpLiWJocEQM8KO77JhlheaiwZP3gTlybeyQ\r\nY78YsWuO+HpMowgHZWC1aGmTMo+eb0Ibn0t1u4orXwlNkFM8sATAQTJaRvp/\r\ne+U4Rv31UT+y2Q5kGnAC1xz7RKXPUbHREoI=\r\n=JhDs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220822184448.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/6391112228d1ac27e8f02bee8f8c27d3/chakra-ui-descendant-0.0.0-dev-20220822184448.tgz","_integrity":"sha512-6O9EMxkMSyP3/l12Clx2VQT/ereNNJi6CMTJtr70IS3q/AgvL7JIpohUL9d0HKpcwv0g38yGXY76DJ8Th7vTxw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220822184448","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220822184448"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220822184448","@chakra-ui/system":"0.0.0-dev-20220822184448"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220822184448_1661193959328_0.4338506055565954","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220823150801":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220823150801","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220823150801","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c48f5d2d85890c22fc0cf5e449b42cf29ff1794d","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220823150801.tgz","fileCount":6,"integrity":"sha512-T01uqVB3PuWgxGz3mZ1E0sxHQjfEcd/LPGDvc77NHQTMY8TKfgIZtvhkSKUTfYwEk4E2UOj0KWAym3On/Rg9dg==","signatures":[{"sig":"MEQCIB2u8huMU77cuR9Prk9vPaUoLeZoX/p3s/B3WUnVNyW2AiASs8A+SuBjQW+G1pGA+GtSuvcyyo9elBhPzcOy7A35cQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBO2NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8DQ/7BJaN1yyAfdN8xRCnSFpj2EMcBfTEbDBMjOSFqokVsBxXrzOp\r\nmDOZTZluda2q9KMT/QMuQ1eVOKLAom7xNMuxL9bQE4SUQeIRjZko5uwNDbos\r\nTBm7Oi4+qp3bmQ/gZ+pu7jyHGw7PsOu4N0XxBarCa3d9lbJEZA5cvJU7Nzj6\r\nVmtikRTaWq9ERk1/0N5SUQoCG+ukXT9IXqbmKHxFHHShMEySUHHvxUGcq49x\r\nKUUoSFy4s454NEyhfMzHtvmMOBvmGyp3coKjAEixa7qLq/U50QgHG5zYAIzr\r\nihWLeJk37YmJDvN1UaB2DM1ePF5rWBP/ObkFFfGqvZEk72rvqpTdH2+yQ4xi\r\nrFRJ84eeW9Mpi2BrT/W2xZt6YngXPSqRikrrauuwtU0gB8fnROYkAwb+CA9v\r\n3gad5Cb3kGKCzV+fBNNxe79R/1YaSDe04WP2yXF6i5jbBzYIfR5a3lswZAIZ\r\n9EGTFxI+xhv/agT8ZwsuWk6Ym/4QfcHyNNjfv29/okGU8tF3kjhPs5vNyabP\r\nqgAc+TIxnABQFCI+JCYPAykAado1RFHAmby9z2xlUm8Dbud3jiNB4oA+fUmS\r\nCHgmCmIn2jecPXRgBDidoZk7xO9oTKVfVXIjemlEG6W+povrcefOxlLqc7QI\r\nTBoCN48jkUrKRfWz6fil39PfTC3z/RNbvSc=\r\n=kWN5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220823150801.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/3927b948e90e227b4caa02452e5dad3f/chakra-ui-descendant-0.0.0-dev-20220823150801.tgz","_integrity":"sha512-T01uqVB3PuWgxGz3mZ1E0sxHQjfEcd/LPGDvc77NHQTMY8TKfgIZtvhkSKUTfYwEk4E2UOj0KWAym3On/Rg9dg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220823150801","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220823150801"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220823150801","@chakra-ui/system":"0.0.0-dev-20220823150801"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220823150801_1661267341331_0.3299068350240746","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220823165602":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220823165602","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220823165602","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"ad7556235a42eb56fec429d37fbb553a9c1b5edc","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220823165602.tgz","fileCount":6,"integrity":"sha512-qrzJn9gGiZ11gyQQq5IxL6hxQ48Z86CRJW6UAAsUYsC5b6V+LjQfnga4VvS2px/dR1QeKCLAEV7DzSqEXRE+bQ==","signatures":[{"sig":"MEUCIFwAeQshKMCIivzePbT5xINfvtWvb+KPpLAHGrtCM84ZAiEArGAIFLNutDc7eK6v/hGlM7TTvS2xR3aguo3hoptfqzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBQbdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouoBAAlUvVT8IKNGN+56kk8bflbZJJkxrc7zcK6SihQVE/c57d7Hm8\r\nV3X4qsErIUskzqXHZdC4TXeIZshvpbfPCr0bChkgrbnD3guEIraCpI4cexsE\r\nMblGVFgaWobwp3Xfgii5U+hF2lbtXzavZqX+U4yH9O0UIgiiPZxlqxH/zuID\r\nbxc1K+By1q4mGEuH4YmkRx8PNG+7SQIhjPTN3RECDK5megoeUKsRhYdaoRz+\r\n1VlpghV3K9/3jN/posCmoOYoI7RPz9QDfQPPXDOl1IzrYSCZUNW73ztOdNq5\r\n9/6fiv1TivO9PKj3wWAhQxwh1s9JfOzoUxvKWy2ZbTzpAvyYglaUKPNy62bD\r\n4HNy4hAYIrF4jZy5ks3A79UAjxUPT70j//7eCyVVhZryvWvWyyyqe6/wOrF3\r\n+/jkGKEDiSSTSGXHBAmUrh6mAFT+6JXhNgjDIWMMG6FKFyIQKzcYXcmkYfWY\r\nqRnlwinU4qdJxJfcJ9w6lkdkktyYD/WOUICUEWvYHH5Va0thuL5bNAgdnksj\r\nNRVVR+8Gd03XqDY8hWVozxurYVhTYkUF4pHjQfnc2mqwdJ8jv441WwS1/YEW\r\n8cE+sv+L12KVNbSFEvuQBpvDwpKAZXCE3sw/9XVwdIGnl8HqwnCGb/7syUEx\r\n3BpYj310+p8MtPaXL/yGpWflMcYtxJ1JiNI=\r\n=DDNE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220823165602.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/6ea3d3af27a784e1d7ebc1096ff20fb4/chakra-ui-descendant-0.0.0-dev-20220823165602.tgz","_integrity":"sha512-qrzJn9gGiZ11gyQQq5IxL6hxQ48Z86CRJW6UAAsUYsC5b6V+LjQfnga4VvS2px/dR1QeKCLAEV7DzSqEXRE+bQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220823165602","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220823165602"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220823165602","@chakra-ui/system":"0.0.0-dev-20220823165602"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220823165602_1661273820777_0.6365061696772067","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220823192757":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220823192757","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220823192757","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"104a37009a2637795608da851cc0621d45b04f4f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220823192757.tgz","fileCount":6,"integrity":"sha512-WtTiGmuJrBpDROxYwRYXlpsVvuGXB/DDcNtrynGVxvTfGI7SDog4igsEBgo8fctkeM6L5aT4/P2InblOQXgiDQ==","signatures":[{"sig":"MEUCIHjcUPoVnTp+nNrTpy9PZwb6en2kai2PViKSjzZi613gAiEAtmReXuL2BwO8tI7t3mTEWR3eZPT69Gt/EgcHTuFHLPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBSqJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoP0A/+P71DQjDXB3ZABpvZOYfXhvz9Y65iC+OqwvIvYMahiRmfwEsS\r\nMqYSw+Ye/aL8YHa07/6Ss/QdSjmYF8/3i4UIo7QUtwOrAN3HwzhjQM7xzams\r\n5AEXKPkFnsZZS0oj9abr+jqDIZdOdgTajqk53iuNcga1/eLH9bCk3OOgYrN9\r\nKRnletG4KKbsBedKM3WYEHhLhVOz75z0U3yx4MtJ3I/7NMI+ojSyP2b5WxXN\r\n2/qD/Ns+rjrSZ3W8bH3J12Q0uNcNuN6HVmvxb7/d+2NMLGFK5KadxLk/ijAL\r\nNYJ1qlK+J36+XTsFPvbOlJb9CV36X6bePvSTS/FZbmJ5iO7C1gWRjdxTqkXT\r\np8BXvhzVzIY0pmJFW5LivQHMJmRkVUCnu4Fe8OHZ+IgHxu5Y+8We7lh+lq4w\r\n8ySUt9A0XU2DWeazli07By1hpcvYz01L7omJDOnaxxMYZW8YY7oiZSknAKiw\r\n9xhHPs68SZRZFD9vphbInDwhrXMozg/JodfWbhiutUCf1USlBc7QMQmjspnu\r\ne6nHGefvrn3BhyvhhSsRDKOwtMlNHNBmuVp6KG/SyThbZ1zCXG5X4ob/Di2S\r\nxEbNd+ZDQBsw1WwR0qYQQf+fRj+eFtQKphUBybAdYoXI/AJObRoxtdGc4QZa\r\nddnfxJYpEf5xLrSif4OaOipYCfKJiiP43OA=\r\n=v3qP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220823192757.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/1ea44040a4e8625ce1ad2aa042d29b1d/chakra-ui-descendant-0.0.0-dev-20220823192757.tgz","_integrity":"sha512-WtTiGmuJrBpDROxYwRYXlpsVvuGXB/DDcNtrynGVxvTfGI7SDog4igsEBgo8fctkeM6L5aT4/P2InblOQXgiDQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220823192757","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220823192757"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220823192757","@chakra-ui/system":"0.0.0-dev-20220823192757"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220823192757_1661282953229_0.14687705637655957","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220823195046":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220823195046","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220823195046","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"cdfca2333b4a8a450655687026c8c3d718d0f0cf","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220823195046.tgz","fileCount":6,"integrity":"sha512-jr3vSPxoQyFoHdSeW08iS0GSZERAYzJRBFN7ozpzslE4B8chSgbAzxd3DZ+QcGv9fzNS5ynstxpQB5yXSeEbQA==","signatures":[{"sig":"MEQCIDOcwMl3T5XHoVgeJ6wmqqM4uZA9M8Jdtfy/XORJtCKSAiBj9i8vckwUFGQ5GUua31ZKt47MmKVC/oO6AuegpWNDww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBS/qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCEg//cSmZhbyPcOS96JgLOB1aD0XVmQC76uwTw6Mi2b8BW9Y4Mfgi\r\nNyABa/PNL3VM5QfqQfLVRe2LB8JxzLDUNCI5gHOYG54KzTeQ7ptA5bcZPLme\r\npCUzWpu1ngSi91RV7KPq4rwD6c+WvxoNOw6+wQDG8959padTJ5REWQxqaXmk\r\nlbs5zeU6o+9jaotIPvSVdutHA1/DWo4uG/QW8oaQVYkOM5yvOHUHU13krx2o\r\ncgEZdqQ6VaTL5S+UG/wov2LHyn3W/5Tz5mTdeCvxDQsMBVdT7DYgCMS5YG3k\r\nHkVKAtaG6GJH+eRCueRND7qvmRYaMSJuftn2AgPG/k92DhHZ1iAOh8EOLbGX\r\notwoUn5Od7Z21sroaHMiMWqyrw5ppZc6kCBmtaqEAuR8QACSLx+WcP5Uos15\r\ng91W7t5JjXdbaUvmsYnabsnWTRzX3lARnkmg+K9kXjLYyOeY/E1UhZ7NchKA\r\nMURUEgxCoA7xQ5S0etCBCDCyI4CsrvpSaoJ/bXrN8zTEAn1elej7eTjVEgkI\r\nsICbnfg1sGkOybHSG83ZBgQUsA7GFVWpOI+2yLSF8/H9Q0QXQeIUjergux1u\r\nvgio/+EeGiuIhjUYv07gjnvcw+kBOe7CbJ0x9ySOCozy4KK2rRw/jN+Dplac\r\nemmoDyUKRVktbvRIjNyT/9qVGD7Wt9za1cg=\r\n=tUwV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220823195046.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/60c16e6914e815d948860a2cde53b8fa/chakra-ui-descendant-0.0.0-dev-20220823195046.tgz","_integrity":"sha512-jr3vSPxoQyFoHdSeW08iS0GSZERAYzJRBFN7ozpzslE4B8chSgbAzxd3DZ+QcGv9fzNS5ynstxpQB5yXSeEbQA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220823195046","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220823195046"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220823195046","@chakra-ui/system":"0.0.0-dev-20220823195046"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220823195046_1661284330212_0.624529351276186","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220824074122":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220824074122","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220824074122","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"618f22af9f7516c301959e40f467303b07394a3c","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220824074122.tgz","fileCount":6,"integrity":"sha512-1svlH2AWQQJT7HJS3DjJT7qumtQJWitZvvITqGF0Uis3olHO3/z1hPtLkI5ItTK2VLuF+ctyJMpWG+cBiZABzw==","signatures":[{"sig":"MEQCIEbjAVTyIHJJIQAlppR1Ww7on9xaGS/UQXmSIBVU3zDdAiAE8TCmBjrd6eIC82JeI1YfqKGOD4dS6axhXiHpe+CUeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBdZfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrMpg/+IPdYxSYWcRh5uSTNjtbmkrGQYkRFFoVBITcazqHoWZ5D2CWo\r\ncZMu07V7kEZyBHeU1+mGdrqrV5nclM8Z1Qg7RYBHAFgrCEsqIxmNfJ+Lga4L\r\nnKW/BViv/wGaHcKAzT/9PEBc1cE3NztdUHke0GgjkacAEpAiAecR6cWdvBQ0\r\n1R7BrslojJBS9iSLQthkqYP1YooW6ACJ9ikEcvARi5snA4v3XUZlefOcV0mG\r\nJjYDCeJgQvd1YiAucBdj4UFT1/onfJNn4gP0RDPwHueW9KONvNNOGEzTtVR3\r\nRGlCb0pklaq/z0PeA3v4UGR52+iNu0kbP46gDhxY+1jYKdR+OyFgSUpfzbY1\r\nLm+P/lIHyipZljsChWBfxCUiEH9e/FuRyu353TTBWVA0XWI4jKhO6thSKcsc\r\nHncPtHFpRAllLSv9lBX7jKY2tWrRrJz99pljZz4v8sPoTLloFPw0YmPFTe+5\r\nEb1xtwaOhFM5V4htD73I6+BmrrYcgsV1jusTBtC+8wjAHf3TJAQ2ylyDburW\r\ncCWDo3jh/EBtiYc059yNlwckmDnMYRyMhDL7n6OaLlJxynDx8dcC3JjVYpRg\r\nEi26ePPuwvx7pravvDxcWspG2PT3H7d6fCypiyZDH95yTB8KOT+jzOq0hql4\r\n+7JlaU6iccpRwe06yRUxNcGKC097qK21gX8=\r\n=AWN0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220824074122.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/029f74d0ea1a5b550dd83dfc2afd41e3/chakra-ui-descendant-0.0.0-dev-20220824074122.tgz","_integrity":"sha512-1svlH2AWQQJT7HJS3DjJT7qumtQJWitZvvITqGF0Uis3olHO3/z1hPtLkI5ItTK2VLuF+ctyJMpWG+cBiZABzw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220824074122","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220824074122"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220824074122","@chakra-ui/system":"0.0.0-dev-20220824074122"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220824074122_1661326942871_0.5767141501017647","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220824080240":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220824080240","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220824080240","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a38a7786a793043a16a98df3749087c58ef413f3","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220824080240.tgz","fileCount":6,"integrity":"sha512-hd7P4YyCmTdp6U45bXZUyJZ4suRHNUkawJKVsvPCkCGtVbXmbRM9xz/F7rBXWicdIOXCW0zc5wz/6xo8b64cxQ==","signatures":[{"sig":"MEYCIQC26ZPA8wp+7Csg4xL+DFKKCZ2C5tHNqVhvOcacVMUKdAIhAKhx+Hzf3TXVJ/lUHkOqnAHxWuB0jgc6hrSnlPNqkIm8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBdtcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqB7g/6Aze/bnvTAIseQvnFZr6mea2TAceYywZZoD96UhVpEdHXgqm/\r\n/6YUPj9OT1/FgK6KlHQvdxEIN0L0bYsy5YTUbeacyvDdX4eMfpEL080UAO/G\r\nMZLdFzyM0AOAdGxbBkMtARTdu7GcIVi7OfCHIr6BDckAPAo+ywDwKRHKG1P2\r\nU6n3afMyyXb5nLhs/V/QmI+pbIxgGpv9FrKa5UfCVG2v0RnklhmRlri2SfXY\r\nvsEUHdAp2WyK42AvoKdKg84ivY1+xz2ahNZsMn2Ep12M+CectKR6IJt3gQCE\r\ni1XKWQGxvrSmhtOG0/FCqYIG+c7E9enSjNmbGfxQrU+CENBJPVOHsneCGVri\r\nkglHlf8bmucwizbieGAE3ZROxrVYQpu/dd2aofwDxq/g8id+QJv/+i5zHdXV\r\nLhlzf79V+gYU7ZTBYACzy5NensxMGaUk5QK7y+VHD7I+qQHJeWDidmT9M3Hf\r\nsAAEc6hEBaQQb5feeSO2edtr5d4UEOUMCabvljpyYaR5x1Zd69AsBW7Rok7U\r\np+8jbwvnl6EdsJZMRWeRcZv/nLLbtsuXa9/WyH/zlXG2WXKNIT0KhLoOmTIy\r\nn/r+YDIromfX6TVWD3Du7J1z7ZGiboRoZRYOpny4NoWOmIHkAK7kYEZ/mvPF\r\nIW9ZbckpXp9BB4Ryu2nxQiYXoekJQd6ZavA=\r\n=iPwX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220824080240.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/30a89cb201c97abceb58b18a16e0cf3d/chakra-ui-descendant-0.0.0-dev-20220824080240.tgz","_integrity":"sha512-hd7P4YyCmTdp6U45bXZUyJZ4suRHNUkawJKVsvPCkCGtVbXmbRM9xz/F7rBXWicdIOXCW0zc5wz/6xo8b64cxQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220824080240","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220824080240"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220824080240","@chakra-ui/system":"0.0.0-dev-20220824080240"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220824080240_1661328220411_0.5619080146175863","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220824082222":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220824082222","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220824082222","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"0bce9b7644e700d8e2dc2a81aadf8f5d64f3a242","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220824082222.tgz","fileCount":6,"integrity":"sha512-6dv6mJO9PzOubT2BVW8ikx0QsSGUANkc9by29M9SMalVLRC+obIdKlK4NjlcRyFCztDvAsIUz82g4Jxumj5cBQ==","signatures":[{"sig":"MEYCIQD3dtTBlf3lje1YbsfIyQt1PTGgFM6H15TP29EmQHPEFAIhAMEo1P92y7xx6RqRgj/FDcUPk9n6EYbIjuzw1AuDyK1s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBeAOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmovlg//V9ojXQZtbVSWPDD149aRrD1AU9mXP80nMUiFC7e3D7Hl1F2D\r\nDMBXYOr/RFPPeYM5GaX8iIsiJ/YIao32uvnJPTWx0hu4bfFQYHjzcCQs8K1r\r\njLB+pq4g+xhvs2VRsankMEPCsmO4OQRA5N1pbcTpRZ3TE0wOWzakV9skyMMx\r\nBtj/jHUgR5gD6ZNIh53vHeW37Gj/FHk/tnHs2dEHL3djXdiTr2LV7GC/yYIB\r\n/DL6QlofOa4t2sE9BeTKYdz9CdgllLF5DBuV7zPUlpV6kixI/7oWI1nZQTma\r\nVjmOidQFd3J+w7PJilZJ8rdcECqjGJIJ30mg0jy7pIwN4nl/knFGC5lMX/CJ\r\nBQCj/qf27RMOar8D3coljammVmIdrI1omHdw4wPLeyeonXiy2sIMKqvwoRSe\r\nQ6qr9W1PdJeyPsihQG+ykKDBVeOVptVYQmeq76ujHQIN+s8b2lKunGF1msJK\r\nbF3nZfRxpRnpeCXnHFGbT/jVscgmAqexs5IUspQa2nY7oU1C8WuYOYByx9ql\r\ncQJSBvuMCQLvMzrTDuZ6wGuPunm7vuqV5WMVT2pB828fDkl4DppiYPOiGuIZ\r\n1VtcelluRdNM73RLV0n639/ZZhX4TG4PaUdINNszD3a5fsHpkVWRzpCefd/C\r\n3otpPNm17YO/OW7kPmVenr0WBquGrngmMHQ=\r\n=MRtQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220824082222.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/883ff579307e2b1dbbeafccbfaf746cb/chakra-ui-descendant-0.0.0-dev-20220824082222.tgz","_integrity":"sha512-6dv6mJO9PzOubT2BVW8ikx0QsSGUANkc9by29M9SMalVLRC+obIdKlK4NjlcRyFCztDvAsIUz82g4Jxumj5cBQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220824082222","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220824082222"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"0.0.0-dev-20220824082222","@chakra-ui/system":"0.0.0-dev-20220824082222"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220824082222_1661329422434_0.9898378961277912","host":"s3://npm-registry-packages"}},"3.0.8":{"name":"@chakra-ui/descendant","version":"3.0.8","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.8","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"ffb57219f78fddb49f13e8e23066aa339f91bf47","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.8.tgz","fileCount":6,"integrity":"sha512-71blZpcL8JTKo5ShUwKn6uwCUhdp7QhMxCrdSZ9GTz/9GASiOqcQK8jCgtRha7w8UTyZpsbIJBhnVHyWayR+Vw==","signatures":[{"sig":"MEQCIAsYIHyPvn526JtPdGn/BQOG+v2zgkb3QuKL7aRVkwHiAiArFYFdPyWaSjXAoc2fHPuzqLCFp0KCVpstgcJzeKmzjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBeV9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1FQ//SosiqML2wkYgvZInq9udg8JQWP4WDa/R0rP+Sx4VZjCeqZbP\r\ndkUOGz4fMESTn+GX1e0wAM79bcqjfvM45fgrcqz3I0K1fng2cSE5mQILZhWr\r\nnJ/cQkuEEwsC9XLQ7Yr3LmX6TmKYUSLCCamZqpUe/HgdaEja/adGbEnzOk3V\r\nOdvoyVNSuOVUcHQpxmpwANTgm6vifrbZtPFEt4wNpZs3E0oNXzJbDvcT6Ig3\r\nSS1XOD6eT99VdmA/CzcqkYTbydQ7nTOwnBQ/V2m7ULvDX2b+FaeLZcXfZpy8\r\nNgyJPKF+8ximTesVpDQPxjqnTji6tV57CKPrdK0cW/qU8R7baKJ/spbgQ46Y\r\nk6dNPUQ8TDxFXOW4ewIU0uiw5tusA/IPrgZE80qd1gm9bB5oVCLcEjd3sSoV\r\n+/p1tJSasDLZVALF8vPrdbliD9uEfaap5Ku05C8q/6xaxwqGu2d8Onh508w4\r\nU/Zf1M8vh2hkiU/QF8SczOF1QD1w9VDSIdPOwNwIG4hYmS+wL7KINB93KPd6\r\nhOdk9ohhA28NHuGmwU/gHQtfWz2aA+v2fxmVQudWvAcyInwzcer+1P5P6StN\r\nx29bYqYMoi2gAf6AQQ0QMnvZ0Svtegyntk8idMSoy2GGwpcR0ZxUZUyVSkXK\r\n07h47jhPYriFCoyVFIZVPZQqPGd900Mwa2o=\r\n=86NS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-3.0.8.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/737722a73e8f547e7702c8456f5f7da2/chakra-ui-descendant-3.0.8.tgz","_integrity":"sha512-71blZpcL8JTKo5ShUwKn6uwCUhdp7QhMxCrdSZ9GTz/9GASiOqcQK8jCgtRha7w8UTyZpsbIJBhnVHyWayR+Vw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.3","@chakra-ui/react-use-merge-refs":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.9","@chakra-ui/system":"2.2.7"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.8_1661330813397_0.9272770758191844","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220826154141":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220826154141","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220826154141","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"2083ae5556d2208ec91271c5a98251b4e8217374","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220826154141.tgz","fileCount":6,"integrity":"sha512-0fa1vh9dF8BCne0J7AU6bt9FFRNMXqT37gW5BDKycQVbYJiJ+pZ0E3xAx9h57327hEymuoSz3FJpmVBEfYC0FA==","signatures":[{"sig":"MEQCICp32Z2WmDhMkivML9xGazkyQfKj5VrInSbWYmj7CMkwAiAxR9y9+FMkRDlBJk3hpqDr2wz+Yp9lIbwiVQY8hFbD5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCOnbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqjIA//YaKYpqz22t48kZNiowaBvWeQxMPmxU72KaySOsDKfjEcY4dT\r\nmkew0YSEUDTSpnuTajiU0WqMJM6F9KaYAOaD+dIT3neOyOpyYCoMV9rw7PIs\r\nlgKZ2pkacGDI/sQ0OgxfHS7uN88ZA+qRkdTnfj9zm/c90sR8XkZXJlw7WtwY\r\nikIHfEWdvG4wEGOuRS9WLRgqrn1sR1EPsyU5HMMSYNDjLLG/moKlw9Bpu6LC\r\nutCOCiBZFV0FDPoOejSBB3lZKQXjku/dgKg/ML75P+QC1zNxDpch7sd6yfbp\r\nwDIPfV2SnzbQQf95x7H1Upl5TltGqUFhjeTq9Me8Ma9/1NQXCj3IsnMXJiAB\r\nxjupsvPCNRJzL24b6tOeFARiOYnyY/xXNNSdoplLWxYMumrn9COPJ8N2L/pr\r\ng84Mkw/0v9j1jN5KS97yxdxxhxszAh3j4NZhDpBbYwzUMD73Li9xRph2N/gM\r\nNaUY2Lk/zHVjpxUaFd+CXvNj2593WkEUaJL1gwR28l0T/0lfqiv3rCOuIVkA\r\nuMKUrptJ7GcbOXnJ+/QNvj/8d9MYIGEUhjHvhLFnRd9tinHYoQicEACZtKxd\r\nXapaPrsJZTRFyXwk8cvVL13kfp8PAY1OlnvsviaYr3NeG80ULWW+ibA4lbCx\r\nMHnfbYmb0AtwwBRetBlNTP2tQ4EW5h+oyUg=\r\n=vciU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220826154141.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/471952220855592fa02d00c4d6b0cc98/chakra-ui-descendant-0.0.0-dev-20220826154141.tgz","_integrity":"sha512-0fa1vh9dF8BCne0J7AU6bt9FFRNMXqT37gW5BDKycQVbYJiJ+pZ0E3xAx9h57327hEymuoSz3FJpmVBEfYC0FA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.3","@chakra-ui/react-use-merge-refs":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.9","@chakra-ui/system":"0.0.0-dev-20220826154141"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220826154141_1661528538948_0.48406417669739743","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220829120312":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220829120312","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220829120312","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a858bb9f6b74a88fb511015e530ab4f4dd850dfe","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220829120312.tgz","fileCount":6,"integrity":"sha512-he8qk7sgXsWgajc4xTQzhILVD4R8r59qoJG/CcI1qlhCff3QQycn6/QM5RCG6qtmBOCz+C2n/QA88YYD634zlw==","signatures":[{"sig":"MEYCIQCPivDjwnPcttpfB6su+Tm2LU8hOZUZFaN30uaoQ1cAtAIhAL9JmDGcesnO6+wH0D7852X3rRgsBJYS1ftyA0ihQTZv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDKsyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKFhAAnnPQLo59yKDm6cuqayP4npY7RPrxoG8F5SEUPiiMyvTTmh00\r\nyjs1sVNT7S8me8eMvgN9Kh/M7DhNoORAIC52Fb2g0BSYqtGRdg8YpgcT9M5K\r\npYjE7XYzcANi1cPlvpp+nH1XivMuyj23veV6wvRAvhyE/hDPNTfsCTJvNXHu\r\n41X7AFbVeIkc9v27mIeLNF0kmAFXd0WuDDSbYld6gjXsQluVSMK0H/ELyTIo\r\nO0qHFKNdYZYlCseDcJJPhaAtTQkIooA6tX9TuQwr3mboX2sPV5hJuv7JYn4a\r\n9Dj2dhL6k1ukX3djHwbwkyw2N5UHq1Ru5DVRvD13c/rUMeNU9yXMKMcYUiGM\r\nzooujaPlkV6H5r1hHlPHNCOVZVDvsZTU1Lc/1nOQWxUIzwuSni3W9Fn/YDMJ\r\nCPdtQ6F/QMEkEVE+wjKLBosVPqnnW0HmUSvdDg0TWIAcF2lFMMvNMGoD4Kac\r\nQNjnE7f/A9kyvaWCDc3OYf+js0/OyYJBnLCLInKyVydwxtH+qv8PN7k3fbbO\r\n/QUcFRk63YsvZ3u7jHHhFw4sogB8lqnCI2pfgz/uafLHzjKy/7TtKgp2fe5P\r\nEwBI8hNy1Kl8Z20b9Ny7WexwkxlUZUSVXjkIghoJMCGtV1GIGoBfbbWDvd5k\r\niFd0fFaZCfYIuEaPYqapqLaoDfhADpVAQ00=\r\n=SwbX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220829120312.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/fe16865ef0d605854b7bc7e469adcdd7/chakra-ui-descendant-0.0.0-dev-20220829120312.tgz","_integrity":"sha512-he8qk7sgXsWgajc4xTQzhILVD4R8r59qoJG/CcI1qlhCff3QQycn6/QM5RCG6qtmBOCz+C2n/QA88YYD634zlw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.3","@chakra-ui/react-use-merge-refs":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.9","@chakra-ui/system":"0.0.0-dev-20220829120312"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220829120312_1661774641910_0.5629006964221868","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220829121234":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220829121234","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220829121234","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"2a9fac16c2d0e1c44019eb0bb0862b47332d18bd","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220829121234.tgz","fileCount":6,"integrity":"sha512-89tQfatvZck3YuAuVZMViQ6+2YP/hUCqPU1s6J9YvuPNFzp1/kfXQNyzo5BM9TL7hbCSc7Yza3B+UEZ9HWED3g==","signatures":[{"sig":"MEUCICSuA4VCTpzjyhg1LE22qcRAnI3bImNb6pgNYWN7oJoRAiEAyTqo7/JST/O70WYe6KogANFrpWoVvQ5poXtVZyp/Rf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDK1YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/2w/+PPKhNTl+9yWKNLoi5N2vFrhelEuu48slfKH3jogrU7FM+Nat\r\njonaG3U8aWCFhuJAuhuzDMTtFj+PVFC8/aWcc3jFYx/srnZadhE3mKhPuaSb\r\nCSmSrAGQSXixKkYNHgmHdXrhQSKf3pLmWMDJmwrBrceTnh2AwAGgkePn6NYb\r\nLr6Qm1EdgDS+q4N9egma1/BoWRQMSXDHC3Uo19AbniZJ9nzh7Sqybf49rfZN\r\njGRRmVfmFJIrkrQh+1YqjPUz+WzP4SjQZ4/aKJvAiPI0XZpYAspWJMBe0dx2\r\n4cIo5pCI58Zr23H2yQgusT28Lqn1nvxXkZ6nbzEgUfcFDxmZhyM1XTbMR3v9\r\nWECH4AcVbJwC0jYWhUD4b/XD8jONquwfqmbw26xM2MOFCK5IyZnOnciTTAh9\r\nGax3lN8pMSFhAViVNHMUTCmGhXYdvqKWYEt8eoLSs34sf+arBrzcVLRGkTqf\r\nawYF8paWy6mzzE0iriU/Im7m7fI8DB1gyxZBJOAmBdJ58ExbabhU3YvzLvE9\r\nGNloEaHfxh3yUvP98OCuahN4F4tEFdWBqBj4Wyo3s7/8wC/iQJ7sH19U4SrS\r\npO2xEehVK8FbbL2y4mkVpoS3sgJsY30+8JtijYAQsYc1wMa5XPdd0Ceyh7Eu\r\ng+rnou9nXWNoRbVjNGfoTbc3yXJiLR98y5A=\r\n=FlmY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220829121234.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/0007f924b273691e6453df2d648716e5/chakra-ui-descendant-0.0.0-dev-20220829121234.tgz","_integrity":"sha512-89tQfatvZck3YuAuVZMViQ6+2YP/hUCqPU1s6J9YvuPNFzp1/kfXQNyzo5BM9TL7hbCSc7Yza3B+UEZ9HWED3g==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"2.0.3","@chakra-ui/react-use-merge-refs":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.9","@chakra-ui/system":"0.0.0-dev-20220829121234"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220829121234_1661775192631_0.10167873411209016","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220829143113":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220829143113","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220829143113","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"e2e2f37795e03fe5f30031669d8a4c96533be498","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220829143113.tgz","fileCount":6,"integrity":"sha512-LxnvGEb1u9rSbZ8jPETDf4jdtEn3O5WlZq3GPgtjQcgWqDHasi07GZNZSHl6uzdaYQPGJ1iR9H4cAatlvigDkg==","signatures":[{"sig":"MEYCIQDbDTB3LPqAV4nafIDHKJOltvrbQdlf47hiU2jdT3jw4gIhAIhhMu10E9sJqPPAfdmnP6z9Mb0xFzbPBlsRpepJEBhW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDM3YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPzBAAmjw1uYSH5gezJiM1jEBYLxXgk7eTD1XfZzyhxOln1vI/ZZ14\r\njKKSpMH8N8f0IvymXr5zXjpomPHgWlytFgyFKhWS874g4JSt4uRqy+UN19c0\r\nm9gplWIFTyMjckHkOOuktGqZTo+djsHaAMYsyeLEe/eeSJhfQFKIy7BfYrHj\r\nZEAbrBZpC1S4dncz+M5yk5IvKQZA+QX/Z/yxgYUckJZ4Hos+SYM8gXalBMmt\r\nzcaZbUirPGazmHrKhOsmxH6hLE3o/BoKUvHF8nsaDsYAbxRYUe9N2O8lLN4W\r\nddV0ZOsumXVDJY4LkVr8IhW9PuoiCT0GsNXMTzJEwUeq0FKUWCs+gif5hY6z\r\nDe2dXsWpxwS/mbs0792+qqhUX816RuQ5pxs2NPoblo7sVNR8uO7qTNdXksOB\r\nLAK7nKEj/18gmFHWeDTmkyZJYmn24xjS3PMOdCp3+wBus0Kd8aVy434ro65y\r\n9b4C5vDg9xmOkN7FLTRn2W2t79A4oZ+E2WLMO1Yg2d+PgIkF7iD4Kca13IGb\r\nXzGBqgLi/Z6qCnZYx1NJpyVEh2YpQYkKOKLtvKz8uORv6UZw0nKlhZ1uBKwj\r\nL1+llFZp97LYylyWmCm1hUES/dCpwHON7uWIkeQJIvwXs9X0E0fz6iBD+oIV\r\njwyD5cu2tmC+5/LYxF6/8UE9YsxRCe61wE8=\r\n=6LHT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220829143113.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/b52ad5b683f86e5d3daed8844f00b288/chakra-ui-descendant-0.0.0-dev-20220829143113.tgz","_integrity":"sha512-LxnvGEb1u9rSbZ8jPETDf4jdtEn3O5WlZq3GPgtjQcgWqDHasi07GZNZSHl6uzdaYQPGJ1iR9H4cAatlvigDkg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.3","@chakra-ui/react-use-merge-refs":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.9","@chakra-ui/system":"0.0.0-dev-20220829143113"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220829143113_1661783512721_0.734923992079358","host":"s3://npm-registry-packages"}},"3.0.9":{"name":"@chakra-ui/descendant","version":"3.0.9","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.9","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"6574a1ce00067c49a070c5b005f8f1ca399006ea","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.9.tgz","fileCount":6,"integrity":"sha512-30E5yMWvxgBx43PoI/67r9h9OhbpDfLb/MLOCjtEwebSbD0V5+fmnmCoUELScQbhozQVjA9t195X6UP0VQWj8w==","signatures":[{"sig":"MEYCIQCWgsITpgx5eQGSMfYYI56QHicGpthkQe2WeqKgTHL1NwIhAJqx6Vzy9+Sx/AoA+EKhoXp3oX5CA7d4hG2iLGeJ4OBT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDNgDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqCBAAlapGK3r6KEvFub8k2wVmgkCKHevrNi7RR7MbnwlFpDUVh6Kw\r\nQYrgpj418AlrfQgWH16fu1Hp2i808fFGpopFcTq+C0sANaM/WvxYTk32nhGB\r\n3aBqFDw9LShoHS90Evc3OgmSSiXMWKDyIa6RRmF9WFVYRtflCPxrRatALE9V\r\ngpD58TGa8cfnCWKL/QnlE+lWiJgs1qWjgN4JeicWZKlSEtOreOee90QZ7XHt\r\nqmGb0LMyyYj2Y1DdakZPDBX8NnQRXirnEOfq1wp1yF/FjXsgACfVUC/ak6La\r\nCy+5eznivghy3NEG8J/sYYrV67cRBGojsWikMB3JMrsSRWo03OdjXlD3zecl\r\nqM+swxazTirXseIITy8PXtbeFClJkJi/oW/uh/+t/PzhNISV92tPcTsjTMPD\r\nUMSLFhZaSkTzlL2S4rtjC+wexAHxiaM1q5rEL2by0QOmQ8Mp5PNwLfY4BRkk\r\n5c/5rnNlULIMv4btYzo1PELrTvrNlMghFBIPgSHPeGi4KY76Ta9Vg8M+19A6\r\nFo5L1q23Ml/dIKIQCrcUGRDrI+qytOXP11Q77PwTkdK0RTijNYZSZuhpOdAh\r\nRiVqfWVlZFsckC/4rmDVasOA/G4eQcaWrvB5e6eNq0PtLRKFMbTq+bNgKgxt\r\nA0ZctkQ8ZK4A7pC7H+87s1wdeZU6cg98WWg=\r\n=9mqH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-3.0.9.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"pnpm build -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/0b1ab8580828520f5776929aaa5f71c8/chakra-ui-descendant-3.0.9.tgz","_integrity":"sha512-30E5yMWvxgBx43PoI/67r9h9OhbpDfLb/MLOCjtEwebSbD0V5+fmnmCoUELScQbhozQVjA9t195X6UP0VQWj8w==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-context":"2.0.3","@chakra-ui/react-use-merge-refs":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","@chakra-ui/hooks":"2.0.9","@chakra-ui/system":"2.2.8"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.9_1661786115701_0.22766132433585073","host":"s3://npm-registry-packages"}},"2.1.4":{"name":"@chakra-ui/descendant","version":"2.1.4","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@2.1.4","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"b85c52b0b429da0a08d0950b4f8bef61b94f43f6","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.1.4.tgz","fileCount":19,"integrity":"sha512-k1olHM6c0fcI5fQxO9rqg9rxripcfHMEm2LkORgH0CAzFn/U75CxCw5ec0IMedNWCdiv740enVfnfhBAoSg7gw==","signatures":[{"sig":"MEYCIQC841XF0ZsZvyuNzNePlD0RAR6ywlSZM9RYdla4jljiJwIhAO1SzCvGKbbvJcYdRItQ+Yx1+AL5fUkbFdYT3nZhokYp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47787,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJJRoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXtg//WpaqcIkorJoD3PuViJ+m9ixvVk0y7R2D7Q30g2K92wMBaNlI\r\nW1a32jnMYRXCD3VGBn7SIQwXsbDCoAmnjQZemtzTegGI7QsWwo+uPuroHdF3\r\nHFg4RsY3IkP5Usloc5NYe1rAROxSNeXHRQa6S6VIBgis3SdaJAmelf7JKT3M\r\noMQpWAAXdZCsz3rmdXcFRRegqGtpZZlD+CXqfjwLXeW8MdFnCg0SU+5u14eY\r\nY3P0LaJV1t2h5XWCNZjv/Eq8Szk/gYLCpNgy7jkPyZd6tbICNIEuOyucRBvX\r\nAFMh1i0Ef75nrg95ciYUSU4jEPyh/YlTIvZENT+i8A09YoIyZiQW+7BfRdCT\r\n3jZFBqUbkuc4r7ZnWWfyEMjGluGsV3T4HsuBEWRxHz8dFCewbYhVBXtAsJVM\r\nTJAHLy3+7t1AIQ0IvB4+/W3Ngrpck7AD7O/NPSYXmfAsY0eYqoks2iWUEBsT\r\nIPByIQ4qM6ZCB4xFnB1lxBDKX1EdX6ehIdSWSzhMTpkui/ahVEsUiUetdw6t\r\nJGdg4RIa06UhmUfG441JBRj/zrD5jBdhXF/TLDPzkpO+pvJxAHKPw6GL+8JM\r\n+27wXyC4T7OIwz5OybMBI08dzWAWt9YBE+fdkGoueWfUi7jCkbbF3ybZMM7M\r\nt4Wwt/mJDIolP9z2pkMuDtIbFH321GqfWQg=\r\n=2vKD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/chakra-ui-descendant.cjs.js","types":"dist/chakra-ui-descendant.cjs.d.ts","module":"dist/chakra-ui-descendant.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/descendant"},"_npmVersion":"8.11.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.16.0","dependencies":{"@chakra-ui/react-utils":"^1.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^17.0.1"},"peerDependencies":{"react":">=16.8.6"},"_npmOperationalInternal":{"tmp":"tmp/descendant_2.1.4_1663341671797_0.705775853233158","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220920121057":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220920121057","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220920121057","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c2da253e45d030d165dbcca5dc9a844a06e913c8","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220920121057.tgz","fileCount":6,"integrity":"sha512-Ur/RD1pLEySCVCtUG155vfqONDD66zrgMU8XKOcWuF9Ht3OfSF0E8VEUAlkDJxsKaL7BJKMq9Zva6gdZFQPXAA==","signatures":[{"sig":"MEQCIDR0M3NEo79VP/G4fhbgvOfK6wRCYm/aJYDethM5YXmvAiAwi3a5OaEa0YeO3F19nun2S8vnanePjwvHxJN7K8OQ5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKa4FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLsg//elZU3y7vmPBQHrJF0TQ4uwOVDtSWMWp/dHIDtqzEcYtG3szT\r\nCXafX5uMovhZy88RiE19sCwdQeSDHg5V+AoDEIvgqPrOTq/ZUeOpjN3vvL9K\r\n4htCr3FdUYclPDnUhIa9paqLY1+kVrw9tX/+J1ZS4CVKhLjH2Ie/6uhKRZFU\r\nMv+dAhFkPszK8GGb4xyk0nWYJcZotBvineE8162tJAFiF2cJc8DMaof/GdJm\r\nKkSDo2832Lsv12s00ytfDNy0AMBX50OQoMDBx2NVrFdJG9EeJwNYRSgIvaEk\r\nEDVnStSMn63XtLTPmUDvQ5VMicFSyxgFnPYfLaB8s0+hMxdInrhftRfGechi\r\n3j5GYe7TA+Y2wtiFp8fUkuPSy7SMUHvnfcMmo9wJu5yakCZj5KiwyrdKqJT0\r\nqYheYKs2RiqtIei6LCH73goJCawReuMapJDR6QexleKrI/B3C57D7irw64Rc\r\nWzGGyzcfl1UtPMcLo3c+6F1WVMCEHilATwWOJsPPQHEmziVi2E5vvy/EGifY\r\nXj7+SGr8kn9Ie8nv5yM3fDkxGFu/qbdJnwRTkQy5//rk2DiXpTghlQc4DtZE\r\nYVS8IL6VQkm3JnaPec53zTBo5t0Gyaz6j99ahHGGDP9kRmUZnw2qacEeb9qg\r\n5HJ2RDm7SGgSexO4H74c53YOwYB1U1tf4aU=\r\n=0ZlN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220920121057.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/9a6a90d2a66ac7b057fb6b3dde432128/chakra-ui-descendant-0.0.0-dev-20220920121057.tgz","_integrity":"sha512-Ur/RD1pLEySCVCtUG155vfqONDD66zrgMU8XKOcWuF9Ht3OfSF0E8VEUAlkDJxsKaL7BJKMq9Zva6gdZFQPXAA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220920121057","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220920121057"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220920121057","@chakra-ui/system":"0.0.0-dev-20220920121057"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220920121057_1663675908947_0.006881903576496429","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220921093814":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220921093814","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220921093814","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"465819d47606d96ecc6700c86332f94e3cab2aec","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220921093814.tgz","fileCount":6,"integrity":"sha512-UUy5ZXyNEv2dqv20azWtRVf/s4uhyXk0N4eg90wvNDpo/j+m1b9tLupSv13MJUamyfHqLR9wcdSQH43nrqAAuA==","signatures":[{"sig":"MEYCIQC6bqm42YYcLVXLReADe7QMbT/ulOWOT7OMCBoL6S+5qgIhALkHQaJ5A29LzMEa2R8wLZ4FXsGdSnpmQbN13Wjhh5Gr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKtvSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYFw/+OCS4KHtXrf3qD+HULj4ZJ6cqHDsEDnSxHaEgXwJ75sGijYBd\r\nbu95n19q7cvsZ1saWwurOIe8aR0tnEnN3lh2ebUymmOUtZ3ryfqNvEKbzqSd\r\nGcUCo5SOQBQ0VXroDkn/f7PvZR0YPbTg7BnrAibu1/SrlCUHKCMor7MMACIl\r\nyKEJ+g3jUeTd+EpzShoibphKIRGReJXJWlGY1w+Yujs7qcIRjAttkket8PQO\r\nezpciKu8QH+vQi4hi6N4eS2kpnnv+pVFwG5Q77Hdf4Tjk9hHp7S4rZymIGwF\r\nPtjJFdQCwjBLwY/PHw9MEDe8HA1B7bGX6ScJRhVqpQ2peSLfa+0KQGIwzIWz\r\nWFPOVORoyWF+zQdJuJDBiGMNfaHnpOQ6srF2NWBO761qxY1BNlguKTtjyjIt\r\nMsVwmSrUVNRvZcbxkYB3hey36aDqTqOG/3PDmmd5K92ie8ydUElCS1qp9gu7\r\no1bgI0SHxjgFfHHChDyE2IT2RhoxGPbAZQX2oPhMeKuUCsycr+a8kVCFQvsq\r\nPd4vPgRspTxS0BgY/OOJRHp347XAVLhDDY0Bn42UxfgNIi28Ve+0+grNY59E\r\nacrVmC0XdvF1aUZCl9foJKlsoxzmnl2z7cvyMOdC8LcsPftl55n3ib/K6HIL\r\nDn0/Z+cxR8ZbI91pwUzeB6IE2xkhWtG/SbY=\r\n=O+MM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220921093814.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/8cf1835fb284c19e3b80420743e8d274/chakra-ui-descendant-0.0.0-dev-20220921093814.tgz","_integrity":"sha512-UUy5ZXyNEv2dqv20azWtRVf/s4uhyXk0N4eg90wvNDpo/j+m1b9tLupSv13MJUamyfHqLR9wcdSQH43nrqAAuA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220921093814","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220921093814"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220921093814","@chakra-ui/system":"0.0.0-dev-20220921093814"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220921093814_1663753170336_0.8451391019249874","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220922114557":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220922114557","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220922114557","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"46dcce5c19856367239344dd1d1cdf88212331e3","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220922114557.tgz","fileCount":6,"integrity":"sha512-qrjAjv3eOYU12v+Su+GftV3gI8c5UdWkfr0GEkzgO5YanJHy8nC/JnqR+ETJle6o02CjqyfUjV5NzMQEOcaFfA==","signatures":[{"sig":"MEYCIQCueQQn6H/58pYgfu4lXnhQI3pxfRmr23P5iKtMPUGqcgIhAJ68lTUXMLMoQwGEt0BRceeUBni7EsTXe1WVz/JFEe5a","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLEsrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoA5g/9EiV1fNC8VsqpCEkLAWkDOiv/GoWCk/mr/mcN4CC0DYKdmRSh\r\nHB3+Ql0o9SuuH4BK5mrQV0mxLyqL7TWTqHk/vvtdUcIly+e84yOig93VaIbe\r\nRBC5yuOVZ9p7NV0PriSo0Two+I3C5M5ACtUiueCORlzDX+K5ZpnEsY7wGkhR\r\nT9hIZh06lWE5uBb0w6d30OlNI5ZEmoSBtBmDfDz/mzdKgnAKTK5N4u1Q8+VI\r\nWafl12j4jd3ipQDbqbW0avKo+brWAHXN4XRYwq+VkCm/oODgXiEc4gyEBlsw\r\nGPYpULj1iIdBboLBEB0wBzNWFvjZixp+xJvMp5XJs9G82AB80eVN6hVI/Wsm\r\nCFGhSSCLBBjLK7/KtnC/NQaeztHM3NCRLo6ju0AVH3A8zf1tDmXhdrh1GCD+\r\nGrVhnzdeN1eADaMQcgHf+UdG4ENwSHhafu2N7GTDvk99hPEgAvW2MU56yTI8\r\nZkpuFQQPRZtPoJe+xJareh5AGpPVMAfc0MnXDno+idgYqKKA8WnGoASwnEgc\r\neDl7Dc7FN1Rksf+iQ3suIR+J9VxjDjD2/uCyDu3r6Z4vs8kUTzdhibyfdMeN\r\nHPpyjNYeNVY4hAp0qVEnbROmX4/OXSkLcvNcFyxpPZEoe9RtahIQ17dk1lXa\r\nPTJuDmNiZ8H7guIen8RgrhQDbfXcfuKZNTw=\r\n=javA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220922114557.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/12065b8ee517b967ad0cd9cce827272a/chakra-ui-descendant-0.0.0-dev-20220922114557.tgz","_integrity":"sha512-qrjAjv3eOYU12v+Su+GftV3gI8c5UdWkfr0GEkzgO5YanJHy8nC/JnqR+ETJle6o02CjqyfUjV5NzMQEOcaFfA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220922114557","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220922114557"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220922114557","@chakra-ui/system":"0.0.0-dev-20220922114557"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220922114557_1663847210884_0.9748052496624648","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220922115811":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220922115811","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220922115811","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"826c1d2d79d47eee77c4732b6a25e6ab8bf241ec","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220922115811.tgz","fileCount":6,"integrity":"sha512-a3XJXkJbz8ecTaQYf7AL17s+uXShCOwsojXBRhyZoKJG36ArhWgK8zYp6lk/bItHsokzEd1PEwEac8JsIZd1DQ==","signatures":[{"sig":"MEUCIF4ouj71UPUxRPypHGjulo63w690wPN1muEN9O4NM4tmAiEA/QVoMuzkpG11cQHdpTeJDFFcOREJ0jrocd7vCT5gfAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLE4JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8chAAmVc7Zy6zdiO/rbOdvgovcA2Ml9bNzb50L4QRw3XVAS3PSfpt\r\nK02hMf32gTZhDkjrAiHzoTEVbuhTKyLUHoEMPQSLGea3SkjolvnVla/HZ3B+\r\nkz4w3f8j0je0ep5BS4I5hWq54KHExqThpHjlxc6MuPm4pOdEdBX8o1zFpjg9\r\nPURkaZq/eLURaKiEPfcqn+gChKb7MgCEUnrDjQU5WH3GUs3/kU45n+z+3clz\r\n6cfROW9JkSMDhgd3nbZRxlHqtp7TDx3py+IbWzGsSXRw75DBHHs00irb8VHm\r\nPD71rhfb5EoFnTLL9dEY+2AK4rSfqTasnYuY6jYnyCTDL3iIDb5D+vvDdeL5\r\nEDHuvOHx7ltzR/6/8ecCrNL4IguvdWq8/3ATfO1t3f+hANAR/Ds31OW6HKMh\r\nF9t1K2TV8VkW0pyB8aYz6lZ7bJsK/Cb3zG5s3krmV7X6r2CqfZTUOyNw30M7\r\n70TJrKNO+8oegtNbSDWqMTEtpGPc8CBwoz3Eag0lDxKDINMav2Ne2iJ/Eo3Z\r\nvLKwGoxJu3RywnKJ+VZdzrVZzjNIxfrGTGfnHH7C3uFerxPLEh+ykd19p6CZ\r\n9YxoL2Tq6fB435EqbM27XkZHGmT8kwbkpw/N+Q00dXVpFe7a6Mnz4DFqOgkV\r\nbA+tz7SNBF+i0QmP2IK6Ls3XNnZB081UIEU=\r\n=MOtX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220922115811.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/bdfa1d0d2cfc691f432a600a0af590f9/chakra-ui-descendant-0.0.0-dev-20220922115811.tgz","_integrity":"sha512-a3XJXkJbz8ecTaQYf7AL17s+uXShCOwsojXBRhyZoKJG36ArhWgK8zYp6lk/bItHsokzEd1PEwEac8JsIZd1DQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220922115811","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220922115811"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220922115811","@chakra-ui/system":"0.0.0-dev-20220922115811"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220922115811_1663847945295_0.49641292251089797","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220926164115":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220926164115","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220926164115","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"14a05dd9d89f17b5a9f1f4f614f50e91b922bdf5","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220926164115.tgz","fileCount":6,"integrity":"sha512-TsGLJ0OBfeHG0o+exWbHJYc1/FaVzHDUl8dxSzRDHrooucF+m6FvZt/0mGQsFxEeKTkPK1m8OlJMN9EwNE6Hmg==","signatures":[{"sig":"MEUCIFHO1jjtqSuXoTlSURqo9HGNI5dCbzFy9YgSIv5A/BgrAiEA6DGnEpBflRncBd1KFONf9QssU626/Bqrs1t2djmIK9A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMdZzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6pA//e4+aYlZMT/xKoYEUBtK1H5vZ125h1GLtH/LgD1jkNvni6+Kt\r\n9rPAqmGag6UvhNYbh/b4bwQHY0y7k2TbKR/EvwVFhbRrGjylTSWN34quDs2g\r\nRVFhDfUy0jvvfA9fW+eaOf0bUS3qqHeD9C2d/QsoqxIDP12C/xSqY2OJBWNp\r\nZiPhhar9dLdjq07YLb6PQMH7ogp+TZvkuTJkZunRr4KZz7aRhuEQKBT73OtM\r\nydqfMBnYpihpoyqcarg0HQoyNgTTH+m/1HKDpRgF7Yl1qXtSyyjZThWgZCmu\r\no664w9rXlV5UxeUBWWNLtFqtkrpvk49sslucW8CpP4iO5bqYPLqUO5I1ciSQ\r\nWUXK9g93GqGLqXY3HEuJ3d0TB80S6TNSVe6HwK5Na18EnfdHhhhktcv0yZrO\r\nhZ8NCm0+B667OWSv7AaNvQg6yPToqC2cbaK6JVWG7XSleZyKYfJG719oJWF7\r\nipuuEgVYs0//GlNj9eSDaAK8ljspuDADy7ldf0aVs9TW69zrjqGCqrt/+Z7B\r\n8LEekWtdr8kq7zOntDs+atDShJJmDwpWvShaSBD/REobq7QSgMnZDJxomMLS\r\ncFKHKZ1zYc6IThscsg5r1vPvAUfCGsnfKTjWvDzZPwcfNOhC6fhAbNJ9S9rI\r\nwREeAs50mQVES6rsUuGCanO1iQ4f7f2Vac8=\r\n=IAW+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220926164115.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/807642ab44c5022fc6c8ccea80fa0238/chakra-ui-descendant-0.0.0-dev-20220926164115.tgz","_integrity":"sha512-TsGLJ0OBfeHG0o+exWbHJYc1/FaVzHDUl8dxSzRDHrooucF+m6FvZt/0mGQsFxEeKTkPK1m8OlJMN9EwNE6Hmg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220926164115","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220926164115"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220926164115","@chakra-ui/system":"0.0.0-dev-20220926164115"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220926164115_1664210547259_0.24560845806240494","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220926165450":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220926165450","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220926165450","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"5a15a7718292d80945af420f7c4360024d61d08b","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220926165450.tgz","fileCount":6,"integrity":"sha512-TtaSuRpa7SIRSgpqaq0Lp1MoK4R4FP7IFuiNLCZPexaqvVgTxANeYCsd8nXLZcT5zgQE/ecd0grQNgGUdvYfMg==","signatures":[{"sig":"MEUCIQDYX7M8FiGqsJEQ+zHxsQvngDBoaaBWvV5t/OwlDleWfAIgZ5WBgLSt3GOWyZUwgQ+V8+EPLHKR4ytNPTwMql/IiuI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMdmPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpYw//XwlucHeI75Z4WyzyfcXfIZvTCLDtZhLUcVz3g3eG9yc7joHi\r\nkbb/mPsuifbCaR5uKPck1SZHDtQHbbtYmfGRmawASHWRd/UsUwO89cJzfA2O\r\n+x3nEjUOqbkarJuXux/iMyfO3STTcFvlZt42Wa9uj3FIxgT9L1PIWIocou9f\r\n60QOsIgtZPIw7EoRwp4U24SECZLSIRbHfuGv47jKhgsh5wxt7KAcH9PsYSt/\r\nxPK50Pr1ozfilFLxEsybL1V3QDW3cP0oX7n9T3dMjPbDX79BhVuPrPyvhNeJ\r\nl5X1Ex5PMUvTJWAadVr5ekF10J3bv8H/TfTA6t6Z/hxloM8VgVlimHaAJbBi\r\nesN4MBMxFEhMa8UhR0xKRsnaErHSPeqpeb8A/YfqQR9AG4cNh46I8WtrdDta\r\nARVGNuhsigiaw5GAhB2b9iPoYousSMR28YUnPDPYpot86h3uv8YZg+1TLEBg\r\n6iueObzFB0+VuMJJLsTfNX1b6lM4jbV15L2ElRNIMX1JIsva9dUZSjS7z2WY\r\n089WVgI9mLLlWuBhgsj10EcW4GtSEXVS7kf8PVLzcWW7BZ5LowoXUNfd0yNt\r\nfrQiGQDnkcE3kFnuGLV5DcLGKEDMjs9+Wo4FAW6YBdy8KzSfUfzaB5hwFVyJ\r\nVl7XFwaZdvdk21KbSGaHWeA5z13NT23fF8M=\r\n=OT+6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220926165450.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/43c682107a83e875eda772dc12c60394/chakra-ui-descendant-0.0.0-dev-20220926165450.tgz","_integrity":"sha512-TtaSuRpa7SIRSgpqaq0Lp1MoK4R4FP7IFuiNLCZPexaqvVgTxANeYCsd8nXLZcT5zgQE/ecd0grQNgGUdvYfMg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220926165450","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220926165450"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220926165450","@chakra-ui/system":"0.0.0-dev-20220926165450"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220926165450_1664211343321_0.7176852783926573","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220929105632":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220929105632","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220929105632","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4c032bf8749131f58c7b8524abb3cd369f051623","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220929105632.tgz","fileCount":6,"integrity":"sha512-ds2FVrXWYaxT/hWd40fDuNsRs+TCbAuXpY5DEK/pBNuX2ojhbdx1L+tPMSphbjnFdf5amy7KqFAYqmzptuT+Ug==","signatures":[{"sig":"MEYCIQDGIwoEx5nyK0rvpzY+FOoHY3datWF5z1MwizjXcBZZZwIhAOGHglNeVxGGA2xGXYi4rZA3j730Iy4hj7HeDRefEuCh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNXoWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwfQ/+MOrSP/i5l3S6CGvWFdqprL7/8QOI414i3nwgA3aYMJbfGk2q\r\nGIIFgwM46IQW2U0vmGpi8B9uoGBiAbxUPcgHIbXG7x4AjSPLTTbYgQUwPS2p\r\nT/mODiYH1MAU6dpjgNwJvjFBy7KDVub0XXonoxd0mPItIAM8EKR1I3cag4Hr\r\n0w5enJro6EVDX68e+JIwXpxbZ9tdv9D1mAmdeNNqIczHKGDkSLTaxgCDX10u\r\nuNz8KPAO0MbCIVOQC03PKUyz2RGrn6VT3h1xWExeOQSuaudi1Gw3+b+NIeVZ\r\n/sPHqP/36r/pxRv4Rj4+8PAXhNqu4zoa8eNepou+V1scC+T/AGlhNLCOQCoE\r\n0f7Nv8OuFnO8/WpertUJyUwGUZqClO7keRKbborPsR+31TAzKrQA62qg4QUh\r\nTRICkhK8feay6aQH1oBEGzbnaQYc2Iv89Zz0LxPJBgjoX8uhrhzECCMpWHoQ\r\nsyF4fHVociuxAV3yPlqWulW7O63R+BaSdu+RqxJ0DjeI1o4iL6ZFKF/YwJq5\r\nxLWkiWaMyWdu6P1n/oJULEgWf0UwWHA5hv1tlAyn8tuxt4HaYIugEOi1lGBU\r\n+mAAEyBt3eTtvwUIsrKDgfTHjqgFfKKN9so2ei/F8lKkc8VfZ3bZLYoEXIFV\r\nkETH77hEYCcDHq+ZwxU0eDpeLb2mPcp8S+E=\r\n=cUpu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220929105632.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/9a0466df6688a3954080707d3444f47b/chakra-ui-descendant-0.0.0-dev-20220929105632.tgz","_integrity":"sha512-ds2FVrXWYaxT/hWd40fDuNsRs+TCbAuXpY5DEK/pBNuX2ojhbdx1L+tPMSphbjnFdf5amy7KqFAYqmzptuT+Ug==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220929105632","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220929105632"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220929105632","@chakra-ui/system":"0.0.0-dev-20220929105632"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220929105632_1664449046197_0.7186085451256501","host":"s3://npm-registry-packages"}},"0.0.0-dev-20220929132459":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20220929132459","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20220929132459","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"d4fc81359e683906cdc7ba1d1e1de57cb4483487","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20220929132459.tgz","fileCount":6,"integrity":"sha512-5ohN7FHRlb0Wo1r9xWZcH9hImpqOxeHxAmbiaDwZuNPdI5UX2RV47G34rVx9BUEVhBZEnCz1lcS61+pZAbk8DA==","signatures":[{"sig":"MEQCIDrEFiO6K6ejMD84nqtF4iiAC3xshMkRCVa/u53wJh4lAiAJ1Z0yYhkMAI+0tEHPJrcBWPoIUj2kYHC/FHzkUgZoqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNZzvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpN4g/9EBODZVKgOEdV7ww2wDsj1fNPFTEpMd13hxJykDDtIiTk3/ys\r\nQDaYcNaGqxlA6hJsi+vvFJ+ScpAGzjjO3dR2MI1YqJn67ciFpWr3B7ZQaTuU\r\nNRAZUvnkB8rHgui5TthekicOrBiZ+kqkMJeGFu4+VU27Ab+Ak9qFW2A6LZWB\r\noZncRgl5v+N5dQoNCMidl8QI5d/WnTrAna59ZWFT9tbXEHk1rsYNfzh5ZUzM\r\nmh7A+hWkWomJDMJBUOOffvdtJPdECcUm0rTh8aoFH/HT7G0jUjJaGnAlMZhJ\r\nqsbmFF6QyLfxIFD4Z9e4Yqqc82GqG07fd6FI8EkwdLsUZ/7cURI7pdiNSrWo\r\nGMaocXDul4Zu6e92Cq+udW0O0PRzdXRUnbANCMexnkd8eJJXkKSM0aUMrtz6\r\nom92Ep1Eh0YPvn4wWrrJhN32WaonIycYUQ6DKWzOQiV0bDn/9Re5G4qDmZl5\r\nODT2WHjn0M+CkrWDdLpinFVT/PGOctzp9hDFPyGocaU2BT2AxC81m+6wyPg3\r\nK92kq7bumJMq5BXf8MjG1MZwM9PjhnJGEVqyTH1J3PHgXgUs7ZXMwyrksHS+\r\nmVbs6ApxDun98rvo/1IhOWo8mkyaUSosz2xzzRzFeyJMRjMD5YDZHVfRqwo9\r\nxtHEnrqir759lXiFwnvVc2tlCiHiMDY7WHY=\r\n=IkY8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20220929132459.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/95cf2ffecf1c73e37958d1850b22973d/chakra-ui-descendant-0.0.0-dev-20220929132459.tgz","_integrity":"sha512-5ohN7FHRlb0Wo1r9xWZcH9hImpqOxeHxAmbiaDwZuNPdI5UX2RV47G34rVx9BUEVhBZEnCz1lcS61+pZAbk8DA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20220929132459","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20220929132459"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20220929132459","@chakra-ui/system":"0.0.0-dev-20220929132459"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20220929132459_1664457967092_0.21458369725774395","host":"s3://npm-registry-packages"}},"3.0.10":{"name":"@chakra-ui/descendant","version":"3.0.10","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.10","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"e54c95270896c451f61b57d31719ee042f4e1827","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.10.tgz","fileCount":6,"integrity":"sha512-MHH0Qdm0fGllGP2xgx4WOycmrpctyyEdGw6zxcfs2VqZNlrwmjG3Yb9eVY+Q7UmEv5rwAq6qRn7BhQxgSPn3Cg==","signatures":[{"sig":"MEUCICpyKa4Y/A5s1GAo3+hXm37fWJbzHpIb7YIEL1bIueM4AiEAmqrABkG04sErcUzh1AeRLZ3eLSQ8XYo9cv+k++f7P60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOqd7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6cQ//fiXXxLS/MCxOb51mpSAaPta7YEhzXrSYyA1rWsZ7UrDtYR5S\r\n0pwZH+Wr4QcBAf/QDH6qGwIHJDZMVaxZ2/bb2sqszn/eqqr9M59HguFA2GZd\r\nLrihQFfAEDGgXmeuPrdw2bL+HcHdrEB6vLVj7KZNy/KFBxhSegcd9UqpNVQP\r\nIWrMVb2ZGwtsW0NIgBux6VumwwMzz4INv8sDArhM896e9e6ZSZxlsORokkvs\r\nEOr4I6ZahTeQ4bwzjAxXjKscjr7Xyh8OSlIzenQ+iJ2CDKmIMrCIyi5/vX1L\r\nPNYNg3KD/sYB3BlNavLmjoeJgQn+l6XK3xZajlNPqf++b10QQyMuxIqkN9Ht\r\nEQQwaz0N1SUwYvPvLnwOLKrZPYHs+4yuQjK4qFUsZuSw907/vXWKYvdyHZNC\r\n953Vb+4rQT/qf0tMIBn2k+BqZUodxn1IUh0Kp/l3gZATJ68jL2jrHT1CnxLo\r\nWq/S7cCI+k9Wat50E9hzBQhqtIhCvL5FLscwKpYS0MGO2LwjKptT6oK/ZA/h\r\n93XCYL1Me4tSpghNrhCz8aig0ZadCNel+25RoDCUAW5TBuptCYisxHNqmsdJ\r\nhrW/EZHUSU0eFts4RmTNDrw76TG2A3momokiaHiP1l15DALI0+8XvM53BnZX\r\nDyhiXdc2WgucZtqkcBo58aZWUt/l8ouqtAo=\r\n=p6bn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-3.0.10.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/f61b612b059bbd500732cd8deb82af68/chakra-ui-descendant-3.0.10.tgz","_integrity":"sha512-MHH0Qdm0fGllGP2xgx4WOycmrpctyyEdGw6zxcfs2VqZNlrwmjG3Yb9eVY+Q7UmEv5rwAq6qRn7BhQxgSPn3Cg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.15.0","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.17.0","dependencies":{"@chakra-ui/react-context":"2.0.4","@chakra-ui/react-use-merge-refs":"2.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"2.0.11","@chakra-ui/system":"2.2.12"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.10_1664788347132_0.20433415423276302","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221107161407":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221107161407","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221107161407","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"dfe67d806c2dd5d21734570e5b01e1ed291a2be9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221107161407.tgz","fileCount":6,"integrity":"sha512-IbkHCV8RaeO685f7XTLqjY7tsI3Lg3hMZkOL3WfVJ42OLNaJc7HslbxttIiflV/Qx02N1RzoiBmlLSXZpLbbAw==","signatures":[{"sig":"MEYCIQCaIj4XmfQzI8QR46+jvL5YimzjRkLmRuxfnGVfo4b/HAIhAL7gNCUWTKKS4gZcyfYhePpPHIs+yOSEBIUnosDv0Ww0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaS8OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3iQ//eGoAOPi97hsSZ24qofz2UtXANH6WMjtNQYHaAel/yDtUprr0\r\nFOcnqxIRegNrfZGsrWUk5pdRMmVMUtAR7nHGwOJkuBiJWwqc7CP+Rug8v1fP\r\nRGI+kQ0WPpKuCnxeX5N0Drr+y5XNtUSzJwdstd+LfZya2wVQCvWn/9Dlz3o9\r\nc7bmEOvO++QfKcGYR3jBFx6D0o1irJIH/rpU8d0sLG5sHT4gBi/6LCInqguu\r\n8XwgTbm0Q6/Y6XxvxhkkgwbIgdXT7K9t3Pwy1a4Jo4IBSCnJTfbg5YsvwSSu\r\nrNzPoyP447xYyTVVnkAyOPD5mgXsubaLw+G2WRidEygBx83yGIu7PJgVf5xD\r\nSr6L9siHRPbF8NqQyWWA+8h74psdSJEONO6AHBcHGm+L+q1u9o0ZcVdKyARk\r\n5H5XCYKPXDqeHmWLVv1XdIZ+xZJ6dqPqmlE2OjLR2LTKREM9m/KcFNJwoRl3\r\nju1t/tAOEHdCkjNYk1F5MgP9n9HLh0pGvFOONEVuCxtT0AaGRzYmQM5YGW5a\r\nbxaandmGFvKF2Z0jKhTiCEnHntDd/evemclQyhhNuTmo44e1bqlyxSYQWsmj\r\nR9FIl3y0iUFTtVNg5pbynJVanTvtBE6qffQKlR/Ntrwit3EMuThps9nOh/kv\r\njODfIOxGbf6wB0wX89ZBRyUqFN+JV2d2GB0=\r\n=aix0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221107161407.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/573dd32422e82684e332b08c4ce8c53b/chakra-ui-descendant-0.0.0-dev-20221107161407.tgz","_integrity":"sha512-IbkHCV8RaeO685f7XTLqjY7tsI3Lg3hMZkOL3WfVJ42OLNaJc7HslbxttIiflV/Qx02N1RzoiBmlLSXZpLbbAw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221107161407","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221107161407"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221107161407","@chakra-ui/system":"0.0.0-dev-20221107161407"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221107161407_1667837710803_0.42601653023937525","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221107181117":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221107181117","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221107181117","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"370898873326a0c744900207b3e78604357fe46b","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221107181117.tgz","fileCount":6,"integrity":"sha512-4nLBa64IvKpYXLxxgJm0LHi2RxAWtaOgSNYA38dC9gCCUnK8YHgRBnNnZSnrXQhvFhIr8iKGoHuk1eYdMWg+Zw==","signatures":[{"sig":"MEUCIQCZqfhP59CD4MczVTLNGScoJR8LcAgjfPRRp1qi7sz74wIgePS2LeuZuf+FbguQ1oPeNkaHnNF/y0Kpk7Ge4WnO0gI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaUp6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZGw//UX+T2kVHgTX71v94uTGxla5crAhK4gCT5p2uz/DTmUrtEVls\r\nXn/+fgsfqYt54eN9l5SZ7pvwjnXkAKYph+qB89YNiXmavtUFM0vzzxvlywR6\r\nWRRkCTwxp/JqBdbl+CBPcRJjw4G05qU/J4U6D8XLj1L7nD2A1ck1pvfckm/A\r\nbanFK83yHjzJQW0SFwG/DXoDNCv5T5hsKEXIWIYqIr7bdam9Bc8w7m0672tM\r\nMVHwhQEXu1oDKMEi00dsslYpr2kYl/FIb0eTJXhYjfcle8bLDID+opgT2htv\r\nt8fnrkpfx6LUb+OQI1dAbsCvIFKhYlD0/4NvgZbt9C7vKE/5bNfy1denGXan\r\nE5Id+DaeDxXvGzZ604RdpTssK/LGq8uM/cFNP0QPnng3lp7bEZfO3S9zBIYH\r\nRew12tPyboTHpsKJbbmZgHVUdseJKd/VHNmsNCE1mY/dP9lQ4XCXsU6MEkwN\r\nSTjZwVrxpLqw/Z62UQL9Zimavo7M8yY9m7RyIe06zimWa9kdPVufRD/9P8GJ\r\nhLJUK3jjIHaYPH5KeEEQz/f1GsMDPYiG2UtYehh3ZpcQJ3x9MwLyQETBjak2\r\nQMQZOVONKI0g9BMhD2qtQSkIceK9V+PwdUXBKrRstRTkhdHX/0Mw5XASsy3/\r\nrwOTliHyFAmwDTAOSYQfEocmNEcbiitKfs0=\r\n=85Wz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221107181117.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/634e7dd4274750194e87681c6e1d2ee8/chakra-ui-descendant-0.0.0-dev-20221107181117.tgz","_integrity":"sha512-4nLBa64IvKpYXLxxgJm0LHi2RxAWtaOgSNYA38dC9gCCUnK8YHgRBnNnZSnrXQhvFhIr8iKGoHuk1eYdMWg+Zw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221107181117","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221107181117"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221107181117","@chakra-ui/system":"0.0.0-dev-20221107181117"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221107181117_1667844730693_0.2561867526060748","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221107182607":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221107182607","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221107182607","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"73e6da39360321537f11c401b70cd6746cf61101","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221107182607.tgz","fileCount":6,"integrity":"sha512-f/6LBD0AIjS5Nzq87e+v05wb8N7JvnT587kiWGxehzHAnufeAmN9qZy9aPTbsh+wlwN21Wv032XXM5H3VQv/Tw==","signatures":[{"sig":"MEUCIQDr0Y2DkSquK0prtJs6ZHVGMbPM57VLyUcbZJAReOTszAIgci5IpZMgSnSNER2jocLQVvUpvqc6TQm8rTw/B1WN830=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaU31ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTAg//aM9BUuyVmlEHvjCxZvZPuZVb4EhGpH+M7QDerqOiEbMY5aOF\r\nPxteEoQ/GoSEPZSSYf/RxVstPQ8m9aDM/6BOo5vLWAVGUN9OwKZxb0JPZAYy\r\no2sI1YTiHg2d0RYsc7wY6WLNoctgzV+tHAXzsk6VDgEwhJsi1trzH3uAFxXa\r\nZsRprzv5GSrn0PEsfJQZAdslzha6uUCVR90a9aMn2UxeqHrL9cvPvK05RCYr\r\nT1yVowd5DkuT/5cFEOqYX/4FnIYEXS82jo73oNhH+qzpSq1oDx74yRIWc3Be\r\nGfX6erfOaAa7o0X65tKhwpEbLIOCVqhgWGJzp3CzOQxvyfzx7pHTnELxj2Me\r\n0HtKcjb7QU5yk1p4SP2pvWWa9E2VpD/YUj2M6MIILt+G/fJH6gQMzBu4V5s1\r\nFvUxrkzJKqG9aiddIR+7lZY54G1tQ/YEtA7fL2qyk6hGrreim4Jx/E3Yb2IC\r\nt5u+b7aJBhvACxo9xrh2Npj8txKSyNNe/q5qArXhEVTjnDw1jaM8UAoXIyCM\r\nOw1mxOPULEuUHUmGyk4GjJxQK4InMY4tw5Ek+uWYk1C2/Q/Ry8YjTdbrKEpZ\r\n30JQ/vZTCNl0NR9krLB/mSs94oST8rnsJeI/LdsQ8BJL8hvlIuDAP8rXskaS\r\nrilxG5r6rG/IQTPoJD3PRaM6uyXtqd/U0V8=\r\n=49+W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221107182607.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/c7c1e03966f675c160eba71d21040d94/chakra-ui-descendant-0.0.0-dev-20221107182607.tgz","_integrity":"sha512-f/6LBD0AIjS5Nzq87e+v05wb8N7JvnT587kiWGxehzHAnufeAmN9qZy9aPTbsh+wlwN21Wv032XXM5H3VQv/Tw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221107182607","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221107182607"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221107182607","@chakra-ui/system":"0.0.0-dev-20221107182607"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221107182607_1667845621289_0.6239502244651458","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108071844":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108071844","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108071844","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"56ec929f4ea666b185331922f641ad3b7f9ae8f5","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108071844.tgz","fileCount":6,"integrity":"sha512-hmdHJJtsLtJ0751jWodj0vhtYfblf3s53sQenhe97MRo40NWx/WPeEEvxhI3+2vYC5jStO5Sjw/vJ0SRNkYW7w==","signatures":[{"sig":"MEUCIQD97ICXarIaY8AdM25BbC8YuqtKoTGHMeRw5S9HSEQDWAIgL43W1X57L3oi0VrAfwHXlLXk403BYsfN597uTABoDIk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjagMNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmobig//fH5HHPKZzym0HZnxm25Pb2i4umvOSzdSs7oe/PyZ5eSsLTmV\r\n6H/hMnFK3Vvltf55RBvZdk4vGUl8IRtIXzfLFS79v7laKR8GiySVL7KqW+9L\r\no0IaNcm3HgjrZDZ9dHv4B/881/GvOIi9WqxYOSado3u7Qm43u3Q6MKSP7bOd\r\n/cR3EQJ2V6fmf7ueAShnL2GRLrQ4yxI7tp6wxHh6zd6M7rnqjVvKeQfPemvj\r\n1wxPoQ4WgDrQaL6XMZBeTw2yYsInLc4HwoCKZJ4jiBbR/BXdU7r7efWA4INc\r\n/jakmjwaBxje3tFm2dFUTuXaqvT/Nsl00esZQx7E7QyVGOTLF6nQXYXCfrpn\r\nzm7PG0QRPa21GDdYgoPTc6xn/YggZ0kTxjXO16G+bIjq+kCMagC6uAk/X5Z9\r\nQ93anF4JGVZ1mRWBEsRN6LWDHQccddoraCBbeupibNyYryY47PV3zkufV5JY\r\norQSN2FzNjKMcCUSqXgqyP6fVDjpviQrT5qj//QWhyT/KnX/7oorFs3yTRMm\r\nnydDSAj2weUBQ04neLbMz4gaRc0IOq8LOMMtb1KLJAP127UukPmKpUvVLdbz\r\nvnX+Hszt9/9yufPvjjoyYCJAt21m/n8PckbYNMs4ftve8tyBJ+vvVFnbhxPt\r\nwyYfDVj9jWGrexEUO4QV/Gq3BUiWv+tLjAs=\r\n=aVLC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108071844.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/e95bb3a8932545fa94e190c88fdfd6fe/chakra-ui-descendant-0.0.0-dev-20221108071844.tgz","_integrity":"sha512-hmdHJJtsLtJ0751jWodj0vhtYfblf3s53sQenhe97MRo40NWx/WPeEEvxhI3+2vYC5jStO5Sjw/vJ0SRNkYW7w==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108071844","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108071844"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108071844","@chakra-ui/system":"0.0.0-dev-20221108071844"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108071844_1667891981397_0.3738916773148486","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108073543":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108073543","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108073543","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"c85df5ae5ba21226bfe6dbcafe65dab3e778fe9d","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108073543.tgz","fileCount":6,"integrity":"sha512-BMY3gH2UehWzO2cWV/UHSV/a8dJmtatyYQMt+YF6nlUxGzyqock24DIbGF+MEttZyxhHh4Zr2Ge/EGpl0X/Faw==","signatures":[{"sig":"MEYCIQCkw2Ai7u41mjhrmklsF13djrPlDTIc+DrzJougRYk0AgIhAMKavN1jVBHSkjRvhEMnDJyWLobCIBfdsuPp2ktKtdLj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjagcPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmom5xAAokBJvtV97S8l6NHlxlm5D/BAifr1N0M88qpnYZ/e8gCNNFLG\r\nIaOtKAPabfuZEyokDnewULgtAUApe2O7IPe0Zxs9RPhZyb5OSTEV6BvCG2+s\r\n7XEqKtFzyRnr2poIDKSMh5jJkNdZY2BPf1/FaogrGja0yqAu/6QZUJnrRAJU\r\nX6MNzabH7S4PtWtxigXn39O0or4ENqPO7yh6sFE3xpWCwaF+mbJiAJZ2T3iN\r\nUp6d/oDv2Vt0rdqdzOVV2j8/OhZIqK3DdN+2s5iUbMOehUwVqOlBp+yKk2jr\r\nr1Fmx0mnSkpvuimc9W++imrmGzi4LDf6MbzRlvjSi3Sw541zMGq2S19U9K6G\r\noTqWMQKaIa+MbHzmvl+t5Xp6boENYRVBNmhAn5bzypP5maTupdHpA2I6fHji\r\nFnTAAFwKQ+w/SxjsVqZmNqsYTl8JkE2oV+B3aTCX3v0jpFggRDLgOJDD6pXl\r\nyAcd7Qp696vvYxkFZYavuCOLKURngGsqGQhEYYttN1Evs5MYd1cmF5lFUX5i\r\n73qhV0DdibaLF979KMudO4GWnZDqq68YKWx/3x9+sHXeEbNnwhl7GTrCuRBe\r\nYKZI8fyCOMvdbUMLVZSIdvNU30R07mg7rlbSFFUt7nV+jX4ykfiTyfW9GyJe\r\n7STWL5jszgh5/Z/sJEl9OqXPc7x9MmYWgmc=\r\n=K6Py\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108073543.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/377dada384d55a1c335fba62eaba4604/chakra-ui-descendant-0.0.0-dev-20221108073543.tgz","_integrity":"sha512-BMY3gH2UehWzO2cWV/UHSV/a8dJmtatyYQMt+YF6nlUxGzyqock24DIbGF+MEttZyxhHh4Zr2Ge/EGpl0X/Faw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108073543","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108073543"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108073543","@chakra-ui/system":"0.0.0-dev-20221108073543"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108073543_1667893007353_0.5425870683985217","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108075029":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108075029","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108075029","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4330bfc980107ac12088756eabfe06a4517cb9d9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108075029.tgz","fileCount":6,"integrity":"sha512-XOu6epGEgfpJxhP/o3yMPCw+9scpY2gaIA9OtFO8uyNlEy4rlYa9oot0AJMTIbjbIjtpSjU1ThyvsLDQqFULhA==","signatures":[{"sig":"MEUCIHk9S3R4tAMJ2SxgyOpOTLIx8/gJ5y/C+3GdarNYpgDTAiEArMukREnWIeli1DD61P1KE1YIiqm0+MjCUNjFmQwAwME=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjagqAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6vw/+PCD4Tf/YmFarIZ6ihtMB1HXlsXqFUlN6AJFqjDIiM3VIBeqD\r\nvmGPrK4gQfseIT2qRNrLFWK8x7CU8R3thqV62oAscCyDteVB7YQuT5JX7/T2\r\nsafiLA5TzKuplZp5hgYm0A+UqsgE/4iZ4bkiTfSbLIyLD21pRSrCJBQhw+WS\r\nULVjYGw7Im7cTEMgNZc5REJGXjViZeGTn9hLaUw+pnhVxaTbWpSouGFSyVBd\r\nZ9R6oC0EDchhrDqhu8n20jDWkJ3NtV0zEg3BNl/mCttv1Q1MslqFSHlhawtK\r\nX6mf5LOOEWxfj3kPKOgC5XJjGSOL1Ctbq3Yvm+njzVvwJvVZDp1J5aYUWsBq\r\nVKHjbmVMFK+8tBD0Q0Hu1hv0pUsujpDBk1mW2SEbap9/HnN1Y27MkQCku+rc\r\nep1D463OAa495rsO7GUvXye/p11G8tVQ1ZF4do+LHSTuu4pWyLC2jr8DlFsE\r\ncufU3yOtzWphCH62r0CrbU4npx7hoVoEcvpvx5iUmaogJfCQly519Cu+sKlm\r\nna9P1pArEmUrQH/eo8mhS2k/jpiNmXTr6JnIiJhqL4bKg+Z996zRGBX91YH8\r\nc4S5nkeXxbm648q6Ix5QQPg2UL3dxDiWkJQzljHMSWJ/2QuAP6l8uaDFszC0\r\n5ykxR5driA/0XYucxPKFOX5q8ns0jG3DUr0=\r\n=iHAC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108075029.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/257f57349934ab117df4e97cdd0afddf/chakra-ui-descendant-0.0.0-dev-20221108075029.tgz","_integrity":"sha512-XOu6epGEgfpJxhP/o3yMPCw+9scpY2gaIA9OtFO8uyNlEy4rlYa9oot0AJMTIbjbIjtpSjU1ThyvsLDQqFULhA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108075029","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108075029"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108075029","@chakra-ui/system":"0.0.0-dev-20221108075029"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108075029_1667893888505_0.3009546723059744","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108083411":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108083411","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108083411","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"0f06378592f95bfa2289d9a11b95056491bdf60f","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108083411.tgz","fileCount":6,"integrity":"sha512-WnY8/Xf/Q4eCdLwz2XCd5v3WlKkWkdeFfQNHL+zXVgfDfl/IWvz9/9jrOhZQtAuf/hxKsW8Gh23NCqkUvsFODw==","signatures":[{"sig":"MEYCIQD0cpxB5E7Dz1wSIE1mZqq5QDWW9ktSbOCVbQF+gIewHwIhAJ43LgyaXPbRoriQUgkpyo/k1f8On871E4HG0qG/b1Zf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjahSyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphMxAAmTpLWkc+5kYaCMKrPD/O+zOEisvAdseGZbOK8nCpcFRZ73TB\r\noNzUrwNV0gDymbJ79l8ebIIvv0TF6YRXWDaiLM9ORO5xC1XKchPEiF4PwffK\r\ntEvVkdGbubN/n/orWNdolqkAw+TCt7nT/A8uEnV4w76e2ud28XAfxJvrJS0f\r\n7tSQ2dhIqc/ICKCzxSgX4QNUFAY8DVfwcWKAj9/pkspLiVwmPf8rVZZ8/s1b\r\nMQx2Ih5NHC6OizPiqrSGsAvlOuLTklWnNx17xNgfJrZTqx/nmdZBalP9dJHy\r\nEVwiIXzwbPn7h97zD/YIE8lCZvTNaSZClC5Wfg/CTnOvJUHnzUYkOfcIEZa9\r\nEoWZDerR4BCKuEFF6ATpAqMUuvgFlpfAD7BGaLI80dGqmRf9qyUAG4FwMJN3\r\nyWZcRTDi1egKrT6DkfEBxFW/0VeGIFsclz3dqh6LbsGVaUylKLw93rpaPQv+\r\n51IZsY/Xh7u6UvpbnbXG0TYyxH9nIfAG8S/nWvIKNMbNiwX40UKBsMskUIgG\r\nEvc8cFcLkZ4O1DmsRJBhz3ol+J6be0gWR2kjksowFqLUTcUIWK132WRvOksW\r\ntG2fs1RBc2mCCRGdK9YQfQGpNGMXdyf+u5snvzMAFGGqKS4vC7TYx00VDndl\r\nCKVDtO9RPP3KvPg8GTYN+ugFGzRSZ8fWB6k=\r\n=Pg9D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108083411.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/d67fda6c534fae0dc737afce391818fd/chakra-ui-descendant-0.0.0-dev-20221108083411.tgz","_integrity":"sha512-WnY8/Xf/Q4eCdLwz2XCd5v3WlKkWkdeFfQNHL+zXVgfDfl/IWvz9/9jrOhZQtAuf/hxKsW8Gh23NCqkUvsFODw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108083411","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108083411"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108083411","@chakra-ui/system":"0.0.0-dev-20221108083411"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108083411_1667896498446_0.16055828016522034","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108090938":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108090938","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108090938","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"eeeda0af4231f902235281c7154fde8f73ed1413","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108090938.tgz","fileCount":6,"integrity":"sha512-2LESUUJu1a3gYXPFK6UmPqcIIGoVv/4XzPGhj4a4V5kS63qlP07bw+7KtlN3a3eYDI7EpaKM6VwN4N4Y7j7c7A==","signatures":[{"sig":"MEQCIHPde/z8+flLXbjLjOImeCqxr4ZyQ86jB+XBm5XXusffAiAgwFAJ68MmEGpeTsAEJLuXgV/rSedYDPCeDGs234bZZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjah0NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLVhAAoDaBB2nH5KGb92cPB1jqAVYLMFlj12aI8ffKVhQVpcevNe0C\r\n1uL1s+CAOfEPV8mNZszj4tbj0v/jGtxJ0je5vePAfhMssqCKR/8ghUojYCfF\r\ntWjRYXs2C/ridlJCdqEhw1l/uNix8f6rTk5wqCziFCOfvKqyA+x8sO0aGxx7\r\nQiSbjZ2wogTY+9YL41cmVZUaNjRLpr8THtUsEg/DCQIzBH+J8Tc7QrPTlqkD\r\n6uG7k7sFXTE1fL6m4dT0rM+UUarDOOygbWJ4EPqEutVY0Ohjb7iprDy0i3Vm\r\ngTSSCagqLLNmo9wiNMxI/YvrGvVp+0+/G1q5C1jn6JCNCobRM0Q/t4eJClXW\r\nsH9Kdx+6gmNvrhKYvJphYdiEPtGuA5zWY+AQpltVvHVUjWH6g5eRCdhTk09z\r\ng5YIrlccu82CJh1OsUhhwdZZvVX3Gu6uoiyGYdOsPgvlMer9qpRnfe5QNn7i\r\n+AvuWaSCq/R1isdaQ72nvZNi39G6XX5hFZGLAoAq0PvZezcaka7fdakfpX7U\r\nbsRGCH8n0X4uymMlJA6Lhp39QNsr3Pmdc02PtCQB6ygNAF26njdSbz6e9eiz\r\naicYmWPhjhIXLTD079yvKS50peYn0sB0ZdDpW5APSRGh7VeEqClGAbISYOT0\r\nEF3e5SdrFGMUybc5/cj/5FtZcWFsr+KT1bQ=\r\n=slyi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108090938.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/c4bfe8a0d597d9594611766c16018cb0/chakra-ui-descendant-0.0.0-dev-20221108090938.tgz","_integrity":"sha512-2LESUUJu1a3gYXPFK6UmPqcIIGoVv/4XzPGhj4a4V5kS63qlP07bw+7KtlN3a3eYDI7EpaKM6VwN4N4Y7j7c7A==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108090938","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108090938"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108090938","@chakra-ui/system":"0.0.0-dev-20221108090938"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108090938_1667898636934_0.17072122051171879","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108093520":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108093520","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108093520","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"72b144b45db380c648d2f06d45ba3d261715994a","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108093520.tgz","fileCount":6,"integrity":"sha512-cUBNYWi85FH1i/zQktqc/jciU2ke0vI9XUbb/gJ051NhdJ/1/Fc7IxSeM4//saPGEo5CeLa7XCKZRG99zxY29A==","signatures":[{"sig":"MEUCICz600SAA28vBLIHDXDkGWrHr8vmMQEMBNbzODxxZRDRAiEA1Q3DNauFQA1HXnMPp22sYNIC0KCyPosf+9dduT2Wtqw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaiMdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyyxAAiV18h3Jfkw+tCddiPUCB86Ou7me1kWh4NPoBFARuPNY5Z/r9\r\nTaixtTP1TYekrTIqlv0+mfsyFCZVrrAuRm+NJOTVsMN+/d/69TncBK67DUkB\r\n8XjmYCom0YOZQuXwsjOnttQyhn+xpMTg7S0HEy1IGawvm+7TGmg8hJ9ILX3O\r\ngB1Ndz1BLP8iu1rq4o3YKNzdB/tfcAiYpVC9WP1dMueVKfl4PULxPkbR4x8Q\r\ngd+N4cLsODxJAPkZG6kw5Lxn95/DoZI1sOJhC9dcpfiuYFQZ/1C9Riw6PwGU\r\noF8LXncPc6xksFyz+ebgpbJyXCd5EAgGJMVFmnaSTenkkADyVYaj95Ap1bSo\r\nNMACcznGE0Q9Udidy9xfbqL/99qlWroDG7LrjCHVDIR7xuFeiMnA+v0l+xBC\r\nJovhT0Z976ix0iwvr///GUIUYgXzCgZ927dlWBspmpzQF3M3St4yqmX4uTGY\r\nYNEQdKlPgh3kPIm9ktZuezUhaDMDfQipcJ/o6AIRKfRkMEIl0cb/sEvSraTG\r\ncBREaXmFiNwUTPi97tbRvvOlEcJxkDwrykH9SnVEAxFklLOTrCIrDS/1JtcA\r\nK77gh7s9z61TAdHCI+0YLcE85E1/HBPR8lSaSDuvIT74TLGNLCBu4j2iytBx\r\nD6NFRyIeZwAVbJgcxJrDsb+UOfphvxJvyxw=\r\n=wQ2L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108093520.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/83d236fc48441c6b0bad23db0cc07257/chakra-ui-descendant-0.0.0-dev-20221108093520.tgz","_integrity":"sha512-cUBNYWi85FH1i/zQktqc/jciU2ke0vI9XUbb/gJ051NhdJ/1/Fc7IxSeM4//saPGEo5CeLa7XCKZRG99zxY29A==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108093520","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108093520"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108093520","@chakra-ui/system":"0.0.0-dev-20221108093520"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108093520_1667900189294_0.7755412195816598","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108100218":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108100218","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108100218","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"e7c061d0464b2c6338f8c957d95d0cb305a89b03","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108100218.tgz","fileCount":6,"integrity":"sha512-8WEdjx1SSGhg/IC1kYsQzLNW7HktxVcdCmujLWIxfmEOd9j6LMnpqDCm+UhHOBEvV5mX5X+ZsiV2QkI9oV3pQQ==","signatures":[{"sig":"MEUCIFvQzRXB/bFKDLrY1uzHEA6rHfwKYo3IySycu5QMNBP7AiEAgNeewlC7LG2be5NU+csm9iH22O6CriXKyKnP/7jHz60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjailzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAUA/+PpI/1N34JOGTiF6OZ13+HQVSNpg+yzwRvPsWh5JnlvpKRVcr\r\n4skbpbHOLCTVPBg65ITDFvSL4iK5BJsTNXAh/1dRGB0UHfBUbzqMQcKbyivH\r\n6Y/56cdtslxuYpCMEUSpvBlBmSuaj8ZqJD2ds646yFjod9db2jLZXXlGNR4U\r\n9difvemZ5td/mKAtSJcpvHAUmmF6cwOYolmkXxdHgUNUtYQQCEYRkAhSXDhh\r\nF/6hm2etdyO6UHtppooI3UL5IngRWpuN5Nsie5FluCWg+lgAeo4g11ycZNMn\r\n1EHB+/D1CcH+6NBAH8D7CqtwJbs2VcZt8PFgaPMAERdxxCU8dYRClV22ruVV\r\ncpX/wBjw5XvxKmVo1Uns8KUN9dWTJK6LhdCTze6fJctQ0aUnIVOB9gqIJLVh\r\nBJoicwoAbBFppHl1yjlDMYLdb2vPcTi9DSUlfLZf3n/s2w6ZX0TjibB8Jab0\r\nZXtp8ZASb4xAm+MoSNUK8/b18g2vAqqEPhBYin26PTK+KQUt8tP3bNVOF1W3\r\nntGCC6VV+6NqOSHcq+WDEVyXVnMrtMuzHAJH+dVdIpAUTqFih1pGrq38Rbwt\r\nshp/51iZp0C4I/9ybeXxqsAJfw2M37N2vvp/H0tuuxKl9DPYJMFwOiD9WugD\r\nPdyecQod+ejmUo46vcllK/dHEVgTwBXww0w=\r\n=/C0W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108100218.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/9f78369ae799f473ffa43d920d605445/chakra-ui-descendant-0.0.0-dev-20221108100218.tgz","_integrity":"sha512-8WEdjx1SSGhg/IC1kYsQzLNW7HktxVcdCmujLWIxfmEOd9j6LMnpqDCm+UhHOBEvV5mX5X+ZsiV2QkI9oV3pQQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108100218","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108100218"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108100218","@chakra-ui/system":"0.0.0-dev-20221108100218"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108100218_1667901811019_0.39682543197853626","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221108124603":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221108124603","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221108124603","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"48aafbb18371e80eecc5ff9719cbfee7ca15dd6b","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221108124603.tgz","fileCount":6,"integrity":"sha512-dAu9OnTSfgFvoxD0+t/RXqyyTmdXgywVR5NmfJGSAaboirW9yleMqnnDc9NR0uD0wpLGdgOl5ji/rA3U0ltVgA==","signatures":[{"sig":"MEUCIQDjUHvMxQpMTYWj+t08KDue7+LYAbY3t9BpU8/u4wAxwAIgAfSRz5mPwHSHj1nSj/15IquehZFhASQCQ6LMXB/bFUo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjak/AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDPQ//QFDNKQj+XFJjfb73qHspRokJbCwq/gg5Pdl6t5dYaouq2G4A\r\n6yGsb5wbRvvZwmC8Jq+xeztJ1NgA5sskEsYStmFCX7jIXRviM5niA0WqjeKH\r\nF++y7l8RypGkASwnEnvLEKlwHF4pdiOpDleYTh3ywtJTjNRHoeIZv4+/YCrz\r\njZl+qZt2f5XmZ13WdFGLbAZRiKcl8iwBSCfK7cnC3jgcOIbZACyC07rsv1s+\r\niI0j/NB+F16YAQn44SRN8yuwCCrk6IIzgW2JmcJVOB9LWQPCD6+5pkae8bmb\r\nmdUHYusUM4mDusj8SdQPAqtvyEk1oNjks79k3UE4WO54X9eJhL+U47PTg3aZ\r\nGSsQZ/Iw7cHrrj8l35pYD11Q+bG7+4EEiNGnr2zsw2i2rdqgbD5IRRT5KKb0\r\n4ud48YK0fgCROBpG/VB+BZw5EtEmV6x1TdZXNFcTeZ+KntuXRSJImuLwGz/1\r\nMZUx1bxwJtQuNtVXCF9U9u1CBBsTEUeAQxC/fSbJVC0XiGP0pX1iDldjhtHi\r\nNihC8dOzUCPLZqDiXjbeLsmgC+8FggvRLXA/GxUHNPSx9VBzgJIRIqmgMe/v\r\nt2p6X2OwlnSTdOh0aJJ7BCXJdax1pxLmgTRbhDXYCXioH6WulxDhgvj5an/o\r\nLbpRh4cI/qv8DOrcZRxpxUW1UNbPG14qoxI=\r\n=l9ZM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20221108124603.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/cd2e066b28a89ae775e861a72bfea8ae/chakra-ui-descendant-0.0.0-dev-20221108124603.tgz","_integrity":"sha512-dAu9OnTSfgFvoxD0+t/RXqyyTmdXgywVR5NmfJGSAaboirW9yleMqnnDc9NR0uD0wpLGdgOl5ji/rA3U0ltVgA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221108124603","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221108124603"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221108124603","@chakra-ui/system":"0.0.0-dev-20221108124603"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221108124603_1667911616474_0.8504173856097264","host":"s3://npm-registry-packages"}},"3.0.11":{"name":"@chakra-ui/descendant","version":"3.0.11","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.11","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"cb8bca7b6e8915afc58cdb1444530a2d1b03efd3","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.11.tgz","fileCount":6,"integrity":"sha512-sNLI6NS6uUgrvYS6Imhoc1YlI6bck6pfxMBJcnXVSfdIjD6XjCmeY2YgzrtDS+o+J8bB3YJeIAG/vsVy5USE5Q==","signatures":[{"sig":"MEYCIQDmbtrxZu7w+YPpUNw8HuC09gy08+8IcHSscszNJp7GuAIhAL5bZd2b/H2JuNI654ViATOez29kqVxnl8YV1rYJeDT/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjciweACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSvQ//TIwhmEiFeo1WDaVG509TrLwM1D6OumClk4oYzk2rpy5eS9ML\r\nUHMj28eSl5FX189yRiqQ5Fb7NcIAARLwIVEhkzUjIFI9UNArBmlfn4g2cONW\r\nE+sABpIrK/WgGsOw1fwsHedMJx/ffAQoD+d0f7+0zdFksqbYzWs+d15yCyyd\r\nl8f3zQuduUH31zwid+pe70RQIznKyb7sInyb6RyUVZtdglf7rjLoIPkVcSZd\r\nlt5cXJd+2rZNvQhErZprXhShRa6xMOI2MizgmXvNzBLv8cLMF/rJ2wi+GJ3o\r\nLGqacOdc2Y4592kvByEZ2ae/pp0lpWEdf9hf12diw05oaI3uxhWjSO9w3UfO\r\npRpGfzHhVCcm/9wNBipsRPbdCBtu0NbQqus8O1wtW4DOghAL7p2u7zwwCo8f\r\n8KkYYY3bt/7uN+08o8ELVttn4HQh1yFZ+4XRP/QV7gfmtml1Pfx8uPgCgw7I\r\nZmEqlFl5xpoHOKaI0K0s1akHjXAKdP3twNOeg5+9zeSZsepUisfYbyXXuvrr\r\n4a/uOZ6TzuQwL5nFcW4FiZq9XLtybr96urgl6HYQ0/Pv1SfgrKpsQ9ReklUJ\r\no728iGQMmRm6Xj4TeXKCGCShkamYQPIbrc8922rVhvJq61Pe0mMjH28WS6zl\r\nT9NRM2XVIxBohJMpXJ7OKJ7nD9vm3L0e/N0=\r\n=FBe6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.cjs.js","_from":"file:chakra-ui-descendant-3.0.11.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src/index.ts --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src/index.ts"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/202d60f7fdde4536521a4adbadb76998/chakra-ui-descendant-3.0.11.tgz","_integrity":"sha512-sNLI6NS6uUgrvYS6Imhoc1YlI6bck6pfxMBJcnXVSfdIjD6XjCmeY2YgzrtDS+o+J8bB3YJeIAG/vsVy5USE5Q==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"@chakra-ui/react-context":"2.0.5","@chakra-ui/react-use-merge-refs":"2.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"2.1.2","@chakra-ui/system":"2.3.2"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.11_1668426781905_0.1994580814377791","host":"s3://npm-registry-packages"}},"0.0.0-dev-20221223180742":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20221223180742","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20221223180742","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"7a95159eab322e03a1f27114e0d4d5ca7b5f5298","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20221223180742.tgz","fileCount":18,"integrity":"sha512-0Mg5VhTI/3avd+gtzvNfzONMXRID2eIbc2g0jjCSQ1nQ/EgvXy3Aq59izCo5nlZxY5JlasgtDUC6Cai3uZZmkQ==","signatures":[{"sig":"MEYCIQCg9A8p8MoceecXrR25gvurKG/0VNOLJQXS2nd6lQZijgIhAIk+a4MUTbHAmJNTPgKhBhEHZPNfuKk8zyFP67/Ngsmg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpe6pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnEw//SJM8YcGRRLXtt+2K2oM5fFbOl1hoSKnr2a/g5eDGsyJu/xto\r\n58CAYi+UMi8oGNuDypRaW5Jrp2ihubJpgmPdYHzq6Py6QjnraeLY3NmPFIh2\r\nS1Hc/JHLF1DTaYKoUbFq8EnKtfm3IRezlxde7zbBI5cm6JgqY/DkNl4ilq+n\r\nGOp5PUjOifCNuJa2hGl0VJ2ex0e3XCD6x4xANkAmI24fpzumuMpN1DjPtlSy\r\nP/WtZK4f1Sr/zSHRD6Y6ZonSN22YryARYgA0G2EQzlu3U2S2J6C2TMeGDt5F\r\nNs6SD4B1aSpCKlF67orPr8yNHRsD4/ZqVZQExQlVd67kPkfgNzJqXMYYrsL3\r\nRAovFkvb1w3dRwSM8t6JztVT/Sz4lECDB6/xj5KqP4fPW6o3/AuKhFaLTEuJ\r\nNEDh/+sM+kE8E5YwtIwVBm3XtG7+fEcU/RRuglLZ50+9Wi2/bCugpcqcx3Lb\r\nZdJYAsYzXj/tb/HRQRtcaIfwptWJhwUTzoOGiB4py+Q58s9WAxr4gxCDxu+f\r\nopWFCc7Hc5cFF4f/EBR5eXmUJHTjxqSCKXxt83I+gZQtv97aq7wO3Bqd6Y6A\r\nbopwkHPo+uGxBuDFVUZNZ1dGGG0Cy6HYFkLP0mb6oFGey/d8FOj0WhLe9oG1\r\n6b7U0q/7vo9tn59MK2B6OsJi2BzSEG+8YbU=\r\n=sxqZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20221223180742.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/e8e0342366a0144aa3ebcf5486d0e179/chakra-ui-descendant-0.0.0-dev-20221223180742.tgz","_integrity":"sha512-0Mg5VhTI/3avd+gtzvNfzONMXRID2eIbc2g0jjCSQ1nQ/EgvXy3Aq59izCo5nlZxY5JlasgtDUC6Cai3uZZmkQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20221223180742","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20221223180742"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20221223180742","@chakra-ui/system":"0.0.0-dev-20221223180742"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20221223180742_1671818921122_0.8676069202632495","host":"s3://npm-registry-packages"}},"3.0.12":{"name":"@chakra-ui/descendant","version":"3.0.12","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.12","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"823eee949eb56e0045d3ee84bbfd614b4d9203e9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.12.tgz","fileCount":18,"integrity":"sha512-jx37SI6PYKMSgn+46Ou8LGa2nbEiBRmU4rzz+0/klVpCSd4yQLcm1c4nPv0D7SoQrhq/cQq4tUPfC2U4tXeovQ==","signatures":[{"sig":"MEQCIAEqVZWHQM4x7+tH7KQ3nmumnEX8npP46k7W/NVOCfY0AiAkVswe9x5KH7vOuA1bUMwzRfalv8rNegClzE7CxF871A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjqZ4RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquDhAAoK6yatLh6nGJtscvcjCVGEFFOrvB1ZFNni9NHPf2b9lfG4mS\r\nx6QtH8IOxqKCXznV8urXLcv2I0c4z0072jLU+b6BldS5meiXmoldsAae8I4+\r\nzttsvZTR4Eep9N5gAwR10Y1rKiN6RLGHAldRrj/7eVmj2p1bq74m+13DQpnR\r\nuQMY5ylgLSaBcjuTonrgGrOAvK7vMVFUWPtnWJNRHckZJMwUmhPDdBHl+lN/\r\nb04xnkyA1UuIHn9jEPmkTcutaujEwr+BuSPjW5UwA8azk28bjKo/ClEEhjr+\r\nnnjk0u5zVyt8Ox/xMV0Rr8WGee280J7LkZZFnrzB5sF/SFa6d3v2CFQEOdaI\r\ndRApxBIEom8jp6IssXah9FBKkGajjE9YXGsOciZjsjupdkV3wB2i+Su5MGiq\r\nGI6AJOo8qFNyu5gy0dS9ZQePxJoxF+Mo/k+w7qvWNLbOHV6kh9p8a4tYm/GE\r\n+MkFrVuY5PQplVoYYKz+KNdiYy6SXOZl2e7VHf/jrdvPmxBvsZBOhlMPziP9\r\n54rP1/+8QAY1ToBZyQBeWD3RCXUZy8i7FiRQT7jjUDhij/2TDerkelfq/DG7\r\nQbDjUPlcmrsw9xSgwRYs7m08nqNmmjV9CGWNEu3WhbxhSf2o4hYbaBchmAv7\r\nD/wcdbsLP4CqXwoB6S1eIuFJkr/5u2llZ4U=\r\n=laSz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-3.0.12.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/c5ec789e88f8c6098b1b926993e68d4d/chakra-ui-descendant-3.0.12.tgz","_integrity":"sha512-jx37SI6PYKMSgn+46Ou8LGa2nbEiBRmU4rzz+0/klVpCSd4yQLcm1c4nPv0D7SoQrhq/cQq4tUPfC2U4tXeovQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.1","dependencies":{"@chakra-ui/react-context":"2.0.6","@chakra-ui/react-use-merge-refs":"2.0.6"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"2.1.3","@chakra-ui/system":"2.3.6"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.12_1672060433047_0.3620167401091523","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230111211417":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230111211417","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230111211417","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4059cc29137d3357c3de084f03c6487440cb3901","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230111211417.tgz","fileCount":18,"integrity":"sha512-vGKtNgVwDtY4XjDL3VlxE2M3tlvlkUV7eSWA3AlW6+sZVSXefKD2yRBNVHKMMSMOds0cjHO7usBD4bEtRgKerA==","signatures":[{"sig":"MEUCIHwktUBkC1UfAAG+w8AYh+lM4dRlK7C358wA7P+xCSF+AiEAj8q2G+FbzkgCBvQcs+smIbyFWTlH0bFyR9slAf44w6w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvybkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNnRAAorCy63vAhhEwOcQLVc08T6urvxhgEW0yL+QyitNygkehT1f8\r\nXaHu3/Q5ZPv5Gr9TD/ncXNBGvmlDCuEri9EvSyipiZvwbKDd1wyw0QT7+L1L\r\nq4nad2rUWIElxIHWpdK5tBmzngfe0c/d7sJxB5+REDA3R8ebtkKwHo0O1ZvN\r\nB4aXt2Bp6IXAGBmneii0UZZemdDHH0vPoidvwr08+2UZ7pyPYuRZuCXvlGUu\r\nAwJv/I2x/03usizPvOHKFD5QVBjrUa4LDoW4rR3HvsYoJF1VgfwPz7T0moA9\r\n8lgTcokB69mWP5Ezp7r7YigcRrLfEbIW5wwUM3KJJ1PIQh+F3KEvZwHmbUUL\r\nCn6Rp1QlC7EpQ/zLKkC2gBRxjKjd/MFVJR1YePTMcAb4G/VrpknHZr5CKkiS\r\nVHYxeGw1/LxIJuj703oKhxv/SWbc4sz6dk39Hori/cA0krBkYBsaF53eSy+l\r\nxAFa6NopD+JatQPYXuxanNpgucgwGVMpxH+XWSScH8UWYfAN2hNnTcQyz6bX\r\nld1ov4XWDGn3I7r4HnbeAJgTVqBHHjHHBybgUJfWb+DTNUbZ6RG1VRBbNV83\r\nBhFP92Tq9Nfqf0uR6rb9ge+2U1b4UFxSw5Ue5zXHm0oTFPdJeyVYKWjH7Pam\r\nSfEEbhwRlHGK7IE8Nlf2acEN0/ypbjHiPco=\r\n=yE6h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230111211417.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/bd1c7495f1ecae3c6f6fe77b1cb5578a/chakra-ui-descendant-0.0.0-dev-20230111211417.tgz","_integrity":"sha512-vGKtNgVwDtY4XjDL3VlxE2M3tlvlkUV7eSWA3AlW6+sZVSXefKD2yRBNVHKMMSMOds0cjHO7usBD4bEtRgKerA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230111211417","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230111211417"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20230111211417","@chakra-ui/system":"0.0.0-dev-20230111211417"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230111211417_1673471716381_0.04797748383028577","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230112113621":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230112113621","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230112113621","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"6796f02f86678081b004136e1870b089318e9246","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230112113621.tgz","fileCount":18,"integrity":"sha512-eSGBPFOtYO5B3vbAuDkSwbtzA3QWOpJ0+Y6Po2R9FYNuzkw5IqxhKUmer1bxuGReTlrRPnEdWgAJkZtP6Y6ACQ==","signatures":[{"sig":"MEUCIQDETj/enZc9YjMf9rO3MeQXlUS/X9eMxqOtKVEF9mxQsQIgQGhNZe1IqsXbZAAm6ZKq2NPRewV8/Mv1Mtwup8wd0Ro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv/DxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUPA/5AdJULaoXo5lpryTDpYYY2uwwt6uWO8ldtMAnWSlEeUfZxB9F\r\njmBdl4pd/ct36g3oUYaZId0rnM/lN0SfgP5MqBSPX0lk8DQY2lppSRQ3ZrdX\r\ncdxl8QYJaMmLPtEVQ2NgkXQ1YDTr7o76tiOvOlmQy6MZP8nV/NH/wx8A61RX\r\nL3YN3hyvXBpdlvowOtDRAGPnt63/bB/nKGwFckaWKTwerY4szN+qYadN15O8\r\nqHmZuC1eXwFgnkVopJ5Qil0Sv4B8/gUd+F8XpnMukQSW1X20xq0I+jppyVX1\r\n0wQDqJms+PwoDzepWOWf0oFEoEFgJoTrRxis03uLhhEC8ojEV0dO4vKhcSKE\r\nxrmfB0lEH5VshLfcQDveQxDiK8zhEv5wE94iMREZp5UAXDnW4YyoB4RiJHCd\r\n2JQGR/FMwfQ/AVhfJb7QYPt4QDBROOCNNTcGxQvIZRr8J50ElFrctMHullkR\r\ndM6UuJcNTtKTaLm8ARShsvuPMQ14RzSuPcdueTSAcQ9pK7XqCJkxuHIDxOQe\r\n9PNO5mpu2MRo+da+Mg9jPkgPEWCcMj1qF6tCt5FRN70N3Zofp5kU8o1l9hqZ\r\nMLV41uoqpt6+TphYp87OEM5faw+YkNAU4WzZ+6CZO5OGKnqFgU0/CABKIZvD\r\nqc3XVZBdnZegE3J8RhJWVOoOazOVW+2xJ5g=\r\n=F0Qc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230112113621.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/da479ea5088fcf28fb7da1ca62998413/chakra-ui-descendant-0.0.0-dev-20230112113621.tgz","_integrity":"sha512-eSGBPFOtYO5B3vbAuDkSwbtzA3QWOpJ0+Y6Po2R9FYNuzkw5IqxhKUmer1bxuGReTlrRPnEdWgAJkZtP6Y6ACQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.2","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.18.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230112113621","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230112113621"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20230112113621","@chakra-ui/system":"0.0.0-dev-20230112113621"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230112113621_1673523441598_0.28376289428172896","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230112141201":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230112141201","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230112141201","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"71a7543e5897f99b66ebd0fcf3233283ce8929ac","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230112141201.tgz","fileCount":18,"integrity":"sha512-r7aU9mxg9d5EVS0P6rUJ4dXEqJSvqr12ZRoaQfkAVqvJYllLMMW/JCOmp3tVL3BtmxSCHc1SmwMKYLQrhEKutg==","signatures":[{"sig":"MEYCIQDz4sPD+LD6pQd1YGlVZmHhv1Ucz3JbWVqu+uevjJgHewIhAJtHhNR+oOgmu24puemhWJn4q2WFaGGfDxVlD6du1Qk2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwBWAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRfQ//WQF+Ipe2CJuicoWxkX5XipxygU7DYkCOSYyyWF0Y4F7Bkp6C\r\naY+OdaSdfFmDWiAynosWU1w8fiaTq5yozeDvUlKYW1m8lqqu6rQVVyYJ/kZm\r\nawwhr27duCsHe2ie20xgpsqg+uAqu4MEoS+jymj3yrhi3uKAvh7M2R7GKasn\r\nkWe4G7mNBzOmsXbgd62qV+tzj+6hAm1+Lyx7dqjlm3eYkH0eqPpmKQy8c3JI\r\nuk1DK/5qgj6FkQMmH90CriazWEGJsxyOqhLRKkuUHGBMf20CCP66gqBNPyq5\r\n7X51c+RVI2QshAnKyYP23/exBUPmJ9rqM++GzU593YnGxacyK+AMF2Vq4fqR\r\nOBPaSOoKdZ1zxLm4xgfiIYvPIL7TqCeyg36ID8p7p/Q35JG8jZJ4g5pIFsde\r\naQkbNyAGpj4VY2tO8Wgc8Swhn32c1XzUiblzi8rcAChje5JSMu0Jk2ToQ0Gn\r\nE5e/938TrSJ3UjJhw5UHa4VRHgAlPykmqBNbv2AcZspesREZCrx7x8ojUBNP\r\nte10RzvAAxFBCvApQuApFadfPvo1ADso8YUE2+ArgJfBnoOHLnnvUd/Ny/TO\r\nv3U/x63nPqykVnttw5f+v5eStyTqPk0xx0zf3CXbHbo1XN9uAIgXeOJ7kD++\r\nXLEriwW7Ehvg9+1THhN2mO8Zq46ldoc7j44=\r\n=rkX5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230112141201.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/ca03592fe93d0429ea5ed6140dffd37c/chakra-ui-descendant-0.0.0-dev-20230112141201.tgz","_integrity":"sha512-r7aU9mxg9d5EVS0P6rUJ4dXEqJSvqr12ZRoaQfkAVqvJYllLMMW/JCOmp3tVL3BtmxSCHc1SmwMKYLQrhEKutg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230112141201","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230112141201"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20230112141201","@chakra-ui/system":"0.0.0-dev-20230112141201"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230112141201_1673532800764_0.40513587651016403","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230112143332":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230112143332","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230112143332","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"68fbc6d4566b5e705c5da9f0c91ffdb663c36ae3","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230112143332.tgz","fileCount":18,"integrity":"sha512-4ugm0bwjIgyhuIKCgP0YuohYAuP5v9RzQXcedD37dboida+ghQugvnzloYG/G7WI8xXEm2vmAsC0u+TDUTiSFA==","signatures":[{"sig":"MEUCIFsHdi8jcZJ/BXGWBWKCYbl/UV3kqYHo3NHbxUvTmIJVAiEA32QDU4kgeRGrUKHwbSA/BMqUcyUC0hrSPracZOTeXWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwBqBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/xw//SVwdEdnxX8gNKhnOD2LNeduGm3CYiYMDiBtLME9DE+BTD2i6\r\n/irSHmp11J4Pa5C+PK8beTqyNNk8taDdIgl54tk3yo7OPOHk5dehHNmAHg2C\r\n/a8hmCPUCBN8TcuN4oAClu2TXRxgaTW97r3oH0HXQS1NXEOse9a0s0Dc8eL/\r\nVvYdDMV+3VAO9k1CCcYrpoPI1PDP0Icos+Fj6wngb788O/DX2h4P80z3HUn8\r\nR9gTD0BknGwh00vepaZevAd+wC8m/hoOfnQUcH29exg/9aHIOe0MV1zwtVBR\r\ndAQ4g9umboejtwpxdWjL9eICj1gwIwGRxBKDZij7VxiYvuQLXAYDDVxYxtts\r\n0ajNoT5DqufGi/84IXIA4u1heRhF+bobzExLovWz8C0aBdpRV8XB5sZZBmjH\r\npTKKxSRopDWXXr+Alat2eg+2o+IDgzVzsxqcadlTEkQ1ziyW6LF80KFk6Wo8\r\neD9eHGCYXs4BNTsyDKpgCaIlBdclLR/C3DHHc5axyIpgaMVRiIML4Q3y1rn8\r\nmgt5xZUQuzcY2Z9s80RWEehDy27MJAOazJhZ5wUZHEqSUmg6nuz6HzDsYCUq\r\ncjVGrU+DvH+32KAv2J3tmPteTthrPGzaYANYHn0J8PZXhLG0XpR/GDmxG0+w\r\nGdUy0KXznwnNjlqUYbuF75PalIRKo2LVzsM=\r\n=IVK4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230112143332.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/abe5c4b66f615f148ac1dcd49233b840/chakra-ui-descendant-0.0.0-dev-20230112143332.tgz","_integrity":"sha512-4ugm0bwjIgyhuIKCgP0YuohYAuP5v9RzQXcedD37dboida+ghQugvnzloYG/G7WI8xXEm2vmAsC0u+TDUTiSFA==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230112143332","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230112143332"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20230112143332","@chakra-ui/system":"0.0.0-dev-20230112143332"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230112143332_1673534081565_0.6252838378619525","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230112145104":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230112145104","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230112145104","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"ea3118bdeed3f3598aa8cf39aeb183837c2ecbf2","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230112145104.tgz","fileCount":18,"integrity":"sha512-GFlUjK97hMrtArAWc+i5CQznItBp4CPeYx+NsNFuKFsYE0AwoM62yg0UZQEIm1NPb6hb0ZEdd9AkzdKgZwBkgw==","signatures":[{"sig":"MEYCIQCtmDRghAEGr2sJ9Uz+zmwK2+2Y7yVWCQid9AFxbaPv/wIhALMNO7fxsc1tXc0Kg2NDXjRDX8xs61v9oMmdJk3j3OK6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwB6PACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6wQ//dlRM0wONyVu0X8O4D6sd8sJjuhhbCmQOeVGkKSUxoWjW9SJf\r\npS6JxrCW+t1q1vVQrVw9Z+lB1HIrlIvq3e+pCpU9wnIbpBdbzxDfpkzany6f\r\norPkygrcCkqG+t+1pwrm2V2wVdy3RhcADuYkeK8wYU3pCcJwWV3z0OLl9+IQ\r\nyZL9mDW0b3APm24o7iqTEEwSkG9ShP1O3Or1p/6Z8Acdv+DdEVut9eywImD9\r\nV0gJwkKEC8FTcuXG/MvZr1dtwYQDSpSJutsF/ntqrtzxIhPE8L4iAhQIL8iJ\r\ncLIujclbFX+wLbg9QxNr1K0MoXpQiChTip388+UZ3PyplJ3+RMGUHkaJPoH3\r\nvZapWawirJgrTEqnMNKL0annmkwbB5YoETl6iMbJChi7XsK8Bveclz4cBwI7\r\n7wYIfb+2UcpZwwvw+5oSJkpZ6NnZ/ianb0EM/n5KRwyqJyHN8UqlUavZNOhH\r\nqc+Njw5xme1POJg7/sM/yQOqMEKNW7qeAFfWXcJYD3+esICswkkArIERKJl4\r\nxfQwCRjVi72Vj7plbC3nULNYVR/XyAg0ZlPyIAmm5efN8fAwhn6yspc84431\r\nhvJ8wZBL2xCeF55LUfEYwTTJvYdiFjOlXTaiPqSUTimdw4yahlbYL+bL0dwI\r\nX7ZyD1wybw+BDYxFTHhon2CXPQXv5TM7FEI=\r\n=Pkwh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230112145104.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/5e4e8e8681b7de1df2aeb7bbba99a65f/chakra-ui-descendant-0.0.0-dev-20230112145104.tgz","_integrity":"sha512-GFlUjK97hMrtArAWc+i5CQznItBp4CPeYx+NsNFuKFsYE0AwoM62yg0UZQEIm1NPb6hb0ZEdd9AkzdKgZwBkgw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230112145104","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230112145104"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20230112145104","@chakra-ui/system":"0.0.0-dev-20230112145104"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230112145104_1673535119148_0.9514814382929426","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230112152756":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230112152756","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230112152756","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"3e82792ce93b405c89d274525094c0079865f7dd","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230112152756.tgz","fileCount":18,"integrity":"sha512-qddmrIEqznpxfu8GgRE9qouEqePlDiBiKJILlyLozof6Z3UFlwBMlabD5nxqL1Ozv+ceQvgDPGIhnABYQ+JNFQ==","signatures":[{"sig":"MEQCIA1cwZzIvxgVL+Jn/43fIPLnBKOv/lJopYukrovs9jFYAiBPR+goRZMK6LjBDo4TFuyQJiGrErc3NXdOUaN/WjsqGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwCc8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqasw//fzQKdheaMx4eJ7PElP5srIubpMaVg52nxwu8Nq6zcSzZo5Dm\r\ns1T/PVpqbNG0RY5oFr/VfaBlQYUFFDESgZ8109c03Lds+WXsIS8R9HG42LJZ\r\nxX8WHQMn3vLYujq9ikUQNAkDAe2lX08+rMvKbtv3BgRFaa7/9ZOtaABF9lHp\r\n34AKVXpDYym66Lavi7nVSwF3gxZFMFCtl/QQ+E7w6IoJsnbIacyl4xFghrmj\r\nZ91BuQhDXLu/TedatseTfvEwbLRzKaOT3UC0kPF6Ut0lD3Ii32/82C4haGga\r\nVQCly7f5MMQ7edKmcnU6Par8VGiSAuTa8z7D4k2s+8ew7hGjWxvTFTPow+98\r\nLDaIJxdBsBugnz3ozRa71EiKgasYTzB4VrQeoC6Ix55S04iNJR2tKNhIcKVg\r\neUi57YRL4omzPrtRLCddfOnkCDIlbC8fzFyMZREEvUdzkTrKnJoUKFLU2UJz\r\nxXgw+EIAQHhUXV+RlatiUZo6wfxaaXUI72bzC/ml3iaXevFnVmclNemCfZIY\r\nWssdv6kwZJhkhnA4NYIREHhl2iPXXT4x1fA6k7O0aAWAdzd3t3qqLgFLH63m\r\n4YVnm3K+ZfOoiu2jnnhVOcu11701x3Eyyi2yjoBMSDqQHK2oPERgpEGgfbiQ\r\nxBA7QO6+SySN33b5sVEdpTtimvggvDk2UjQ=\r\n=MdXF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230112152756.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/bc00b8679ceb37a10981cd4946614278/chakra-ui-descendant-0.0.0-dev-20230112152756.tgz","_integrity":"sha512-qddmrIEqznpxfu8GgRE9qouEqePlDiBiKJILlyLozof6Z3UFlwBMlabD5nxqL1Ozv+ceQvgDPGIhnABYQ+JNFQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230112152756","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230112152756"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20230112152756","@chakra-ui/system":"0.0.0-dev-20230112152756"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230112152756_1673537339968_0.5909053134701445","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230112154520":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230112154520","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230112154520","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"a1676e177fb09ed6e231799d4a8bb24b0f9429e9","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230112154520.tgz","fileCount":18,"integrity":"sha512-4g7weQ3WOJZWR6Pj+XWFVuVBoBp/BT19snzpavUI13UlwTd4b2koW5oj7kdyvjJ1Fz1iDIOUucOL/eK5YNCoLw==","signatures":[{"sig":"MEUCIQChZ/st1CL4uULFYPLUPrKB4Yn4iUBHMjJrub+xOWiZHAIgVUc3jM3Hy1XYWywLqvU5rLav89Jmz9j3Oyi0gFoyBwg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43933,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwCtJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpB3A/+NvKYWJOEPsiBUuwH8EOzAUm/RfkAFUD7nhoOQHjeDJCETSnD\r\nZvaN0EQZlPdMvgy9x2y7VyusbE92YtW6oB3ZedeVW6IKQ8sz8eqlwGFxLoZU\r\nnhavks5CgrQuSJUj3uFz254KQaU0Q4jhi5ESkmwU9dM04hnnubsxhEayFnuc\r\nB25/WHIRVKmMo9LxVUHhL5/HobCk0I67y+ZEeWt/78cGnQz5JWjVRle5n+5S\r\nY86rKccWJ7L88vDKCYeruSqusTFBGbw2nt5gCrA///tdwI1qvogay7BlUJwL\r\n4QQh3CP6GVQ51KZL/0RquBsCbwywR4HNzTEfcngjQ7XAppWjxl9gd4M8HI+2\r\noRk9E2LSEGaIQZyRpestI7f3mq60RPpb2MCSzj2Qc5tCcTnf+uPPHMHZQ0AC\r\nxYm656rW2qgHopy5Hz7JDrFOiB0lW0vAaKEehRvF1rK9sDijgW/90Ukyk7Ox\r\n764BZ4J1MCEOleEWySB8bynHeU3kei0/KuvQj70hbc+Y86V52rS76jVlXd2w\r\nNwkuX+KorVeoDJUbJ+dvCVcEb3WFGwBEEShZfxwhBUAR45ZddjHl0r5s2q6s\r\nK6LsfJxqJmfU2sBfgII19due/gMP8DVEn2jsoVsNlibR/82VCgF/9jtj549W\r\ngGCbrAi3KMy2P5PL2vl7dH6Af9lP/4f/eB0=\r\n=1NBH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230112154520.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/c9346dab21dfed0885c5c409746689ca/chakra-ui-descendant-0.0.0-dev-20230112154520.tgz","_integrity":"sha512-4g7weQ3WOJZWR6Pj+XWFVuVBoBp/BT19snzpavUI13UlwTd4b2koW5oj7kdyvjJ1Fz1iDIOUucOL/eK5YNCoLw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230112154520","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230112154520"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"0.0.0-dev-20230112154520","@chakra-ui/system":"0.0.0-dev-20230112154520"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230112154520_1673538377672_0.8368995636134007","host":"s3://npm-registry-packages"}},"3.0.13":{"name":"@chakra-ui/descendant","version":"3.0.13","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.13","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"e883a2233ee07fe1ae6c014567824c0f79df11cf","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.13.tgz","fileCount":18,"integrity":"sha512-9nzxZVxUSMc4xPL5fSaRkEOQjDQWUGjGvrZI7VzWk9eq63cojOtIxtWMSW383G9148PzWJjJYt30Eud5tdZzlg==","signatures":[{"sig":"MEYCIQDj06A4/yxvPZ2HJsL/CvhXbDj+XO9EA+g760DeHmjxvQIhAPcRxbl7SLCqnWGlckiUJnSigkjgDZgAdTl53zXhw5Z8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwC/aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpV+Q//VFcAUe4Gf3+cow7PWsuYAYOs5hN0P/HKsqaus5actgaHMC1u\r\nA+E7KekDk0r6glkDLPJUDY6DfsoVkYqQ53fuSapTuwQuG1PkuqYQEAgaPmOw\r\nD7dGNvJhHbI2n4K2rOExI/tsvaWXKtF5wlZOsNqW8r9Ee7bq7bxguBNLalFH\r\nDJiV1abW2DNliG6NEMKv7UXisf1jOhbeE94sD9mnIgScmnHzzRPDA0DQ0vit\r\nOuRbyhJ7Q4wMXiTGE8YMDJvB2zTn7kCUHXPr6rFFxOtuaYc3BVIfcbBouL7h\r\nuYiRYI9Q5RkASnG0/Ob84IfxAeSJlP74dYR0zsmuguRSg4lHyEo9RKNFDsX6\r\n/5w/GkRcYE99M+ICUkw9lwdiZC74zgMYiO1H5mqoRReJ30mpWjnrpHz7vYpb\r\nyGRTlOIsni+JrrPVv0F6Z5d8zki7DCHZwHYmUuv6IAzM1KXdKUA5N6R/kJ4L\r\nXgNSxKHht0QzdfLtsmI1wRSmA68rRBAtrX8oiYSKdDz5yaUViwJxlQyidK06\r\nVCI3MOafxszopx25Nd/b4S3HJH0E8Wlimq+c4uP3AR3cBFg6Ua5wMDQQBYrQ\r\nMEgmAODAGcQg0PAu7nfLe4VcdoH4q3AbVpwOxWfu3GuWsM4YVxs/R0WDP/kI\r\ncRYF2GHaPqRezj5FYwl82ZHLDXonedFF7mQ=\r\n=bgcO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-3.0.13.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/24152c870c74fc314add24d7203d20bc/chakra-ui-descendant-3.0.13.tgz","_integrity":"sha512-9nzxZVxUSMc4xPL5fSaRkEOQjDQWUGjGvrZI7VzWk9eq63cojOtIxtWMSW383G9148PzWJjJYt30Eud5tdZzlg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.0","dependencies":{"@chakra-ui/react-context":"2.0.7","@chakra-ui/react-use-merge-refs":"2.0.7"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.1.1","@chakra-ui/hooks":"2.1.5","@chakra-ui/system":"2.4.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.13_1673539546166_0.4225113331110395","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230320183136":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230320183136","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230320183136","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"971a603796662d32f1302b74e66970ed426cf3a0","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230320183136.tgz","fileCount":18,"integrity":"sha512-pr+G6nV40XL2mDUDMwFxmmAVwC870T1hwGch9PYB30WwT0lOFi30Y0tnRMP7//M80Ex5UXauxiC8ZirT2plqCQ==","signatures":[{"sig":"MEUCIGMpfimA+N3gwNNuZCul7hjPwuWP8A/1J8JUU3AbMVtXAiEAuNZLNm1tpRTiVBtT2R20hKRMGRB69sI//LLcTWWEojA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGKa8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqicw/7Bv62xiuusRODfQWZqFYk2IbjAQhzGHiT14yxSuouR+tsI54N\r\nRGq3nfZXUW3JQwi4ANJ1O2YG/KYyAYfuV2BoXu2yHz4MWKLhB6zykyc1Szl0\r\nwJunztbAVkWkW6fJgdg9LVOJugczBe2Yt2L2JBq89vMbuYMz3R11O2LpwzO+\r\nLsRp7zcfmhD1SDHh6WVhR1aQ/iFA4bPwwnxPfasdgh34RjhxMT+0+p6iE6TR\r\nsF8A3/GBokI0IwmcNcJ4KrMwvHs+387yqY8w/f9jRFDuMBml1BckYo2d2rYR\r\njxfZ6tl/8hLaWxj4l7YKQsITpn6vaZ5BBzK9CRIWfhYjAOfVevrk8yhIIy4/\r\nQ6Ne1VozcsD5sy7o8SuCo2UCYTmARp+HIyB79Ao6G3QbnzFnVDBAlSQfTsQV\r\nzrgLcIA/9sROu+8wqcsdPh2u4vim9alv9nuShcUZ7FsIzY24V7Byl199pqbS\r\n0gSe19kClhVIRzPl4tNdhyKcw9xwBw+0DT/hVq0kIKhbvY9tKMkMUyvKMe2k\r\nKKba3gvWWxpAWwvJhlzxMkeJPErwEHo44KjvoC66Z0MlhIhZ+JW0FodLbdhu\r\nCFoCORTq7pWSykByj6MzglM9DcmLJ51ugdcQxLKHm90sdfbJplnb/G3aKbNp\r\n4uFkCf2tiacTi8jdH4HW2KroAsUpwqKu93s=\r\n=9weB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230320183136.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/2c29f5e27141212002b17a65637cc36f/chakra-ui-descendant-0.0.0-dev-20230320183136.tgz","_integrity":"sha512-pr+G6nV40XL2mDUDMwFxmmAVwC870T1hwGch9PYB30WwT0lOFi30Y0tnRMP7//M80Ex5UXauxiC8ZirT2plqCQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230320183136","@chakra-ui/react-use-merge-refs":"2.0.7"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.1.6","@chakra-ui/system":"0.0.0-dev-20230320183136"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230320183136_1679337147901_0.946479892897917","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230320184810":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230320184810","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230320184810","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"3ccb3943a9683df73625f33526e8a2bedcd4e3e7","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230320184810.tgz","fileCount":18,"integrity":"sha512-ZPCTQxKhLKUWj8nKHhfcsA2AlNfPzv7fnfRo96rqE7jqBHb4yvLrWFwqhw1EMZeR+ltaYIHY/LumWroZkiqPJw==","signatures":[{"sig":"MEQCIFWbNfMHm+qWxY6uzu3OKdSPpR+/spQpawQuiikuFnhhAiBJajcruzmnllwcsBsA2s/AXRG0DQBOuY0EYetLGxz6dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGKqVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5KhAAmLlmsv8c2zei/SM5SRm2+yZ8/pJ/b8Hvj9tF7s9CgI3XQ6kg\r\n1wslgz4HlTkuyAPZgnOZN/LmHo1Pkfc9l6iF8TefLE5Omjj6VNulB7hMyCPm\r\nsrK9x/3ZcPli2mDTNenRky5cduYT14FbaQRfFjAtrWFLbVnEGVKXu8xu6guH\r\nH0vbwOgAjzhqU7mUYyCE/fkTr+UAuei8zj9MMALsMXcmDRwfHP4FautZQhde\r\nE3QzPqvhPLKCZcyBqUe/hFbb2zrxd4z/d6uXbHFigtPPxsPFjfFsNI4/Xmu0\r\nTHkL3vYg8F3F1G7jdDQXEvE1rax1J2oAK8GDwRVv348Sfjv50vjn1enaA1Wq\r\nIfUjOQnj1w13R6w8SeG7Yrj2Fz6fWW0kyTPlPZXV2rNQpaLpKhfoa7HzTI8P\r\nn6YmFudFX5Op8bgpNpwTrHzyB959Mmsfy3FEJ0B8cTaw44BM1HD0xIdy53N+\r\nP015CM49ehkHKCowOkeWtsfm1eJNoMCO65RvWgfv4h6EgMHwvV3jYvX6Pjmi\r\nopGIv+qaDbgu343Kehmv6/J+fBxiOleHPvNubN6qfuaDUSnf3pyFLecMOD4E\r\nOPXG4ae1CVEVIn0F3SK80X3VFw0mHD0i522Mt7y9EYuzyVjRrCJfNVChMphy\r\nzn6ENRset+Y2bBEDXySw6RU9yD0koUahqts=\r\n=6Jmf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-0.0.0-dev-20230320184810.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/e0d781c873ca0fab5e3064f31ebff0e7/chakra-ui-descendant-0.0.0-dev-20230320184810.tgz","_integrity":"sha512-ZPCTQxKhLKUWj8nKHhfcsA2AlNfPzv7fnfRo96rqE7jqBHb4yvLrWFwqhw1EMZeR+ltaYIHY/LumWroZkiqPJw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230320184810","@chakra-ui/react-use-merge-refs":"2.0.7"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.1.6","@chakra-ui/system":"0.0.0-dev-20230320184810"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230320184810_1679338132876_0.5129924046623222","host":"s3://npm-registry-packages"}},"3.0.14":{"name":"@chakra-ui/descendant","version":"3.0.14","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.0.14","maintainers":[{"name":"timkolberger","email":"tim@kolberger.eu"},{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"jbakebwa@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"fe8bac3f0e1ffe562e3e73eac393dbf222d57e13","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.14.tgz","fileCount":18,"integrity":"sha512-+Ahvp9H4HMpfScIv9w1vaecGz7qWAaK1YFHHolz/SIsGLaLGlbdp+5UNabQC7L6TUnzzJDQDxzwif78rTD7ang==","signatures":[{"sig":"MEUCIQC0CDpLrB81B88ENydnOHPuuePjyOdn6hMwRR+HeJoPaAIgeyOrltw4ADH+yE3Rp2cWulRj6mOXeCHqFy14AJUU4fc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHCccACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmresQ//U5ZjlRqK4rtW4bcBp1HsJc7yzD+H5N2NZgISzfCoTqOGj7E2\r\nm6g1vGLlBBLEl/hlgqdJvsY4l0fz/hHq/7wQmBa9ffNMIfrQ0nlCjMJul9np\r\nwPx2HH5m2mzsdEObCKtumftCWqWmnkt6wHwtsuIx71dN3nZqfnyYzBOS3g2n\r\nZdeUcN5v/jx1t018km55RL/QPJNNd4sduTldRDYy13uToQNEoZxvYx1rFlpo\r\nZNIoplii0ltiSYOLDDEQJP7z+49PIPAwrIiUyQOPcRIbkMWeOmcnQwfxCsqo\r\nsNbA2IAaoREeiQWb96FbfUc6hDgfWqrIv6wna2W+1D++0Ix1hHolVjMhTATx\r\nJCoGQk0dPIL1I95owZghM89zaGrJCBpUk2X0HB3/mAO5KSTtiUKReBcMVjhO\r\n2ew9rGoKq++Uy+WfOzCZOnS6DRz7IMRAAVM8CLmfyo2sOU1IMW0PRfsB3B6/\r\n7RbYgcB7hym0c+pdOZStCTBxFXHvF5V3/e9/p5kjzNtzm8MfvKRnNdTkmOxQ\r\nweVaJ93ia6S10GAcV21Vt9Pdl96LAw4xyXdMWj1Zu26WW/FDbqARPqOWZCzI\r\n8CP2hdC0BCQrwVoymAUl56QLN4KeW5JN8+kz47t3basyTqS4DmN4f9n2BvWO\r\nrfV9Mt2LE5Rcvtotpm5lVGhzP06vfMDL86Y=\r\n=d9+d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","tsup":{"clean":true,"format":["cjs","esm"],"target":"es2019"},"_from":"file:chakra-ui-descendant-3.0.14.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/768441efe1f66137c93d3386ed10b5c2/chakra-ui-descendant-3.0.14.tgz","_integrity":"sha512-+Ahvp9H4HMpfScIv9w1vaecGz7qWAaK1YFHHolz/SIsGLaLGlbdp+5UNabQC7L6TUnzzJDQDxzwif78rTD7ang==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"8.19.3","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"16.19.1","dependencies":{"@chakra-ui/react-context":"2.0.8","@chakra-ui/react-use-merge-refs":"2.0.7"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.1.6","@chakra-ui/system":"2.5.3"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.0.14_1679566620313_0.31975211005782844","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230718122336":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230718122336","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230718122336","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"codebender828@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"0ebc5d05a9b8703a2552393139c71421a9dc2d7d","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230718122336.tgz","fileCount":29,"integrity":"sha512-x0UnaLKaJX7FvvCMazvoG7zUQo7pCs/v27eHj+YSeDk51WCnMKpAK3BEHKCg9VUM+xWgnLfYCJATKnhaTPbugg==","signatures":[{"sig":"MEUCIQD4M+sZwynUrvusvBqyev7y2yAaQjTc5gEOpoX3hbdOdQIgYxk12PXhb6VkEcAepdPYmQCRoQzqc09bHGTXCICmWAE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99564},"main":"dist/index.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20230718122336.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/4f19e96fb95d8670a4edea96c5f62859/chakra-ui-descendant-0.0.0-dev-20230718122336.tgz","_integrity":"sha512-x0UnaLKaJX7FvvCMazvoG7zUQo7pCs/v27eHj+YSeDk51WCnMKpAK3BEHKCg9VUM+xWgnLfYCJATKnhaTPbugg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"9.5.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230718122336","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230718122336"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.2.0","@chakra-ui/system":"0.0.0-dev-20230718122336"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230718122336_1689683102859_0.912557988720508","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230718124717":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230718124717","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230718124717","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"codebender828@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"56e1950cdbdf10f844c5f23dd9e6738d5dd89160","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230718124717.tgz","fileCount":29,"integrity":"sha512-1s8szvZIo7e77VqAdQSKRZTVidODA6vQjoyVRYUQfizahJTM/kMjIN1Y7S2lSztIk17FgdY2NJ/5uvAlQb8jiw==","signatures":[{"sig":"MEYCIQDTRuxquYVpw1x3cWcV3FrjkbcS8gZvLHvKLKymiuUmPwIhAJ+Q2S1zDtlAnsn0jBRmF7JQJKgni8QgLJgBj/BsrNcs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99564},"main":"dist/index.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20230718124717.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/74dd3f1687237d05af30c0e57c7013e2/chakra-ui-descendant-0.0.0-dev-20230718124717.tgz","_integrity":"sha512-1s8szvZIo7e77VqAdQSKRZTVidODA6vQjoyVRYUQfizahJTM/kMjIN1Y7S2lSztIk17FgdY2NJ/5uvAlQb8jiw==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"9.5.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230718124717","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230718124717"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.2.0","@chakra-ui/system":"0.0.0-dev-20230718124717"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230718124717_1689684523673_0.519673872488785","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230718130742":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230718130742","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230718130742","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"codebender828@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"4cfcb63cd82dc36b73f3c889aa3c1d7286a65a3e","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230718130742.tgz","fileCount":29,"integrity":"sha512-LPQW+iC0cj5hbvHB4kFB9JIHqAP0RvdC+Ixr1BtcHTzJ5Tn6eF8c2XXcC+bfvrFi9opLzmsoeLSOoGhBftnMaQ==","signatures":[{"sig":"MEQCIDZPPbrh8oY5OVMiAmZeWbNVGU4CUZ8IDFfxNWJkz5WaAiAUgACcBqmYP+reBZqUmmlaJe9sdLmlG7uswwtbwo4EZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99564},"main":"dist/index.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20230718130742.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/ef3668858e8acaefeb85ca716f33691e/chakra-ui-descendant-0.0.0-dev-20230718130742.tgz","_integrity":"sha512-LPQW+iC0cj5hbvHB4kFB9JIHqAP0RvdC+Ixr1BtcHTzJ5Tn6eF8c2XXcC+bfvrFi9opLzmsoeLSOoGhBftnMaQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"9.5.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230718130742","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230718130742"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.2.0","@chakra-ui/system":"0.0.0-dev-20230718130742"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230718130742_1689685731431_0.9674726070385065","host":"s3://npm-registry-packages"}},"0.0.0-dev-20230718132637":{"name":"@chakra-ui/descendant","version":"0.0.0-dev-20230718132637","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@0.0.0-dev-20230718132637","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"codebender828@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"7eb287347bf21d47a3410d880e15cb74f9dbc157","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-0.0.0-dev-20230718132637.tgz","fileCount":29,"integrity":"sha512-hvJnMdGfc46Kvy1oQKo3DJMCHIAnzBYT+dQ96P6++UtuHiffMEAQ69ZDaeVAaeclAmayvuaJCQaQZJ/AUC9yAg==","signatures":[{"sig":"MEYCIQDMboVBnICVA/pJA4VW8HRX79eCZxvvzyX/3DRWvxRV8QIhAId0khzrqrXCv3su5RLNgXUmwY4GiOe++plarX7IdqvY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99564},"main":"dist/index.js","_from":"file:chakra-ui-descendant-0.0.0-dev-20230718132637.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/7251f8a72db9188e548f63cea08f00ad/chakra-ui-descendant-0.0.0-dev-20230718132637.tgz","_integrity":"sha512-hvJnMdGfc46Kvy1oQKo3DJMCHIAnzBYT+dQ96P6++UtuHiffMEAQ69ZDaeVAaeclAmayvuaJCQaQZJ/AUC9yAg==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"9.5.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"@chakra-ui/react-context":"0.0.0-dev-20230718132637","@chakra-ui/react-use-merge-refs":"0.0.0-dev-20230718132637"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.2.0","@chakra-ui/system":"0.0.0-dev-20230718132637"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_0.0.0-dev-20230718132637_1689686875022_0.7827564377995082","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@chakra-ui/descendant","version":"3.1.0","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","_id":"@chakra-ui/descendant@3.1.0","maintainers":[{"name":"segunadebayo","email":"joseshegs@gmail.com"},{"name":"_codebender828","email":"codebender828@gmail.com"}],"homepage":"https://github.com/chakra-ui/chakra-ui#readme","bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"dist":{"shasum":"f3b80ed13ffc4bf1d615b3ed5541bd0905375cca","tarball":"https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.1.0.tgz","fileCount":29,"integrity":"sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==","signatures":[{"sig":"MEQCIHCv1cOdQh2lQINC0ZRLK/RpX6ffv9BnEIcQodaPdS4pAiBxGgwr/7wXxZbFDnifWf+Dt/mAZWXAEOfdoxYKcgb9Dg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99488},"main":"dist/index.js","_from":"file:chakra-ui-descendant-3.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"pnpm build:fast -- --watch","build":"tsup src --dts","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit","build:fast":"tsup src"},"_npmUser":{"name":"segunadebayo","email":"joseshegs@gmail.com"},"_resolved":"/tmp/59e832051a2568081c36cdf6bd51ffd8/chakra-ui-descendant-3.1.0.tgz","_integrity":"sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==","repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"_npmVersion":"9.5.1","description":"Register child nodes of a react element for better accessibility","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"@chakra-ui/react-context":"2.1.0","@chakra-ui/react-use-merge-refs":"2.1.0"},"clean-package":"../../../clean-package.config.json","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.0.0","clean-package":"2.2.0","@chakra-ui/hooks":"2.2.0","@chakra-ui/system":"2.6.0"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/descendant_3.1.0_1689721244037_0.22038903530788523","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-06-20T20:43:06.229Z","modified":"2025-08-25T12:24:35.536Z","1.0.0-next.0":"2020-06-20T20:43:06.650Z","1.0.0-next.1":"2020-06-21T09:41:23.197Z","1.0.0-next.2":"2020-06-22T15:36:14.287Z","1.0.0-next.3":"2020-06-28T16:35:39.761Z","1.0.0-next.4":"2020-07-01T17:42:20.077Z","1.0.0-next.5":"2020-07-15T10:36:55.207Z","1.0.0-next.6":"2020-07-15T15:35:12.438Z","1.0.0-next.7":"2020-07-26T12:55:31.725Z","1.0.0-rc.0":"2020-07-26T15:57:46.072Z","1.0.0-rc.1":"2020-08-06T21:14:46.325Z","1.0.0-rc.2":"2020-08-09T11:32:09.078Z","1.0.0-rc.3":"2020-08-30T15:30:18.439Z","1.0.0-rc.4":"2020-09-25T14:08:28.417Z","1.0.0-rc.5":"2020-09-27T20:27:25.101Z","1.0.0-rc.6":"2020-10-25T15:42:48.513Z","1.0.0-rc.7":"2020-10-25T21:38:38.967Z","1.0.0-rc.8":"2020-10-29T20:24:20.461Z","1.0.0":"2020-11-13T10:20:36.779Z","1.0.1":"2020-11-20T19:49:57.208Z","1.0.2":"2020-12-17T21:39:21.543Z","1.0.3":"2021-01-11T17:01:50.634Z","1.0.4":"2021-01-17T19:43:27.116Z","1.0.5":"2021-01-24T15:00:59.837Z","1.0.6":"2021-01-30T21:52:31.010Z","1.0.7":"2021-02-06T11:40:52.668Z","1.0.8":"2021-03-05T20:00:23.218Z","1.0.9":"2021-03-21T06:35:10.379Z","1.1.0":"2021-03-30T12:25:23.508Z","1.1.1":"2021-04-07T15:07:16.435Z","1.1.2":"2021-04-13T22:12:00.746Z","1.1.3":"2021-04-19T18:37:24.982Z","2.0.0":"2021-04-23T18:03:39.903Z","2.0.1":"2021-05-05T11:12:40.847Z","2.0.2-next.0":"2021-08-05T21:11:19.052Z","2.0.2-next.1":"2021-08-14T15:52:03.328Z","2.1.0":"2021-11-11T16:56:42.510Z","2.1.1":"2021-11-12T19:51:29.174Z","0.0.0-pr-202215125733":"2022-02-05T12:58:06.963Z","0.0.0-pr-202215132532":"2022-02-05T13:26:03.684Z","0.0.0-dev-20221513279":"2022-02-05T13:27:48.850Z","2.1.2":"2022-02-05T13:36:20.379Z","0.0.0-dev-202211720414":"2022-02-17T20:04:44.531Z","0.0.0-dev-2022117201925":"2022-02-17T20:19:58.442Z","0.0.0-dev-2022117203714":"2022-02-17T20:37:50.718Z","0.0.0-dev-202212083710":"2022-02-20T08:37:47.665Z","0.0.0-dev-2022120113958":"2022-02-20T11:40:32.451Z","0.0.0-dev-2022120114012":"2022-02-20T11:40:41.764Z","0.0.0-dev-2022120114225":"2022-02-20T11:42:59.809Z","0.0.0-dev-2022120123118":"2022-02-20T12:31:54.250Z","2.1.3":"2022-02-20T12:41:00.582Z","3.0.0-next.0":"2022-04-15T15:22:14.351Z","3.0.0-next.1":"2022-04-22T06:05:25.294Z","3.0.0-next.2":"2022-05-09T08:41:05.026Z","3.0.0":"2022-05-12T17:52:12.670Z","0.0.0-dev-2022418165624":"2022-05-18T16:56:46.021Z","0.0.0-dev-2022418173331":"2022-05-18T17:33:53.970Z","0.0.0-dev-2022419101754":"2022-05-19T10:18:23.397Z","0.0.0-dev-2022419173934":"2022-05-19T17:39:58.677Z","0.0.0-dev-2022419174740":"2022-05-19T17:48:06.266Z","0.0.0-dev-20224205231":"2022-05-20T05:23:32.418Z","0.0.0-dev-2022421153722":"2022-05-21T15:37:51.188Z","0.0.0-dev-202242121518":"2022-05-21T21:05:47.344Z","3.0.1":"2022-05-22T05:41:26.676Z","0.0.0-dev-202256192154":"2022-06-06T19:22:29.973Z","3.0.2":"2022-06-06T20:41:31.555Z","0.0.0-dev-2022511155212":"2022-06-11T15:52:43.049Z","0.0.0-dev-2022511155356":"2022-06-11T15:54:28.934Z","0.0.0-dev-2022511155428":"2022-06-11T15:55:02.836Z","0.0.0-dev-2022513181240":"2022-06-13T18:13:07.098Z","0.0.0-dev-2022515163532":"2022-06-15T16:36:01.544Z","0.0.0-dev-2022516122241":"2022-06-16T12:23:11.461Z","0.0.0-dev-2022516151633":"2022-06-16T15:17:01.187Z","0.0.0-dev-202251616831":"2022-06-16T16:09:05.655Z","0.0.0-dev-2022518113258":"2022-06-18T11:33:28.510Z","0.0.0-dev-2022520143145":"2022-06-20T14:32:14.892Z","0.0.0-dev-2022520163758":"2022-06-20T16:38:39.381Z","0.0.0-dev-2022520164715":"2022-06-20T16:47:44.371Z","0.0.0-dev-2022520164752":"2022-06-20T16:48:24.473Z","3.0.3":"2022-06-21T07:47:56.222Z","3.0.4":"2022-07-25T05:10:33.084Z","0.0.0-dev-20220804193103":"2022-08-04T19:32:51.828Z","0.0.0-dev-20220804193815":"2022-08-04T19:38:53.489Z","0.0.0-dev-20220804194739":"2022-08-04T19:48:37.907Z","0.0.0-dev-20220804200605":"2022-08-04T20:07:02.941Z","0.0.0-dev-20220805062318":"2022-08-05T06:24:14.890Z","3.0.5":"2022-08-05T10:13:01.823Z","0.0.0-dev-20220811084042":"2022-08-11T08:41:32.441Z","0.0.0-dev-20220811093515":"2022-08-11T09:35:59.914Z","0.0.0-dev-20220811160709":"2022-08-11T16:08:05.251Z","0.0.0-dev-20220812060931":"2022-08-12T06:10:25.662Z","0.0.0-dev-20220813051625":"2022-08-13T05:17:18.085Z","0.0.0-dev-20220813052715":"2022-08-13T05:28:12.607Z","0.0.0-dev-20220813053727":"2022-08-13T05:38:29.605Z","0.0.0-dev-20220813055957":"2022-08-13T06:00:49.722Z","0.0.0-dev-20220813063717":"2022-08-13T06:38:09.761Z","0.0.0-dev-20220813070741":"2022-08-13T07:08:32.665Z","0.0.0-dev-20220813083358":"2022-08-13T08:34:52.183Z","3.0.6":"2022-08-13T10:50:01.330Z","3.0.7":"2022-08-14T07:10:57.706Z","0.0.0-dev-20220819090547":"2022-08-19T09:06:19.500Z","0.0.0-dev-20220819092119":"2022-08-19T09:22:05.124Z","0.0.0-dev-20220819114147":"2022-08-19T11:42:25.614Z","0.0.0-dev-20220819115812":"2022-08-19T11:59:10.080Z","0.0.0-dev-20220819125800":"2022-08-19T12:58:56.185Z","0.0.0-dev-20220819132034":"2022-08-19T13:21:17.079Z","0.0.0-dev-20220819142048":"2022-08-19T14:21:36.629Z","0.0.0-dev-20220819143632":"2022-08-19T14:37:27.647Z","0.0.0-dev-20220819191103":"2022-08-19T19:11:58.464Z","0.0.0-dev-20220820120308":"2022-08-20T12:03:52.598Z","0.0.0-dev-20220820124231":"2022-08-20T12:43:40.969Z","0.0.0-dev-20220820152257":"2022-08-20T15:23:58.220Z","0.0.0-dev-20220820165925":"2022-08-20T17:00:22.554Z","0.0.0-dev-20220820172220":"2022-08-20T17:23:21.759Z","0.0.0-dev-20220820173639":"2022-08-20T17:37:36.427Z","0.0.0-dev-20220820185458":"2022-08-20T18:55:57.211Z","0.0.0-dev-20220820193723":"2022-08-20T19:38:22.022Z","0.0.0-dev-20220820195548":"2022-08-20T19:56:46.331Z","0.0.0-dev-20220822051456":"2022-08-22T05:15:57.236Z","0.0.0-dev-20220822054045":"2022-08-22T05:41:46.103Z","0.0.0-dev-20220822055339":"2022-08-22T05:54:53.363Z","0.0.0-dev-20220822103611":"2022-08-22T10:37:15.201Z","0.0.0-dev-20220822184448":"2022-08-22T18:45:59.477Z","0.0.0-dev-20220823150801":"2022-08-23T15:09:01.546Z","0.0.0-dev-20220823165602":"2022-08-23T16:57:01.005Z","0.0.0-dev-20220823192757":"2022-08-23T19:29:13.396Z","0.0.0-dev-20220823195046":"2022-08-23T19:52:10.415Z","0.0.0-dev-20220824074122":"2022-08-24T07:42:23.023Z","0.0.0-dev-20220824080240":"2022-08-24T08:03:40.559Z","0.0.0-dev-20220824082222":"2022-08-24T08:23:42.599Z","3.0.8":"2022-08-24T08:46:53.594Z","0.0.0-dev-20220826154141":"2022-08-26T15:42:19.105Z","0.0.0-dev-20220829120312":"2022-08-29T12:04:02.071Z","0.0.0-dev-20220829121234":"2022-08-29T12:13:12.782Z","0.0.0-dev-20220829143113":"2022-08-29T14:31:52.884Z","3.0.9":"2022-08-29T15:15:15.827Z","2.1.4":"2022-09-16T15:21:11.971Z","0.0.0-dev-20220920121057":"2022-09-20T12:11:49.194Z","0.0.0-dev-20220921093814":"2022-09-21T09:39:30.498Z","0.0.0-dev-20220922114557":"2022-09-22T11:46:50.999Z","0.0.0-dev-20220922115811":"2022-09-22T11:59:05.459Z","0.0.0-dev-20220926164115":"2022-09-26T16:42:27.451Z","0.0.0-dev-20220926165450":"2022-09-26T16:55:43.501Z","0.0.0-dev-20220929105632":"2022-09-29T10:57:26.361Z","0.0.0-dev-20220929132459":"2022-09-29T13:26:07.301Z","3.0.10":"2022-10-03T09:12:27.347Z","0.0.0-dev-20221107161407":"2022-11-07T16:15:10.933Z","0.0.0-dev-20221107181117":"2022-11-07T18:12:10.864Z","0.0.0-dev-20221107182607":"2022-11-07T18:27:01.494Z","0.0.0-dev-20221108071844":"2022-11-08T07:19:41.577Z","0.0.0-dev-20221108073543":"2022-11-08T07:36:47.521Z","0.0.0-dev-20221108075029":"2022-11-08T07:51:28.640Z","0.0.0-dev-20221108083411":"2022-11-08T08:34:58.613Z","0.0.0-dev-20221108090938":"2022-11-08T09:10:37.129Z","0.0.0-dev-20221108093520":"2022-11-08T09:36:29.482Z","0.0.0-dev-20221108100218":"2022-11-08T10:03:31.183Z","0.0.0-dev-20221108124603":"2022-11-08T12:46:56.623Z","3.0.11":"2022-11-14T11:53:02.112Z","0.0.0-dev-20221223180742":"2022-12-23T18:08:41.301Z","3.0.12":"2022-12-26T13:13:53.158Z","0.0.0-dev-20230111211417":"2023-01-11T21:15:16.554Z","0.0.0-dev-20230112113621":"2023-01-12T11:37:21.765Z","0.0.0-dev-20230112141201":"2023-01-12T14:13:20.962Z","0.0.0-dev-20230112143332":"2023-01-12T14:34:41.799Z","0.0.0-dev-20230112145104":"2023-01-12T14:51:59.307Z","0.0.0-dev-20230112152756":"2023-01-12T15:29:00.115Z","0.0.0-dev-20230112154520":"2023-01-12T15:46:17.867Z","3.0.13":"2023-01-12T16:05:46.347Z","0.0.0-dev-20230320183136":"2023-03-20T18:32:28.047Z","0.0.0-dev-20230320184810":"2023-03-20T18:48:53.011Z","3.0.14":"2023-03-23T10:17:00.463Z","0.0.0-dev-20230718122336":"2023-07-18T12:25:03.152Z","0.0.0-dev-20230718124717":"2023-07-18T12:48:43.816Z","0.0.0-dev-20230718130742":"2023-07-18T13:08:51.641Z","0.0.0-dev-20230718132637":"2023-07-18T13:27:55.208Z","3.1.0":"2023-07-18T23:00:44.195Z"},"bugs":{"url":"https://github.com/chakra-ui/chakra-ui/issues"},"author":{"name":"Segun Adebayo","email":"sage@adebayosegun.com"},"license":"MIT","homepage":"https://github.com/chakra-ui/chakra-ui#readme","keywords":["dom","children","accessibility","descendants","child","hooks","chakra ui","react"],"repository":{"url":"git+https://github.com/chakra-ui/chakra-ui.git","type":"git","directory":"packages/components/descendant"},"description":"Register child nodes of a react element for better accessibility","maintainers":[{"email":"joseshegs@gmail.com","name":"segunadebayo"},{"email":"npm@grizzly.codes","name":"schroetier"}],"readme":"# Descendant\n\nKeep track of descendant components and their relative indices.\n\nA descendant index solution for better accessibility support in compound\ncomponents.\n\n> **Note 🚨:** This package is primarily intended for internal use by the Chakra\n> UI library. You should not use it directly in your production projects.\n\n## Installation\n\n```sh\nyarn add @chakra-ui/descendant\n\n# or\n\nnpm i @chakra-ui/descendant\n```\n\n## Motivation\n\nDescendants observer is a utility hook for keeping track of descendant elements\nand their relative indices.\n\nIn short, this package allows each item in a list to know its relative index and\nthe parent of the list can keep track of each child, without needing to render\nin a loop and pass each component an index.\n\nThis enables component composition:\n\n```jsx\n<List>\n  <Item /> // I'm index 0\n  <Item /> // I'm index 1<div>\n    <div>\n      <Item /> // I'm arbitrarily nested, but still know that I'm index 2\n    </div>\n  </div>\n</List>\n```\n\n### Usage\n\n```jsx\nimport { createDescendantContext } from \"@chakra-ui/descendant\"\nimport * as React from \"react\"\n\nconst [\n  DescendantsProvider,\n  useDescendantsContext,\n  useDescendants,\n  useDescendant,\n] = createDescendantContext()\n\nconst MenuContext = React.createContext({})\n\nfunction Menu({ children }) {\n  // 1. Call the `useDescendants` hook\n  const descendants = useDescendants()\n\n  const [selected, setSelected] = React.useState(1)\n  const context = React.useMemo(() => ({ selected, setSelected }), [selected])\n\n  return (\n    // 2. Add the descendants context\n    <DescendantsProvider value={descendants}>\n      <MenuContext.Provider value={context}>\n        <div role=\"menu\" style={{ maxWidth: 320 }}>\n          <button\n            onClick={() => {\n              const prev = descendants.prev(selected)\n              prev.node.focus()\n              setSelected(prev.index)\n            }}\n          >\n            Prev\n          </button>\n          <button\n            onClick={() => {\n              const next = descendants.next(selected)\n              next.node.focus()\n              setSelected(next.index)\n            }}\n          >\n            Next\n          </button>\n          {children}\n        </div>\n      </MenuContext.Provider>\n    </DescendantsProvider>\n  )\n}\n\nconst MenuItem = ({ children }) => {\n  const { selected, setSelected } = React.useContext(MenuContext)\n\n  // 3. Read from descendant context\n  const { index, register } = useDescendant()\n\n  const isSelected = index === selected\n\n  return (\n    <div\n      role=\"menuitem\"\n      ref={register}\n      aria-selected={isSelected}\n      onMouseMove={() => setSelected(index)}\n      style={{ color: isSelected ? \"red\" : \"black\" }}\n    >\n      {children} - {index}\n    </div>\n  )\n}\n\nconst Example = () => {\n  const [show, setShow] = React.useState(false)\n  const [show2, setShow2] = React.useState(false)\n\n  const toggle = () => {\n    setShow(!show)\n    if (!show === true) {\n      setTimeout(() => {\n        setShow2(true)\n      }, 1000)\n    }\n  }\n\n  return (\n    <div>\n      <button onClick={toggle}>Toggle</button>\n      <Menu>\n        <MenuItem>One</MenuItem>\n        {show && <MenuItem>Two</MenuItem>}\n        <MenuItem>Three</MenuItem>\n        <MenuItem>Four</MenuItem>\n        <div>\n          {show2 && <MenuItem>Testing 🌟</MenuItem>}\n          <MenuItem>Five</MenuItem>\n        </div>\n      </Menu>\n    </div>\n  )\n}\n```\n","readmeFilename":"README.md"}