Skip to content

CSS: alert

.instui-alert · stable — Un message en ligne avec une barre de couleur d’état et un glyphe d’état masqué provenant de l’ensemble d’icônes partagé.

A custom -icon-<name> swaps the status glyph but keeps the variant's coloured bar; the bar fill is re-asserted at higher specificity so the shared icon painter doesn't consume it. A direct close button defaults to small; add a size modifier to override it.

Source: alert.css

TIP

Amélioration JS — Le CSS de ce composant s’affiche et fonctionne de façon autonome ; associez-le à @pantoken/interactions pour ajouter le comportement interactif. Son modificateur -timeout est piloté par ce comportement. Voir la table des modificateurs ci‑dessous.

Accessibilité

Pour un message important, ajoutez role="alert" ou une région aria-live afin que la technologie d’assistance l’annonce ; le contrôle de rejet est un bouton de fermeture étiqueté (l’.instui-close-button dans l’exemple porte aria-label="Close").

Utilisation

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/alert.css";

Exemples

html
<div class="instui-alert -icon-megaphone --mb-md">
  An alert with the default <code>info</code> color, and a custom icon.
</div>
<div class="instui-alert -color-success">
  Congratulations! You're using the "success" color.
  <button class="instui-close-button" aria-label="Close"></button>
</div>

Structure

text
.instui-alert
  ‹content›
  close-button (component, 0..1)
flowchart TD n0[".instui-alert"]:::cssdoc-root n1[/"‹content›"/]:::cssdoc-slot n2(["close-button"]):::cssdoc-component n0 --> n1 n0 -.->|0..1| n2 click n2 "/api/css/close-button.md" classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

Emplacements

EmplacementDescription
contentLe contenu du message de l’alerte ; peut inclure un bouton de rejet.

Modificateurs

ModificateurDescription
.-color-dangerUn message d’erreur.
.-color-infoInformationnel (par défaut).
.-color-successUn message positif/de confirmation.
.-color-warningUn message d’avertissement.
.-has-shadow-falseAlias — maps to .-without-shadow.
.-icon-*Remplacez le glyphe d’état par une icône personnalisée (p. ex. -icon-megaphone), conservée en blanc sur la barre colorée de la variante.
.-render-custom-icon-*Obsolète — The former renderCustomIcon prop; still works as an alias, but use -icon-<name> (or override --pantoken-alert-glyph) instead.
.-screen-reader-onlyVisuellement masqué mais annoncé.
.-timeoutInteraction — The alert will automatically dismiss after a default of 5 seconds.
.-timeout-1Une seconde avant la fermeture automatique.
.-timeout-2Deux secondes avant la fermeture automatique.
.-timeout-3Trois secondes avant la fermeture automatique.
.-timeout-4Quatre secondes avant la fermeture automatique.
.-timeout-5Cinq secondes avant la fermeture automatique.
.-variant-errorObsolète — use .-color-danger.
.-variant-infoObsolète — use .-color-info.
.-variant-successObsolète — use .-color-success.
.-variant-warningObsolète — use .-color-warning.
.-without-shadowSupprimer l’ombre d’élévation par défaut (InstUI hasShadow={false}).

Pseudo-éléments

Pseudo-élémentDescription
::afterLe glyphe d’état blanc, masqué et centré sur la barre.
::beforeLa barre d’état pleine de la couleur de la variante, alignée au bord arrondi de départ.

Propriétés personnalisées

PropriétéTypePar défautDescription
--pantoken-alert-glyph<url>The low-level status-glyph source; -icon-&lt;name&gt; sets it for you. Override for a custom icon (a url-encoded SVG).
--pantoken-alert-icon-bg<color>Le remplissage coloré de la barre d’état derrière le glyphe ; chaque variante -color-* définit le sien.
--timeout<integer>Millisecondes avant la fermeture automatique ; 0 la désactive. Nécessite le bundle d’interaction d’alerte.

Tokens consommés

TokenTypeValeur
--instui-component-alert-background<color>LightDarklight-dark(#ffffff, #171B21)
--instui-component-alert-border-radius<length>0.75rem
--instui-component-alert-border-stylesolid
--instui-component-alert-border-width<length>0.125rem
--instui-component-alert-color<color>LightDarklight-dark(#273540, #ffffff)
--instui-component-alert-content-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-alert-content-font-size<length>1rem
--instui-component-alert-content-font-weight<integer>400
--instui-component-alert-content-line-height<percentage>125%
--instui-component-alert-content-padding-horizontal<length>1.5rem
--instui-component-alert-content-padding-vertical<length>0.75rem
--instui-component-alert-danger-border-color<color>#E62429
--instui-component-alert-danger-icon-background<color>#E62429
--instui-component-alert-icon-color<color>#ffffff
--instui-component-alert-info-border-color<color>#2B7ABC
--instui-component-alert-info-icon-background<color>#2B7ABC
--instui-component-alert-success-border-color<color>#03893D
--instui-component-alert-success-icon-background<color>#03893D
--instui-component-alert-warning-border-color<color>#CF4A00
--instui-component-alert-warning-icon-background<color>#CF4A00
--instui-component-base-button-medium-height<length>2.5rem
--instui-component-base-button-small-height<length>2rem
--instui-elevation-abovenone | <shadow>#
--instui-icon-circle-check<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E')
--instui-icon-circle-x<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m15%209-6%206%22%2F%3E%3Cpath%20d%3D%22m9%209%206%206%22%2F%3E%3C%2Fsvg%3E')
--instui-icon-info<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4%22%2F%3E%3Cpath%20d%3D%22M12%208h.01%22%2F%3E%3C%2Fsvg%3E')
--instui-icon-triangle-alert<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4%22%2F%3E%3Cpath%20d%3D%22M12%2017h.01%22%2F%3E%3C%2Fsvg%3E')
--instui-spacing-space-xs<length>0.25rem
--pantoken-glyph<url>url("data:image/svg+xml

Sous-composants

Connexe