Bibliothèque de Formulaires Angular | ng-hub-ui-forms

Champs de formulaire Angular accessibles (input, textarea, slider, select, datepicker) avec affichage automatique des erreurs de contrôle/groupe/formulaire, formulaires réactifs et variables CSS.

Référence API

Voici le contrat complet de forms : tout ce que vous pouvez lier, écouter, projeter et personnaliser, réuni au même endroit. Branchez ce dont vous avez besoin et stylisez ce que vous voulez — c’est standalone et compatible avec les signals.

Inputs

Réglez forms à votre goût avec 14 inputs. Liez-les comme n’importe quel @Input Angular.

NomTypePar défautDescription
formControlName / [formControl]string | FormControlLie n'importe quel champ à un contrôle réactif. Les erreurs s'affichent automatiquement lorsque le contrôle est touché et invalide.
labelstring''Texte du libellé du champ.
labelType'stacked' | 'floating' | 'horizontal''stacked'Positionnement du libellé.
placeholderstring''Texte de l'espace réservé.
formTextstringTexte d'aide affiché sous le contrôle.
type (hub-input)'text' | 'number' | 'password' | 'email' | 'tel' | 'url' | 'color' | 'checkbox' | 'switch' | 'counter' | 'file''text'Le format de hub-input.
prepend / append (hub-input)string | string[]Texte de l'addon de l'input-group avant / après le contrôle.
mask (hub-input)stringMasque de motif pour les formats texte. Jetons : 0 = chiffre, A = lettre, * = alphanumérique ; les autres caractères sont des séparateurs littéraux. Par ex. "0000 0000 0000 0000".
unmaskValue (hub-input)booleanfalseAvec un masque défini, stocke les caractères saisis bruts (sans séparateurs) dans le formulaire au lieu du texte formaté.
range (hub-slider)booleanfalseCurseur de plage à deux poignées ; la valeur devient un tuple [lower, upper].
format (hub-select)'dropdown' | 'buttons' | 'checkbox' | 'radio''dropdown'Comment le select rend la même valeur.
items / bindLabel / bindValue / multiple (hub-select)any[] / string / string / booleanOptions, les noms de propriétés label/value pour les éléments objets, et la sélection multiple.
mode (hub-datepicker)'single' | 'range''single'Date unique ou plage de dates.
min / max / disabledDates (hub-datepicker)string | Date / (date) => booleanBornes des dates sélectionnables et un prédicat de désactivation par date.

Outputs

Réagissez à ce que fait forms — 4 événements sur lesquels accrocher votre logique.

NomTypeDescription
valueChangeEventEmitter<value>Émet chaque fois que la valeur du champ change.
submit (form[hubForm])EventEmitter<void>Émet à la soumission, après que l'arbre est marqué comme touché.
opened / closed / cleared / viewChange (hub-datepicker)EventEmitterÉvénements de cycle de vie et de navigation du calendrier.
onOpen / onClose / onClear / onSearch / onAdd / onRemove (hub-select)EventEmitterÉvénements de cycle de vie du dropdown et de tag/typeahead.

Templates

Faites-le vôtre — 4 emplacements de template vous permettent de projeter votre propre balisage.

NomDescriptionExemple
hubFormTextProjetez un contenu de texte d'aide enrichi.<ng-template hubFormText>…</ng-template>
hubValidationErrorRemplacez le message pour une clé d'erreur donnée.<ng-template hubValidationError key="min">…</ng-template>
hubLegendContenu personnalisé de légende du fieldset.<ng-template hubLegend>…</ng-template>
ng-option-tmp (hub-select)Rendu personnalisé des options du dropdown (directive ng-select réexportée).<ng-template ng-option-tmp let-item="item">…</ng-template>

Variables CSS

Personnalisez chaque pixel avec 17 variables CSS. Remplacez-les au niveau de :root ou limitez-les à un conteneur.

Tokens de champ partagés

Habillage commun à chaque champ : libellé, texte d'aide, retour de validation et anneau de focus.

VariablePar défautTypeDescription
--hub-label-font-weightvar(--hub-ref-font-weight-medium)string Graisse du libellé du champ.
--hub-form-feedback-colorvar(--hub-sys-color-danger)color Couleur du texte des erreurs de validation.
--hub-form-text-colorvar(--hub-sys-text-muted)color Couleur du texte d'aide.
--hub-form-focus-ring-colorvar(--hub-sys-focus-ring-color)color Couleur de l'anneau de focus.
--hub-form-invalid-border-colorvar(--hub-sys-color-danger)color Couleur de la bordure d'un contrôle invalide.

Input

L'habillage de contrôle textuel partagé par input, textarea et le déclencheur du select.

VariablePar défautTypeDescription
--hub-input-bgvar(--hub-sys-surface-page)color Arrière-plan du contrôle.
--hub-input-border-colorvar(--hub-sys-border-color-default)color Couleur de la bordure du contrôle.
--hub-input-border-radiusvar(--hub-ref-radius-md)length Rayon de bordure du contrôle.
--hub-input-padding-y0.375remlength Rembourrage vertical du contrôle.
--hub-input-padding-x0.75remlength Rembourrage horizontal du contrôle.
--hub-input-focus-border-colorvar(--hub-sys-color-primary)color Couleur de la bordure lors du focus.

Select, slider et datepicker

Accents spécifiques aux composants qui se rattachent aux tokens du système.

VariablePar défautTypeDescription
--hub-select-option-selected-bgvar(--hub-sys-color-primary)color Arrière-plan de l'option sélectionnée dans le dropdown.
--hub-select-value-bgvar(--hub-sys-surface-elevated)color Arrière-plan des puces du multi-select.
--hub-slider-track-fill-bgvar(--hub-sys-color-primary)color Portion remplie de la piste du slider.
--hub-slider-thumb-bgvar(--hub-sys-color-primary)color Couleur du curseur du slider.
--hub-daterangepicker-active-bgvar(--hub-sys-color-primary)color Arrière-plan du jour sélectionné dans le calendrier.
--hub-daterangepicker-in-range-bgcolor-mix(in srgb, var(--hub-sys-color-primary) 14%, transparent)color Arrière-plan des jours du calendrier dans la plage sélectionnée.

Styles et theming

Aucun exemple de style n’est encore documenté. Cette section inclura des recettes de personnalisation et des exemples de theming.