Aktion · Komponente

Button

Startet eine benannte Aktion und zeigt Lade-, Deaktiviert- und Fokuszustände.

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.

Button
Vanilla@synatix/vanilla + @synatix/theme-kredit
import { enhanceButton } from "@synatix/vanilla";
import "@synatix/theme-kredit/theme.css";

// Ein Container im Markup trägt data-theme="kredit".
const root = document.querySelector(
  "[data-scope='button']"
);
const cleanup = enhanceButton(root);

Anatomie

Feste Parts dienen als Selektoren für CSS und Tests.

<div data-scope="button" data-part="root">
  <span data-part="icon">…</span>
  <span data-part="label">…</span>
  <span data-part="spinner">…</span>
</div>

Props

PropTypStandardBeschreibung
variant"primary" | "secondary" | "ghost""primary"Bestimmt die visuelle Hierarchie.
size"sm" | "md" | "lg""md"Steuert Höhe und Innenabstand.
loadingbooleanfalseVerhindert weitere Klicks und zeigt den Fortschritt.
disabledbooleanfalseDeaktiviert die Aktion.

Tastatur

TasteVerhalten
TabSetzt den Fokus auf das nächste bedienbare Element.
Shift + TabSetzt den Fokus auf das vorherige Element.
Enter / LeertasteLöst die Aktion aus.