Card
Affichage riche
Engine\Native\Card est l'unité visuelle de base de tout écran natif : une boîte de couleur surface, à coins arrondis, avec une fine bordure par défaut. Le docblock précise que les écrans de référence dans captures/ sont plats et à fort contraste plutôt que dominés par des ombres — il faut passer $elevation explicitement pour retrouver le style dégradé/ombre plus ancien. Elle formalise ce qui était auparavant une closure inline dupliquée entre NativeDocumentsScreen et NativeSettingsScreen. En interne elle compose un Container autour d'un Padding.
Exemple
<?php
use Engine\Native\Card;
use Engine\Native\Text;
use Engine\Native\Tokens;
use Engine\Native\EdgeInsets;
$card = new Card(
new Text('Profil complété à 80%', Tokens::TEXT_BODY, Tokens::ink()->toHex()),
padding: EdgeInsets::all(Tokens::SPACE_LG),
radius: Tokens::RADIUS_LG,
);Cet exemple enveloppe un simple texte dans une carte à bordure fine et coins arrondis, avec le padding par défaut du design system.
Constructeur
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| child | Widget | — | Contenu affiché à l'intérieur de la carte. |
| padding | ?EdgeInsets | EdgeInsets::all(Tokens::SPACE_LG) | Espace intérieur autour du contenu. |
| background | ?Color | Tokens::surface() | Couleur de fond de la carte. |
| borderColor | ?Color | Tokens::border() | Couleur de bordure ; ignorée si $elevation > 0. |
| borderWidth | float | 1.0 | Épaisseur de la bordure. |
| radius | float | Tokens::RADIUS_LG | Rayon des coins arrondis. |
| elevation | float | 0.0 | Élévation/ombre ; quand elle est positive, la bordure est désactivée automatiquement. |
À savoir. Dès que
$elevationest supérieure à 0, la bordure est forcée ànullmême si$borderColorest fourni — les deux styles (bordure plate ou ombre) sont mutuellement exclusifs dans cette implémentation.