diff --git a/.changeset/accordion-component.md b/.changeset/accordion-component.md new file mode 100644 index 0000000..671d1a9 --- /dev/null +++ b/.changeset/accordion-component.md @@ -0,0 +1,14 @@ +--- +'@sb1/indeks-css': minor +'@sb1/indeks-react': minor +--- + +Ny komponent: Accordion + +Accordion viser og skjuler innhold i seksjoner. Den bygger på native `
`/``, så tastatur (Tab, Enter/Space) og skjermleser-semantikk (disclosure med åpen/lukket-tilstand) fungerer uten ekstra ARIA — og uten JavaScript. + +- Ren CSS: ingen web-komponent. Seksjonene er uavhengige (flere kan stå åpne samtidig). Den myke åpne/lukke-animasjonen er en progressiv CSS-enhancement (`interpolate-size` + `::details-content`); nettlesere uten støtte hopper bare åpent/lukket, fortsatt fullt funksjonelt. +- React-laget er et tynt, compound-API: `Accordion` (en `
`) med `Accordion.Item` (→ `
`), `Accordion.Header` (→ ``) og `Accordion.Content`. `defaultOpen` på `Accordion.Item` speiler native `
`. +- Fullt brukbar uten React via klassene `.ix-accordion`, `.ix-accordion__item`, `.ix-accordion__header` og `.ix-accordion__content` på native `
`/``. +- Visuelle states (default, hover, active, focus, expanded) er definert; en chevron roterer for å vise tilstand, og animasjonen respekterer `prefers-reduced-motion`. Fokusring kun på header. +- Bevisst avvik fra akseptansekriteriene: header er `` framfor `