Questa pagina fornisce un riferimento completo per tutti i componenti A2UI disponibili, inclusi i componenti di layout, visualizzazione, interattivi e contenitore, nonché le proprietà comuni.
Componenti del catalogo dei materiali e componenti di base del catalogo
A2UI fornisce due cataloghi di componenti distinti per la creazione di interfacce utente dell'agente: il catalogo dei materiali e il catalogo di base.
Il catalogo dei materiali contiene componenti progettati specificamente per rispettare le linee guida di Google Material Design, offrendo un insieme più ricco e stilizzato di elementi dell'interfaccia utente supportati nelle configurazioni A2UI v0.9.
Il catalogo di base contiene primitive UI standard e indipendenti dal sistema di progettazione, come layout, azioni e input, supportate nelle configurazioni A2UI v0.9 e v0.8.
Componenti del catalogo dei materiali
Questa sezione fornisce un riferimento per i componenti Material Design A2UI disponibili, inclusi layout, display, navigazione e input.
Proprietà comuni del catalogo dei materiali
Tutti i componenti, indipendentemente dal tipo specifico, condividono un insieme di proprietà comuni che possono essere configurate:
| Proprietà | Obbligatorio | Descrizione |
|---|---|---|
id |
Sì | Un identificatore univoco per il componente all'interno della superficie corrente. |
accessibility |
No | Attributi per migliorare l'accessibilità, come etichette e ruoli. |
weight |
No |
Un valore utilizzato nei layout MaterialRow o MaterialColumn per
controllare lo spazio occupato dal componente rispetto ai relativi
elementi di pari livello, in modo simile a flex-grow.
|
Componenti del layout del catalogo dei materiali
I componenti di layout vengono utilizzati per strutturare e disporre altri componenti all'interno dell'interfaccia utente.
MaterialCard
Contenitore della scheda Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialCard:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
children |
Sì | - | Definisce gli ID dei bambini. |
appearance |
No | raised |
Lo stile di visualizzazione della scheda. Uno tra: "outlined", "raised". |
align |
No | start |
Allineamento dei figli. Uno tra: "center", "end", "start", "stretch". |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
href |
No | - | URL facoltativo a cui passare quando si fa clic sulla scheda. Una volta impostata, la scheda diventa interattiva e apre l'URL in una nuova scheda. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialCard",
"appearance": "outlined",
"children": [
"card-content"
]
},
{
"id": "card-content",
"component": "MaterialText",
"text": "Card content"
}
]
MaterialColumn
Contenitore di layout che dispone gli elementi verticalmente utilizzando le linee guida di Material.
La tabella seguente descrive le proprietà disponibili per il componente MaterialColumn:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
children |
Sì | - | Definisce gli ID dei bambini. |
justify |
No | start |
Definisce la disposizione degli elementi secondari lungo l'asse principale (verticalmente). Uno tra: "start", "center", "end", "spaceBetween", "spaceAround", "spaceEvenly". |
align |
No | stretch |
Allineamento orizzontale degli elementi secondari ("start", "center", "end", "stretch"). |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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
Contenitore della finestra di dialogo del menu Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialDialog:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
open |
No | false |
Indica se la finestra di dialogo è aperta. Può essere un valore booleano letterale o un riferimento all'associazione di dati. |
title |
No | - | Il titolo della finestra di dialogo. |
disableClose |
No | false |
Indica se l'utente può chiudere la finestra di dialogo facendo clic all'esterno o premendo Esc. |
width |
No | - | La larghezza della finestra di dialogo (ad es. "500 px"). |
height |
No | - | L'altezza della finestra di dialogo (ad es. "400 px"). |
children |
Sì | - | Definisce gli ID dei bambini. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialColumn",
"children": [
"open-button",
"confirmation-dialog"
],
"justify": "start",
"align": "start"
},
{
"id": "open-button",
"component": "MaterialButton",
"label": "Delete Item",
"variant": "raised",
"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",
"action": {
"event": {
"name": "confirmDelete"
}
}
}
]
MaterialDivider
Linea di divisione Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialDivider:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
inset |
No | false |
Indica se il divisore è rientrato. |
vertical |
No | false |
Indica se il divisore è verticale. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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
Contenitore del riquadro espandibile Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialExpansionPanel:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
title |
No | - | Il titolo visualizzato nell'intestazione del pannello espandibile. |
description |
No | - | La descrizione visualizzata nell'intestazione del riquadro espandibile. |
expanded |
No | false |
Indica se il pannello è espanso. Può essere un valore booleano letterale o un riferimento all'associazione di dati. |
disabled |
No | false |
Indica se il pannello di espansione è disattivato. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
children |
Sì | - | Definisce gli ID dei bambini. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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
Componente contenitore A2UI per il layout a griglia. Utilizza l'elenco a griglia di Angular Material per disporre i componenti secondari in riquadri.
La tabella seguente descrive le proprietà disponibili per il componente MaterialGridList:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
children |
Sì | - | Definisce gli ID dei bambini. |
cols |
No | 2 |
Numero di colonne nell'elenco a griglia. Può essere un numero letterale o un riferimento all'associazione di dati. |
rowHeight |
No | 1:1 |
Rapporto altezza riga o altezza fissa (ad es. "100 px"). Può essere una stringa letterale o un riferimento di associazione di dati. |
gutterSize |
No | 1px |
La dimensione della spaziatura della griglia. Può essere una stringa letterale o un riferimento di associazione di dati. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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
Contenitore di layout che dispone gli elementi orizzontalmente utilizzando le linee guida di Material.
La tabella seguente descrive le proprietà disponibili per il componente MaterialRow:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
children |
Sì | - | Definisce gli ID dei bambini. |
justify |
No | start |
Definisce la disposizione degli elementi secondari lungo l'asse principale (orizzontalmente). Uno tra: "start", "center", "end", "spaceAround", "spaceBetween", "spaceEvenly". |
align |
No | stretch |
Allineamento verticale degli elementi secondari ("start", "center", "end", "stretch"). |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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"
}
}
}
]
Componenti dei contenuti del catalogo dei materiali
I componenti di visualizzazione e dei contenuti vengono utilizzati per presentare all'utente informazioni, contenuti multimediali e stato.
MaterialBadge
Mostra un badge di Material Design sopra un elemento secondario.
La tabella seguente descrive le proprietà disponibili per il componente MaterialBadge:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
text |
No | - | Contenuto testuale da visualizzare nel badge. |
color |
No | - | Tavolozza di colori del badge ("primary", "accent", "warn"). |
position |
No | above after |
Posizione del badge rispetto al contenitore ("above after", "above before", "below after", "below before"). |
size |
No | medium |
Dimensioni del badge ("piccolo", "medio", "grande"). |
overlap |
No | true |
Indica se il badge deve sovrapporsi al suo contenitore. |
disabled |
No | false |
Indica se il badge è disattivato. |
hidden |
No | false |
Indica se il badge è nascosto. |
description |
No | - | Descrizione accessibile del badge. |
children |
Sì | - | Definisce gli ID dei bambini. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialBadge",
"text": "42",
"color": "warn",
"children": [
"badge-content"
]
},
{
"id": "badge-content",
"component": "MaterialButton",
"label": "Notifications"
}
]
MaterialIcon
Mostra un'icona di Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialIcon:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
icon |
Sì | - | Il nome dell'icona Material da visualizzare. |
color |
No | - | Tavolozza dei colori dell'icona (primario, accento, avviso). |
tooltip |
No | - | Testo facoltativo della descrizione comando da visualizzare al passaggio del mouse o alla messa a fuoco. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialIcon",
"icon": "favorite",
"color": "warn"
}
]
MaterialImage
Componente A2UI per il rendering di un'immagine in un contesto Material Design. Supporta le proprietà angoli arrotondati, proporzioni e object-fit.
La tabella seguente descrive le proprietà disponibili per il componente MaterialImage:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
url |
Sì | - | L'URL dell'immagine da visualizzare. |
alt |
No | - | Testo alternativo accessibile per l'immagine. |
fit |
No | - | Specifica come deve essere ridimensionata l'immagine per adattarla al contenitore. Uno tra i seguenti: "fill", "contain", "cover", "scaleDown", "none". |
width |
No | - | Larghezza personalizzata dell'immagine (ad es. "100 px", "100%"). |
height |
No | - | Altezza personalizzata dell'immagine (ad es. "100 px", "100%"). |
aspectRatio |
No | - | Proporzioni personalizzate dell'immagine (ad es. "16/9", "1"). |
roundedCorners |
No | false |
Specifica se applicare gli angoli arrotondati standard di Material Design. |
borderRadius |
No | - | Raggio del bordo personalizzato dell'immagine (ad es. "50%", "12 px"). Sostituisce roundedCorners. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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 per il componente barra di avanzamento di Angular Material. Supporta le modalità determinate, indeterminate, buffer e query.
La tabella seguente descrive le proprietà disponibili per il componente MaterialProgressBar:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
value |
No | 0 |
Il valore di avanzamento (da 0 a 100) nelle modalità determinate e buffer. |
mode |
No | determinate |
La modalità della barra di avanzamento. Uno tra i seguenti: "determinate", "indeterminate", "buffer", "query". |
bufferValue |
No | 0 |
Il valore del buffer (da 0 a 100) in modalità buffer. |
color |
No | - | Tavolozza dei colori della barra di avanzamento ("primary", "accent", "warn"). |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialProgressBar",
"mode": "determinate",
"value": 75,
"bufferValue": 90,
"color": "primary",
"ariaLabel": "Loading progress"
}
]
MaterialProgressSpinner
Wrapper A2UI per il componente Rotellina di caricamento di Angular Material. Supporta le modalità determinata e indeterminata e le dimensioni personalizzate.
La tabella seguente descrive le proprietà disponibili per il componente MaterialProgressSpinner:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
value |
No | 0 |
Il valore di avanzamento (da 0 a 100) in modalità determinata. |
mode |
No | determinate |
La modalità dello spinner. Uno dei seguenti valori: "determinate", "indeterminate". |
diameter |
No | 40 |
Il diametro dell'indicatore di avanzamento in pixel. |
strokeWidth |
No | 4 |
La larghezza del tratto dello spinner in pixel. |
color |
No | - | Tavolozza dei colori dello spinner ("primary", "accent", "warn"). |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialProgressSpinner",
"mode": "indeterminate",
"diameter": 40,
"strokeWidth": 4,
"color": "accent",
"ariaLabel": "Loading data"
}
]
MaterialTable
Wrapper A2UI per il componente Angular Material Table. Esegue il rendering dei dati strutturati in colonne e righe.
La tabella seguente descrive le proprietà disponibili per il componente MaterialTable:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
columns |
Sì | - | Un array di definizioni di colonne, ognuna delle quali specifica un oggetto {header, field}. |
rows |
Sì | - | L'elenco delle righe di dati. Può essere un array di record coppia chiave-valore o un riferimento di associazione di dati. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
caption |
No | - | Una didascalia/descrizione accessibile per la tabella. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialTable",
"columns": [
{
"header": "ID",
"field": "id"
},
{
"header": "Name",
"field": "name"
},
{
"header": "Role",
"field": "role"
}
],
"rows": {
"path": "/company/users"
}
}
]
MaterialText
Visualizza il testo con la tipografia Material.
La tabella seguente descrive le proprietà disponibili per il componente MaterialText:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
text |
Sì | - | Il testo da visualizzare. Può trattarsi di una stringa letterale o di un riferimento a un valore nel modello dei dati. |
usageHint |
No | body |
Un suggerimento per lo stile tipografico. Uno tra i seguenti: "h1", "h2", "h3", "h4", "h5", "subtitle1", "subtitle2", "body1", "body2", "body", "caption". |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialText",
"text": "Headline Large (H1)",
"usageHint": "h1"
}
]
Componenti di navigazione del catalogo Material
I componenti di navigazione e azione consentono agli utenti di eseguire azioni o spostarsi tra le visualizzazioni.
MaterialButton
Pulsante Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialButton:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta di testo da visualizzare sul pulsante. |
leadingIcon |
No | - | Il nome dell'icona Material da visualizzare prima dell'etichetta. |
trailingIcon |
No | - | Il nome dell'icona Material da visualizzare dopo l'etichetta. |
variant |
No | basic |
La variante dello stile del pulsante. Uno tra i seguenti: "raised", "flat", "stroked", "icon", "fab", "mini-fab", "basic". |
appearance |
No | - | L'aspetto visivo del pulsante. Uno tra i seguenti: "text", "filled", "elevated", "outlined", "tonal". |
disabled |
No | false |
Indica se il pulsante è disattivato. |
action |
No | - | L'azione da inviare quando viene fatto clic sul pulsante. |
tooltip |
No | - | Testo della descrizione comando da visualizzare al passaggio del mouse. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
disableRipple |
No | false |
Indica se l'effetto increspatura al clic è disattivato. |
extended |
No | false |
Indica se il pulsante è esteso con spazio aggiuntivo per l'etichetta o l'icona. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialButton",
"label": "Raised Button",
"variant": "raised",
"tooltip": "Click me!",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialIconButton
Pulsante dell'icona Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialIconButton:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
icon |
Sì | - | Il nome dell'icona Material da visualizzare. |
action |
Sì | - | L'azione lato client da inviare quando viene fatto clic sul pulsante dell'icona. |
ariaLabel |
Sì | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità, poiché il pulsante contiene solo un'icona. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
color |
No | - | Tavolozza dei colori del pulsante (principale, accento, avviso). |
disabled |
No | false |
Indica se il pulsante è disattivato. |
tooltip |
No | - | Testo della descrizione comando da visualizzare al passaggio del mouse. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialIconButton",
"icon": "favorite",
"ariaLabel": "Favorite",
"color": "warn",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialMenu
Wrapper A2UI per il componente Menu di Angular Material. Fornisce un pulsante di attivazione e voci di menu a discesa.
La tabella seguente descrive le proprietà disponibili per il componente MaterialMenu:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta di testo visualizzata sul pulsante di attivazione del menu. |
icon |
No | - | Il nome dell'icona Material da visualizzare sul pulsante di attivazione. |
disabled |
No | false |
Indica se il pulsante di attivazione del menu è disattivato. |
value |
No | - | Il valore attualmente selezionato. Può essere una stringa letterale o un riferimento di associazione di dati. |
options |
Sì | - | L'elenco delle opzioni di menu disponibili. Può essere un array di oggetti {label, value} o un riferimento di associazione di dati. |
action |
No | - | L'azione lato client da inviare quando viene selezionato un elemento di menu. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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 per il componente Schede di Angular Material. Esegue il rendering della navigazione a schede e gestisce la selezione della scheda attiva.
La tabella seguente descrive le proprietà disponibili per il componente MaterialTabs:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
tabs |
Sì | - | Un array di definizioni di schede, ognuna delle quali specifica un oggetto {label, content}. |
activeTab |
No | 0 |
L'indice a base 0 della scheda attualmente attiva. Può essere un numero letterale o un riferimento all'associazione di dati. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialTabs",
"activeTab": {
"path": "/app/selectedTab"
},
"tabs": [
{
"label": "Overview",
"content": "Overview content"
},
{
"label": "Details",
"content": "Details content"
},
{
"label": "Reviews",
"content": "Reviews content"
}
]
}
]
Componenti di input del catalogo dei materiali
I componenti di input e modulo consentono agli utenti di inserire testo, effettuare selezioni e attivare/disattivare le opzioni.
MaterialButtonToggle
Gruppo di pulsanti di attivazione/disattivazione Material Design per la selezione singola.
La tabella seguente descrive le proprietà disponibili per il componente MaterialButtonToggle:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
value |
No | - | Il valore attualmente selezionato. Può trattarsi di una stringa letterale o di un riferimento a un valore nel modello dei dati. |
options |
Sì | - | L'elenco delle opzioni disponibili per la selezione. Può essere un array di oggetti {label, value} o un riferimento di associazione di dati. |
disabled |
No | false |
Indica se il gruppo pulsanti di attivazione/disattivazione è disattivato. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
appearance |
No | standard |
Lo stile di visualizzazione del gruppo pulsanti di attivazione/disattivazione. Uno dei seguenti valori: "legacy", "standard". |
vertical |
No | false |
Indica se il gruppo pulsanti di attivazione/disattivazione è disposto verticalmente. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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
Componente casella di controllo Material Design per lo stato booleano. Per un'accessibilità ottimale, fornisci un'etichetta descrittiva o utilizza ariaLabel per le tecnologie per la disabilità.
La tabella seguente descrive le proprietà disponibili per il componente MaterialCheckbox:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta di testo visualizzata accanto alla casella di controllo. |
checked |
No | false |
Indica se la casella di controllo è selezionata. Può trattarsi di un valore booleano letterale o di un riferimento a un valore nel modello dei dati. |
disabled |
No | false |
Indica se la casella di controllo è disattivata. |
color |
No | - | Tavolozza dei colori della casella di controllo ("primary", "accent", "warn"). |
labelPosition |
No | after |
Posizione dell'etichetta rispetto alla casella di controllo ("before", "after"). |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
tooltip |
No | - | Testo della descrizione comando da visualizzare al passaggio del mouse. |
checks |
No | - | Un array di regole di convalida (ognuna contenente una condizione booleana dinamica e un messaggio di errore) che vengono valutate in modo reattivo per determinare la validità dell'input. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialCheckbox",
"label": "Agree to Terms and Conditions",
"ariaLabel": "Agree to Terms and Conditions",
"checked": {
"path": "/user/agreedToTerms"
},
"color": "primary"
}
]
MaterialChips
Componente casella di riepilogo con chip Material Design per la selezione singola.
La tabella seguente descrive le proprietà disponibili per il componente MaterialChips:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
value |
No | - | Il valore attualmente selezionato. Può trattarsi di una stringa letterale o di un riferimento a un valore nel modello dei dati. |
options |
Sì | - | L'elenco delle opzioni di chip. Può essere un array di oggetti {label, value} o un riferimento di associazione di dati. |
disabled |
No | false |
Indica se la casella di riepilogo dei chip è disattivata. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
action |
No | - | L'azione da inviare quando viene selezionato un chip. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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
Componente selettore della data di Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialDatepicker:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta per il campo del selettore della data. |
placeholder |
No | - | Il testo segnaposto. |
value |
No | - | La data attualmente selezionata in formato ISO. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
disabled |
No | false |
Indica se il selettore della data è disattivato. |
checks |
No | - | Un array di regole di convalida (ognuna contenente una condizione booleana dinamica e un messaggio di errore) che vengono valutate in modo reattivo per determinare la validità dell'input. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialDatepicker",
"label": "Appointment Date",
"placeholder": "Choose a date",
"ariaLabel": "Appointment Date",
"value": {
"path": "/appointment/date"
}
}
]
MaterialInput
Campo di immissione testo Material Design.
La tabella seguente descrive le proprietà disponibili per il componente MaterialInput:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta del campo di immissione. |
placeholder |
No | - | Il testo segnaposto. |
value |
No | - | Il valore attuale dell'input. Può trattarsi di una stringa letterale o di un riferimento a un valore nel modello dei dati. |
disabled |
No | false |
Indica se l'input è disattivato. |
name |
No | - | Il nome dell'elemento di input. |
readonly |
No | false |
Se l'input è di sola lettura. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
type |
No | text |
Il tipo di controllo di input da visualizzare. Uno tra i seguenti: "text", "number", "email", "tel", "date". "password" non è consentito. |
validationRegexp |
No | - | Espressione regolare per la convalida dell'input. |
checks |
No | - | Un array di regole di convalida (ognuna contenente una condizione booleana dinamica e un messaggio di errore) che vengono valutate in modo reattivo per determinare la validità dell'input. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialInput",
"label": "First Name",
"placeholder": "John",
"value": {
"path": "/user/firstName"
}
}
]
MaterialRadioButton
Wrapper A2UI per il componente Pulsante di opzione Angular Material. Supporta la selezione singola da un elenco di opzioni all'interno di un gruppo di pulsanti di opzione.
La tabella seguente descrive le proprietà disponibili per il componente MaterialRadioButton:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
value |
No | - | Il valore attualmente selezionato. Può essere una stringa letterale o un riferimento di associazione di dati. |
options |
Sì | - | L'elenco delle opzioni radio disponibili. Può essere un array di oggetti {label, value} o un riferimento di associazione di dati. |
disabled |
No | false |
Indica se il gruppo di pulsanti di opzione è disattivato. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
color |
No | - | Tavolozza di colori del pulsante di opzione ("primary", "accent", "warn"). |
labelPosition |
No | after |
Posizione dell'etichetta rispetto al pulsante di opzione. Uno dei seguenti valori: "before", "after". |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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
Componente di selezione (menu a discesa) Material Design per la selezione singola. Per un'accessibilità ottimale, fornisci sempre un'etichetta descrittiva o utilizza aria-label per le tecnologie per la disabilità.
La tabella seguente descrive le proprietà disponibili per il componente MaterialSelect:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta per il campo di selezione. |
placeholder |
No | - | Il testo segnaposto mostrato quando non è selezionato alcun valore. |
value |
No | - | Il valore attualmente selezionato. Può trattarsi di una stringa letterale o di un riferimento a un valore nel modello dei dati. |
options |
Sì | - | L'elenco delle opzioni disponibili per la selezione. Può essere un array di oggetti {label, value} o un riferimento di associazione di dati. |
disabled |
No | false |
Indica se il componente di selezione è disattivato. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
checks |
No | - | Un array di regole di convalida (ognuna contenente una condizione booleana dinamica e un messaggio di errore) che vengono valutate in modo reattivo per determinare la validità dell'input. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"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 per il componente Angular Material Slide Toggle. Supporta i binding di attivazione/disattivazione booleana e gli attributi di accessibilità personalizzati.
La tabella seguente descrive le proprietà disponibili per il componente MaterialSlideToggle:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta di testo visualizzata accanto al pulsante di attivazione/disattivazione. |
checked |
No | false |
Se il cursore è selezionato. Può essere un valore booleano letterale o un riferimento all'associazione di dati. |
disabled |
No | false |
Indica se il pulsante di scorrimento è disattivato. |
required |
No | false |
Indica se l'interruttore a scorrimento è obbligatorio. |
color |
No | - | Tavolozza dei colori del pulsante di attivazione/disattivazione ("primario", "intenso", "avviso"). |
labelPosition |
No | after |
Posizione dell'etichetta rispetto al pulsante di attivazione/disattivazione ("before", "after"). |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
tooltip |
No | - | Testo della descrizione comando da visualizzare al passaggio del mouse. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialSlideToggle",
"label": "Enable notifications",
"ariaLabel": "Enable notifications toggle",
"checked": {
"path": "/settings/notifications"
},
"color": "accent",
"labelPosition": "after"
}
]
MaterialSlider
Wrapper A2UI per il componente Dispositivo di scorrimento di Angular Material. Supporta la selezione di valori numerici e i vincoli di intervallo.
La tabella seguente descrive le proprietà disponibili per il componente MaterialSlider:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
value |
No | 0 |
Il valore attuale del cursore. Può essere un numero letterale o un riferimento all'associazione di dati. |
min |
No | 0 |
Il valore minimo del cursore. |
max |
No | 100 |
Il valore massimo del cursore. |
step |
No | 1 |
L'incremento del cursore. |
disabled |
No | false |
Indica se il cursore è disattivato. |
color |
No | - | Tavolozza dei colori del cursore ("principale", "intenso", "avviso"). |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialSlider",
"min": 0,
"max": 100,
"step": 5,
"value": {
"path": "/audio/volume"
},
"color": "primary",
"ariaLabel": "Volume adjustment"
}
]
MaterialTimepicker
Wrapper A2UI per il componente Timepicker di Angular Material. Supporta la selezione dell'ora e l'integrazione dei campi del modulo.
La tabella seguente descrive le proprietà disponibili per il componente MaterialTimepicker:
| Proprietà | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|
label |
No | - | L'etichetta di testo per il campo del selettore dell'ora. |
placeholder |
No | - | Il testo segnaposto. |
value |
No | - | L'ora attualmente selezionata in formato ISO. Può essere una stringa letterale o un riferimento di associazione di dati. |
ariaLabel |
No | - | Testo distinguibile per gli screen reader. Consigliato per l'accessibilità quando non è presente un'etichetta visibile. |
ariaLabelledby |
No | - | Identifica l'elemento o gli elementi che etichettano l'elemento corrente. Utilizzato per l'accessibilità. |
ariaDescribedby |
No | - | Identifica l'elemento o gli elementi che descrivono l'elemento corrente. Utilizzato per l'accessibilità. |
disabled |
No | false |
Indica se il selettore dell'ora è disattivato. |
checks |
No | - | Un array di regole di convalida (ognuna contenente una condizione booleana dinamica e un messaggio di errore) che vengono valutate in modo reattivo per determinare la validità dell'input. |
style |
No | - | Stili in linea da applicare all'elemento. |
weight |
No | - | Ponderazione del layout per l'elemento quando viene inserito in un contenitore flessibile. |
[
{
"id": "root",
"component": "MaterialTimepicker",
"label": "Set Alarm",
"placeholder": "Select time",
"ariaLabel": "Set Alarm Time",
"value": {
"path": "/alarm/time"
}
}
]
Componenti di base del catalogo
Questa sezione fornisce un riferimento per i componenti di base del catalogo A2UI disponibili.
File di schema del catalogo di base
Per ulteriori informazioni su queste proprietà, vedi:
Proprietà comuni di base del catalogo
Tutti i componenti, indipendentemente dal tipo specifico, condividono un insieme di proprietà comuni che possono essere configurate:
| Proprietà | Obbligatorio | Descrizione |
|---|---|---|
id |
Sì | Un identificatore univoco per il componente all'interno della superficie corrente. |
accessibility |
No | Attributi per migliorare l'accessibilità, come etichette e ruoli. |
weight |
No |
Un valore utilizzato nei layout Row o Column per
controllare lo spazio occupato dal componente rispetto ai relativi
elementi di pari livello, in modo simile a flex-grow.
|
Componenti di base del layout del catalogo
I componenti di layout vengono utilizzati per strutturare e disporre altri componenti all'interno dell'interfaccia utente. Sono disponibili i seguenti componenti del layout:
Riga
Un Row è un componente di layout utilizzato per disporre i relativi componenti secondari orizzontalmente,
da sinistra a destra. Funge da contenitore in cui puoi posizionare più
componenti uno accanto all'altro. La spaziatura e il posizionamento esatti degli elementi secondari
all'interno della riga possono essere controllati utilizzando le proprietà justify/distribution e align/alignment.
La tabella seguente descrive le proprietà disponibili per il componente Row:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
children |
v0.9: array di ID componente o definizione del modello v0.8: explicitList o template
|
I componenti secondari da disporre orizzontalmente all'interno della riga. |
justify (v0.9)distribution (v0.8)
|
start, center, end,
spaceBetween, spaceAround, spaceEvenly |
Controlla la distribuzione dei componenti secondari lungo l'asse orizzontale. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Controlla l'allineamento dei componenti secondari sull'asse verticale. |
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"
}
}
}
Colonna
Un Column è un componente di layout utilizzato per disporre i relativi componenti secondari verticalmente,
dall'alto verso il basso. Funge da contenitore in cui puoi posizionare più componenti uno sotto l'altro. La spaziatura e il posizionamento esatti dei
figli all'interno della colonna possono essere controllati utilizzando le proprietà justify/distribution e
align/alignment.
La tabella seguente descrive le proprietà disponibili per il componente Column:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
children |
v0.9: array di ID componente o definizione del modello v0.8: explicitList o template
|
I componenti secondari da disporre verticalmente all'interno della colonna. |
justify (v0.9)distribution (v0.8)
|
start, center, end, spaceBetween, spaceAround, spaceEvenly
|
Controlla la distribuzione dei componenti secondari lungo l'asse verticale. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch
|
Controlla l'allineamento dei componenti secondari sull'asse orizzontale. |
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"
}
}
}
Elenco
Un List è un componente di layout che mostra un elenco scorrevole di elementi. Supporta elementi secondari statici e modelli dinamici per generare elementi dai dati.
La direzione di scorrimento può essere verticale o orizzontale.
La tabella seguente descrive le proprietà disponibili per il componente List:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
children |
v0.9: array di ID componente o definizione del modello v0.8: explicitList o template
|
Gli elementi da visualizzare nell'elenco. |
direction |
vertical, horizontal |
La direzione di scorrimento dell'elenco. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Controlla l'allineamento degli elementi dell'elenco sull'asse trasversale. |
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"
}
}
}
Componenti di base della visualizzazione del catalogo
I componenti di visualizzazione vengono utilizzati per presentare le informazioni all'utente. Sono disponibili i seguenti componenti di visualizzazione:
Testo
Il componente Text mostra contenuti di testo e supporta vari suggerimenti di stile,
come intestazioni, sottotitoli codificati e testo del corpo.
La tabella seguente descrive le proprietà disponibili per il componente Text:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
text |
v0.9: stringa o DataBindingv0.8: BoundValue
|
Il contenuto testuale da visualizzare. |
variant (v0.9)usageHint (v0.8)
|
h1, h2, h3, h4, h5, caption, body |
Suggerimento di stile per il testo. |
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"
}
}
}
Immagine
Un componente Image mostra le immagini di un URL specificato e fornisce opzioni
per controllare il modo in cui l'immagine si adatta al contenitore.
La tabella seguente descrive le proprietà disponibili per il componente Image:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
url |
v0.9: stringa o DataBindingv0.8: BoundValue
|
L'URL dell'immagine da visualizzare. |
fit |
Stringa | Indica come l'immagine deve adattarsi al contenitore (ad es. "cover"). |
variant (v0.9)usageHint (v0.8)
|
Stringa | Suggerimento per varianti di utilizzo o stile (ad es. "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"
}
}
}
Icona
Il componente Icon mostra le icone di un set di standard definito nel catalogo.
La tabella seguente descrive le proprietà disponibili per il componente Icon:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
name |
v0.9: stringa o DataBindingv0.8: BoundValue
|
Il nome dell'icona da visualizzare (ad es. "check"). |
v0.9 JSON
{
"id": "check-icon",
"component": "Icon",
"name": "check"
}
v0.8 JSON
{
"id": "check-icon",
"component": {
"Icon": {
"name": { "literalString": "check" }
}
}
}
Divisore
Il componente Divider visualizza una linea di separazione visiva, che può essere
orizzontale o verticale.
La tabella seguente descrive le proprietà disponibili per il componente Divider:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
axis |
horizontal, vertical |
L'orientamento della linea di divisione. |
v0.9 JSON
{
"id": "separator",
"component": "Divider",
"axis": "horizontal"
}
v0.8 JSON
{
"id": "separator",
"component": {
"Divider": {
"axis": "horizontal"
}
}
}
Componenti interattivi di base del catalogo
I componenti interattivi ti consentono di interagire con l'applicazione, ad esempio fornendo input o attivando azioni. Sono disponibili i seguenti componenti interattivi:
Pulsante
Il componente Button è un elemento selezionabile che attiva un'azione o
un evento specifico all'interno dell'applicazione.
La tabella seguente descrive le proprietà disponibili per il componente Button:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
child |
ID componente | L'ID del componente da visualizzare all'interno del pulsante (ad es. un componente Testo). |
variant (v0.9)primary (v0.8)
|
v0.9: stringa (ad es. "primary")v0.8: booleano |
Il tipo di stile o enfasi applicato al pulsante. |
action |
v0.9: oggetto evento (ad es. `event`) v0.8: oggetto azione (ad es. `name`) |
L'azione da attivare quando viene fatto clic sul pulsante. |
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 è un componente interattivo che ti consente di inserire testo. Supporta anche la convalida facoltativa.
La tabella seguente descrive le proprietà disponibili per il componente TextField:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
label |
v0.9: String v0.8: BoundValue
|
L'etichetta del campo di testo. |
value (v0.9)text (v0.8)
|
v0.9: stringa o DataBindingv0.8: BoundValue
|
Il contenuto testuale o il percorso associato. |
textFieldType |
shortText, longText, number, obscured, date |
Il tipo di campo di testo. |
validationRegexp |
Stringa | Espressione regolare per la convalida. |
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
Il componente CheckBox è un pulsante di attivazione/disattivazione booleano che ti consente di attivare o disattivare un'impostazione.
La tabella seguente descrive le proprietà disponibili per il componente CheckBox:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
label |
v0.9: String v0.8: BoundValue
|
L'etichetta della casella di controllo. |
value |
v0.9: DataBinding (booleano)v0.8: BoundValue (booleano)
|
Il valore della casella di controllo (true/false) o il percorso associato. |
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" }
}
}
}
Dispositivo di scorrimento
Il componente Slider ti consente di selezionare un valore numerico da un intervallo specifico.
La tabella seguente descrive le proprietà disponibili per il componente Slider:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
value |
v0.9: DataBinding (numero)v0.8: BoundValue (numero)
|
Il valore attuale del cursore o del percorso associato. |
minValue |
Numero | Il valore minimo dell'intervallo. |
maxValue |
Numero | Il valore massimo dell'intervallo. |
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
Il componente DateTimeInput ti consente di scegliere una data e un'ora.
La tabella seguente descrive le proprietà disponibili per il componente DateTimeInput:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
value |
v0.9: DataBindingv0.8: BoundValue
|
Il valore di data/ora o il percorso associato selezionato. |
enableDate |
Booleano | Se abilitare la selezione della data. |
enableTime |
Booleano | Se attivare la selezione dell'ora. |
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)
Seleziona una o più opzioni da un elenco. Tieni presente che questo componente è stato rinominato in ChoicePicker nella versione 0.9 da MultipleChoice nella versione 0.8.
La tabella seguente descrive le proprietà disponibili:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
options |
Array di oggetti | L'elenco di opzioni selezionabili dall'utente. Ogni opzione deve avere un'etichetta (stringa nella versione 0.9, BoundValue nella versione 0.8) e un valore. |
selections |
v0.9: DataBindingv0.8: BoundValue
|
I valori selezionati o il percorso associato. |
maxAllowedSelections |
Numero | Il numero massimo di selezioni consentito. |
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
}
}
}
Componenti di base del contenitore del catalogo
I componenti contenitore vengono utilizzati per raggruppare e organizzare altri componenti. Sono disponibili i seguenti componenti del contenitore:
Carte
Un componente Card è un contenitore con elevazione, un bordo e un riempimento che
raggruppa i contenuti correlati.
La tabella seguente descrive le proprietà disponibili per il componente Card:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
child |
ID componente | L'ID del componente da visualizzare all'interno della scheda. |
v0.9 JSON
{
"id": "info-card",
"component": "Card",
"child": "card-content"
}
v0.8 JSON
{
"id": "info-card",
"component": {
"Card": {
"child": "card-content"
}
}
}
Modale
Un componente Modal è una finestra di dialogo di overlay attivata da un componente punto di ingresso.
La tabella seguente descrive le proprietà disponibili per il componente Modal:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
entryPointChild |
ID componente | L'ID del componente che attiva la finestra modale (ad es. un pulsante). |
contentChild |
ID componente | L'ID del componente da visualizzare come contenuto del modale. |
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"
}
}
}
Schede
Un componente Tabs fornisce un'interfaccia a schede per organizzare i contenuti in pannelli commutabili.
La tabella seguente descrive le proprietà disponibili per il componente Tabs:
| Proprietà | Tipo/Valori | Descrizione |
|---|---|---|
tabItems |
Array di oggetti | L'elenco delle schede. Ogni elemento deve avere un title (stringa nella versione 0.9, BoundValue nella versione 0.8) e un child (ID componente). |
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" }
]
}
}
}
Riepilogo delle differenze tra le versioni
I nomi e le proprietà dei componenti sono in gran parte gli stessi nelle varie versioni. Le differenze strutturali sono:
| Aspetto | v0.8 | v0.9 |
|---|---|---|
| Wrapper del componente | "component": { "Text": { ... } } |
"component": "Text", ...props |
| Valori stringa | { "literalString": "Hello" } |
"Hello" |
| Bambini | { "explicitList": ["a", "b"] } |
["a", "b"] |
| Data binding | { "path": "/data" } |
{ "path": "/data" } (uguale) |
| Stile di testo/immagine | usageHint |
variant |
| Stile pulsante | primary: true |
variant: "primary" |
| Formato dell'azione | { "name": "..." } |
{ "event": { "name": "..." } } |
| Componente Scelta | MultipleChoice |
ChoicePicker |
| Allineamento del layout | distribution, alignment |
justify, align |
| Valore TextField | text |
value |
Guida all'evoluzione
Per informazioni sul passaggio dalla versione 0.8 alla 0.9, consulta la guida all'evoluzione dalla versione 0.8 alla 0.9.
Esempi live
Per vedere tutti i componenti in azione:
cd samples/client/angular
yarn start gallery
Passaggi successivi
- Definizione del tuo catalogo: crea i tuoi componenti
- Guida ai temi: personalizza lo stile dei componenti in modo che corrispondano al tuo brand