Demo
Ein Markup, drei Adapter, austauschbare Themes. Framework und Theme lassen sich frei kombinieren – die Komponente sieht immer gleich aus und verhält sich gleich. Der Code unter der Vorschau zeigt genau die gewählte Kombination.
Einkommensnachweise und ein gültiges Ausweisdokument.
In der Regel weniger als 24 Stunden.
Einkommensnachweise und ein gültiges Ausweisdokument.
In der Regel weniger als 24 Stunden.
Einkommensnachweise und ein gültiges Ausweisdokument.
In der Regel weniger als 24 Stunden.
Vanilla@synatix/vanilla + @synatix/theme-kredit
import { enhanceAccordion } from "@synatix/vanilla";
import "@synatix/theme-kredit/theme.css";
// Ein Container im Markup trägt data-theme="kredit".
const root = document.querySelector(
"[data-scope='accordion']"
);
const cleanup = enhanceAccordion(root);Vanilla@synatix/vanilla + @synatix/theme-cpool
import { enhanceAccordion } from "@synatix/vanilla";
import "@synatix/theme-cpool/theme.css";
// Ein Container im Markup trägt data-theme="cpool".
const root = document.querySelector(
"[data-scope='accordion']"
);
const cleanup = enhanceAccordion(root);Vanilla@synatix/vanilla
import { enhanceAccordion } from "@synatix/vanilla";
const root = document.querySelector(
"[data-scope='accordion']"
);
const cleanup = enhanceAccordion(root);React@synatix/react + @synatix/theme-kredit
import { Accordion } from "@synatix/react";
import "@synatix/theme-kredit/theme.css";
export function Example() {
return (
<div data-theme="kredit">
<Accordion defaultValue={['docs']}>
<Accordion.Item value="docs">
<Accordion.Trigger>Unterlagen</Accordion.Trigger>
<Accordion.Content>Ausweis und Nachweise</Accordion.Content>
</Accordion.Item>
</Accordion>
</div>
);
}React@synatix/react + @synatix/theme-cpool
import { Accordion } from "@synatix/react";
import "@synatix/theme-cpool/theme.css";
export function Example() {
return (
<div data-theme="cpool">
<Accordion defaultValue={['docs']}>
<Accordion.Item value="docs">
<Accordion.Trigger>Unterlagen</Accordion.Trigger>
<Accordion.Content>Ausweis und Nachweise</Accordion.Content>
</Accordion.Item>
</Accordion>
</div>
);
}React@synatix/react
import { Accordion } from "@synatix/react";
export function Example() {
return (
<Accordion defaultValue={['docs']}>
<Accordion.Item value="docs">
<Accordion.Trigger>Unterlagen</Accordion.Trigger>
<Accordion.Content>Ausweis und Nachweise</Accordion.Content>
</Accordion.Item>
</Accordion>
);
}Svelte@synatix/svelte + @synatix/theme-kredit
<script>
import { Accordion } from "@synatix/svelte";
import "@synatix/theme-kredit/theme.css";
</script>
<div data-theme="kredit">
<Accordion items={questions} bind:value />
</div>Svelte@synatix/svelte + @synatix/theme-cpool
<script>
import { Accordion } from "@synatix/svelte";
import "@synatix/theme-cpool/theme.css";
</script>
<div data-theme="cpool">
<Accordion items={questions} bind:value />
</div>Svelte@synatix/svelte
<script>
import { Accordion } from "@synatix/svelte";
</script>
<Accordion items={questions} bind:value />Anatomie
Feste Parts dienen als Selektoren für CSS und Tests.
<div data-scope="accordion" data-part="root">
<span data-part="item">…</span>
<span data-part="trigger">…</span>
<span data-part="indicator">…</span>
<span data-part="content">…</span>
</div>Props
| Prop | Typ | Standard | Beschreibung |
|---|---|---|---|
items | AccordionItem[] | [] | Definiert Trigger und Inhalte. |
multiple | boolean | false | Erlaubt mehrere offene Bereiche. |
value | string[] | [] | Steuert die offenen Bereiche. |
Tastatur
| Taste | Verhalten |
|---|---|
Tab | Setzt den Fokus auf das nächste bedienbare Element. |
Shift + Tab | Setzt den Fokus auf das vorherige Element. |
Enter / Leertaste | Öffnet oder schließt den fokussierten Bereich. |