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.
Vanilla@synatix/vanilla + @synatix/theme-kredit
import { enhanceCheckbox } from "@synatix/vanilla";
import "@synatix/theme-kredit/theme.css";
// Ein Container im Markup trägt data-theme="kredit".
const root = document.querySelector(
"[data-scope='checkbox']"
);
const cleanup = enhanceCheckbox(root);Vanilla@synatix/vanilla + @synatix/theme-cpool
import { enhanceCheckbox } from "@synatix/vanilla";
import "@synatix/theme-cpool/theme.css";
// Ein Container im Markup trägt data-theme="cpool".
const root = document.querySelector(
"[data-scope='checkbox']"
);
const cleanup = enhanceCheckbox(root);Vanilla@synatix/vanilla
import { enhanceCheckbox } from "@synatix/vanilla";
const root = document.querySelector(
"[data-scope='checkbox']"
);
const cleanup = enhanceCheckbox(root);React@synatix/react + @synatix/theme-kredit
import { Checkbox } from "@synatix/react";
import "@synatix/theme-kredit/theme.css";
export function Example() {
return (
<div data-theme="kredit">
<Checkbox aria-label="Digital erhalten" defaultChecked />
</div>
);
}React@synatix/react + @synatix/theme-cpool
import { Checkbox } from "@synatix/react";
import "@synatix/theme-cpool/theme.css";
export function Example() {
return (
<div data-theme="cpool">
<Checkbox aria-label="Digital erhalten" defaultChecked />
</div>
);
}React@synatix/react
import { Checkbox } from "@synatix/react";
export function Example() {
return (
<Checkbox aria-label="Digital erhalten" defaultChecked />
);
}Svelte@synatix/svelte + @synatix/theme-kredit
<script>
import { Checkbox } from "@synatix/svelte";
import "@synatix/theme-kredit/theme.css";
</script>
<div data-theme="kredit">
<label><Checkbox bind:checked /> Digital erhalten</label>
</div>Svelte@synatix/svelte + @synatix/theme-cpool
<script>
import { Checkbox } from "@synatix/svelte";
import "@synatix/theme-cpool/theme.css";
</script>
<div data-theme="cpool">
<label><Checkbox bind:checked /> Digital erhalten</label>
</div>Svelte@synatix/svelte
<script>
import { Checkbox } from "@synatix/svelte";
</script>
<label><Checkbox bind:checked /> Digital erhalten</label>Anatomie
Feste Parts dienen als Selektoren für CSS und Tests.
<div data-scope="checkbox" data-part="root">
<span data-part="control">…</span>
<span data-part="indicator">…</span>
<span data-part="label">…</span>
<span data-part="hint">…</span>
</div>Props
| Prop | Typ | Standard | Beschreibung |
|---|---|---|---|
checked | boolean | false | Steuert den Auswahlstatus. |
indeterminate | boolean | false | Zeigt einen gemischten Status. |
disabled | boolean | false | Deaktiviert die Auswahl. |
Tastatur
| Taste | Verhalten |
|---|---|
Tab | Setzt den Fokus auf das nächste bedienbare Element. |
Shift + Tab | Setzt den Fokus auf das vorherige Element. |
Leertaste | Wechselt den Auswahlstatus. |