This page provides a comprehensive reference for all available A2UI components, including layout, display, interactive, and container components, as well as common properties.
Material catalog components and basic catalog components
A2UI provides two distinct component catalogs for building agent user interfaces: the material catalog and the basic catalog.
The material catalog contains components specifically designed to adhere to Google Material Design guidelines, offering a richer, more styled set of UI elements that are supported in A2UI v0.9 configurations.
The basic catalog contains standard, design-system-agnostic UI primitives—such as layouts, actions, and inputs—supported in both A2UI v0.9 and v0.8 configurations.
Material catalog components
This section provides a reference for available A2UI Material Design components, including layout, display, navigation, and input components.
Material catalog common properties
All components, regardless of their specific type, share a set of common properties that can be configured:
| Property | Required | Description |
|---|---|---|
id |
Yes | A unique identifier for the component within the current surface. |
accessibility |
No | Attributes to improve accessibility, such as labels and roles. |
weight |
No |
A value used in MaterialRow or MaterialColumn layouts to
control how much space the component takes up relative to its
siblings, similar to flex-grow.
|
Material catalog layout components
Layout components are used to structure and arrange other components within the user interface.
MaterialCard
Material Design card container.
The following table outlines the properties available for the MaterialCard component:
| Property | Required | Default Value | Description |
|---|---|---|---|
children |
Yes | - | Defines the children IDs. |
appearance |
No | raised |
The card appearance style. One of: "outlined", "raised". |
align |
No | start |
Alignment of children. One of: "center", "end", "start", "stretch". |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
href |
No | - | Optional URL to navigate to when the card is clicked. When set, the card becomes interactive and opens the URL in a new tab. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialCard",
"appearance": "outlined",
"children": [
"card-content"
]
},
{
"id": "card-content",
"component": "MaterialText",
"text": "Card content"
}
]
MaterialColumn
Layout container that arranges items vertically using Material guidelines.
The following table outlines the properties available for the MaterialColumn component:
| Property | Required | Default Value | Description |
|---|---|---|---|
children |
Yes | - | Defines the children IDs. |
justify |
No | start |
Defines the arrangement of children along the main axis (vertically). |
align |
No | stretch |
Horizontal alignment of children ("start", "center", "end", "stretch"). |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
Material Design menu dialog container.
The following table outlines the properties available for the MaterialDialog component:
| Property | Required | Default Value | Description |
|---|---|---|---|
open |
No | false |
Whether the dialog is open. Can be a literal boolean or a data binding reference. |
title |
No | - | The title of the dialog. |
disableClose |
No | false |
Whether the user can close the dialog by clicking outside or pressing Escape. |
width |
No | - | The width of the dialog (e.g. "500px"). |
height |
No | - | The height of the dialog (e.g. "400px"). |
children |
Yes | - | Defines the children IDs. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
Material Design dividing line.
The following table outlines the properties available for the MaterialDivider component:
| Property | Required | Default Value | Description |
|---|---|---|---|
inset |
No | false |
Whether the divider is inset. |
vertical |
No | false |
Whether the divider is vertical. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
Material Design expansion panel container.
The following table outlines the properties available for the MaterialExpansionPanel component:
| Property | Required | Default Value | Description |
|---|---|---|---|
title |
No | - | The title displayed in the expansion panel header. |
description |
No | - | The description displayed in the expansion panel header. |
expanded |
No | false |
Whether the panel is expanded. Can be a literal boolean or a data binding reference. |
disabled |
No | false |
Whether the expansion panel is disabled. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
children |
Yes | - | Defines the children IDs. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
A2UI container component for grid layout. Uses Angular Material Grid List to arrange child components into tiles.
The following table outlines the properties available for the MaterialGridList component:
| Property | Required | Default Value | Description |
|---|---|---|---|
children |
Yes | - | Defines the children IDs. |
cols |
No | 2 |
Number of columns in the grid list. Can be a literal number or a data binding reference. |
rowHeight |
No | 1:1 |
Row height ratio or fixed height (e.g. "100px"). Can be a literal string or a data binding reference. |
gutterSize |
No | 1px |
Size of the grid gutter. Can be a literal string or a data binding reference. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
Layout container that arranges items horizontally using Material guidelines.
The following table outlines the properties available for the MaterialRow component:
| Property | Required | Default Value | Description |
|---|---|---|---|
children |
Yes | - | Defines the children IDs. |
justify |
No | start |
Defines the arrangement of children along the main axis (horizontally). |
align |
No | stretch |
Vertical alignment of children ("start", "center", "end", "stretch"). |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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"
}
}
}
]
Material catalog content components
Display and content components are used to present information, media, and status to the user.
MaterialBadge
Displays a Material Design badge over a child element.
The following table outlines the properties available for the MaterialBadge component:
| Property | Required | Default Value | Description |
|---|---|---|---|
text |
No | - | Text content to display in the badge. |
color |
No | - | Color palette of the badge ("primary", "accent", "warn"). |
position |
No | above after |
Position of the badge relative to the container ("above after", "above before", "below after", "below before"). |
size |
No | medium |
Size of the badge ("small", "medium", "large"). |
overlap |
No | true |
Whether the badge should overlap its container. |
disabled |
No | false |
Whether the badge is disabled. |
hidden |
No | false |
Whether the badge is hidden. |
description |
No | - | Accessible description for the badge. |
children |
Yes | - | Defines the children IDs. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialBadge",
"text": "42",
"color": "warn",
"children": [
"badge-content"
]
},
{
"id": "badge-content",
"component": "MaterialButton",
"label": "Notifications"
}
]
MaterialIcon
Displays a Material Design icon.
The following table outlines the properties available for the MaterialIcon component:
| Property | Required | Default Value | Description |
|---|---|---|---|
icon |
Yes | - | The name of the Material Icon to display. |
color |
No | - | Color palette of the icon (primary, accent, warn). |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialIcon",
"icon": "favorite",
"color": "warn"
}
]
MaterialImage
A2UI component for rendering an image in a Material Design context. Supports rounded corners, aspect ratio, and object-fit properties.
The following table outlines the properties available for the MaterialImage component:
| Property | Required | Default Value | Description |
|---|---|---|---|
url |
Yes | - | The URL of the image to display. |
alt |
No | - | Accessible alt text for the image. |
fit |
No | - | Specifies how the image should be resized to fit its container. One of: "fill", "contain", "cover", "scaleDown", "none". |
width |
No | - | Custom width of the image (e.g. "100px", "100%"). |
height |
No | - | Custom height of the image (e.g. "100px", "100%"). |
aspectRatio |
No | - | Custom aspect ratio of the image (e.g. "16/9", "1"). |
roundedCorners |
No | false |
Whether to apply Material Design standard rounded corners. |
borderRadius |
No | - | Custom border radius of the image (e.g. "50%", "12px"). Overrides roundedCorners. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
A2UI wrapper for the Angular Material Progress Bar component. Supports determinate, indeterminate, buffer, and query modes.
The following table outlines the properties available for the MaterialProgressBar component:
| Property | Required | Default Value | Description |
|---|---|---|---|
value |
No | 0 |
The progress value (0 to 100) in determinate and buffer modes. |
mode |
No | determinate |
The mode of the progress bar. One of: "determinate", "indeterminate", "buffer", "query". |
bufferValue |
No | 0 |
The buffer value (0 to 100) in buffer mode. |
color |
No | - | Color palette of the progress bar ("primary", "accent", "warn"). |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialProgressBar",
"mode": "determinate",
"value": 75,
"bufferValue": 90,
"color": "primary",
"ariaLabel": "Loading progress"
}
]
MaterialProgressSpinner
A2UI wrapper for the Angular Material Progress Spinner component. Supports determinate and indeterminate modes, and custom dimensions.
The following table outlines the properties available for the MaterialProgressSpinner component:
| Property | Required | Default Value | Description |
|---|---|---|---|
value |
No | 0 |
The progress value (0 to 100) in determinate mode. |
mode |
No | determinate |
The mode of the spinner. One of: "determinate", "indeterminate". |
diameter |
No | 40 |
The diameter of the progress spinner in pixels. |
strokeWidth |
No | 4 |
The width of the spinner stroke in pixels. |
color |
No | - | Color palette of the spinner ("primary", "accent", "warn"). |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialProgressSpinner",
"mode": "indeterminate",
"diameter": 40,
"strokeWidth": 4,
"color": "accent",
"ariaLabel": "Loading data"
}
]
MaterialTable
A2UI wrapper for the Angular Material Table component. Renders structured data into columns and rows.
The following table outlines the properties available for the MaterialTable component:
| Property | Required | Default Value | Description |
|---|---|---|---|
columns |
Yes | - | An array of column definitions, each specifying a {header, field} object. |
rows |
Yes | - | The list of data rows. Can be an array of key-value records or a data binding reference. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
caption |
No | - | An accessible caption/description for the table. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialTable",
"columns": [
{
"header": "ID",
"field": "id"
},
{
"header": "Name",
"field": "name"
},
{
"header": "Role",
"field": "role"
}
],
"rows": {
"path": "/company/users"
}
}
]
MaterialText
Displays text with Material typography.
The following table outlines the properties available for the MaterialText component:
| Property | Required | Default Value | Description |
|---|---|---|---|
text |
Yes | - | The text to be displayed. This can be a literal string or a reference to a value in the data model. |
usageHint |
No | body |
A hint for the typography style. One of: "h1", "h2", "h3", "h4", "h5", "subtitle1", "subtitle2", "body1", "body2", "body", "caption". |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialText",
"text": "Headline Large (H1)",
"usageHint": "h1"
}
]
Material catalog navigation components
Navigation and action components allow users to perform actions or navigate between views.
MaterialButton
Material Design button.
The following table outlines the properties available for the MaterialButton component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The text label to display on the button. |
leadingIcon |
No | - | The name of the Material Icon to display before the label. |
trailingIcon |
No | - | The name of the Material Icon to display after the label. |
color |
No | - | Color palette of the button (primary, accent, warn). |
variant |
No | basic |
The button style variant. One of: "raised", "flat", "stroked", "basic". |
disabled |
No | false |
Whether the button is disabled. |
action |
No | - | The client-side action to be dispatched when the button is clicked. |
tooltip |
No | - | Tooltip text to display on hover. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialButton",
"label": "Raised Button",
"variant": "raised",
"tooltip": "Click me!",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialIconButton
Material Design icon button.
The following table outlines the properties available for the MaterialIconButton component:
| Property | Required | Default Value | Description |
|---|---|---|---|
icon |
Yes | - | The name of the Material Icon to display. |
action |
Yes | - | The client-side action to be dispatched when the icon button is clicked. |
ariaLabel |
Yes | - | Discernible text for screen readers. Required for accessibility. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
color |
No | - | Color palette of the button (primary, accent, warn). |
disabled |
No | false |
Whether the button is disabled. |
tooltip |
No | - | Tooltip text to display on hover. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialIconButton",
"icon": "favorite",
"ariaLabel": "Favorite",
"color": "warn",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialMenu
A2UI wrapper for the Angular Material Menu component. Provides a trigger button and drop-down menu items.
The following table outlines the properties available for the MaterialMenu component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The text label displayed on the menu trigger button. |
icon |
No | - | The name of the Material Icon to display on the trigger button. |
disabled |
No | false |
Whether the menu trigger button is disabled. |
value |
No | - | The currently selected value. Can be a literal string or a data binding reference. |
options |
Yes | - | The list of menu options available. Can be an array of {label, value} objects or a data binding reference. |
action |
No | - | The client-side action to be dispatched when a menu item is selected. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
A2UI wrapper for the Angular Material Tabs component. Renders tabbed navigation and manages active tab selection.
The following table outlines the properties available for the MaterialTabs component:
| Property | Required | Default Value | Description |
|---|---|---|---|
tabs |
Yes | - | An array of tab definitions, each specifying a {label, content} object. |
activeTab |
No | 0 |
The 0-based index of the currently active tab. Can be a literal number or a data binding reference. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialTabs",
"activeTab": {
"path": "/app/selectedTab"
},
"tabs": [
{
"label": "Overview",
"content": "Overview content"
},
{
"label": "Details",
"content": "Details content"
},
{
"label": "Reviews",
"content": "Reviews content"
}
]
}
]
Material catalog input components
Input and form components allow users to enter text, make selections, and toggle options.
MaterialButtonToggle
Material Design button toggle group for single selection.
The following table outlines the properties available for the MaterialButtonToggle component:
| Property | Required | Default Value | Description |
|---|---|---|---|
value |
No | - | The currently selected value. This can be a literal string or a reference to a value in the data model. |
options |
Yes | - | The list of options available for selection. Can be an array of {label, value} objects or a data binding reference. |
disabled |
No | false |
Whether the button toggle group is disabled. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
appearance |
No | standard |
The appearance style of the button toggle group. One of: "legacy", "standard". |
vertical |
No | false |
Whether the button toggle group is arranged vertically. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
Material Design checkbox component for boolean state. For optimal accessibility, provide a descriptive label or use ariaLabel for assistive technologies.
The following table outlines the properties available for the MaterialCheckbox component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The text label displayed next to the checkbox. |
checked |
No | false |
Whether the checkbox is checked. This can be a literal boolean or a reference to a value in the data model. |
disabled |
No | false |
Whether the checkbox is disabled. |
required |
No | false |
Whether the checkbox is required. |
color |
No | - | Color palette of the checkbox ("primary", "accent", "warn"). |
labelPosition |
No | after |
Position of the label relative to the checkbox ("before", "after"). |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
tooltip |
No | - | Tooltip text to display on hover. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialCheckbox",
"label": "Agree to Terms and Conditions",
"ariaLabel": "Agree to Terms and Conditions",
"checked": {
"path": "/user/agreedToTerms"
},
"color": "primary"
}
]
MaterialChips
Material Design chip listbox component for single selection.
The following table outlines the properties available for the MaterialChips component:
| Property | Required | Default Value | Description |
|---|---|---|---|
value |
No | - | The currently selected value. This can be a literal string or a reference to a value in the data model. |
options |
Yes | - | The list of chip options. Can be an array of {label, value} objects or a data binding reference. |
disabled |
No | false |
Whether the chip listbox is disabled. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
Material Design datepicker component.
The following table outlines the properties available for the MaterialDatepicker component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The label for the datepicker field. |
placeholder |
No | - | The placeholder text. |
value |
No | - | The current selected date in ISO format. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
disabled |
No | false |
Whether the datepicker is disabled. |
required |
No | false |
Whether a date selection is required. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialDatepicker",
"label": "Appointment Date",
"placeholder": "Choose a date",
"ariaLabel": "Appointment Date",
"value": {
"path": "/appointment/date"
}
}
]
MaterialInput
Material Design text input field.
The following table outlines the properties available for the MaterialInput component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The label for the input field. |
placeholder |
No | - | The placeholder text. |
value |
No | - | The current value of the input. This can be a literal string or a reference to a value in the data model. |
disabled |
No | false |
Whether the input is disabled. |
name |
No | - | The name of the input element. |
readonly |
No | false |
Whether the input is read-only. |
required |
No | false |
Whether the input is required. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
type |
No | text |
The input type. One of: "text", "number", "password", "email", "tel", "url". |
validationRegexp |
No | - | Regular expression for input validation. |
checks |
No | - | Input validation checks. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialInput",
"label": "First Name",
"placeholder": "John",
"value": {
"path": "/user/firstName"
}
}
]
MaterialRadioButton
A2UI wrapper for the Angular Material Radio Button component. Supports single selection from a list of options within a radio group.
The following table outlines the properties available for the MaterialRadioButton component:
| Property | Required | Default Value | Description |
|---|---|---|---|
value |
No | - | The currently selected value. Can be a literal string or a data binding reference. |
options |
Yes | - | The list of radio options available. Can be an array of {label, value} objects or a data binding reference. |
disabled |
No | false |
Whether the radio group is disabled. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
color |
No | - | Color palette of the radio button ("primary", "accent", "warn"). |
labelPosition |
No | after |
Position of the label relative to the radio button. One of: "before", "after". |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
Material Design select (drop-down) component for single selection. For optimal accessibility, always provide a descriptive label or use aria-label for assistive technologies.
The following table outlines the properties available for the MaterialSelect component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The label for the select field. |
placeholder |
No | - | The placeholder text shown when no value is selected. |
value |
No | - | The current selected value. This can be a literal string or a reference to a value in the data model. |
options |
Yes | - | The list of options available for selection. Can be an array of {label, value} objects or a data binding reference. |
disabled |
No | false |
Whether the select component is disabled. |
required |
No | false |
Whether a value is required. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"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
A2UI wrapper for the Angular Material Slide Toggle component. Supports boolean toggle bindings and custom accessibility attributes.
The following table outlines the properties available for the MaterialSlideToggle component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The text label displayed next to the slide toggle. |
checked |
No | false |
Whether the slide toggle is checked. Can be a literal boolean or a data binding reference. |
disabled |
No | false |
Whether the slide toggle is disabled. |
required |
No | false |
Whether the slide toggle is required. |
color |
No | - | Color palette of the toggle ("primary", "accent", "warn"). |
labelPosition |
No | after |
Position of the label relative to the toggle ("before", "after"). |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
tooltip |
No | - | Tooltip text to display on hover. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialSlideToggle",
"label": "Enable notifications",
"ariaLabel": "Enable notifications toggle",
"checked": {
"path": "/settings/notifications"
},
"color": "accent",
"labelPosition": "after"
}
]
MaterialSlider
A2UI wrapper for the Angular Material Slider component. Supports numeric value selection and range constraints.
The following table outlines the properties available for the MaterialSlider component:
| Property | Required | Default Value | Description |
|---|---|---|---|
value |
No | 0 |
The current value of the slider. Can be a literal number or a data binding reference. |
min |
No | 0 |
The minimum value of the slider. |
max |
No | 100 |
The maximum value of the slider. |
step |
No | 1 |
The step increment of the slider. |
disabled |
No | false |
Whether the slider is disabled. |
color |
No | - | Color palette of the slider ("primary", "accent", "warn"). |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialSlider",
"min": 0,
"max": 100,
"step": 5,
"value": {
"path": "/audio/volume"
},
"color": "primary",
"ariaLabel": "Volume adjustment"
}
]
MaterialTimepicker
A2UI wrapper for the Angular Material Timepicker component. Supports time selection and form field integration.
The following table outlines the properties available for the MaterialTimepicker component:
| Property | Required | Default Value | Description |
|---|---|---|---|
label |
No | - | The text label for the timepicker field. |
placeholder |
No | - | The placeholder text. |
value |
No | - | The current selected time in ISO format. Can be a literal string or a data binding reference. |
ariaLabel |
No | - | Discernible text for screen readers. Recommended for accessibility when no visible label is present. |
ariaLabelledby |
No | - | Identifies the element (or elements) that labels the current element. Used for accessibility. |
ariaDescribedby |
No | - | Identifies the element (or elements) that describes the current element. Used for accessibility. |
disabled |
No | false |
Whether the timepicker is disabled. |
required |
No | false |
Whether a time selection is required. |
style |
No | - | Inline styles to apply to the element. |
weight |
No | - | Layout weight for the element when placed in a flex container. |
[
{
"id": "root",
"component": "MaterialTimepicker",
"label": "Set Alarm",
"placeholder": "Select time",
"ariaLabel": "Set Alarm Time",
"value": {
"path": "/alarm/time"
}
}
]
Basic catalog components
This section provides a reference for available A2UI basic catalog components.
Basic catalog schema files
For more information on these properties, see:
Basic catalog common properties
All components, regardless of their specific type, share a set of common properties that can be configured:
| Property | Required | Description |
|---|---|---|
id |
Yes | A unique identifier for the component within the current surface. |
accessibility |
No | Attributes to improve accessibility, such as labels and roles. |
weight |
No |
A value used in Row or Column layouts to
control how much space the component takes up relative to its
siblings, similar to flex-grow.
|
Basic catalog layout components
Layout components are used to structure and arrange other components within the user interface. The following layout components are available:
Row
A Row is a layout component used to arrange its child components horizontally,
from left to right. It acts as a container where you can place multiple
components side-by-side. The exact spacing and positioning of the children
within the row can be controlled using the justify/distribution and align/alignment
properties.
The following table outlines the properties available for the Row component:
| Property | Type/Values | Description |
|---|---|---|
children |
v0.9: Array of component IDs or template definition v0.8: explicitList or template
|
The child components to be arranged horizontally within the Row. |
justify (v0.9)distribution (v0.8)
|
start, center, end,
spaceBetween, spaceAround, spaceEvenly |
Controls how child components are distributed along the horizontal axis. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Controls how child components are aligned on the vertical axis. |
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"
}
}
}
Column
A Column is a layout component used to arrange its child components vertically,
from top to bottom. It acts as a container where you can place multiple
components one below the other. The exact spacing and positioning of the
children within the column can be controlled using the justify/distribution and
align/alignment properties.
The following table outlines the properties available for the Column component:
| Property | Type/Values | Description |
|---|---|---|
children |
v0.9: Array of component IDs or template definition v0.8: explicitList or template
|
The child components to be arranged vertically within the Column. |
justify (v0.9)distribution (v0.8)
|
start, center, end, spaceBetween, spaceAround, spaceEvenly
|
Controls how child components are distributed along the vertical axis. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch
|
Controls how child components are aligned on the horizontal axis. |
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"
}
}
}
List
A List is a layout component that displays a scrollable list of items. It
supports static children and dynamic templates for generating items from data.
The scroll direction can be vertical or horizontal.
The following table outlines the properties available for the List component:
| Property | Type/Values | Description |
|---|---|---|
children |
v0.9: Array of component IDs or template definition v0.8: explicitList or template
|
The items to be displayed in the list. |
direction |
vertical, horizontal |
The scroll direction of the list. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Controls how list items are aligned on the cross axis. |
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"
}
}
}
Basic catalog display components
Display components are used to present information to the user. The following display components are available:
Text
The Text component displays text content and supports various styling hints,
such as headings, captions, and body text.
The following table outlines the properties available for the Text component:
| Property | Type/Values | Description |
|---|---|---|
text |
v0.9: String or DataBindingv0.8: BoundValue
|
The text content to display. |
variant (v0.9)usageHint (v0.8)
|
h1, h2, h3, h4, h5, caption, body |
Styling hint for the text. |
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
An Image component displays images from a specified URL and provides options
to control how the image fits its container.
The following table outlines the properties available for the Image component:
| Property | Type/Values | Description |
|---|---|---|
url |
v0.9: String or DataBindingv0.8: BoundValue
|
The URL of the image to display. |
fit |
String | How the image should fit its container (e.g., "cover"). |
variant (v0.9)usageHint (v0.8)
|
String | Hint for usage or styling variants (e.g., "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"
}
}
}
Icon
The Icon component displays icons from a standard set defined in the catalog.
The following table outlines the properties available for the Icon component:
| Property | Type/Values | Description |
|---|---|---|
name |
v0.9: String or DataBindingv0.8: BoundValue
|
The name of the icon to display (e.g., "check"). |
v0.9 JSON
{
"id": "check-icon",
"component": "Icon",
"name": "check"
}
v0.8 JSON
{
"id": "check-icon",
"component": {
"Icon": {
"name": { "literalString": "check" }
}
}
}
Divider
The Divider component displays a visual separator line, which can be either
horizontal or vertical.
The following table outlines the properties available for the Divider
component:
| Property | Type/Values | Description |
|---|---|---|
axis |
horizontal, vertical |
The orientation of the divider line. |
v0.9 JSON
{
"id": "separator",
"component": "Divider",
"axis": "horizontal"
}
v0.8 JSON
{
"id": "separator",
"component": {
"Divider": {
"axis": "horizontal"
}
}
}
Basic catalog interactive components
Interactive components let you interact with the application, such as providing input or triggering actions. The following interactive components are available:
Button
The Button component is a clickable element that triggers a specific action or
event within the application.
The following table outlines the properties available for the Button component:
| Property | Type/Values | Description |
|---|---|---|
child |
Component ID | The ID of the component to display inside the button (e.g., a Text component). |
variant (v0.9)primary (v0.8)
|
v0.9: String (e.g., "primary")v0.8: Boolean |
The styling type or emphasis applied to the button. |
action |
v0.9: Event Object (e.g. keying `event`) v0.8: Action Object (e.g. keying `name`) |
The action to trigger when the button is clicked. |
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
The TextField is an interactive component that lets you input text. It also
supports optional validation.
The following table outlines the properties available for the TextField
component:
| Property | Type/Values | Description |
|---|---|---|
label |
v0.9: String v0.8: BoundValue
|
The label for the text field. |
value (v0.9)text (v0.8)
|
v0.9: String or DataBindingv0.8: BoundValue
|
The text content or bound path. |
textFieldType |
shortText, longText, number, obscured, date |
The type of text field. |
validationRegexp |
String | Regular expression for 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
The CheckBox component is a boolean toggle that lets you switch a
setting on or off.
The following table outlines the properties available for the CheckBox
component:
| Property | Type/Values | Description |
|---|---|---|
label |
v0.9: String v0.8: BoundValue
|
The label for the checkbox. |
value |
v0.9: DataBinding (boolean)v0.8: BoundValue (boolean)
|
The value of the checkbox (true/false) or bound path. |
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" }
}
}
}
Slider
The Slider component lets you select a numeric value from a specific range.
The following table outlines the properties available for the Slider component:
| Property | Type/Values | Description |
|---|---|---|
value |
v0.9: DataBinding (number)v0.8: BoundValue (number)
|
The current value of the slider or bound path. |
minValue |
Number | The minimum value of the range. |
maxValue |
Number | The maximum value of the range. |
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
The DateTimeInput component lets you pick a date and time.
The following table outlines the properties available for the DateTimeInput
component:
| Property | Type/Values | Description |
|---|---|---|
value |
v0.9: DataBindingv0.8: BoundValue
|
The selected date/time value or bound path. |
enableDate |
Boolean | Whether to enable date selection. |
enableTime |
Boolean | Whether to enable time selection. |
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)
Select one or more options from a list. Note that this component has been renamed into ChoicePicker in v0.9 from MultipleChoice in v0.8.
The following table outlines the properties available:
| Property | Type/Values | Description |
|---|---|---|
options |
Array of Objects | The list of options selectable by the user. Each option should have a label (string in v0.9, BoundValue in v0.8) and a value. |
selections |
v0.9: DataBindingv0.8: BoundValue
|
The selected values or bound path. |
maxAllowedSelections |
Number | The maximum number of selections allowed. |
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
}
}
}
Basic catalog container components
Container components are used to group and organize other components. The following container components are available:
Card
A Card component is a container with elevation, a border, and padding that
groups related content.
The following table outlines the properties available for the Card component:
| Property | Type/Values | Description |
|---|---|---|
child |
Component ID | The ID of the component to display inside the card. |
v0.9 JSON
{
"id": "info-card",
"component": "Card",
"child": "card-content"
}
v0.8 JSON
{
"id": "info-card",
"component": {
"Card": {
"child": "card-content"
}
}
}
Modal
A Modal component is an overlay dialog triggered by an entry point component.
The following table outlines the properties available for the Modal component:
| Property | Type/Values | Description |
|---|---|---|
entryPointChild |
Component ID | The ID of the component that triggers the modal (e.g., a Button). |
contentChild |
Component ID | The ID of the component to display as the content of the 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"
}
}
}
Tabs
A Tabs component provides a tabbed interface for organizing content into
switchable panels.
The following table outlines the properties available for the Tabs component:
| Property | Type/Values | Description |
|---|---|---|
tabItems |
Array of Objects | The list of tabs. Each item should have a title (string in v0.9, BoundValue in v0.8) and a child (component ID). |
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" }
]
}
}
}
Version differences summary
The component names and properties are largely the same across versions. The structural differences are:
| Aspect | v0.8 | v0.9 |
|---|---|---|
| Component wrapper | "component": { "Text": { ... } } |
"component": "Text", ...props |
| String values | { "literalString": "Hello" } |
"Hello" |
| Children | { "explicitList": ["a", "b"] } |
["a", "b"] |
| Data binding | { "path": "/data" } |
{ "path": "/data" } (same) |
| Text/Image styling | usageHint |
variant |
| Button styling | primary: true |
variant: "primary" |
| Action format | { "name": "..." } |
{ "event": { "name": "..." } } |
| Choice component | MultipleChoice |
ChoicePicker |
| Layout alignment | distribution, alignment |
justify, align |
| TextField value | text |
value |
Evolution guide
For information on moving from v0.8 to v0.9, see the v0.8 to v0.9 Evolution Guide
Live examples
To see all components in action:
cd samples/client/angular
yarn start gallery
What's next
- Defining Your Own Catalog: Build your own components
- Theming Guide: Style components to match your brand