Banner
Structure d'écran
Équivalent natif d'Engine\ErrorBanner : contrairement à Engine\FlashMessage (position fixe, auto-disparition via CSS — ce pipeline n'a pas encore de minuteur/overlay côté client pour ça), Banner reste dans le flux normal de la mise en page. Les écrans continuent à l'utiliser de la même façon : passer l'erreur de validation courante directement, et ne rien afficher si elle est nulle ou vide.
Exemple
<?php
use Engine\Native\Banner;
$banner = new Banner(
message: $errors['email'] ?? null,
icon: 'warning',
background: null,
foreground: null,
);N'affiche rien tant que $errors['email'] est null ou vide ; sinon, montre un bandeau rouge avec l'icône d'avertissement et le message d'erreur.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| message | ?string | — | Message affiché ; si null ou chaîne vide, le widget ne rend rien (taille zéro). |
| icon | string | 'warning' | Nom de l'icône affichée à gauche du message. |
| background | ?Color | null (Tokens::dangerMuted()) | Couleur de fond du bandeau. |
| foreground | ?Color | null (Tokens::danger()) | Couleur de l'icône et du texte. |
À savoir. Quand
messageestnullou vide,layout()retourne une taille(0, 0)contrainte etpaint()ne dessine rien — le widget peut donc rester dans l'arbre en permanence sans réserver d'espace tant qu'il n'y a pas d'erreur à afficher.