{"_id":"@data-slot/disclosure","_rev":"9-886d7e97b85f0546cfca903caa00a5df","name":"@data-slot/disclosure","dist-tags":{"latest":"0.2.4"},"versions":{"0.1.0":{"name":"@data-slot/disclosure","version":"0.1.0","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.1.0","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"dist":{"shasum":"e645dffdc9c117b765e8c4840ddb23f445c5bff5","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.1.0.tgz","fileCount":6,"integrity":"sha512-F62gK5lrgYDOKBd7G7VXrIrzEXtG3qEWND9sAE+rzVC90aPQN7BGGgi/chz+oWwWksBktw1GwjGB+doqfudxRg==","signatures":[{"sig":"MEQCIAynbJ+v2cr2cwKFpmxcU+8hyRdMIzTQdKH76jOZJKfnAiBkRZCRkyMwsaFusIa88r2+xjtGLHFrI2YfJJHAW4Texg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8354},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"c53b12c7bdd2b534a6764f40622e413cb6c2be6d","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"@data-slot/core":"workspace:*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.1.0_1767970699292_0.9611670792058316","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@data-slot/disclosure","version":"0.1.1","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.1.1","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"homepage":"https://github.com/bejamas/data-slot#readme","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"dist":{"shasum":"85691ca70ffab65b2c7934828bd96ff7382edaf1","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.1.1.tgz","fileCount":6,"integrity":"sha512-tTujLeQYOpb0Oy3eFSG6XnRN4d1h1e29Edt8JzsyBScy5ylXBEr2F8JHH6zJ2+8K/pMsC6K5quG/LbuIFvbzyQ==","signatures":[{"sig":"MEYCIQCleUtCOWp6dx/37ae16mZ9ktLBzL0PBNQt8cNKekEXNQIhAIFZ322t4GR1NLOC0XY6RAy7EZRoj27IHQhsNLn5wQ3x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8518},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"584423875d479443a63cf65beb345087146086b8","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"repository":{"url":"git+https://github.com/bejamas/data-slot.git","type":"git","directory":"packages/disclosure"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","dependencies":{"@data-slot/core":"workspace:*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.1.1_1767974720331_0.6470762841910807","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@data-slot/disclosure","version":"0.1.2","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.1.2","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"homepage":"https://github.com/bejamas/data-slot#readme","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"dist":{"shasum":"47a191a1dfe5f22c050c8d0b2970643bbfad1db9","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.1.2.tgz","fileCount":6,"integrity":"sha512-oIX5wuJThoTjLJIiBJuPiDZlC0TuyN857vpK/saE9hrzk2lFdMGTPyeHToy/9FMvc5aqscF7uaZlj97UEjUpOA==","signatures":[{"sig":"MEUCIHKTNUXFlniNHvNTMUcNNlEZW3Qoq0rECTtmY6cuUyidAiEAtUTYr/CqHdbWfqCvtVVRbDXNX+N/psYAteL2NA5gm2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8587},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"1ed1fbe6302e1d07032a8762fdd01cd9225a8219","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"repository":{"url":"git+https://github.com/bejamas/data-slot.git","type":"git","directory":"packages/disclosure"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"@data-slot/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.1.2_1767975339802_0.5524316487376839","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@data-slot/disclosure","version":"0.1.3","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.1.3","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"homepage":"https://github.com/bejamas/data-slot#readme","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"dist":{"shasum":"31cd8d964cef001a8d6f690d2e690ea6a0325e4d","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.1.3.tgz","fileCount":6,"integrity":"sha512-ZFLxDwEyb/mymyp0ou0PsBV+jCq+g7r9V/Zvvn9tG8UlUv0o5zumS+zfEkVCIYc0E0XLUMEzvM1weLgY35QPlA==","signatures":[{"sig":"MEUCIAFkTxF0305lwMrjbSLz7e5iP4Ap6NdNFJkwWZTg9SWaAiEA0CIACFk7PzjLfgqZxtD4S+fdjDht3dSK79cbRY1LVUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8587},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"97c5d4434f447ea40f06ad34f8ca338e279e1e4b","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"repository":{"url":"git+https://github.com/bejamas/data-slot.git","type":"git","directory":"packages/disclosure"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"@data-slot/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.1.3_1767984430337_0.48746675717186605","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@data-slot/disclosure","version":"0.2.0","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.2.0","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"homepage":"https://github.com/bejamas/data-slot#readme","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"dist":{"shasum":"282a42c2f1631baff10b1fa319c5470750da836a","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.2.0.tgz","fileCount":6,"integrity":"sha512-R2PvVZtEufK4iLsGNnyHWXG1Y7bmX4Godqr3WY/vWg7jR5u4Gk6YRDpHZNji5S1oFyBVC0UwDpmABmlOkPvpJw==","signatures":[{"sig":"MEUCIQC1mtriviWSFohxABGxUphSs9UgDm7ZhWj0a3Y4jh/S4gIgOzw0Z0PHTK4C659BVxIkj9xZZhNdBnx0rw51JloBq+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8587},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"e785c1c276ee57f055765c7a0adc96de6ad68175","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"repository":{"url":"git+https://github.com/bejamas/data-slot.git","type":"git","directory":"packages/disclosure"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"@data-slot/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.2.0_1768072439196_0.8002499845881101","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@data-slot/disclosure","version":"0.2.1","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.2.1","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"homepage":"https://github.com/bejamas/data-slot#readme","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"dist":{"shasum":"26a5f89ea080ff11ba9c1a533b42588858940b12","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.2.1.tgz","fileCount":6,"integrity":"sha512-eUYUQSbDiDBhUNovT3ybuwvf3/TeFO8PmxaT4QAeUnOdq0X9wqGijpG5FF74MSGQhj6lteO4M07cXRk7bWW+5w==","signatures":[{"sig":"MEQCIFxTmQqTTl/Lr7RSPwzD/maWIISgkdbbPV91BGkKmWtJAiBPBXSBFZhaNuLiBa+po5PxbPOLfri3E38oXh7oLEJa3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8623},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"9580866bb677abb273965a7ab051506ec718b849","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"repository":{"url":"git+https://github.com/bejamas/data-slot.git","type":"git","directory":"packages/disclosure"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"@data-slot/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.2.1_1768677872965_0.794960464786957","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@data-slot/disclosure","version":"0.2.2","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.2.2","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"homepage":"https://github.com/bejamas/data-slot#readme","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"dist":{"shasum":"ce166cae1809b0f69a71ffcc4568d5beb66a2c88","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.2.2.tgz","fileCount":6,"integrity":"sha512-AGBX0TzGCMlilwLQV06dmnBxgYshSFfTXrih2KXqULNK58TwFJ898QVQ8kj5nvOS/0cMx1Sr2/gLp3HavjKYtw==","signatures":[{"sig":"MEUCIFaYS+1TD0pWILPBcH87HY+xNWpFyRFtw/pi9EKU4p35AiEArQaSB4EE+RWZVFBifVjZM4eSwfGhJACDC/mhYS4UZRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8623},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"6f3a0eb93e676065ad6ae9208bbbe84182831c5b","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"repository":{"url":"git+https://github.com/bejamas/data-slot.git","type":"git","directory":"packages/disclosure"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"@data-slot/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.2.2_1768757913785_0.43870884618486206","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@data-slot/disclosure","version":"0.2.3","keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.2.3","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"homepage":"https://github.com/bejamas/data-slot#readme","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"dist":{"shasum":"b19a6d5adbb23331b51ddbe0ca1bec179176da77","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.2.3.tgz","fileCount":6,"integrity":"sha512-Zgr2ELQtmwjzytQ6/4EgIgVE6Sl05knxkGh48Hd8ADyD8Ufad3BaOmGdJMURh/6xySUgJ3lkWF+lBvNQq4gT5w==","signatures":[{"sig":"MEUCIHnjQp98EtnKWC6rHG4xuP8NpSmqSthY6d9Jp9Wxh+P+AiEAhmQhDkQHX1ad1HJwMPefYDuGIbk2r8SFqinumIK73zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8623},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"9d538e03b4e3796726a468bd83eedd34c1cf589c","scripts":{"build":"tsdown"},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"repository":{"url":"git+https://github.com/bejamas/data-slot.git","type":"git","directory":"packages/disclosure"},"_npmVersion":"10.8.2","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.6","_hasShrinkwrap":false,"devDependencies":{"@data-slot/core":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/disclosure_0.2.3_1768816856556_0.5592009701693976","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@data-slot/disclosure","version":"0.2.4","type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsdown"},"devDependencies":{"@data-slot/core":"workspace:*"},"repository":{"type":"git","url":"git+https://github.com/bejamas/data-slot.git","directory":"packages/disclosure"},"keywords":["headless","ui","disclosure","vanilla","data-slot"],"license":"MIT","_id":"@data-slot/disclosure@0.2.4","gitHead":"18c3101bcd7a8056d2b3723f98a2bc303776644c","description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"homepage":"https://github.com/bejamas/data-slot#readme","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-E96zJfQ/uUXc6bWcsaiBBl0opr412Zo8nzMS/udJEN4aEA3Fk1W7iSvpnwKWweVyzYJIN/2GqIuBunsnEvAkyA==","shasum":"8adc4fe12c6096a3a9d8b8ec593c304c1b617b77","tarball":"https://registry.npmjs.org/@data-slot/disclosure/-/disclosure-0.2.4.tgz","fileCount":6,"unpackedSize":8623,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@data-slot%2fdisclosure@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQdLHM8ivQrhAxPyEmYYOXd2c9vWxF3dmQxapPDbS/KwIgLrbx6IZE7amXZgZDkMqhya40aHqf7xfo8R7+s4+kvEQ="}]},"_npmUser":{"name":"thomkrupa","email":"thom@bejamas.com"},"directories":{},"maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/disclosure_0.2.4_1768817120829_0.6971776204257085"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-09T14:58:19.221Z","modified":"2026-01-19T10:05:21.283Z","0.1.0":"2026-01-09T14:58:19.425Z","0.1.1":"2026-01-09T16:05:20.476Z","0.1.2":"2026-01-09T16:15:39.960Z","0.1.3":"2026-01-09T18:47:10.468Z","0.2.0":"2026-01-10T19:13:59.363Z","0.2.1":"2026-01-17T19:24:33.112Z","0.2.2":"2026-01-18T17:38:33.926Z","0.2.3":"2026-01-19T10:00:56.697Z","0.2.4":"2026-01-19T10:05:20.957Z"},"bugs":{"url":"https://github.com/bejamas/data-slot/issues"},"license":"MIT","homepage":"https://github.com/bejamas/data-slot#readme","keywords":["headless","ui","disclosure","vanilla","data-slot"],"repository":{"type":"git","url":"git+https://github.com/bejamas/data-slot.git","directory":"packages/disclosure"},"description":"Headless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.","maintainers":[{"name":"thomkrupa","email":"thom@bejamas.com"}],"readme":"# @data-slot/disclosure\n\nHeadless disclosure (show/hide) component for vanilla JavaScript. Accessible, unstyled, tiny.\n\n## Installation\n\n```bash\nnpm install @data-slot/disclosure\n```\n\n## Quick Start\n\n```html\n<div data-slot=\"disclosure\">\n  <button data-slot=\"disclosure-trigger\">Toggle Content</button>\n  <div data-slot=\"disclosure-content\" hidden>\n    Hidden content revealed on click.\n  </div>\n</div>\n\n<script type=\"module\">\n  import { create } from \"@data-slot/disclosure\";\n  \n  const controllers = create();\n</script>\n```\n\n## API\n\n### `create(scope?)`\n\nAuto-discover and bind all disclosure instances in a scope (defaults to `document`).\n\n```typescript\nimport { create } from \"@data-slot/disclosure\";\n\nconst controllers = create(); // Returns DisclosureController[]\n```\n\n### `createDisclosure(root, options?)`\n\nCreate a controller for a specific element.\n\n```typescript\nimport { createDisclosure } from \"@data-slot/disclosure\";\n\nconst disclosure = createDisclosure(element, {\n  defaultOpen: false,\n  onOpenChange: (open) => console.log(open),\n});\n```\n\n### Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `defaultOpen` | `boolean` | `false` | Initial open state |\n| `onOpenChange` | `(open: boolean) => void` | `undefined` | Callback when open state changes |\n\n### Controller\n\n| Method/Property | Description |\n|-----------------|-------------|\n| `open()` | Open the disclosure |\n| `close()` | Close the disclosure |\n| `toggle()` | Toggle the disclosure |\n| `isOpen` | Current open state (readonly `boolean`) |\n| `destroy()` | Cleanup all event listeners |\n\n## Markup Structure\n\n```html\n<div data-slot=\"disclosure\">\n  <button data-slot=\"disclosure-trigger\">Toggle</button>\n  <div data-slot=\"disclosure-content\">Content</div>\n</div>\n```\n\nBoth `disclosure-trigger` and `disclosure-content` are required.\n\n## Styling\n\nUse `data-state` attributes for CSS styling:\n\n```css\n/* Hidden state */\n[data-slot=\"disclosure-content\"][hidden] {\n  display: none;\n}\n\n/* Or use data-state */\n[data-slot=\"disclosure\"][data-state=\"closed\"] [data-slot=\"disclosure-content\"] {\n  display: none;\n}\n\n/* Animate */\n[data-slot=\"disclosure-content\"] {\n  overflow: hidden;\n  transition: max-height 0.3s;\n  max-height: 0;\n}\n\n[data-slot=\"disclosure\"][data-state=\"open\"] [data-slot=\"disclosure-content\"] {\n  max-height: 500px;\n}\n```\n\nWith Tailwind:\n\n```html\n<div data-slot=\"disclosure\" class=\"group\">\n  <button data-slot=\"disclosure-trigger\" class=\"flex items-center gap-2\">\n    <span>Show more</span>\n    <svg class=\"group-data-[state=open]:rotate-180 transition-transform\">...</svg>\n  </button>\n  <div data-slot=\"disclosure-content\" class=\"hidden group-data-[state=open]:block\">\n    Content here\n  </div>\n</div>\n```\n\n## Accessibility\n\nThe component automatically handles:\n\n- `aria-expanded` state on trigger\n- `aria-controls` linking trigger to content\n- Unique ID generation for content\n\n## Events\n\nListen for changes via custom events:\n\n```javascript\nelement.addEventListener(\"disclosure:change\", (e) => {\n  console.log(\"Disclosure open:\", e.detail.open);\n});\n```\n\n## License\n\nMIT\n\n","readmeFilename":"README.md"}