Skip to content

Checkbox

Überblick

mmm-checkbox bildet einzelne Auswahloptionen mit Label, Supporting Text, Error-State und Indeterminate-State ab. Für Mehrfachauswahlen steht zusätzlich mmm-checkbox-group als gruppierender Wrapper mit gemeinsamer Beschriftung, Fehlermeldung und CVA-Anbindung zur Verfügung.

Subkomponenten

  • mmm-checkbox: einzelne Checkbox für Standalone- oder Gruppen-Nutzung
  • mmm-checkbox-group: Wrapper für mehrere Checkboxen mit gemeinsamer Value-Verwaltung

Inputs mmm-checkbox

InputTypBeschreibung
labelstring | undefinedSichtbares Label der Checkbox
supportingTextstring | undefinedZusätzlicher Hilfetext unter dem Label
errorMessagestring | undefinedFehlermeldung im Error-State
ariaLabelstring | undefinedAlternativer Screenreader-Text
namestring | undefinedName des nativen Inputs im Standalone-Modus
valueunknownWert der Checkbox, relevant innerhalb einer Group
disabledbooleanDeaktiviert die Checkbox
requiredbooleanMarkiert den nativen Input als erforderlich
errorbooleanAktiviert den Error-State
indeterminatebooleanZeigt den Indeterminate-State an
checkedbooleanChecked-State im Standalone-Modus

Outputs mmm-checkbox

OutputTypBeschreibung
checkedChangeEventEmitter<boolean>Emittiert den neuen Checked-State im Standalone-Modus
changeEventEmitter<CustomEvent<{ checked: boolean; value: unknown }>>Emittiert den geänderten Zustand inklusive Value

Inputs mmm-checkbox-group

InputTypBeschreibung
legendstring | undefinedBeschriftung des fieldset
headlinestring | undefinedZusätzliche Überschrift innerhalb der Gruppe
supportingTextstring | undefinedGruppentext unterhalb der Optionen
errorMessagestring | undefinedFehlermeldung der Gruppe
disabledbooleanDeaktiviert die gesamte Gruppe
errorbooleanAktiviert den Error-State der Gruppe
requiredbooleanKennzeichnet die Gruppe als erforderlich
namestring | undefinedName, der an enthaltene Checkboxen weitergegeben wird

Outputs mmm-checkbox-group

OutputTypBeschreibung
valueChangeEventEmitter<unknown[]>Emittiert die aktuelle Auswahl als Array
changeEventEmitter<CustomEvent<{ value: unknown[] }>>Emittiert die aktuelle Auswahl als CustomEvent

Forms und Verhalten

  • mmm-checkbox implementiert ControlValueAccessor für boolesche Standalone-Nutzung.
  • mmm-checkbox-group implementiert ControlValueAccessor für Mehrfachauswahl-Arrays.
  • Innerhalb einer Group wird der Checked-State einzelner Checkboxen aus dem Group-Value abgeleitet.

SCSS-Variablen

Wichtige Variablen für mmm-checkbox:

  • --mmm-checkbox-size
  • --mmm-checkbox-gap
  • --mmm-checkbox-border-color
  • --mmm-checkbox-background
  • --mmm-checkbox-active-color
  • --mmm-checkbox-error-color
  • --mmm-checkbox-disabled-border
  • --mmm-checkbox-disabled-background

Wichtige Variablen für mmm-checkbox-group:

  • --mmm-checkbox-group-gap
  • --mmm-checkbox-group-items-gap
  • --mmm-checkbox-group-legend-gap
  • --mmm-checkbox-group-headline-gap
  • --mmm-checkbox-group-message-gap
  • --mmm-checkbox-group-error-color

Hinweise

  • checked ist nur im Standalone-Modus relevant. In einer Group wird der Zustand über value und den Group-Value gesteuert.
  • Bei error=true wird errorMessage priorisiert, ansonsten wird supportingText angezeigt.
  • Für Gruppen sollte legend gesetzt werden, damit die Auswahl semantisch korrekt beschrieben ist.

Beispiele

<mmm-checkbox
label="Newsletter abonnieren"
supportingText="Du kannst dich jederzeit wieder abmelden."
></mmm-checkbox>
<mmm-checkbox-group
legend="Benachrichtigungen"
name="notifications"
>
<mmm-checkbox value="mail" label="E-Mail"></mmm-checkbox>
<mmm-checkbox value="push" label="Push"></mmm-checkbox>
</mmm-checkbox-group>
Benachrichtigungskanäle
Wähle die gewünschten Kanäle
Mehrfachauswahl ist möglich.