IconCircle
Affichage riche
Engine\Native\IconCircle place une icône centrée dans un cercle coloré — la forme la plus répétée de tous les écrans natifs (boutons retour, badges d'avatar, icônes de tête/fin de ligne dans les listes). Optionnellement tapable : passer $action transforme tout le cercle en région de hit-test, exactement comme l'envelopper à la main dans Tappable.
Exemple
php
<?php
use Engine\Native\IconCircle;
use Engine\Color;
$backButton = new IconCircle(
icon: 'arrow_back',
diameter: 40.0,
background: Color::hex('#eef2ff'),
iconColor: Color::hex('#4f46e5'),
action: 'nav:back',
);Cet exemple crée un bouton retour circulaire, icône bleue sur fond lavande, tapable via $action.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| icon | string | — | Nom de l'icône à centrer dans le cercle. |
| diameter | float | 40.0 | Diamètre du cercle ; l'icône fait la moitié de cette taille. |
| background | ?Color | Tokens::surfaceMuted() | Couleur de fond du cercle. |
| iconColor | ?Color | Tokens::ink() | Couleur de l'icône. |
| action | ?string | null | Si fourni, le cercle entier devient une région tapable. |
| meta | ?array<string, mixed> | null | Données supplémentaires transmises au handler de $action, voir Tappable. |
À savoir. L'icône est toujours dessinée à
diameter * 0.5, donc son échelle suit automatiquement celle du cercle ; il n'existe pas de paramètre séparé pour la taille de l'icône.