Cette page fournit une documentation de référence complète pour tous les composants A2UI disponibles, y compris les composants de mise en page, d'affichage, interactifs et de conteneur, ainsi que les propriétés courantes.
Composants du catalogue Material et composants de base du catalogue
A2UI fournit deux catalogues de composants distincts pour créer des interfaces utilisateur d'agent : le catalogue Material et le catalogue Basic.
Le catalogue Material contient des composants spécialement conçus pour respecter les consignes Google Material Design. Il offre un ensemble d'éléments d'UI plus riche et plus stylisé, compatibles avec les configurations A2UI v0.9.
Le catalogue de base contient des primitives d'UI standards et indépendantes du système de conception, telles que des mises en page, des actions et des entrées, compatibles avec les configurations A2UI v0.9 et v0.8.
Composants du catalogue Material
Cette section fournit une référence pour les composants Material Design A2UI disponibles, y compris les composants de mise en page, d'affichage, de navigation et d'entrée.
Propriétés communes du catalogue de matériaux
Tous les composants, quel que soit leur type spécifique, partagent un ensemble de propriétés communes qui peuvent être configurées :
| Propriété | Requis | Description |
|---|---|---|
id |
Oui | Identifiant unique du composant sur la surface actuelle. |
accessibility |
Non | Attributs permettant d'améliorer l'accessibilité, tels que les libellés et les rôles. |
weight |
Non |
Valeur utilisée dans les mises en page MaterialRow ou MaterialColumn pour contrôler l'espace occupé par le composant par rapport à ses frères et sœurs, de la même manière que flex-grow.
|
Composants de mise en page du catalogue Material
Les composants de mise en page permettent de structurer et d'organiser d'autres composants dans l'interface utilisateur.
MaterialCard
Conteneur de carte Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialCard :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
children |
Oui | - | Définit les ID des enfants. |
appearance |
Non | raised |
Style d'apparence de la carte. Au choix : "outlined" ou "raised". |
align |
Non | start |
Alignement des enfants. Les valeurs possibles sont les suivantes : "center", "end", "start" et "stretch". |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
href |
Non | - | URL facultative vers laquelle accéder lorsque l'utilisateur clique sur la fiche. Lorsque cette option est activée, la fiche devient interactive et ouvre l'URL dans un nouvel onglet. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialCard",
"appearance": "outlined",
"children": [
"card-content"
]
},
{
"id": "card-content",
"component": "MaterialText",
"text": "Card content"
}
]
MaterialColumn
Conteneur de mise en page qui organise les éléments verticalement à l'aide des consignes Material.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialColumn :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
children |
Oui | - | Définit les ID des enfants. |
justify |
Non | start |
Définit la disposition des enfants le long de l'axe principal (verticalement). |
align |
Non | stretch |
Alignement horizontal des enfants ("start", "center", "end", "stretch"). |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialColumn",
"children": [
"demo-column-header",
"demo-column-content",
"demo-column-footer"
],
"justify": "start",
"align": "stretch"
},
{
"id": "demo-column-header",
"component": "MaterialText",
"text": "Header",
"usageHint": "h2"
},
{
"id": "demo-column-content",
"component": "MaterialText",
"text": "Content goes here",
"usageHint": "body"
},
{
"id": "demo-column-footer",
"component": "MaterialText",
"text": "Footer",
"usageHint": "caption"
}
]
MaterialDialog
Conteneur de boîte de dialogue du menu Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialDialog :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
open |
Non | false |
Indique si la boîte de dialogue est ouverte. Il peut s'agir d'un littéral booléen ou d'une référence de liaison de données. |
title |
Non | - | Titre de la boîte de dialogue. |
disableClose |
Non | false |
Indique si l'utilisateur peut fermer la boîte de dialogue en cliquant en dehors ou en appuyant sur Échap. |
width |
Non | - | Largeur de la boîte de dialogue (par exemple, "500px"). |
height |
Non | - | Hauteur de la boîte de dialogue (par exemple, "400px"). |
children |
Oui | - | Définit les ID des enfants. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialColumn",
"children": [
"open-button",
"confirmation-dialog"
],
"justify": "start",
"align": "start"
},
{
"id": "open-button",
"component": "MaterialButton",
"label": "Delete Item",
"variant": "raised",
"color": "warn",
"action": {
"event": {
"name": "requestDelete"
}
}
},
{
"id": "confirmation-dialog",
"component": "MaterialDialog",
"open": {
"path": "/app/dialogOpen"
},
"title": "Delete Confirmation",
"children": [
"dialog-layout"
]
},
{
"id": "dialog-layout",
"component": "MaterialColumn",
"children": [
"dialog-text",
"dialog-actions"
],
"justify": "start",
"align": "stretch"
},
{
"id": "dialog-text",
"component": "MaterialText",
"text": "Are you sure you want to permanently delete this item?"
},
{
"id": "dialog-actions",
"component": "MaterialRow",
"children": [
"cancel-button",
"confirm-button"
],
"justify": "end",
"align": "center"
},
{
"id": "cancel-button",
"component": "MaterialButton",
"label": "Cancel",
"variant": "basic",
"action": {
"event": {
"name": "closeDialog"
}
}
},
{
"id": "confirm-button",
"component": "MaterialButton",
"label": "Delete",
"variant": "raised",
"color": "warn",
"action": {
"event": {
"name": "confirmDelete"
}
}
}
]
MaterialDivider
Ligne de séparation Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialDivider :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
inset |
Non | false |
Indique si le séparateur est en retrait. |
vertical |
Non | false |
Indique si le séparateur est vertical. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialColumn",
"children": [
"text-above",
"divider",
"text-below"
],
"justify": "start",
"align": "stretch"
},
{
"id": "text-above",
"component": "MaterialText",
"text": "This is the content above the divider."
},
{
"id": "divider",
"component": "MaterialDivider",
"inset": false,
"vertical": false
},
{
"id": "text-below",
"component": "MaterialText",
"text": "This is the content below the divider."
}
]
MaterialExpansionPanel
Conteneur du panneau de développement Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialExpansionPanel :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
title |
Non | - | Titre affiché dans l'en-tête du panneau de développement. |
description |
Non | - | Description affichée dans l'en-tête du panneau de développement. |
expanded |
Non | false |
Indique si le panneau est développé. Il peut s'agir d'un littéral booléen ou d'une référence de liaison de données. |
disabled |
Non | false |
Indique si le panneau de développement est désactivé. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
children |
Oui | - | Définit les ID des enfants. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialExpansionPanel",
"title": "Advanced Options",
"description": "Configure advanced settings",
"expanded": false,
"children": [
"panel-content"
]
},
{
"id": "panel-content",
"component": "MaterialText",
"text": "Advanced settings content goes here"
}
]
MaterialGridList
Composant de conteneur A2UI pour la mise en page en grille. Utilise la liste de grille Angular Material pour organiser les composants enfants en mosaïques.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialGridList :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
children |
Oui | - | Définit les ID des enfants. |
cols |
Non | 2 |
Nombre de colonnes dans la liste en grille. Il peut s'agir d'un nombre littéral ou d'une référence de liaison de données. |
rowHeight |
Non | 1:1 |
Ratio de hauteur de ligne ou hauteur fixe (par exemple, "100px"). Il peut s'agir d'une chaîne littérale ou d'une référence de liaison de données. |
gutterSize |
Non | 1px |
Taille de la gouttière de la grille. Il peut s'agir d'une chaîne littérale ou d'une référence de liaison de données. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialGridList",
"cols": 2,
"rowHeight": "1:1",
"gutterSize": "8px",
"children": [
"card-a",
"card-b",
"card-c",
"card-d"
]
},
{
"id": "card-a",
"component": "MaterialCard",
"children": [
"text-a"
]
},
{
"id": "text-a",
"component": "MaterialText",
"text": "Card A"
},
{
"id": "card-b",
"component": "MaterialCard",
"children": [
"text-b"
]
},
{
"id": "text-b",
"component": "MaterialText",
"text": "Card B"
},
{
"id": "card-c",
"component": "MaterialCard",
"children": [
"text-c"
]
},
{
"id": "text-c",
"component": "MaterialText",
"text": "Card C"
},
{
"id": "card-d",
"component": "MaterialCard",
"children": [
"text-d"
]
},
{
"id": "text-d",
"component": "MaterialText",
"text": "Card D"
}
]
MaterialRow
Conteneur de mise en page qui organise les éléments horizontalement à l'aide des consignes Material.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialRow :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
children |
Oui | - | Définit les ID des enfants. |
justify |
Non | start |
Définit l'arrangement des enfants le long de l'axe principal (horizontalement). |
align |
Non | stretch |
Alignement vertical des enfants ("start", "center", "end", "stretch"). |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialRow",
"children": [
"item-icon",
"item-details",
"item-action"
],
"justify": "spaceBetween",
"align": "center"
},
{
"id": "item-icon",
"component": "MaterialIcon",
"icon": "shopping_bag",
"color": "primary"
},
{
"id": "item-details",
"component": "MaterialColumn",
"children": [
"item-title",
"item-subtitle"
],
"justify": "start",
"align": "start"
},
{
"id": "item-title",
"component": "MaterialText",
"text": "Premium Wireless Headphones",
"usageHint": "subtitle1"
},
{
"id": "item-subtitle",
"component": "MaterialText",
"text": "$299.99 \u2022 Active Noise Cancelling",
"usageHint": "caption"
},
{
"id": "item-action",
"component": "MaterialButton",
"label": "Buy Now",
"variant": "raised",
"action": {
"event": {
"name": "buy_clicked"
}
}
}
]
Composants du contenu du catalogue Material
Les composants d'affichage et de contenu sont utilisés pour présenter des informations, des contenus multimédias et des états à l'utilisateur.
MaterialBadge
Affiche un badge Material Design sur un élément enfant.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialBadge :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
text |
Non | - | Contenu textuel à afficher dans le badge. |
color |
Non | - | Palette de couleurs du badge ("primary", "accent", "warn"). |
position |
Non | above after |
Position du badge par rapport au conteneur ("above after", "above before", "below after", "below before"). |
size |
Non | medium |
Taille du badge ("small", "medium" ou "large"). |
overlap |
Non | true |
Indique si le badge doit chevaucher son conteneur. |
disabled |
Non | false |
Indique si le badge est désactivé. |
hidden |
Non | false |
Indique si le badge est masqué. |
description |
Non | - | Description accessible du badge. |
children |
Oui | - | Définit les ID des enfants. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialBadge",
"text": "42",
"color": "warn",
"children": [
"badge-content"
]
},
{
"id": "badge-content",
"component": "MaterialButton",
"label": "Notifications"
}
]
MaterialIcon
Affiche une icône Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialIcon :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
icon |
Oui | - | Nom de l'icône Material à afficher. |
color |
Non | - | Palette de couleurs de l'icône (primaire, accentuée, avertissement). |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialIcon",
"icon": "favorite",
"color": "warn"
}
]
MaterialImage
Composant A2UI permettant d'afficher une image dans un contexte Material Design. Compatible avec les propriétés "border-radius", "aspect-ratio" et "object-fit".
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialImage :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
url |
Oui | - | URL de l'image à afficher. |
alt |
Non | - | Texte alternatif accessible pour l'image. |
fit |
Non | - | Indique comment l'image doit être redimensionnée pour s'adapter à son conteneur. Les valeurs possibles sont les suivantes : "fill", "contain", "cover", "scaleDown" et "none". |
width |
Non | - | Largeur personnalisée de l'image (par exemple, "100px" ou "100%"). |
height |
Non | - | Hauteur personnalisée de l'image (par exemple, "100px" ou "100%"). |
aspectRatio |
Non | - | Format personnalisé de l'image (par exemple, "16/9", "1"). |
roundedCorners |
Non | false |
Indique si les angles arrondis standards de Material Design doivent être appliqués. |
borderRadius |
Non | - | Rayon de bordure personnalisé de l'image (par exemple, "50%", "12px"). Remplace roundedCorners. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialImage",
"url": "https://www.gstatic.com/marketing-cms/assets/images/c5/3a/200414104c669203c62270f7884f/google-wordmarks-2x.webp=n-w100-h32-fcrop64=1,00000000ffffffff-rw",
"width": "100px",
"height": "32px",
"fit": "scaleDown",
"roundedCorners": true,
"alt": "Google Wordmark"
}
]
MaterialProgressBar
Wrapper A2UI pour le composant Angular Material Progress Bar. Compatible avec les modes déterminé, indéterminé, tampon et requête.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialProgressBar :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
value |
Non | 0 |
Valeur de progression (de 0 à 100) en mode déterminé et en mode tampon. |
mode |
Non | determinate |
Mode de la barre de progression. Au choix : "determinate", "indeterminate", "buffer" ou "query". |
bufferValue |
Non | 0 |
Valeur du tampon (de 0 à 100) en mode tampon. |
color |
Non | - | Palette de couleurs de la barre de progression ("primary", "accent", "warn"). |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialProgressBar",
"mode": "determinate",
"value": 75,
"bufferValue": 90,
"color": "primary",
"ariaLabel": "Loading progress"
}
]
MaterialProgressSpinner
Wrapper A2UI pour le composant Angular Material Progress Spinner. Compatible avec les modes déterminé et indéterminé, et avec les dimensions personnalisées.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialProgressSpinner :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
value |
Non | 0 |
Valeur de progression (de 0 à 100) en mode déterminé. |
mode |
Non | determinate |
Mode du sélecteur. Au choix : "determinate" ou "indeterminate". |
diameter |
Non | 40 |
Diamètre du sélecteur de progression en pixels. |
strokeWidth |
Non | 4 |
Largeur du trait du sélecteur en pixels. |
color |
Non | - | Palette de couleurs du sélecteur ("primary", "accent", "warn"). |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialProgressSpinner",
"mode": "indeterminate",
"diameter": 40,
"strokeWidth": 4,
"color": "accent",
"ariaLabel": "Loading data"
}
]
MaterialTable
Wrapper A2UI pour le composant Angular Material Table. Affiche les données structurées en colonnes et en lignes.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialTable :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
columns |
Oui | - | Tableau de définitions de colonnes, chacune spécifiant un objet {header, field}. |
rows |
Oui | - | Liste des lignes de données. Peut être un tableau d'enregistrements clé-valeur ou une référence de liaison de données. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
caption |
Non | - | Légende/description accessible pour le tableau. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialTable",
"columns": [
{
"header": "ID",
"field": "id"
},
{
"header": "Name",
"field": "name"
},
{
"header": "Role",
"field": "role"
}
],
"rows": {
"path": "/company/users"
}
}
]
MaterialText
Affiche du texte avec la typographie Material.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialText :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
text |
Oui | - | Texte à afficher. Il peut s'agir d'une chaîne littérale ou d'une référence à une valeur dans le modèle de données. |
usageHint |
Non | body |
Indication pour le style typographique. Il peut correspondre à "h1", "h2", "h3", "h4", "h5", "subtitle1", "subtitle2", "body1", "body2", "body" ou "caption". |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialText",
"text": "Headline Large (H1)",
"usageHint": "h1"
}
]
Composants de navigation du catalogue Material
Les composants d'action et de navigation permettent aux utilisateurs d'effectuer des actions ou de naviguer entre les vues.
MaterialButton
Bouton Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialButton :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé à afficher sur le bouton. |
leadingIcon |
Non | - | Nom de l'icône Material à afficher avant le libellé. |
trailingIcon |
Non | - | Nom de l'icône Material à afficher après le libellé. |
color |
Non | - | Palette de couleurs du bouton (primaire, accentuation, avertissement). |
variant |
Non | basic |
Variante de style du bouton. Au choix : "raised", "flat", "stroked" ou "basic". |
disabled |
Non | false |
Indique si le bouton est désactivé. |
action |
Non | - | Action côté client à distribuer lorsque l'utilisateur clique sur le bouton. |
tooltip |
Non | - | Texte de l'info-bulle à afficher au passage de la souris. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialButton",
"label": "Raised Button",
"variant": "raised",
"tooltip": "Click me!",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialIconButton
Bouton d'icône Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialIconButton :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
icon |
Oui | - | Nom de l'icône Material à afficher. |
action |
Oui | - | Action côté client à distribuer lorsque l'utilisateur clique sur le bouton d'icône. |
ariaLabel |
Oui | - | Texte discernable pour les lecteurs d'écran. Obligatoire pour l'accessibilité. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
color |
Non | - | Palette de couleurs du bouton (primaire, accentuation, avertissement). |
disabled |
Non | false |
Indique si le bouton est désactivé. |
tooltip |
Non | - | Texte de l'info-bulle à afficher au passage de la souris. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialIconButton",
"icon": "favorite",
"ariaLabel": "Favorite",
"color": "warn",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialMenu
Wrapper A2UI pour le composant Angular Material Menu. Fournit un bouton de déclenchement et des éléments de menu déroulant.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialMenu :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé affiché sur le bouton de déclenchement du menu. |
icon |
Non | - | Nom de l'icône Material à afficher sur le bouton de déclencheur. |
disabled |
Non | false |
Indique si le bouton de déclenchement du menu est désactivé. |
value |
Non | - | Valeur actuellement sélectionnée. Il peut s'agir d'une chaîne littérale ou d'une référence de liaison de données. |
options |
Oui | - | Liste des options de menu disponibles. Il peut s'agir d'un tableau d'objets {label, value} ou d'une référence de liaison de données. |
action |
Non | - | Action côté client à distribuer lorsqu'un élément de menu est sélectionné. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialMenu",
"label": "Options",
"icon": "more_vert",
"value": {
"path": "/menu/selectedOption"
},
"options": [
{
"label": "Settings",
"value": "settings"
},
{
"label": "Help",
"value": "help"
},
{
"label": "Logout",
"value": "logout"
}
],
"action": {
"event": {
"name": "menuSelection"
}
}
}
]
MaterialTabs
Wrapper A2UI pour le composant Angular Material Tabs. Affiche la navigation par onglets et gère la sélection de l'onglet actif.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialTabs :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
tabs |
Oui | - | Tableau de définitions d'onglets, chacun spécifiant un objet {label, content}. |
activeTab |
Non | 0 |
Index (basé sur 0) de l'onglet actuellement actif. Il peut s'agir d'un nombre littéral ou d'une référence de liaison de données. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialTabs",
"activeTab": {
"path": "/app/selectedTab"
},
"tabs": [
{
"label": "Overview",
"content": "Overview content"
},
{
"label": "Details",
"content": "Details content"
},
{
"label": "Reviews",
"content": "Reviews content"
}
]
}
]
Composants d'entrée du catalogue Material
Les composants de saisie et de formulaire permettent aux utilisateurs de saisir du texte, de faire des sélections et d'activer/désactiver des options.
MaterialButtonToggle
Groupe de boutons d'activation Material Design pour la sélection unique.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialButtonToggle :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
value |
Non | - | Valeur actuellement sélectionnée. Il peut s'agir d'une chaîne littérale ou d'une référence à une valeur dans le modèle de données. |
options |
Oui | - | Liste des options disponibles. Il peut s'agir d'un tableau d'objets {label, value} ou d'une référence de liaison de données. |
disabled |
Non | false |
Indique si le groupe de boutons d'activation est désactivé. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
appearance |
Non | standard |
Style d'apparence du groupe de boutons d'activation. Au choix : "legacy" ou "standard". |
vertical |
Non | false |
Indique si le groupe de boutons d'activation est organisé verticalement. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialButtonToggle",
"ariaLabel": "Text alignment",
"value": {
"path": "/user/alignment"
},
"options": [
{
"label": "Left",
"value": "left"
},
{
"label": "Center",
"value": "center"
},
{
"label": "Right",
"value": "right"
}
]
}
]
MaterialCheckbox
Composant de case à cocher Material Design pour l'état booléen. Pour une accessibilité optimale, fournissez un libellé descriptif ou utilisez ariaLabel pour les technologies d'assistance.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialCheckbox :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé de texte affiché à côté de la case à cocher. |
checked |
Non | false |
Indique si la case est cochée. Il peut s'agir d'une valeur booléenne littérale ou d'une référence à une valeur dans le modèle de données. |
disabled |
Non | false |
Indique si la case à cocher est désactivée. |
required |
Non | false |
Indique si la case à cocher est obligatoire. |
color |
Non | - | Palette de couleurs de la case à cocher ("primary", "accent", "warn"). |
labelPosition |
Non | after |
Position du libellé par rapport à la case à cocher ("before" ou "after"). |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
tooltip |
Non | - | Texte de l'info-bulle à afficher au passage de la souris. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialCheckbox",
"label": "Agree to Terms and Conditions",
"ariaLabel": "Agree to Terms and Conditions",
"checked": {
"path": "/user/agreedToTerms"
},
"color": "primary"
}
]
MaterialChips
Composant de zone de liste de chips Material Design pour la sélection unique.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialChips :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
value |
Non | - | Valeur actuellement sélectionnée. Il peut s'agir d'une chaîne littérale ou d'une référence à une valeur dans le modèle de données. |
options |
Oui | - | Liste des options de chip. Il peut s'agir d'un tableau d'objets {label, value} ou d'une référence de liaison de données. |
disabled |
Non | false |
Indique si la liste déroulante de chips est désactivée. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialChips",
"ariaLabel": "Filter by status",
"value": {
"path": "/user/status"
},
"options": [
{
"label": "All",
"value": "all"
},
{
"label": "Active",
"value": "active"
},
{
"label": "Completed",
"value": "completed"
}
]
}
]
MaterialDatepicker
Composant sélecteur de date Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialDatepicker :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé du champ du sélecteur de date. |
placeholder |
Non | - | Texte de l'espace réservé. |
value |
Non | - | Date actuellement sélectionnée au format ISO. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
disabled |
Non | false |
Indique si le sélecteur de date est désactivé. |
required |
Non | false |
Indique si une sélection de date est requise. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialDatepicker",
"label": "Appointment Date",
"placeholder": "Choose a date",
"ariaLabel": "Appointment Date",
"value": {
"path": "/appointment/date"
}
}
]
MaterialInput
Champ de saisie de texte Material Design.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialInput :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé du champ de saisie. |
placeholder |
Non | - | Texte de l'espace réservé. |
value |
Non | - | Valeur actuelle de l'entrée. Il peut s'agir d'une chaîne littérale ou d'une référence à une valeur dans le modèle de données. |
disabled |
Non | false |
Indique si la saisie est désactivée. |
name |
Non | - | Nom de l'élément d'entrée. |
readonly |
Non | false |
Indique si l'entrée est en lecture seule. |
required |
Non | false |
Indique si la saisie est obligatoire. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
type |
Non | text |
Type d'entrée. Au choix : "text", "number", "password", "email", "tel" ou "url". |
validationRegexp |
Non | - | Expression régulière pour la validation des entrées. |
checks |
Non | - | Contrôles de validation des entrées. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialInput",
"label": "First Name",
"placeholder": "John",
"value": {
"path": "/user/firstName"
}
}
]
MaterialRadioButton
Wrapper A2UI pour le composant Angular Material Radio Button. Permet de sélectionner une seule option dans une liste d'options au sein d'un groupe d'options.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialRadioButton :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
value |
Non | - | Valeur actuellement sélectionnée. Il peut s'agir d'une chaîne littérale ou d'une référence de liaison de données. |
options |
Oui | - | Liste des options radio disponibles. Il peut s'agir d'un tableau d'objets {label, value} ou d'une référence de liaison de données. |
disabled |
Non | false |
Indique si le groupe d'options est désactivé. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
color |
Non | - | Palette de couleurs du bouton radio ("primary", "accent", "warn"). |
labelPosition |
Non | after |
Position du libellé par rapport à la case d'option. Au choix : "before" ou "after". |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialRadioButton",
"ariaLabel": "Delivery options",
"value": {
"path": "/order/deliverySpeed"
},
"options": [
{
"label": "Standard",
"value": "standard"
},
{
"label": "Express",
"value": "express"
},
{
"label": "Next Day",
"value": "nextDay"
}
],
"color": "primary",
"labelPosition": "after"
}
]
MaterialSelect
Composant de sélection (menu déroulant) Material Design pour la sélection unique. Pour une accessibilité optimale, fournissez toujours un libellé descriptif ou utilisez aria-label pour les technologies d'assistance.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialSelect :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé du champ de sélection. |
placeholder |
Non | - | Texte d'espace réservé affiché lorsqu'aucune valeur n'est sélectionnée. |
value |
Non | - | Valeur actuellement sélectionnée. Il peut s'agir d'une chaîne littérale ou d'une référence à une valeur dans le modèle de données. |
options |
Oui | - | Liste des options disponibles. Il peut s'agir d'un tableau d'objets {label, value} ou d'une référence de liaison de données. |
disabled |
Non | false |
Indique si le composant de sélection est désactivé. |
required |
Non | false |
Si une valeur est requise. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialSelect",
"label": "Favorite Color",
"placeholder": "Choose a color",
"ariaLabel": "Select your favorite color",
"value": {
"path": "/user/favoriteColor"
},
"options": [
{
"label": "Red",
"value": "red"
},
{
"label": "Green",
"value": "green"
},
{
"label": "Blue",
"value": "blue"
}
]
}
]
MaterialSlideToggle
Wrapper A2UI pour le composant Angular Material Slide Toggle. Prend en charge les liaisons de bascule booléennes et les attributs d'accessibilité personnalisés.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialSlideToggle :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé de texte affiché à côté du bouton bascule. |
checked |
Non | false |
Indique si le bouton bascule est activé. Il peut s'agir d'un littéral booléen ou d'une référence de liaison de données. |
disabled |
Non | false |
Indique si le bouton bascule est désactivé. |
required |
Non | false |
Indique si le bouton bascule est obligatoire. |
color |
Non | - | Palette de couleurs du bouton bascule ("primary", "accent", "warn"). |
labelPosition |
Non | after |
Position du libellé par rapport au bouton bascule ("before", "after"). |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
tooltip |
Non | - | Texte de l'info-bulle à afficher au passage de la souris. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialSlideToggle",
"label": "Enable notifications",
"ariaLabel": "Enable notifications toggle",
"checked": {
"path": "/settings/notifications"
},
"color": "accent",
"labelPosition": "after"
}
]
MaterialSlider
Wrapper A2UI pour le composant Angular Material Slider. Permet de sélectionner des valeurs numériques et des contraintes de plage.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialSlider :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
value |
Non | 0 |
Valeur actuelle du curseur. Il peut s'agir d'un nombre littéral ou d'une référence de liaison de données. |
min |
Non | 0 |
Valeur minimale du curseur. |
max |
Non | 100 |
Valeur maximale du curseur. |
step |
Non | 1 |
Incrément du curseur. |
disabled |
Non | false |
Indique si le curseur est désactivé. |
color |
Non | - | Palette de couleurs du curseur ("primary", "accent", "warn"). |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialSlider",
"min": 0,
"max": 100,
"step": 5,
"value": {
"path": "/audio/volume"
},
"color": "primary",
"ariaLabel": "Volume adjustment"
}
]
MaterialTimepicker
Wrapper A2UI pour le composant Angular Material Timepicker. Compatible avec la sélection de l'heure et l'intégration des champs de formulaire.
Le tableau suivant décrit les propriétés disponibles pour le composant MaterialTimepicker :
| Propriété | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
label |
Non | - | Libellé du champ du sélecteur de date et heure. |
placeholder |
Non | - | Texte de l'espace réservé. |
value |
Non | - | Heure actuellement sélectionnée au format ISO. Il peut s'agir d'une chaîne littérale ou d'une référence de liaison de données. |
ariaLabel |
Non | - | Texte discernable pour les lecteurs d'écran. Recommandé pour l'accessibilité lorsqu'aucun libellé visible n'est présent. |
ariaLabelledby |
Non | - | Identifie l'élément (ou les éléments) qui étiquettent l'élément actuel. Utilisé pour l'accessibilité. |
ariaDescribedby |
Non | - | Identifie l'élément (ou les éléments) qui décrit l'élément actuel. Utilisé pour l'accessibilité. |
disabled |
Non | false |
Indique si le sélecteur d'heure est désactivé. |
required |
Non | false |
Indique si une sélection d'heure est requise. |
style |
Non | - | Styles intégrés à appliquer à l'élément. |
weight |
Non | - | Pondération de la mise en page de l'élément lorsqu'il est placé dans un conteneur Flex. |
[
{
"id": "root",
"component": "MaterialTimepicker",
"label": "Set Alarm",
"placeholder": "Select time",
"ariaLabel": "Set Alarm Time",
"value": {
"path": "/alarm/time"
}
}
]
Composants de base du catalogue
Cette section fournit une référence pour les composants de catalogue de base A2UI disponibles.
Fichiers de schéma de catalogue de base
Pour en savoir plus sur ces propriétés, consultez les pages suivantes :
Propriétés communes de base du catalogue
Tous les composants, quel que soit leur type spécifique, partagent un ensemble de propriétés communes qui peuvent être configurées :
| Propriété | Requis | Description |
|---|---|---|
id |
Oui | Identifiant unique du composant sur la surface actuelle. |
accessibility |
Non | Attributs permettant d'améliorer l'accessibilité, tels que les libellés et les rôles. |
weight |
Non |
Valeur utilisée dans les mises en page Row ou Column pour contrôler l'espace occupé par le composant par rapport à ses frères et sœurs, de la même manière que flex-grow.
|
Composants de base de la mise en page du catalogue
Les composants de mise en page sont utilisés pour structurer et organiser d'autres composants dans l'interface utilisateur. Les composants de mise en page suivants sont disponibles :
Ligne
Un Row est un composant de mise en page utilisé pour organiser ses composants enfants horizontalement, de gauche à droite. Il sert de conteneur dans lequel vous pouvez placer plusieurs composants côte à côte. L'espacement et le positionnement exacts des enfants dans la ligne peuvent être contrôlés à l'aide des propriétés justify/distribution et align/alignment.
Le tableau suivant décrit les propriétés disponibles pour le composant Row :
| Propriété | Type/Valeurs | Description |
|---|---|---|
children |
v0.9 : tableau d'ID de composants ou définition de modèle v0.8 : explicitList ou template
|
Composants enfants à organiser horizontalement dans la ligne. |
justify (v0.9)distribution (v0.8)
|
start, center, end, spaceBetween, spaceAround, spaceEvenly |
Contrôle la façon dont les composants enfants sont répartis le long de l'axe horizontal. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Contrôle l'alignement des composants enfants sur l'axe vertical. |
v0.9 JSON
{
"id": "toolbar",
"component": "Row",
"children": ["btn1", "btn2", "btn3"],
"justify": "spaceBetween",
"align": "center"
}
v0.8 JSON
{
"id": "toolbar",
"component": {
"Row": {
"children": { "explicitList": ["btn1", "btn2", "btn3"] },
"distribution": "spaceBetween",
"alignment": "center"
}
}
}
Colonne
Un Column est un composant de mise en page utilisé pour organiser ses composants enfants verticalement, de haut en bas. Il sert de conteneur dans lequel vous pouvez placer plusieurs composants les uns en dessous des autres. L'espacement et le positionnement exacts des enfants dans la colonne peuvent être contrôlés à l'aide des propriétés justify/distribution et align/alignment.
Le tableau suivant décrit les propriétés disponibles pour le composant Column :
| Propriété | Type/Valeurs | Description |
|---|---|---|
children |
v0.9 : tableau d'ID de composants ou définition de modèle v0.8 : explicitList ou template
|
Composants enfants à organiser verticalement dans la colonne. |
justify (v0.9)distribution (v0.8)
|
start, center, end, spaceBetween, spaceAround, spaceEvenly
|
Contrôle la façon dont les composants enfants sont répartis le long de l'axe vertical. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch
|
Contrôle l'alignement des composants enfants sur l'axe horizontal. |
v0.9 JSON
{
"id": "content",
"component": "Column",
"children": ["header", "body", "footer"],
"justify": "start",
"align": "stretch"
}
v0.8 JSON
{
"id": "content",
"component": {
"Column": {
"children": { "explicitList": ["header", "body", "footer"] },
"distribution": "start",
"alignment": "stretch"
}
}
}
Liste
Un List est un composant de mise en page qui affiche une liste déroulante d'éléments. Il prend en charge les enfants statiques et les modèles dynamiques pour générer des éléments à partir de données.
Le défilement peut être vertical ou horizontal.
Le tableau suivant décrit les propriétés disponibles pour le composant List :
| Propriété | Type/Valeurs | Description |
|---|---|---|
children |
v0.9 : tableau d'ID de composants ou définition de modèle v0.8 : explicitList ou template
|
Éléments à afficher dans la liste. |
direction |
vertical, horizontal |
Sens de défilement de la liste. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Contrôle l'alignement des éléments de liste sur l'axe transversal. |
v0.9 JSON
{
"id": "message-list",
"component": "List",
"children": {
"componentId": "message-item",
"path": "/messages"
},
"direction": "vertical"
}
v0.8 JSON
{
"id": "message-list",
"component": {
"List": {
"children": {
"template": {
"dataBinding": "/messages",
"componentId": "message-item"
}
},
"direction": "vertical"
}
}
}
Composants d'affichage de base du catalogue
Les composants d'affichage sont utilisés pour présenter des informations à l'utilisateur. Les composants d'affichage suivants sont disponibles :
Texte
Le composant Text affiche du contenu textuel et accepte différents indices de style, tels que les titres, les légendes et le corps du texte.
Le tableau suivant décrit les propriétés disponibles pour le composant Text :
| Propriété | Type/Valeurs | Description |
|---|---|---|
text |
v0.9 : chaîne ou DataBindingv0.8 : BoundValue
|
Contenu textuel à afficher. |
variant (v0.9)usageHint (v0.8)
|
h1, h2, h3, h4, h5, caption, body |
Indication de style pour le texte. |
v0.9 JSON
{
"id": "title",
"component": "Text",
"text": "Welcome to A2UI",
"variant": "h1"
}
v0.8 JSON
{
"id": "title",
"component": {
"Text": {
"text": { "literalString": "Welcome to A2UI" },
"usageHint": "h1"
}
}
}
Image
Un composant Image affiche des images à partir d'une URL spécifiée et fournit des options permettant de contrôler la façon dont l'image s'adapte à son conteneur.
Le tableau suivant décrit les propriétés disponibles pour le composant Image :
| Propriété | Type/Valeurs | Description |
|---|---|---|
url |
v0.9 : chaîne ou DataBindingv0.8 : BoundValue
|
URL de l'image à afficher. |
fit |
Chaîne | Ajustement de l'image dans son conteneur (par exemple, "cover"). |
variant (v0.9)usageHint (v0.8)
|
Chaîne | Indication pour les variantes d'utilisation ou de style (par exemple, "hero"). |
v0.9 JSON
{
"id": "hero",
"component": "Image",
"url": "https://example.com/hero.png",
"fit": "cover",
"variant": "hero"
}
v0.8 JSON
{
"id": "hero",
"component": {
"Image": {
"url": { "literalString": "https://example.com/hero.png" },
"fit": "cover",
"usageHint": "hero"
}
}
}
Icône
Le composant Icon affiche des icônes d'un ensemble standard défini dans le catalogue.
Le tableau suivant décrit les propriétés disponibles pour le composant Icon :
| Propriété | Type/Valeurs | Description |
|---|---|---|
name |
v0.9 : chaîne ou DataBindingv0.8 : BoundValue
|
Nom de l'icône à afficher (par exemple, "check"). |
v0.9 JSON
{
"id": "check-icon",
"component": "Icon",
"name": "check"
}
v0.8 JSON
{
"id": "check-icon",
"component": {
"Icon": {
"name": { "literalString": "check" }
}
}
}
Séparateur
Le composant Divider affiche une ligne de séparation visuelle, qui peut être horizontale ou verticale.
Le tableau suivant décrit les propriétés disponibles pour le composant Divider :
| Propriété | Type/Valeurs | Description |
|---|---|---|
axis |
horizontal, vertical |
Orientation de la ligne de séparation. |
v0.9 JSON
{
"id": "separator",
"component": "Divider",
"axis": "horizontal"
}
v0.8 JSON
{
"id": "separator",
"component": {
"Divider": {
"axis": "horizontal"
}
}
}
Composants interactifs de base du catalogue
Les composants interactifs vous permettent d'interagir avec l'application, par exemple en fournissant des entrées ou en déclenchant des actions. Les composants interactifs suivants sont disponibles :
Bouton
Le composant Button est un élément cliquable qui déclenche une action ou un événement spécifique dans l'application.
Le tableau suivant décrit les propriétés disponibles pour le composant Button :
| Propriété | Type/Valeurs | Description |
|---|---|---|
child |
ID du composant | ID du composant à afficher dans le bouton (par exemple, un composant Texte). |
variant (v0.9)primary (v0.8)
|
v0.9 : chaîne (par exemple, "primary")v0.8 : booléen |
Type de style ou d'emphase appliqué au bouton. |
action |
v0.9 : objet Event (par exemple, saisie de "event") v0.8 : objet Action (par exemple, saisie de "name") |
Action à déclencher lorsque l'utilisateur clique sur le bouton. |
v0.9 JSON
{
"id": "submit-btn",
"component": "Button",
"child": "submit-text",
"variant": "primary",
"action": {
"event": {
"name": "submit_form"
}
}
}
v0.8 JSON
{
"id": "submit-btn",
"component": {
"Button": {
"child": "submit-text",
"primary": true,
"action": {
"name": "submit_form"
}
}
}
}
TextField
TextField est un composant interactif qui vous permet de saisir du texte. Il est également compatible avec la validation facultative.
Le tableau suivant décrit les propriétés disponibles pour le composant TextField :
| Propriété | Type/Valeurs | Description |
|---|---|---|
label |
v0.9 : String v0.8 : BoundValue
|
Libellé du champ de texte. |
value (v0.9)text (v0.8)
|
v0.9 : chaîne ou DataBindingv0.8 : BoundValue
|
Contenu textuel ou chemin lié. |
textFieldType |
shortText, longText, number, obscured et date |
Type du champ de texte. |
validationRegexp |
Chaîne | Expression régulière pour la validation. |
v0.9 JSON
{
"id": "email-input",
"component": "TextField",
"label": "Email Address",
"value": { "path": "/user/email" },
"textFieldType": "shortText"
}
v0.8 JSON
{
"id": "email-input",
"component": {
"TextField": {
"label": { "literalString": "Email Address" },
"text": { "path": "/user/email" },
"textFieldType": "shortText"
}
}
}
CheckBox
Le composant CheckBox est un bouton bascule booléen qui vous permet d'activer ou de désactiver un paramètre.
Le tableau suivant décrit les propriétés disponibles pour le composant CheckBox :
| Propriété | Type/Valeurs | Description |
|---|---|---|
label |
v0.9 : String v0.8 : BoundValue
|
Libellé de la case à cocher. |
value |
v0.9 : DataBinding (booléen)v0.8 : BoundValue (booléen)
|
Valeur de la case à cocher (true/false) ou chemin lié. |
v0.9 JSON
{
"id": "terms-checkbox",
"component": "CheckBox",
"label": "I agree to the terms",
"value": { "path": "/form/agreedToTerms" }
}
v0.8 JSON
{
"id": "terms-checkbox",
"component": {
"CheckBox": {
"label": { "literalString": "I agree to the terms" },
"value": { "path": "/form/agreedToTerms" }
}
}
}
Curseur
Le composant Slider vous permet de sélectionner une valeur numérique dans une plage spécifique.
Le tableau suivant décrit les propriétés disponibles pour le composant Slider :
| Propriété | Type/Valeurs | Description |
|---|---|---|
value |
v0.9 : DataBinding (nombre)v0.8 : BoundValue (nombre)
|
Valeur actuelle du curseur ou du chemin lié. |
minValue |
Nombre | Valeur minimale de la plage. |
maxValue |
Nombre | Valeur maximale de la plage. |
v0.9 JSON
{
"id": "volume",
"component": "Slider",
"value": { "path": "/settings/volume" },
"minValue": 0,
"maxValue": 100
}
v0.8 JSON
{
"id": "volume",
"component": {
"Slider": {
"value": { "path": "/settings/volume" },
"minValue": 0,
"maxValue": 100
}
}
}
DateTimeInput
Le composant DateTimeInput vous permet de sélectionner une date et une heure.
Le tableau suivant décrit les propriétés disponibles pour le composant DateTimeInput :
| Propriété | Type/Valeurs | Description |
|---|---|---|
value |
v0.9 : DataBindingv0.8 : BoundValue
|
Valeur de date/heure ou chemin de liaison sélectionnés. |
enableDate |
Booléen | Indique si la sélection de la date doit être activée. |
enableTime |
Booléen | Indique si la sélection de l'heure doit être activée. |
v0.9 JSON
{
"id": "date-picker",
"component": "DateTimeInput",
"value": { "path": "/booking/date" },
"enableDate": true,
"enableTime": false
}
v0.8 JSON
{
"id": "date-picker",
"component": {
"DateTimeInput": {
"value": { "path": "/booking/date" },
"enableDate": true,
"enableTime": false
}
}
}
ChoicePicker (v0.9) / MultipleChoice (v0.8)
Sélectionnez une ou plusieurs options dans une liste. Notez que ce composant a été renommé ChoicePicker dans la version 0.9, alors qu'il s'appelait MultipleChoice dans la version 0.8.
Le tableau suivant décrit les propriétés disponibles :
| Propriété | Type/Valeurs | Description |
|---|---|---|
options |
Tableau d'objets | Liste des options sélectionnables par l'utilisateur. Chaque option doit comporter un libellé (chaîne dans la version 0.9, BoundValue dans la version 0.8) et une valeur. |
selections |
v0.9 : DataBindingv0.8 : BoundValue
|
Valeurs sélectionnées ou chemin lié. |
maxAllowedSelections |
Nombre | Nombre maximal de sélections autorisées. |
v0.9 JSON
{
"id": "country-select",
"component": "ChoicePicker",
"options": [
{ "label": "USA", "value": "us" },
{ "label": "Canada", "value": "ca" }
],
"selections": { "path": "/form/country" },
"maxAllowedSelections": 1
}
v0.8 JSON
{
"id": "country-select",
"component": {
"MultipleChoice": {
"options": [
{ "label": { "literalString": "USA" }, "value": "us" },
{ "label": { "literalString": "Canada" }, "value": "ca" }
],
"selections": { "path": "/form/country" },
"maxAllowedSelections": 1
}
}
}
Composants de base du conteneur de catalogue
Les composants de conteneur permettent de regrouper et d'organiser d'autres composants. Les composants de conteneur suivants sont disponibles :
Carte
Un composant Card est un conteneur avec une élévation, une bordure et une marge intérieure qui regroupe le contenu associé.
Le tableau suivant décrit les propriétés disponibles pour le composant Card :
| Propriété | Type/Valeurs | Description |
|---|---|---|
child |
ID du composant | ID du composant à afficher dans la carte. |
v0.9 JSON
{
"id": "info-card",
"component": "Card",
"child": "card-content"
}
v0.8 JSON
{
"id": "info-card",
"component": {
"Card": {
"child": "card-content"
}
}
}
Modale
Un composant Modal est une boîte de dialogue superposée déclenchée par un composant de point d'entrée.
Le tableau suivant décrit les propriétés disponibles pour le composant Modal :
| Propriété | Type/Valeurs | Description |
|---|---|---|
entryPointChild |
ID du composant | ID du composant qui déclenche le modal (par exemple, un bouton). |
contentChild |
ID du composant | ID du composant à afficher comme contenu du modal. |
v0.9 JSON
{
"id": "confirmation-modal",
"component": "Modal",
"entryPointChild": "open-modal-btn",
"contentChild": "modal-content"
}
v0.8 JSON
{
"id": "confirmation-modal",
"component": {
"Modal": {
"entryPointChild": "open-modal-btn",
"contentChild": "modal-content"
}
}
}
Onglets
Un composant Tabs fournit une interface à onglets permettant d'organiser le contenu en panneaux interchangeables.
Le tableau suivant décrit les propriétés disponibles pour le composant Tabs :
| Propriété | Type/Valeurs | Description |
|---|---|---|
tabItems |
Tableau d'objets | Liste des onglets. Chaque élément doit avoir un title (chaîne dans la version 0.9, BoundValue dans la version 0.8) et un child (ID de composant). |
v0.9 JSON
{
"id": "settings-tabs",
"component": "Tabs",
"tabItems": [
{ "title": "General", "child": "general-tab" },
{ "title": "Privacy", "child": "privacy-tab" }
]
}
v0.8 JSON
{
"id": "settings-tabs",
"component": {
"Tabs": {
"tabItems": [
{ "title": { "literalString": "General" }, "child": "general-tab" },
{ "title": { "literalString": "Privacy" }, "child": "privacy-tab" }
]
}
}
}
Récapitulatif des différences entre les versions
Les noms et les propriétés des composants sont en grande partie identiques d'une version à l'autre. Voici les différences structurelles :
| Aspect | v0.8 | v0.9 |
|---|---|---|
| Wrapper de composant | "component": { "Text": { ... } } |
"component": "Text", ...props |
| Valeurs de chaîne | { "literalString": "Hello" } |
"Hello" |
| Enfants | { "explicitList": ["a", "b"] } |
["a", "b"] |
| Liaison de données | { "path": "/data" } |
{ "path": "/data" } (identique) |
| Style du texte/de l'image | usageHint |
variant |
| Style des boutons | primary: true |
variant: "primary" |
| Format de l'action | { "name": "..." } |
{ "event": { "name": "..." } } |
| Composant de choix | MultipleChoice |
ChoicePicker |
| Alignement de la mise en page | distribution, alignment |
justify, align |
| Valeur TextField | text |
value |
Guide d'évolution
Pour savoir comment passer de la version 0.8 à la version 0.9, consultez le guide d'évolution de la version 0.8 à la version 0.9.
Exemples concrets
Pour voir tous les composants en action :
cd samples/client/angular
yarn start gallery
Étapes suivantes
- Définir votre propre catalogue : créer vos propres composants
- Guide de thématisation : styliser les composants pour qu'ils correspondent à votre marque