Angular Formular-Bibliothek | ng-hub-ui-forms

Barrierefreie Angular-Formularfelder (Input, Textarea, Slider, Select, Datepicker) mit automatischer Anzeige von Fehlern auf Control-, Gruppen- und Formularebene, Reactive Forms und CSS-Variablen.

API-Referenz

Hier ist der vollständige Vertrag für forms: alles, was du binden, abhören, projizieren und gestalten kannst, an einem Ort gesammelt. Verdrahte, was du brauchst, und gestalte, was du willst — es ist standalone und Signals-freundlich.

Inputs

Stelle forms mit 14 Inputs ein. Binde sie wie jeden Angular-@Input.

NameTypStandardBeschreibung
formControlName / [formControl]string | FormControlBindet ein beliebiges Feld an ein reaktives Steuerelement. Fehler werden automatisch angezeigt, wenn das Steuerelement berührt und ungültig ist.
labelstring''Beschriftungstext des Feldes.
labelType'stacked' | 'floating' | 'horizontal''stacked'Platzierung der Beschriftung.
placeholderstring''Platzhaltertext.
formTextstringHilfetext, der unter dem Steuerelement angezeigt wird.
type (hub-input)'text' | 'number' | 'password' | 'email' | 'tel' | 'url' | 'color' | 'checkbox' | 'switch' | 'counter' | 'file''text'Das hub-input-Format.
prepend / append (hub-input)string | string[]Input-Group-Addon-Text vor / nach dem Steuerelement.
mask (hub-input)stringMustermaske für Textformate. Tokens: 0 = Ziffer, A = Buchstabe, * = alphanumerisch; andere Zeichen sind literale Trennzeichen. Z. B. "0000 0000 0000 0000".
unmaskValue (hub-input)booleanfalseSpeichert bei gesetzter Maske die rohen eingegebenen Zeichen (ohne Trennzeichen) im Formular anstelle des formatierten Textes.
range (hub-slider)booleanfalseBereichsregler mit zwei Reglern; der Wert wird zu einem [lower, upper]-Tupel.
format (hub-select)'dropdown' | 'buttons' | 'checkbox' | 'radio''dropdown'Wie das Select denselben Wert rendert.
items / bindLabel / bindValue / multiple (hub-select)any[] / string / string / booleanOptionen, die label/value-Eigenschaftsnamen für Objektelemente und Mehrfachauswahl.
mode (hub-datepicker)'single' | 'range''single'Einzelnes Datum oder Datumsbereich.
min / max / disabledDates (hub-datepicker)string | Date / (date) => booleanGrenzen für auswählbare Daten und ein pro-Datum-Deaktivierungsprädikat.

Outputs

Reagiere darauf, was forms tut — 4 Events, an die du deine Logik anknüpfen kannst.

NameTypBeschreibung
valueChangeEventEmitter<value>Wird ausgelöst, wann immer sich der Feldwert ändert.
submit (form[hubForm])EventEmitter<void>Wird beim Absenden ausgelöst, nachdem der Baum als berührt markiert wurde.
opened / closed / cleared / viewChange (hub-datepicker)EventEmitterKalender-Lebenszyklus- und Navigationsereignisse.
onOpen / onClose / onClear / onSearch / onAdd / onRemove (hub-select)EventEmitterDropdown-Lebenszyklus- und Tag-/Typeahead-Ereignisse.

Templates

Mach es zu deinem — 4 Template-Slots lassen dich eigenes Markup projizieren.

NameBeschreibungBeispiel
hubFormTextProjiziert reichhaltigen Hilfetext-Inhalt.<ng-template hubFormText>…</ng-template>
hubValidationErrorÜberschreibt die Meldung für einen bestimmten Fehlerschlüssel.<ng-template hubValidationError key="min">…</ng-template>
hubLegendBenutzerdefinierter fieldset-Legenden-Inhalt.<ng-template hubLegend>…</ng-template>
ng-option-tmp (hub-select)Benutzerdefiniertes Rendern von Dropdown-Optionen (re-exportierte ng-select-Direktive).<ng-template ng-option-tmp let-item="item">…</ng-template>

CSS-Variablen

Gestalte jedes Pixel mit 17 CSS-Variablen. Überschreibe sie auf :root oder begrenze sie auf einen Wrapper.

Gemeinsame Feld-Tokens

Von jedem Feld geteilte Gestaltung: Label, Hilfetext, Validierungs-Feedback und Fokus-Ring.

VariableStandardTypBeschreibung
--hub-label-font-weightvar(--hub-ref-font-weight-medium)string Schriftstärke des Feld-Labels.
--hub-form-feedback-colorvar(--hub-sys-color-danger)color Schriftfarbe von Validierungsfehlern.
--hub-form-text-colorvar(--hub-sys-text-muted)color Farbe des Hilfetextes.
--hub-form-focus-ring-colorvar(--hub-sys-focus-ring-color)color Farbe des Fokus-Rings.
--hub-form-invalid-border-colorvar(--hub-sys-color-danger)color Rahmenfarbe ungültiger Steuerelemente.

Input

Das Text-Steuerelement-Erscheinungsbild, das von input, textarea und dem select-Trigger geteilt wird.

VariableStandardTypBeschreibung
--hub-input-bgvar(--hub-sys-surface-page)color Hintergrund des Steuerelements.
--hub-input-border-colorvar(--hub-sys-border-color-default)color Rahmenfarbe des Steuerelements.
--hub-input-border-radiusvar(--hub-ref-radius-md)length Rahmenradius des Steuerelements.
--hub-input-padding-y0.375remlength Vertikaler Innenabstand des Steuerelements.
--hub-input-padding-x0.75remlength Horizontaler Innenabstand des Steuerelements.
--hub-input-focus-border-colorvar(--hub-sys-color-primary)color Rahmenfarbe bei Fokus.

Select, Slider & Datepicker

Komponentenspezifische Akzente, die an die System-Tokens anknüpfen.

VariableStandardTypBeschreibung
--hub-select-option-selected-bgvar(--hub-sys-color-primary)color Hintergrund der ausgewählten Dropdown-Option.
--hub-select-value-bgvar(--hub-sys-surface-elevated)color Hintergrund des Multi-Select-Chips.
--hub-slider-track-fill-bgvar(--hub-sys-color-primary)color Gefüllter Bereich der Slider-Spur.
--hub-slider-thumb-bgvar(--hub-sys-color-primary)color Farbe des Slider-Thumbs.
--hub-daterangepicker-active-bgvar(--hub-sys-color-primary)color Hintergrund des ausgewählten Kalendertags.
--hub-daterangepicker-in-range-bgcolor-mix(in srgb, var(--hub-sys-color-primary) 14%, transparent)color Hintergrund eines Kalendertags im ausgewählten Bereich.

Styling und Theming

Es sind noch keine Styling-Beispiele dokumentiert. Dieser Abschnitt wird Anpassungsrezepte und Theming-Beispiele enthalten.