Overlay · Komponente

Dialog

Öffnet eine abgegrenzte Aufgabe oder Entscheidung über dem aktuellen Inhalt.

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.

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

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

Anatomie

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

<div data-scope="dialog" data-part="root">
  <span data-part="trigger">…</span>
  <span data-part="backdrop">…</span>
  <span data-part="positioner">…</span>
  <span data-part="content">…</span>
  <span data-part="title">…</span>
  <span data-part="description">…</span>
  <span data-part="close">…</span>
</div>

Props

PropTypStandardBeschreibung
openbooleanfalseSteuert den sichtbaren Zustand.
modalbooleantrueBlockiert die Bedienung außerhalb des Dialogs.
closeOnEscapebooleantrueErlaubt das Schließen mit Escape.

Tastatur

TasteVerhalten
Enter / LeertasteÖffnet den Dialog über den Trigger.
TabHält den Fokus innerhalb des Dialogs.
EscapeSchließt den Dialog und stellt den Fokus wieder her.