{"_id":"@component-anatomy/storybook","_rev":"7-b35c8ec18db4c53f34c71859cf3bc95d","name":"@component-anatomy/storybook","dist-tags":{"latest":"0.5.0"},"versions":{"0.0.1":{"name":"@component-anatomy/storybook","version":"0.0.1","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance"],"author":{"name":"Julien Déramond"},"license":"MIT","_id":"@component-anatomy/storybook@0.0.1","maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"homepage":"https://github.com/julien-deramond/component-anatomy#readme","bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"dist":{"shasum":"45eba9dc12a7b30755b18cc314605403055a48cf","tarball":"https://registry.npmjs.org/@component-anatomy/storybook/-/storybook-0.0.1.tgz","fileCount":17,"integrity":"sha512-WvqJKXKebZGjbWhX5i+O6WtMjC2M9eOPqGoERMB5X1IWofYi5bffnXJKOJDxh9dukO+6gd8mFCV4b9VHtjpTFw==","signatures":[{"sig":"MEQCICMm6EonWqRVbsfVSEMHGG9C2AgU2T9zORB1npcwAWXGAiBo3VbACqEG3tQU9wUuGRDHVaBDlSsP9mOrwWep4nzh3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45605},"main":"./dist/index.cjs","type":"module","_from":"file:component-anatomy-storybook-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./manager":"./dist/manager.js","./preview":"./dist/preview.js","./package.json":"./package.json"},"scripts":{"build":"node build.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"julien-deramond","email":"juderamond@gmail.com"},"_resolved":"/private/var/folders/s5/nqfqn20x30lds1_8qmv3_xyr0000gp/T/97ae132e28bbf3a349419dd7e8926f3b/component-anatomy-storybook-0.0.1.tgz","storybook":{"displayName":"Component Anatomy","supportedFrameworks":["react","vue","angular","web-components","html"]},"_integrity":"sha512-WvqJKXKebZGjbWhX5i+O6WtMjC2M9eOPqGoERMB5X1IWofYi5bffnXJKOJDxh9dukO+6gd8mFCV4b9VHtjpTFw==","repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"_npmVersion":"11.16.0","description":"Storybook addon — interactive component anatomy panel synced with the story canvas","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@component-anatomy/core":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","esbuild":"^0.21.0","storybook":"^10.0.0","typescript":"^5.4.5","@types/react":"^18.3.3"},"peerDependencies":{"storybook":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/storybook_0.0.1_1783539661422_0.5991262131932606","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@component-anatomy/storybook","version":"0.0.2","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance"],"author":{"name":"Julien Déramond"},"license":"MIT","_id":"@component-anatomy/storybook@0.0.2","maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"homepage":"https://github.com/julien-deramond/component-anatomy#readme","bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"dist":{"shasum":"eb96118d10230ad4319143c27dc55959ba9304e4","tarball":"https://registry.npmjs.org/@component-anatomy/storybook/-/storybook-0.0.2.tgz","fileCount":29,"integrity":"sha512-WFELb6T/9SlsmF0wMfD2rdfXMQxJvaigmBUxfCx6K+yC//3wP+M6rtDHRYcYWCmVG0OHuf+FCtgA5blD1fWmDg==","signatures":[{"sig":"MEQCIDhRSWYj6ZntpHzYuH7t2iuRPGIkRq1zzHAq29gJPIFUAiABYPuO/fFezjJ8qw0sbLG7Nt+lb1/sCRawY4lsgNB7Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50489},"main":"./dist/index.cjs","type":"module","_from":"file:component-anatomy-storybook-0.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./manager":"./dist/manager.js","./preview":"./dist/preview.js","./package.json":"./package.json"},"scripts":{"test":"node build.mjs && node ../../scripts/typecheck-fixture.mjs test/consumer-types.ts","build":"node build.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"julien-deramond","email":"juderamond@gmail.com"},"_resolved":"/private/var/folders/s5/nqfqn20x30lds1_8qmv3_xyr0000gp/T/eed9ae3b4b3e0d39b45f9b14de2700e8/component-anatomy-storybook-0.0.2.tgz","storybook":{"displayName":"Component Anatomy","supportedFrameworks":["react","vue","angular","web-components","html"]},"_integrity":"sha512-WFELb6T/9SlsmF0wMfD2rdfXMQxJvaigmBUxfCx6K+yC//3wP+M6rtDHRYcYWCmVG0OHuf+FCtgA5blD1fWmDg==","repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"_npmVersion":"10.9.0","description":"Storybook addon — interactive component anatomy panel synced with the story canvas","directories":{},"_nodeVersion":"23.1.0","dependencies":{"@component-anatomy/core":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.7","esbuild":"^0.28.1","storybook":"^10.0.0","typescript":"^7.0.2","@types/react":"^19.2.17"},"peerDependencies":{"storybook":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/storybook_0.0.2_1787601985115_0.4010067148721417","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@component-anatomy/storybook","version":"0.1.0","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance","mdx","storybook-docs"],"author":{"name":"Julien Déramond"},"license":"MIT","_id":"@component-anatomy/storybook@0.1.0","maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"homepage":"https://github.com/julien-deramond/component-anatomy#readme","bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"dist":{"shasum":"37c4fac4e5e875ddb87d330c85bd5d22105d34fb","tarball":"https://registry.npmjs.org/@component-anatomy/storybook/-/storybook-0.1.0.tgz","fileCount":40,"integrity":"sha512-FOSPEfvV+e3EQxol0RA/kWfu2ItvBoq+pfI6BONdHJSRfYHN+JRxVE6iM1TQXDAGHCZ0K8TC2puz/cr2kN1EMw==","signatures":[{"sig":"MEUCIEDdLp3l1wLkq7wPaG4r6KNy9vcUpxMN4R4qKzadjcOAAiEAnjCB7xNWGNUuTaIAJp56ZbkJbR3Gqt85E7Z8eGBDrIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118186},"main":"./dist/index.cjs","type":"module","_from":"file:component-anatomy-storybook-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./blocks":{"types":"./dist/blocks.d.ts","import":"./dist/blocks.js"},"./manager":"./dist/manager.js","./preview":"./dist/preview.js","./package.json":"./package.json"},"scripts":{"test":"node build.mjs && node ../../scripts/typecheck-fixture.mjs test/consumer-types.ts && node ../../scripts/typecheck-fixture.mjs test/consumer-blocks-types.tsx","build":"node build.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"julien-deramond","email":"juderamond@gmail.com"},"_resolved":"/private/var/folders/s5/nqfqn20x30lds1_8qmv3_xyr0000gp/T/0420750fcaac359a7a98d7453065d64f/component-anatomy-storybook-0.1.0.tgz","storybook":{"displayName":"Component Anatomy","supportedFrameworks":["react","vue","angular","web-components","html"]},"_integrity":"sha512-FOSPEfvV+e3EQxol0RA/kWfu2ItvBoq+pfI6BONdHJSRfYHN+JRxVE6iM1TQXDAGHCZ0K8TC2puz/cr2kN1EMw==","repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"_npmVersion":"10.9.0","description":"Storybook addon — interactive component anatomy panel synced with the story canvas","directories":{},"_nodeVersion":"23.1.0","dependencies":{"@component-anatomy/core":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","esbuild":"^0.28.1","react-dom":"^19.2.8","storybook":"^10.5.10","typescript":"^7.0.2","@types/react":"^19.2.18","@storybook/addon-docs":"^10.5.2"},"peerDependencies":{"react":">=18","storybook":">=9.0.0","@storybook/addon-docs":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@storybook/addon-docs":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/storybook_0.1.0_1787726632564_0.05184987308040889","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@component-anatomy/storybook","version":"0.2.0","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance","mdx","storybook-docs"],"author":{"name":"Julien Déramond"},"license":"MIT","_id":"@component-anatomy/storybook@0.2.0","maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"homepage":"https://github.com/julien-deramond/component-anatomy#readme","bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"dist":{"shasum":"232510fe25265bc22b4f4ac8f2c57f8d52fd5c19","tarball":"https://registry.npmjs.org/@component-anatomy/storybook/-/storybook-0.2.0.tgz","fileCount":40,"integrity":"sha512-z4CrxZ92hnbvSwgQ5Z5RCpIEXVBI+0i0k/BTWQXN/1o962WqXw6jr2Hz/ePdy6NuoqbL/YRJy9vETkxaqqkv8g==","signatures":[{"sig":"MEQCIEvIWur76ds64huv0S8WmCBM6qGiFI7v3dVUbXy6K8JtAiB1dOQzcylgSOb+nZ4FOdKgMoUX4cWrsl3Jdf3HK/lhZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125311},"main":"./dist/index.cjs","type":"module","_from":"file:component-anatomy-storybook-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./blocks":{"types":"./dist/blocks.d.ts","import":"./dist/blocks.js"},"./manager":"./dist/manager.js","./preview":"./dist/preview.js","./package.json":"./package.json"},"scripts":{"test":"node build.mjs && node ../../scripts/typecheck-fixture.mjs test/consumer-types.ts && node ../../scripts/typecheck-fixture.mjs test/consumer-blocks-types.tsx","build":"node build.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"julien-deramond","email":"juderamond@gmail.com"},"_resolved":"/private/var/folders/s5/nqfqn20x30lds1_8qmv3_xyr0000gp/T/82dda1407dd34ce4182f65d9927f6dbe/component-anatomy-storybook-0.2.0.tgz","storybook":{"displayName":"Component Anatomy","supportedFrameworks":["react","vue","angular","web-components","html"]},"_integrity":"sha512-z4CrxZ92hnbvSwgQ5Z5RCpIEXVBI+0i0k/BTWQXN/1o962WqXw6jr2Hz/ePdy6NuoqbL/YRJy9vETkxaqqkv8g==","repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"_npmVersion":"11.16.0","description":"Storybook addon — interactive component anatomy panel synced with the story canvas","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@component-anatomy/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","esbuild":"^0.28.2","react-dom":"^19.2.8","storybook":"^10.5.10","typescript":"^7.0.2","@types/react":"^19.2.18","@storybook/addon-docs":"^10.5.2"},"peerDependencies":{"react":">=18","storybook":">=9.0.0","@storybook/addon-docs":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@storybook/addon-docs":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/storybook_0.2.0_1788206980015_0.6365456168782633","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@component-anatomy/storybook","version":"0.3.0","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance","mdx","storybook-docs"],"author":{"name":"Julien Déramond"},"license":"MIT","_id":"@component-anatomy/storybook@0.3.0","maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"homepage":"https://github.com/julien-deramond/component-anatomy#readme","bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"dist":{"shasum":"03dbde7dbf7948b42fbc963cf3d1397e5013f965","tarball":"https://registry.npmjs.org/@component-anatomy/storybook/-/storybook-0.3.0.tgz","fileCount":40,"integrity":"sha512-JtGGvLztAaIGkLor7WJl6aGUSJbNW4ndfQ7+NyssrcYgGL6vq+wFvfSm+Ub7fef7g/96I1cMNs9oegAQXpGlWg==","signatures":[{"sig":"MEUCIAq0qTjUHZFCwLI0BH7QBtbH/6s/wbr/4MFqx4g01piXAiEA9NNswLtdw24/PUPTE/KZP8MnyS2eaHBieoGD2aZ4LBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134836},"main":"./dist/index.cjs","type":"module","_from":"file:component-anatomy-storybook-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./blocks":{"types":"./dist/blocks.d.ts","import":"./dist/blocks.js"},"./manager":"./dist/manager.js","./preview":"./dist/preview.js","./package.json":"./package.json"},"scripts":{"test":"node build.mjs && node ../../scripts/typecheck-fixture.mjs test/consumer-types.ts && node ../../scripts/typecheck-fixture.mjs test/consumer-blocks-types.tsx","build":"node build.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"julien-deramond","email":"juderamond@gmail.com"},"_resolved":"/private/var/folders/s5/nqfqn20x30lds1_8qmv3_xyr0000gp/T/07d0ca5d351e9dc9ec303ec95fc4f57b/component-anatomy-storybook-0.3.0.tgz","storybook":{"displayName":"Component Anatomy","supportedFrameworks":["react","vue","angular","web-components","html"]},"_integrity":"sha512-JtGGvLztAaIGkLor7WJl6aGUSJbNW4ndfQ7+NyssrcYgGL6vq+wFvfSm+Ub7fef7g/96I1cMNs9oegAQXpGlWg==","repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"_npmVersion":"11.16.0","description":"Storybook addon — interactive component anatomy panel synced with the story canvas","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@component-anatomy/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","esbuild":"^0.28.2","react-dom":"^19.2.8","storybook":"^10.5.10","typescript":"^7.0.2","@types/react":"^19.2.18","@storybook/addon-docs":"^10.5.2"},"peerDependencies":{"react":">=18","storybook":">=9.0.0","@storybook/addon-docs":">=9.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@storybook/addon-docs":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/storybook_0.3.0_1788454882274_0.7474997101127892","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@component-anatomy/storybook","version":"0.4.0","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance","mdx","storybook-docs"],"author":{"name":"Julien Déramond"},"license":"MIT","_id":"@component-anatomy/storybook@0.4.0","maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"homepage":"https://github.com/julien-deramond/component-anatomy#readme","bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"dist":{"shasum":"c32dd241c35e94d1f8b43ea3274d890530984d5c","tarball":"https://registry.npmjs.org/@component-anatomy/storybook/-/storybook-0.4.0.tgz","fileCount":38,"integrity":"sha512-EvnWb0L/Saw5QxBogW5ZX0muSDH5a+352DjCkJZzQ+KSsfqDMnfkFWO2OhtjWBvcMfYLa0j7y4qKRxSqqhGFLQ==","signatures":[{"sig":"MEYCIQD3WaXQbluN+WwRdBHj+h9JqjHQZlqaY9ry3yARjYuunwIhAIcsvkiyKh3CWeiX75xAIiX8poXVR2Rp1QuftDf1G1/y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149580},"main":"./dist/index.js","type":"module","_from":"file:component-anatomy-storybook-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./blocks":{"types":"./dist/blocks.d.ts","default":"./dist/blocks.js"},"./manager":{"types":"./dist/manager.d.ts","default":"./dist/manager.js"},"./preview":{"types":"./dist/preview.d.ts","default":"./dist/preview.js"},"./package.json":"./package.json"},"scripts":{"test":"node build.mjs && node ../../scripts/typecheck-fixture.mjs test/consumer-types.ts && node ../../scripts/typecheck-fixture.mjs test/consumer-blocks-types.tsx && node ../../scripts/typecheck-fixture.mjs test/consumer-csf-next-types.ts","build":"node build.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"julien-deramond","email":"juderamond@gmail.com"},"_resolved":"/private/var/folders/s5/nqfqn20x30lds1_8qmv3_xyr0000gp/T/3eac8af1a4c9bc1bb187442a3eb59602/component-anatomy-storybook-0.4.0.tgz","storybook":{"displayName":"Component Anatomy","supportedFrameworks":["react","vue","angular","web-components","html"]},"_integrity":"sha512-EvnWb0L/Saw5QxBogW5ZX0muSDH5a+352DjCkJZzQ+KSsfqDMnfkFWO2OhtjWBvcMfYLa0j7y4qKRxSqqhGFLQ==","repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"_npmVersion":"11.16.0","description":"Storybook addon — interactive component anatomy panel synced with the story canvas","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@component-anatomy/core":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","esbuild":"^0.28.2","react-dom":"^19.2.8","storybook":"11.0.0-alpha.0","typescript":"^7.0.2","@types/react":"^19.2.18","@storybook/addon-docs":"11.0.0-alpha.0"},"peerDependencies":{"react":">=18","storybook":"^10.0.0 || ^11.0.0-0","@storybook/addon-docs":"^10.0.0 || ^11.0.0-0"},"peerDependenciesMeta":{"react":{"optional":true},"@storybook/addon-docs":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/storybook_0.4.0_1789324306230_0.3659303175099833","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"_id":"@component-anatomy/storybook@0.5.0","bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"dist":{"shasum":"4895540eb10ceb4998bb2382f20fea716652b7a8","tarball":"https://registry.npmjs.org/@component-anatomy/storybook/-/storybook-0.5.0.tgz","fileCount":38,"integrity":"sha512-KjK6dL0fvI+B2vnW42ZxLzsZNqHxsze5RVHYWRAot4RzxnNcbNhecfQB1A9lKViy5oiJtJX94JIK3wQzbRhN1g==","signatures":[{"sig":"MEQCIHcpwzThRIiLzA6vWJ2Ieppiv/6W75jGr3N1nHnuDLhEAiBt5wQXwRHh6fR+i3aTNp8k7ftp7mdF/3WbHLPunYYZIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC5LKYcrEgSWV1lqcY6gJk+YMaIg8BF14bQ4C/SiX3cKAiBtT7OkkTx8eokCmo70n8CYmToQYS1SuggmUAMLmRkr3Q=="}],"unpackedSize":151861},"main":"./dist/index.js","name":"@component-anatomy/storybook","type":"module","_from":"file:component-anatomy-storybook-0.5.0.tgz","types":"./dist/index.d.ts","author":{"name":"Julien Déramond"},"module":"./dist/index.js","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./blocks":{"types":"./dist/blocks.d.ts","default":"./dist/blocks.js"},"./manager":{"types":"./dist/manager.d.ts","default":"./dist/manager.js"},"./preview":{"types":"./dist/preview.d.ts","default":"./dist/preview.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"test":"node build.mjs && node ../../scripts/typecheck-fixture.mjs test/consumer-types.ts && node ../../scripts/typecheck-fixture.mjs test/consumer-blocks-types.tsx && node ../../scripts/typecheck-fixture.mjs test/consumer-csf-next-types.ts","build":"node build.mjs","typecheck":"tsc --noEmit"},"version":"0.5.0","_npmUser":{"name":"julien-deramond","email":"juderamond@gmail.com"},"homepage":"https://github.com/julien-deramond/component-anatomy#readme","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance","mdx","storybook-docs"],"_resolved":"/private/var/folders/s5/nqfqn20x30lds1_8qmv3_xyr0000gp/T/8c9ee27b144c9fa453cd60933250c6f6/component-anatomy-storybook-0.5.0.tgz","storybook":{"displayName":"Component Anatomy","supportedFrameworks":["react","vue","angular","web-components","html"]},"_integrity":"sha512-KjK6dL0fvI+B2vnW42ZxLzsZNqHxsze5RVHYWRAot4RzxnNcbNhecfQB1A9lKViy5oiJtJX94JIK3wQzbRhN1g==","repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"_npmVersion":"11.16.0","description":"Storybook addon — interactive component anatomy panel synced with the story canvas","directories":{},"maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"_nodeVersion":"24.18.0","dependencies":{"@component-anatomy/core":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.3.0","esbuild":"^0.28.2","react-dom":"^19.3.0","storybook":"11.0.0-alpha.1","typescript":"^7.0.2","@types/react":"^19.3.0","@storybook/addon-docs":"11.0.0-alpha.1"},"peerDependencies":{"react":">=18","storybook":"^10.0.0 || ^11.0.0-0","@storybook/addon-docs":"^10.0.0 || ^11.0.0-0"},"peerDependenciesMeta":{"react":{"optional":true},"@storybook/addon-docs":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/storybook_0.5.0_1790878901925_0.615616922832531"}}},"time":{"created":"2026-07-08T19:41:01.104Z","modified":"2026-10-01T18:21:42.239Z","0.0.1":"2026-07-08T19:41:01.585Z","0.0.2":"2026-08-24T20:06:25.256Z","0.1.0":"2026-08-26T06:43:52.697Z","0.2.0":"2026-08-31T20:09:40.150Z","0.3.0":"2026-09-03T17:01:22.399Z","0.4.0":"2026-09-13T18:31:46.378Z","0.5.0":"2026-10-01T18:21:42.059Z"},"bugs":{"url":"https://github.com/julien-deramond/component-anatomy/issues"},"author":{"name":"Julien Déramond"},"license":"MIT","homepage":"https://github.com/julien-deramond/component-anatomy#readme","keywords":["storybook-addon","component-anatomy","design-system","documentation","anatomy","appearance","mdx","storybook-docs"],"repository":{"url":"git+https://github.com/julien-deramond/component-anatomy.git","type":"git","directory":"packages/storybook"},"description":"Storybook addon — interactive component anatomy panel synced with the story canvas","maintainers":[{"name":"julien-deramond","email":"juderamond@gmail.com"}],"readme":"# @component-anatomy/storybook\n\nStorybook addon that adds an **Anatomy** panel — an interactive part list synced two-way with the story canvas.\n\n- Hover a part in the panel → the element is highlighted in the canvas\n- Hover a `data-part` element in the canvas → the panel entry activates\n- The same table renders **inside MDX** via `@component-anatomy/storybook/blocks`\n- Works with **Storybook 10 and 11**, any renderer (React, Vue, HTML, Web Components…) — parts inside open shadow roots included\n\n## Install\n\n```bash\nnpm install --save-dev @component-anatomy/storybook\n```\n\nRegister the addon in `.storybook/main.ts`. This is what loads the **Anatomy**\npanel into the Storybook manager:\n\n```ts\n// .storybook/main.ts\nexport default {\n  addons: ['@component-anatomy/storybook'],\n};\n```\n\n### If your `preview.ts` uses CSF Next\n\nCSF Next is the default story format in Storybook 11. A `preview.ts` built with\n`definePreview` composes **only** the addons it lists, and Storybook drops the\npreview annotations that `main.ts` would otherwise contribute — so the addon\nalso has to be registered there, or the canvas decorator never mounts and the\npanel stays empty:\n\n```ts\n// .storybook/preview.ts\n\n// Replace your-framework with the framework you are using (e.g. react-vite, nextjs-vite)\nimport { definePreview } from '@storybook/your-framework';\nimport componentAnatomy from '@component-anatomy/storybook';\n\nexport default definePreview({\n  // ...rest of preview\n  addons: [componentAnatomy()], // 👈 register the addon here\n});\n```\n\nRegistering in both places is correct and safe: the two paths are mutually\nexclusive, so the decorator is composed exactly once either way. A `preview.ts`\nthat is still a plain object needs only the `main.ts` entry above.\n\nDoing so also types `parameters.anatomy` across that preview's metas and\nstories, so the shape below is checked for you.\n\n## Use\n\nAnnotate your story's DOM with `data-part` and add the `anatomy` parameter:\n\n```ts\nimport type { AnatomyParameters } from '@component-anatomy/storybook';\n\nexport const Anatomy: Story = {\n  parameters: {\n    anatomy: {\n      parts: [\n        { id: 'icon',  name: 'Icon',  description: 'Optional leading glyph.' },\n        { id: 'label', name: 'Label', description: 'The visible action text.' },\n      ],\n      // optional:\n      preset: 'blueprint',            // 'default' | 'minimal' | 'contrast' | 'blueprint'\n      theme: { accent: '#0d9488' },   // theme tokens for the canvas overlays\n      overlayLabel: true,             // floating name chip\n      overlayPadding: 2,              // inflate highlight boxes (px)\n      shadowParts: false,             // also read native `part` attributes in shadow roots\n      root: '.my-component',          // narrow the anatomy root (CSS selector)\n      disable: false,                 // turn off for a story\n    } satisfies AnatomyParameters,\n  },\n};\n```\n\nOmit `parts` (pass `{}`) and the panel lists parts auto-discovered from `data-part` attributes, with names derived from the ids.\n\nWeb components work as they are: parts are found inside open shadow roots, and the panel updates when a component renders them late (Lit, Stencil) or is defined late. Set `shadowParts: true` to read the anatomy a component already exposes for `::part()` (`part=\"track\"`) instead of adding `data-part`. Closed shadow roots can't be reached.\n\n`preset` and `theme` reach the panel and the `<Anatomy>` block too, not just the canvas overlays: the active row is accented with the same color the overlay paints. Where that color would be illegible on Storybook's own panel — `contrast` is black, the manager is dark by default — the table falls back to the most colorful alternative that meets WCAG AA, so `contrast` accents with its yellow on a dark panel and with black on a light one.\n\nParameters follow Storybook's normal inheritance — project-wide defaults in `.storybook/preview.ts`, per-component in `meta.parameters`, per-story overrides in `story.parameters`.\n\n## In MDX\n\nThe panel's table also renders inline in a docs page, so anatomy can sit in the\nprose next to the preview. Requires `@storybook/addon-docs` (the addon that\nrenders MDX), which stays an optional peer dependency — the panel above works\nwithout it.\n\n```mdx\nimport { Meta } from '@storybook/addon-docs/blocks';\nimport { Anatomy } from '@component-anatomy/storybook/blocks';\n\nimport * as ButtonStories from './Button.stories';\n\n<Meta of={ButtonStories} />\n\n<Anatomy of={ButtonStories.Anatomy} />\n```\n\n`<Anatomy>` renders the canvas and the table together, tightened into one\npairing, with the canvas's show-code button dropped by default (chrome that\nmostly restates what the table already documents). Hover sync works both ways,\nexactly as in the panel.\n\n| Prop | Type | Description |\n|---|---|---|\n| `of` | CSF export | The story to document, or a whole CSF module to read the meta's parameters. Omit on an attached docs page (one with `<Meta of={…} />`) to fall back to the page's current story. |\n| `parts` | `AnatomyPartDefinition[]` | Curated list, overriding both `parameters.anatomy.parts` and auto-discovery. |\n| `sync` | `boolean` | Two-way hover sync with the rendered story. Default `true`. `false` gives a purely static table. |\n| `sourceState` | `'hidden' \\| 'shown' \\| 'none'` | Passed to the underlying `<Canvas>`. Default `'none'` — set it to keep the show-code button. |\n\nFor a hand-placed canvas — a custom layout, or one that keeps its source panel\nsome other way — use `<AnatomyTable>` next to your own `<Canvas>` instead. It\ntakes the same `of`, `parts` and `sync` props, minus `sourceState`, which is\n`<Canvas>`'s concern:\n\n```mdx\nimport { Canvas, Meta } from '@storybook/addon-docs/blocks';\nimport { AnatomyTable } from '@component-anatomy/storybook/blocks';\n\nimport * as ButtonStories from './Button.stories';\n\n<Meta of={ButtonStories} />\n\n<Canvas of={ButtonStories.Anatomy} />\n<AnatomyTable of={ButtonStories.Anatomy} />\n```\n\nTwo things worth knowing, for either block:\n\n- **Auto-discovery needs the story's canvas on the page.** Parts are read from\n  the story's `data-part` attributes as it renders, so a block that relies on\n  discovery needs a canvas on the same page — `<Anatomy>` brings its own,\n  `<AnatomyTable>` needs a `<Canvas of={…} />` (or `<Story of={…} />`) next to\n  it. A block with an explicit `parts` list stands on its own.\n- **A meta has no canvas.** `of={ButtonStories}` reads `meta.parameters.anatomy`,\n  but there is nothing to discover parts from or to sync hover with — give it\n  `parts` explicitly, and use `<AnatomyTable>` rather than `<Anatomy>` since\n  there is no story to draw a canvas from.\n\nSeveral blocks can share one page; each talks only to the story it names.\n\n## Compatibility\n\n| | |\n|---|---|\n| `storybook` | `^10.0.0 \\|\\| ^11.0.0-0` |\n| `@storybook/addon-docs` | `^10.0.0 \\|\\| ^11.0.0-0` (optional — only for the MDX blocks) |\n| `react` | `>=18` (optional — only for the MDX blocks) |\n| Node | `>=22.12.0` |\n\nThe package is ESM-only, like Storybook itself since 9. Storybook 9 is no\nlonger supported: CSF Next registration needs `definePreviewAddon`, which\nStorybook only ships from 9.1 onwards, and the addon is built and tested\nagainst 10 and 11.\n\n## Example\n\nA complete Storybook 11 setup with Button/Slider/Tabs stories, web components\n(vanilla, Lit, Shoelace, and Ionic built with Stencil) — and two MDX pages using\nthe `<Anatomy>` block — lives in [`examples/storybook`](https://github.com/julien-deramond/component-anatomy/tree/main/examples/storybook), deployed at https://julien-deramond.github.io/component-anatomy/storybook/.\n\n## Docs\n\nFull documentation: https://julien-deramond.github.io/component-anatomy/docs/storybook\n\n## License\n\nMIT\n","readmeFilename":"README.md"}