Composant Modal Angular | ng-hub-ui-modal

Composant modal Angular accessible avec empilement, mode plein écran, templates, gestion du clavier et variables CSS pour les applications standalone.

Référence API

Voici le contrat complet de modal : 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 modal à votre goût avec 14 inputs. Liez-les comme n’importe quel @Input Angular.

NomTypePar défautDescription
animationbooleanSi true, l'ouverture et la fermeture du modal seront animées. Par défaut : true.
backdropboolean | "static"Si true, l'élément backdrop sera créé. Vous pouvez aussi spécifier "static" pour un backdrop qui ne ferme pas le modal au clic. Par défaut : true.
centeredbooleanSi true, le modal sera centré verticalement. Par défaut : false.
placementHubModalPlacementContrôle l'emplacement du modal dans le viewport. Par défaut : HubModalPlacement.Center.
keyboardbooleanSi true, le modal sera fermé lorsque la touche Échap est pressée. Par défaut : true.
closeOnNavigationbooleanSi true, le modal sera fermé lorsque l'utilisateur revient en arrière dans l'historique du navigateur (history.back(), bouton retour du navigateur). Par défaut : true.
size"sm" | "lg" | "xl" | stringTaille de la fenêtre modale.
windowClassstringUne classe personnalisée à ajouter à la fenêtre modale.
backdropClassstringUne classe personnalisée à ajouter au backdrop du modal.
dismissSelectorstringSélecteur personnalisé pour les éléments qui peuvent déclencher le rejet de la fenêtre modale. Par défaut : "[data-dismiss=\"modal\"]".
closeSelectorstringSélecteur personnalisé pour les éléments qui peuvent déclencher la fermeture de la fenêtre modale. Par défaut : "[data-close=\"modal\"]".
headerSelectorstringSélecteur personnalisé pour l'élément d'en-tête de la fenêtre modale.
footerSelectorstringSélecteur personnalisé pour l'élément de pied de page de la fenêtre modale.
dataanyDonnées supplémentaires à transmettre à la fenêtre modale lors de son ouverture.

Outputs

Aucun output documenté pour le moment.

Templates

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

NomDescriptionExemple
Modal TemplateRéférence de modèle pouvant être transmise au service modal.<ng-template #modalTemplate let-close="close" let-dismiss="dismiss"> <div class="modal-header"> <h4 class="modal-title">Modal Title</h4> </div> <div class="modal-body"> Modal content goes here </div> <div class="modal-footer"> <button class="btn btn-secondary" (click)="dismiss()">Cancel</button> <button class="btn btn-primary" (click)="close('result')">OK</button> </div> </ng-template>

Variables CSS

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

Variables de base de la modale

Variables de style de base pour la structure et le positionnement de la modale

VariablePar défautTypeDescription
--bs-modal-zindex1055number Z-index du modal.
--bs-modal-width500pxlength Largeur par défaut du modal.
--bs-modal-padding1remlength Marge intérieure autour du contenu du modal.
--bs-modal-margin0.5remlength Marge autour de la boîte de dialogue du modal.

Apparence de la modale

Variables contrôlant les couleurs, les bordures et les effets visuels de la modale

VariablePar défautTypeDescription
--bs-modal-colorvar(--bs-body-color)color Couleur du texte du contenu du modal.
--bs-modal-bgvar(--bs-body-bg)color Couleur d'arrière-plan du contenu du modal.
--bs-modal-border-colorvar(--bs-border-color-translucent)color Couleur de la bordure du modal.
--bs-modal-border-widthvar(--bs-border-width)border Épaisseur de la bordure du modal.
--bs-modal-border-radiusvar(--bs-border-radius-lg)border Rayon de la bordure du modal.
--bs-modal-box-shadow0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)shadow Ombre portée du modal.

En-tête de la modale

Variables de style pour la section d'en-tête de la modale

VariablePar défautTypeDescription
--bs-modal-header-padding-x1remlength Marge intérieure horizontale de l'en-tête du modal.
--bs-modal-header-padding-y1remlength Marge intérieure verticale de l'en-tête du modal.
--bs-modal-header-border-colorvar(--bs-border-color)color Couleur de la bordure de l'en-tête du modal.
--bs-modal-header-border-width0 0 var(--bs-border-width) 0border Épaisseur de la bordure de l'en-tête du modal.

Pied de la modale

Variables de style pour la section de pied de la modale

VariablePar défautTypeDescription
--bs-modal-footer-gap0.5remlength Espacement entre les éléments du pied de page du modal.
--bs-modal-footer-border-colorvar(--bs-border-color)color Couleur de la bordure du pied de page du modal.
--bs-modal-footer-border-widthvar(--bs-border-width) 0 0 0border Épaisseur de la bordure du pied de page du modal.

Styles et theming

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