{"_id":"@agencecinq/accordion","_rev":"9-dec314f9b8d09427d196c9e5f70c1f7f","name":"@agencecinq/accordion","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@agencecinq/accordion","version":"1.0.0","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@1.0.0","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"3fc0b415f254a0b30fd978ab8479ea343518633e","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-1.0.0.tgz","fileCount":13,"integrity":"sha512-juUK8ttWqbIXdgJItEhNpKB02pdf58gsWRHYPlJcCUy2zAyAKwP5D9TpAjV0WB7CKyPzj9d4qlboEpoQJVC4Eg==","signatures":[{"sig":"MEUCIQC5v4M8KcJw+OtdHnapqOZTb5TzrpZ7W4nziMdfhzsYUgIgKT7QGLo7BB+vWvfzeQYXfnwQ+VK6U85Dawg765nkNmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18434},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/27cf6833f80b21c4435a316b741870bd/agencecinq-accordion-1.0.0.tgz","_integrity":"sha512-juUK8ttWqbIXdgJItEhNpKB02pdf58gsWRHYPlJcCUy2zAyAKwP5D9TpAjV0WB7CKyPzj9d4qlboEpoQJVC4Eg==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.18.0","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"5.0.4"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_1.0.0_1784100438241_0.0057585465481726494","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@agencecinq/accordion","version":"1.0.1","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@1.0.1","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"2b0f9ed5b0f872fcf01dfce77512461af4ad3794","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-1.0.1.tgz","fileCount":13,"integrity":"sha512-eFEJBqrQOJ2YIL0n3YO1zSSbqW5Ah9VoND/JeBdzcAGo8QCfgge0S/CECFDlW++ctrC1XQmj7WUGSclluFlhbQ==","signatures":[{"sig":"MEUCIHPcJWxNKIMCCi/CATS4/mxCCrBAn+oR/7BpdbTYAuc4AiEAnbXUso8KdkZe4wLXPZOoJPCGt1T2rLNE8u7vjJp9+3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18781},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/7c5be6d8e95fd51ef54c5a49223abfd2/agencecinq-accordion-1.0.1.tgz","_integrity":"sha512-eFEJBqrQOJ2YIL0n3YO1zSSbqW5Ah9VoND/JeBdzcAGo8QCfgge0S/CECFDlW++ctrC1XQmj7WUGSclluFlhbQ==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.18.0","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"5.1.0"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_1.0.1_1784557035592_0.7152035634724629","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@agencecinq/accordion","version":"1.0.2","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@1.0.2","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"5e7f4cab9fb7ebd304553eefa54d62fa24974527","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-1.0.2.tgz","fileCount":13,"integrity":"sha512-RGkaUBeN3QK72JAkDzC7TvPFHhCVYQEAdzSghdrioWPyVJl33H6PR9fTgLSDW/2u6Su6T6IGcXs9GN5P8kvqCA==","signatures":[{"sig":"MEUCIGxhhuNVk/5495lMiiq9rVhzdL4AhEq49YJSEqHsmCpDAiEAiHcjV5K4AOhm+G49AbG+JVgkGy7Th8zKb5LFk3FNybU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18660},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-1.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/1c87568adaef47430c059c85af7f3d04/agencecinq-accordion-1.0.2.tgz","_integrity":"sha512-RGkaUBeN3QK72JAkDzC7TvPFHhCVYQEAdzSghdrioWPyVJl33H6PR9fTgLSDW/2u6Su6T6IGcXs9GN5P8kvqCA==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.18.0","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"5.1.1"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_1.0.2_1784612321543_0.2976865853329167","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@agencecinq/accordion","version":"1.0.3","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@1.0.3","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"b0f34c32821d3b16086ea4690489cda964b00ea5","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-1.0.3.tgz","fileCount":13,"integrity":"sha512-oIc9t0Drb5xXw6KoXlFpcEQkdMPQzJiHEDjddm4jYvh7e94U+QO+E/dY4tK1dGGDo7ODBaeCacdALJKvU/rsWw==","signatures":[{"sig":"MEQCIGPrzh4Sd7zT9phNWxLiZFoouZRTQklvyMh8dij1VHzeAiAzU/VrtPDCCGyxAuvUGNjm5d02B0z+84/h9Pxim3GR1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18467},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-1.0.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/0144809140a8c60b24f4c386fe3622ae/agencecinq-accordion-1.0.3.tgz","_integrity":"sha512-oIc9t0Drb5xXw6KoXlFpcEQkdMPQzJiHEDjddm4jYvh7e94U+QO+E/dY4tK1dGGDo7ODBaeCacdALJKvU/rsWw==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.18.0","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"5.2.0"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_1.0.3_1784619101850_0.5051526403103819","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@agencecinq/accordion","version":"2.0.0","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@2.0.0","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"da43a76a2d6ed36e2d299e775b774328aadc9e45","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-2.0.0.tgz","fileCount":13,"integrity":"sha512-8m8Pn95eZlNA2lB+6nW8n6PkFkQ3yJsHn647Fj8TaebLJv6yznZ5u7gIevrQSfvoCV4tHoMO9Zf1hDOTf7kH4A==","signatures":[{"sig":"MEUCIAvkqK0mkarcd5XJRAjvBerkKk5N6kf0kAw2Oum/VsUEAiEAkmc6HFKkDnhGVGdXflWHpc95u+6q1M+tQTCoSKQbP8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19090},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-2.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/f668b8bf3c225089369e799e15849fc8/agencecinq-accordion-2.0.0.tgz","_integrity":"sha512-8m8Pn95eZlNA2lB+6nW8n6PkFkQ3yJsHn647Fj8TaebLJv6yznZ5u7gIevrQSfvoCV4tHoMO9Zf1hDOTf7kH4A==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.18.0","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.4","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"5.2.1"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_2.0.0_1785827539281_0.7335255200661726","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@agencecinq/accordion","version":"2.0.1","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@2.0.1","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"1a10df9712e1132b4a615b4965bc01f3fd6ac6f5","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-2.0.1.tgz","fileCount":13,"integrity":"sha512-tYzlalPS/NQExNL7lxk/dknh5lhFm/28fU1mJQVhclIidRqA4x+07hrKfMqC66ALR8vpe5RV42SYhIyIgJ+tIg==","signatures":[{"sig":"MEUCIFN/0/FqdM5Q0flpVbAAvQAnoLQaCBMlzd4ChZbW2zc0AiEAuc6jg8ltLMb3ZS89xNvwYzAofsNKtv2izExYbix67vw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18826},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-2.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/848daaaee7b60a4a9a2e448a35cee7a3/agencecinq-accordion-2.0.1.tgz","_integrity":"sha512-tYzlalPS/NQExNL7lxk/dknh5lhFm/28fU1mJQVhclIidRqA4x+07hrKfMqC66ALR8vpe5RV42SYhIyIgJ+tIg==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.18.0","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"6.0.0"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_2.0.1_1785915294574_0.11319501872403404","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@agencecinq/accordion","version":"2.0.2","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@2.0.2","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"f6d4f6049f4600e28a25792b454dc97e1b0f8ccf","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-2.0.2.tgz","fileCount":13,"integrity":"sha512-Pu75ybUvNsMYQ9GIRq0fuCIPczUus5PYr01jKKZqen2vFZgkNWRjnVvyiJlMM65FOjRPgqV0+9NA6TN18dqWQw==","signatures":[{"sig":"MEYCIQDvoBM8wdwMfjOmb/SZsq1bwqPPLY/2+UBgqB6WPmYL+QIhAMBrZ1HQ/Kqbtl7c+Qo+LFjswZkUjUvdk40ChSebvNh+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18109},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-2.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/2c9ab2f078cb1c0ac614769c2b3ff1d0/agencecinq-accordion-2.0.2.tgz","_integrity":"sha512-Pu75ybUvNsMYQ9GIRq0fuCIPczUus5PYr01jKKZqen2vFZgkNWRjnVvyiJlMM65FOjRPgqV0+9NA6TN18dqWQw==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.18.0","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"6.1.0"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_2.0.2_1786088861222_0.49706978660750556","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@agencecinq/accordion","version":"3.0.0","author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","_id":"@agencecinq/accordion@3.0.0","maintainers":[{"name":"19h47","email":"jeremylevron@19h47.fr"}],"homepage":"https://github.com/agencecinq/shopify#readme","bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"dist":{"shasum":"6d66f347ec14d03372841f8a7cc0df7915abb125","tarball":"https://registry.npmjs.org/@agencecinq/accordion/-/accordion-3.0.0.tgz","fileCount":13,"integrity":"sha512-9+/DX10B7NL6g6RfP/C7HrsansCtIdDVOoJ4Pwo6CEWowL+LK0xf/zTWDqov8e0FkURp5ymtqp4B7e3p+SlLPw==","signatures":[{"sig":"MEQCIBPoG3Ya945RCP7FpZZzeejGRKrzpGje1NvvXaC/ckD4AiAFweQDKIunb0tjRMabIupcoUSKJdtooPoLDAdzszpjqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDfCvDrkvvNnN0HoCGEVas0/nPF3Kb0Jwechfxbx17XJgIgf83f2sUXtwgeHalWNrnt8bA3KkP/Ekb6FuXX2aqz48c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17865},"main":"./dist/index.js","type":"module","_from":"file:agencecinq-accordion-3.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"vite build --watch","build":"vite build"},"_npmUser":{"name":"19h47","email":"jeremylevron@19h47.fr"},"_resolved":"/private/var/folders/vt/kpbgrh4d7k14zvxmcm01bfxh0000gn/T/8a761f7db188b9a84f9672713577b0e8/agencecinq-accordion-3.0.0.tgz","_integrity":"sha512-9+/DX10B7NL6g6RfP/C7HrsansCtIdDVOoJ4Pwo6CEWowL+LK0xf/zTWDqov8e0FkURp5ymtqp4B7e3p+SlLPw==","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"_npmVersion":"11.19.1","description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","vite-plugin-dts":"^5.0.3","@agencecinq/utils":"7.1.0"},"peerDependencies":{"@agencecinq/utils":"*"},"_npmOperationalInternal":{"tmp":"tmp/accordion_3.0.0_1788171703679_0.009487802347732943","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-07-15T07:27:18.087Z","modified":"2026-09-15T13:10:32.351Z","1.0.0":"2026-07-15T07:27:18.385Z","1.0.1":"2026-07-20T14:17:15.795Z","1.0.2":"2026-07-21T05:38:41.693Z","1.0.3":"2026-07-21T07:31:41.998Z","2.0.0":"2026-08-04T07:12:19.403Z","2.0.1":"2026-08-05T07:34:54.724Z","2.0.2":"2026-08-07T07:47:41.357Z","3.0.0":"2026-08-31T10:21:43.756Z"},"bugs":{"url":"https://github.com/agencecinq/shopify/issues"},"author":{"url":"https://agencecinq.com","name":"Jérémy Levron","email":"jeremy@agencecinq.com"},"license":"MIT","homepage":"https://github.com/agencecinq/shopify#readme","repository":{"url":"git+https://github.com/agencecinq/shopify.git","type":"git","directory":"packages/accordion"},"description":"Accessible, WAI-ARIA accordion as a lightweight Web Component.","maintainers":[{"email":"jeremylevron@19h47.fr","name":"19h47"},{"email":"pauline@agencecinq.com","name":"paulinecinq"}],"readme":"[![](https://img.shields.io/npm/v/@agencecinq/accordion)](https://www.npmjs.com/package/@agencecinq/accordion)\n[![](https://img.shields.io/npm/dm/@agencecinq/accordion)](https://www.npmjs.com/package/@agencecinq/accordion)\n\n# @agencecinq/accordion\n\n> Accessible, WAI-ARIA accordion as a lightweight Web Component.\n\nAn accordion shows and hides sections of content. `<cinq-accordion>` wires up\nheader buttons, `aria-expanded` / `aria-controls` relationships, optional\nheight transitions, keyboard navigation between headers, and open/close events.\n\nImplementation follows the\n[WAI-ARIA Authoring Practices accordion pattern](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/).\nInspired by [`@19h47/accordion`](https://github.com/19h47/19h47-accordion).\n\n## Installation\n\n```bash\npnpm add @agencecinq/accordion\n```\n\n## Usage\n\n### Web Component (`<cinq-accordion>`)\n\n```html\n<cinq-accordion>\n  <div data-panel data-open=\"true\" data-deselect=\"true\">\n    <button\n      type=\"button\"\n      data-header\n      id=\"section-1-header\"\n      aria-expanded=\"true\"\n      aria-controls=\"section-1-body\"\n    >\n      Section 1\n    </button>\n\n    <div id=\"section-1-body\" role=\"region\" aria-labelledby=\"section-1-header\">\n      <div data-inner>\n        Panel content\n      </div>\n    </div>\n  </div>\n\n  <div data-panel data-open=\"false\">\n    <button\n      type=\"button\"\n      data-header\n      id=\"section-2-header\"\n      aria-expanded=\"false\"\n      aria-controls=\"section-2-body\"\n    >\n      Section 2\n    </button>\n\n    <div id=\"section-2-body\" role=\"region\" aria-labelledby=\"section-2-header\" hidden>\n      <div data-inner>\n        More content\n      </div>\n    </div>\n  </div>\n</cinq-accordion>\n```\n\n```js\nimport \"@agencecinq/accordion\";\n```\n\nImporting `@agencecinq/accordion` registers the Web Component automatically.\nNo manual `init()` call required.\n\n> **HTML is the source of truth.** The component will not auto-set `role`,\n> auto-migrate attributes, or warn about missing labels. Use an a11y linter\n> (axe-core, Lighthouse) to catch invalid markup.\n\n### Required markup\n\n| Selector / attribute | Required | Role |\n| -------------------- | -------- | ---- |\n| `<cinq-accordion>` | **Yes** | Accordion container. |\n| `[data-panel]` | **Yes** | Panel wrapper for each section. |\n| `[data-header]` or `button` | **Yes** | Focusable trigger inside each panel. |\n| `aria-expanded` | **Yes** | Current panel state on the trigger. |\n| `aria-controls` | **Yes** | ID of the controlled region. |\n| `role=\"region\"` | **Yes** | On each panel body element. |\n| `aria-labelledby` | **Yes** | On each region, referencing the header `id`. |\n| `hidden` | **Yes** | On collapsed regions in their initial state. |\n| `[data-inner]` | Recommended | Inner wrapper used for height measurement. |\n\n### Options\n\nConfigured via data attributes on `<cinq-accordion>`:\n\n| Attribute | Type | Default | Description |\n| --------- | ---- | ------- | ----------- |\n| `data-multiselectable` | boolean | `false` | Allow multiple panels open at once. |\n| `data-hash` | boolean | `true` | Open the panel whose region `id` matches the URL hash (`#id` or `#/id`). |\n\nPer panel:\n\n| Attribute | Type | Default | Description |\n| --------- | ---- | ------- | ----------- |\n| `data-open` | boolean | - | Reflected open state. Useful for styling. |\n| `data-deselect` | boolean | `false` | Allow collapsing the panel when it is already open. |\n\n### Nested accordion\n\nNest a `<cinq-accordion>` inside a panel body. Each instance only binds its own\npanels. Set `data-hash=\"false\"` on nested hosts to avoid hash\ncollisions.\n\n### Keyboard support\n\n| Key | Function |\n| --- | -------- |\n| `Tab` / `Shift + Tab` | Move focus through focusable elements in the page. |\n| `Space` / `Enter` | Toggle the focused header (native button behavior). |\n| `Arrow Up` / `Arrow Down` | Move focus between accordion headers. |\n| `Arrow Left` / `Arrow Right` | Move focus between accordion headers. |\n| `Home` | Focus the first header. |\n| `End` | Focus the last header. |\n\n### Programmatic API\n\n```js\nconst $accordion = document.querySelector(\"cinq-accordion\");\n\n$accordion.closeAll();\n$accordion.destroy();\n// mutate panel DOM...\n$accordion.init();\n```\n\nEach panel exposes `openPanel(emit?)`, `close(emit?)`, and `toggle()` on the\n`Panel` instances via `$accordion.panels` (also exported as `Panel`).\n\n## Events\n\n| Event | Cancelable | Detail | Description |\n| ----- | ---------- | ------ | ----------- |\n| `accordion:open` | Yes | `{ el, index }` | Fired before a panel opens. Cancel to abort. |\n| `accordion:close` | Yes | `{ el, index }` | Fired before a panel closes. Cancel to abort. |\n\n```js\nimport { EVENTS } from \"@agencecinq/utils\";\n\n$accordion.addEventListener(EVENTS.ACCORDION_OPEN, (event) => {\n  console.log(event.detail.index);\n});\n```\n\n## Build setup\n\n```bash\npnpm -C packages/accordion build\n```\n\n## Acknowledgments\n\n- [Accordion Pattern (WAI-ARIA Practices)](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/)\n- [`@19h47/accordion`](https://github.com/19h47/19h47-accordion), original implementation\n\nSee the [interactive docs](https://agencecinq.github.io/ui/components/accordion/) for live examples.\n","readmeFilename":"README.md"}