このページでは、レイアウト、表示、インタラクティブ、コンテナ コンポーネント、共通プロパティなど、利用可能なすべての A2UI コンポーネントの包括的なリファレンスを提供します。
マテリアル カタログ コンポーネントと基本カタログ コンポーネント
A2UI には、エージェントのユーザー インターフェースを構築するための 2 つの異なるコンポーネント カタログ(マテリアル カタログと基本カタログ)が用意されています。
マテリアル カタログには、Google マテリアル デザイン ガイドラインに準拠するように特別に設計されたコンポーネントが含まれています。これにより、A2UI v0.9 構成でサポートされている、よりリッチでスタイリッシュな UI 要素のセットが提供されます。
基本カタログには、A2UI v0.9 と v0.8 の両方の構成でサポートされている、レイアウト、アクション、入力などの標準の設計システムに依存しない UI プリミティブが含まれています。
マテリアル カタログ コンポーネント
このセクションでは、レイアウト、ディスプレイ、ナビゲーション、入力コンポーネントなど、利用可能な A2UI マテリアル デザイン コンポーネントのリファレンスを提供します。
マテリアル カタログの共通プロパティ
すべてのコンポーネントには、特定のタイプに関係なく、構成可能な共通のプロパティのセットがあります。
| プロパティ | 必須 | 説明 |
|---|---|---|
id |
○ | 現在のサーフェス内のコンポーネントの一意の識別子。 |
accessibility |
× | ラベルやロールなど、アクセシビリティを向上させる属性。 |
weight |
× |
MaterialRow レイアウトまたは MaterialColumn レイアウトで使用される値。兄弟要素に対するコンポーネントの占有スペースの量を制御します。flex-grow と同様です。 |
マテリアル カタログのレイアウト コンポーネント
レイアウト コンポーネントは、ユーザー インターフェース内の他のコンポーネントを構造化して配置するために使用されます。
MaterialCard
マテリアル デザインのカード コンテナ。
次の表に、MaterialCard コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
children |
○ | - | 子 ID を定義します。 |
appearance |
× | raised |
カードの外観スタイル。「outlined」、「raised」のいずれか。 |
align |
× | start |
子どものアライメント。「center」、「end」、「start」、「stretch」のいずれか。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
href |
× | - | カードがクリックされたときに移動するオプションの URL。設定すると、カードがインタラクティブになり、新しいタブで URL が開きます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialCard",
"appearance": "outlined",
"children": [
"card-content"
]
},
{
"id": "card-content",
"component": "MaterialText",
"text": "Card content"
}
]
MaterialColumn
マテリアル ガイドラインを使用してアイテムを縦に配置するレイアウト コンテナ。
次の表に、MaterialColumn コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
children |
○ | - | 子 ID を定義します。 |
justify |
× | start |
主軸(縦軸)に沿った子の配置を定義します。「start」、「center」、「end」、「spaceBetween」、「spaceAround」、「spaceEvenly」のいずれか。 |
align |
× | stretch |
子要素の水平方向の配置(「start」、「center」、「end」、「stretch」)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
マテリアル デザインのメニュー ダイアログ コンテナ。
次の表に、MaterialDialog コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
open |
× | false |
ダイアログが開いているかどうか。リテラル ブール値またはデータ バインディング参照を指定できます。 |
title |
× | - | ダイアログのタイトル。 |
disableClose |
× | false |
ユーザーがダイアログの外側をクリックするか、Escape キーを押してダイアログを閉じることができるかどうか。 |
width |
× | - | ダイアログの幅(例: 「500px」)。 |
height |
× | - | ダイアログの高さ(例: 「400px」)。 |
children |
○ | - | 子 ID を定義します。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
マテリアル デザインの区切り線。
次の表に、MaterialDivider コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
inset |
× | false |
区切り線がインセットされているかどうか。 |
vertical |
× | false |
分割線が垂直かどうか。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
マテリアル デザインの展開パネル コンテナ。
次の表に、MaterialExpansionPanel コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
title |
× | - | 拡張パネルのヘッダーに表示されるタイトル。 |
description |
× | - | 展開パネルのヘッダーに表示される説明。 |
expanded |
× | false |
パネルが開いているかどうか。リテラル ブール値またはデータ バインディング参照を指定できます。 |
disabled |
× | false |
拡張パネルが無効かどうか。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
children |
○ | - | 子 ID を定義します。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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 コンテナ コンポーネント。Angular Material Grid List を使用して、子コンポーネントをタイルに配置します。
次の表に、MaterialGridList コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
children |
○ | - | 子 ID を定義します。 |
cols |
× | 2 |
グリッド リスト内の列数。リテラル数値またはデータ バインディング参照を使用できます。 |
rowHeight |
× | 1:1 |
行の高さの比率または固定の高さ(例: 「100px」)。リテラル文字列またはデータ バインディング参照を使用できます。 |
gutterSize |
× | 1px |
グリッド ガターのサイズ。リテラル文字列またはデータ バインディング参照を使用できます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
マテリアル ガイドラインを使用してアイテムを水平方向に配置するレイアウト コンテナ。
次の表に、MaterialRow コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
children |
○ | - | 子 ID を定義します。 |
justify |
× | start |
主軸(水平方向)に沿った子の配置を定義します。「start」、「center」、「end」、「spaceAround」、「spaceBetween」、「spaceEvenly」のいずれか。 |
align |
× | stretch |
子要素の垂直方向の配置(「start」、「center」、「end」、「stretch」)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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"
}
}
}
]
マテリアル カタログのコンテンツ コンポーネント
表示コンポーネントとコンテンツ コンポーネントは、ユーザーに情報、メディア、ステータスを表示するために使用されます。
MaterialBadge
子要素の上にマテリアル デザインのバッジを表示します。
次の表に、MaterialBadge コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
text |
× | - | バッジに表示するテキスト コンテンツ。 |
color |
× | - | バッジのカラーパレット(「primary」、「accent」、「warn」)。 |
position |
× | above after |
コンテナに対するバッジの位置(「above after」、「above before」、「below after」、「below before」)。 |
size |
× | medium |
バッジのサイズ(「small」、「medium」、「large」)。 |
overlap |
× | true |
バッジをコンテナに重ねるかどうか。 |
disabled |
× | false |
バッジが無効かどうか。 |
hidden |
× | false |
バッジが非表示かどうか。 |
description |
× | - | バッジのユーザー補助用の説明。 |
children |
○ | - | 子 ID を定義します。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialBadge",
"text": "42",
"color": "warn",
"children": [
"badge-content"
]
},
{
"id": "badge-content",
"component": "MaterialButton",
"label": "Notifications"
}
]
MaterialIcon
マテリアル デザイン アイコンを表示します。
次の表に、MaterialIcon コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
icon |
○ | - | 表示するマテリアル アイコンの名前。 |
color |
× | - | アイコンのカラーパレット(プライマリ、アクセント、警告)。 |
tooltip |
× | - | ホバーまたはフォーカス時に表示するツールチップ テキスト(省略可)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialIcon",
"icon": "favorite",
"color": "warn"
}
]
MaterialImage
マテリアル デザイン コンテキストで画像を表示するための A2UI コンポーネント。角丸、アスペクト比、object-fit プロパティをサポートしています。
次の表に、MaterialImage コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
url |
○ | - | 表示する画像の URL。 |
alt |
× | - | 画像のアクセシビリティ対応の代替テキスト。 |
fit |
× | - | 画像をコンテナに合わせてサイズ変更する方法を指定します。「fill」、「contain」、「cover」、「scaleDown」、「none」のいずれか。 |
width |
× | - | 画像のカスタム幅(例: 「100px」、「100%」)。 |
height |
× | - | 画像のカスタムの高さ(例: 「100px」、「100%」)。 |
aspectRatio |
× | - | 画像のアスペクト比(例: 「16/9」、「1」)。 |
roundedCorners |
× | false |
マテリアル デザインの標準の丸い角を適用するかどうか。 |
borderRadius |
× | - | 画像のカスタムの角丸の半径(例: 「50%」、「12px」)。roundedCorners をオーバーライドします。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
Angular Material のプログレスバー コンポーネントの A2UI ラッパー。確定モード、不定モード、バッファモード、クエリモードをサポートします。
次の表に、MaterialProgressBar コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
value |
× | 0 |
確定モードとバッファモードの進行状況の値(0 ~ 100)。 |
mode |
× | determinate |
進行状況バーのモード。「determinate」、「indeterminate」、「buffer」、「query」のいずれか。 |
bufferValue |
× | 0 |
バッファモードのバッファ値(0 ~ 100)。 |
color |
× | - | 進行状況バーのカラーパレット(「primary」、「accent」、「warn」)。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialProgressBar",
"mode": "determinate",
"value": 75,
"bufferValue": 90,
"color": "primary",
"ariaLabel": "Loading progress"
}
]
MaterialProgressSpinner
Angular Material の Progress Spinner コンポーネントの A2UI ラッパー。確定モードと不確定モード、カスタム ディメンションをサポートします。
次の表に、MaterialProgressSpinner コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
value |
× | 0 |
確定モードの進行状況の値(0 ~ 100)。 |
mode |
× | determinate |
スピナーのモード。「determinate」、「indeterminate」のいずれか。 |
diameter |
× | 40 |
進行状況スピナーの直径(ピクセル単位)。 |
strokeWidth |
× | 4 |
スピナーのストロークの幅(ピクセル単位)。 |
color |
× | - | スピナーのカラーパレット(「primary」、「accent」、「warn」)。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialProgressSpinner",
"mode": "indeterminate",
"diameter": 40,
"strokeWidth": 4,
"color": "accent",
"ariaLabel": "Loading data"
}
]
MaterialTable
Angular Material Table コンポーネントの A2UI ラッパー。構造化データを列と行にレンダリングします。
次の表に、MaterialTable コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
columns |
○ | - | 列定義の配列。それぞれが {header, field} オブジェクトを指定します。 |
rows |
○ | - | データ行のリスト。Key-Value レコードの配列またはデータ バインディング参照にできます。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
caption |
× | - | テーブルのユーザー補助用のキャプション/説明。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialTable",
"columns": [
{
"header": "ID",
"field": "id"
},
{
"header": "Name",
"field": "name"
},
{
"header": "Role",
"field": "role"
}
],
"rows": {
"path": "/company/users"
}
}
]
MaterialText
マテリアル タイポグラフィでテキストを表示します。
次の表に、MaterialText コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
text |
○ | - | 表示するテキスト。これは、リテラル文字列またはデータモデル内の値への参照にできます。 |
usageHint |
× | body |
タイポグラフィ スタイルのヒント。「h1」、「h2」、「h3」、「h4」、「h5」、「subtitle1」、「subtitle2」、「body1」、「body2」、「body」、「caption」のいずれか。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialText",
"text": "Headline Large (H1)",
"usageHint": "h1"
}
]
マテリアル カタログのナビゲーション コンポーネント
ナビゲーション コンポーネントとアクション コンポーネントを使用すると、ユーザーはアクションを実行したり、ビュー間を移動したりできます。
MaterialButton
マテリアル デザインのボタン。
次の表に、MaterialButton コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | ボタンに表示するテキスト ラベル。 |
leadingIcon |
× | - | ラベルの前に表示するマテリアル アイコンの名前。 |
trailingIcon |
× | - | ラベルの後に表示するマテリアル アイコンの名前。 |
variant |
× | basic |
ボタンのスタイル バリエーション。「raised」、「flat」、「stroked」、「icon」、「fab」、「mini-fab」、「basic」のいずれか。 |
appearance |
× | - | ボタンの視覚的な外観。「text」、「filled」、「elevated」、「outlined」、「tonal」のいずれか。 |
disabled |
× | false |
ボタンが無効かどうか。 |
action |
× | - | ボタンがクリックされたときにディスパッチされるアクション。 |
tooltip |
× | - | カーソルを合わせたときに表示するツールチップ テキスト。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
disableRipple |
× | false |
クリック時のリップル効果が無効かどうか。 |
extended |
× | false |
ボタンが追加のラベルまたはアイコン スペースで拡張されているかどうか。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialButton",
"label": "Raised Button",
"variant": "raised",
"tooltip": "Click me!",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialIconButton
マテリアル デザインのアイコンボタン。
次の表に、MaterialIconButton コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
icon |
○ | - | 表示するマテリアル アイコンの名前。 |
action |
○ | - | アイコンボタンがクリックされたときにディスパッチされるクライアントサイドのアクション。 |
ariaLabel |
○ | - | スクリーン リーダーで判読可能なテキスト。ボタンにアイコンのみが含まれているため、アクセシビリティの観点から推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
color |
× | - | ボタンのカラーパレット(プライマリ、アクセント、警告)。 |
disabled |
× | false |
ボタンが無効かどうか。 |
tooltip |
× | - | カーソルを合わせたときに表示するツールチップ テキスト。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialIconButton",
"icon": "favorite",
"ariaLabel": "Favorite",
"color": "warn",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialMenu
Angular Material Menu コンポーネントの A2UI ラッパー。トリガー ボタンとプルダウン メニュー項目を提供します。
次の表に、MaterialMenu コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | メニュー トリガー ボタンに表示されるテキスト ラベル。 |
icon |
× | - | トリガー ボタンに表示するマテリアル アイコンの名前。 |
disabled |
× | false |
メニュー トリガー ボタンが無効かどうか。 |
value |
× | - | 現在選択されている値。リテラル文字列またはデータ バインディング参照を使用できます。 |
options |
○ | - | 使用可能なメニュー オプションのリスト。{label, value} オブジェクトの配列またはデータ バインディング参照にできます。 |
action |
× | - | メニュー項目が選択されたときにディスパッチされるクライアントサイドのアクション。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
Angular Material Tabs コンポーネントの A2UI ラッパー。タブ付きナビゲーションをレンダリングし、アクティブなタブの選択を管理します。
次の表に、MaterialTabs コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
tabs |
○ | - | タブ定義の配列。それぞれが {label, content} オブジェクトを指定します。 |
activeTab |
× | 0 |
現在アクティブなタブの 0 ベースのインデックス。リテラル数値またはデータ バインディング参照を使用できます。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialTabs",
"activeTab": {
"path": "/app/selectedTab"
},
"tabs": [
{
"label": "Overview",
"content": "Overview content"
},
{
"label": "Details",
"content": "Details content"
},
{
"label": "Reviews",
"content": "Reviews content"
}
]
}
]
マテリアル カタログの入力コンポーネント
入力コンポーネントとフォーム コンポーネントを使用すると、ユーザーはテキストの入力、選択、オプションの切り替えを行うことができます。
MaterialButtonToggle
単一選択用のマテリアル デザインのボタン切り替えグループ。
次の表に、MaterialButtonToggle コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
value |
× | - | 現在選択されている値。これは、リテラル文字列またはデータモデル内の値への参照にできます。 |
options |
○ | - | 選択可能なオプションのリスト。{label, value} オブジェクトの配列またはデータ バインディング参照にできます。 |
disabled |
× | false |
ボタン切り替えグループが無効かどうか。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
appearance |
× | standard |
切り替えボタン グループの外観スタイル。「legacy」、「standard」のいずれか。 |
vertical |
× | false |
ボタン切り替えグループが縦方向に配置されているかどうか。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
ブール値の状態のマテリアル デザインのチェックボックス コンポーネント。アクセシビリティを最適化するには、わかりやすいラベルを指定するか、支援技術用に ariaLabel を使用します。
次の表に、MaterialCheckbox コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | チェックボックスの横に表示されるテキスト ラベル。 |
checked |
× | false |
チェックボックスがオンになっているかどうか。これは、リテラル ブール値またはデータモデル内の値への参照にできます。 |
disabled |
× | false |
チェックボックスが無効かどうか。 |
color |
× | - | チェックボックスのカラーパレット(「primary」、「accent」、「warn」)。 |
labelPosition |
× | after |
チェックボックスに対するラベルの位置(「before」、「after」)。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
tooltip |
× | - | カーソルを合わせたときに表示するツールチップ テキスト。 |
checks |
× | - | 入力の有効性を判断するためにリアクティブに評価される検証ルールの配列(それぞれに動的なブール条件とエラー メッセージが含まれます)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialCheckbox",
"label": "Agree to Terms and Conditions",
"ariaLabel": "Agree to Terms and Conditions",
"checked": {
"path": "/user/agreedToTerms"
},
"color": "primary"
}
]
MaterialChips
単一選択用のマテリアル デザイン チップ リストボックス コンポーネント。
次の表に、MaterialChips コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
value |
× | - | 現在選択されている値。これは、リテラル文字列またはデータモデル内の値への参照にできます。 |
options |
○ | - | チップ オプションのリスト。{label, value} オブジェクトの配列またはデータ バインディング参照にできます。 |
disabled |
× | false |
チップ リストボックスが無効かどうか。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
action |
× | - | チップが選択されたときにディスパッチするアクション。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
マテリアル デザインの日付選択ツール コンポーネント。
次の表に、MaterialDatepicker コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | 日付選択ツール フィールドのラベル。 |
placeholder |
× | - | プレースホルダ テキスト。 |
value |
× | - | 現在選択されている日付(ISO 形式)。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
disabled |
× | false |
日付選択ツールが無効かどうか。 |
checks |
× | - | 入力の有効性を判断するためにリアクティブに評価される検証ルールの配列(それぞれに動的なブール条件とエラー メッセージが含まれます)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialDatepicker",
"label": "Appointment Date",
"placeholder": "Choose a date",
"ariaLabel": "Appointment Date",
"value": {
"path": "/appointment/date"
}
}
]
MaterialInput
マテリアル デザインのテキスト入力フィールド。
次の表に、MaterialInput コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | 入力フィールドのラベル。 |
placeholder |
× | - | プレースホルダ テキスト。 |
value |
× | - | 入力の現在の値。これは、リテラル文字列またはデータモデル内の値への参照にできます。 |
disabled |
× | false |
入力が無効かどうか。 |
name |
× | - | 入力要素の名前。 |
readonly |
× | false |
入力が読み取り専用かどうか。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
type |
× | text |
表示する入力コントロールのタイプ。「text」、「number」、「email」、「tel」、「date」のいずれか。「password」は使用できません。 |
validationRegexp |
× | - | 入力検証用の正規表現。 |
checks |
× | - | 入力の有効性を判断するためにリアクティブに評価される検証ルールの配列(それぞれに動的なブール条件とエラー メッセージが含まれます)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialInput",
"label": "First Name",
"placeholder": "John",
"value": {
"path": "/user/firstName"
}
}
]
MaterialRadioButton
Angular Material ラジオボタン コンポーネントの A2UI ラッパー。ラジオ グループ内のオプションのリストから 1 つを選択できます。
次の表に、MaterialRadioButton コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
value |
× | - | 現在選択されている値。リテラル文字列またはデータ バインディング参照を使用できます。 |
options |
○ | - | 利用可能なラジオ オプションのリスト。{label, value} オブジェクトの配列またはデータ バインディング参照にできます。 |
disabled |
× | false |
ラジオボタン グループが無効かどうか。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
color |
× | - | ラジオボタンのカラーパレット(「primary」、「accent」、「warn」)。 |
labelPosition |
× | after |
ラジオボタンに対するラベルの相対的な位置。「before」、「after」のいずれか。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"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
単一選択用のマテリアル デザインの選択(プルダウン)コンポーネント。アクセシビリティを最適にするには、常に説明的なラベルを指定するか、支援技術用に aria-label を使用します。
次の表に、MaterialSelect コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | 選択フィールドのラベル。 |
placeholder |
× | - | 値が選択されていない場合に表示されるプレースホルダ テキスト。 |
value |
× | - | 現在選択されている値。これは、リテラル文字列またはデータモデル内の値への参照にできます。 |
options |
○ | - | 選択可能なオプションのリスト。{label, value} オブジェクトの配列またはデータ バインディング参照にできます。 |
disabled |
× | false |
選択コンポーネントが無効かどうか。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
checks |
× | - | 入力の有効性を判断するためにリアクティブに評価される検証ルールの配列(それぞれに動的なブール条件とエラー メッセージが含まれます)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | Flex コンテナに配置された要素のレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialSelect",
"label": "Favorite Color",
"placeholder": "Choose a color",
"ariaLabel": "Select your favorite color",
"value": {
"path": "/user/favoriteColor"
},
"options": [
{
"label": "Red",
"value": "red"
},
{
"label": "Green",
"value": "green"
},
{
"label": "Blue",
"value": "blue"
}
]
}
]
MaterialSlideToggle
Angular Material のスライド切り替えコンポーネントの A2UI ラッパー。ブール値の切り替えバインディングとカスタムのユーザー補助属性をサポートします。
次の表に、MaterialSlideToggle コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | スライド トグルの横に表示されるテキスト ラベル。 |
checked |
× | false |
スライド切り替えがオンになっているかどうか。リテラル ブール値またはデータ バインディング参照を指定できます。 |
disabled |
× | false |
スライド切り替えが無効かどうか。 |
required |
× | false |
スライド トグルが必須かどうか。 |
color |
× | - | 切り替えのカラーパレット(「primary」、「accent」、「warn」)。 |
labelPosition |
× | after |
切り替えボタンに対するラベルの位置(「before」、「after」)。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
tooltip |
× | - | カーソルを合わせたときに表示するツールチップ テキスト。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | Flex コンテナに配置された要素のレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialSlideToggle",
"label": "Enable notifications",
"ariaLabel": "Enable notifications toggle",
"checked": {
"path": "/settings/notifications"
},
"color": "accent",
"labelPosition": "after"
}
]
MaterialSlider
Angular Material のスライダー コンポーネントの A2UI ラッパー。数値の選択と範囲の制約をサポートします。
次の表に、MaterialSlider コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
value |
× | 0 |
スライダーの現在の値。リテラル数値またはデータ バインディング参照を使用できます。 |
min |
× | 0 |
スライダーの最小値。 |
max |
× | 100 |
スライダーの最大値。 |
step |
× | 1 |
スライダーのステップ増分。 |
disabled |
× | false |
スライダーが無効かどうか。 |
color |
× | - | スライダーのカラーパレット(「primary」、「accent」、「warn」)。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialSlider",
"min": 0,
"max": 100,
"step": 5,
"value": {
"path": "/audio/volume"
},
"color": "primary",
"ariaLabel": "Volume adjustment"
}
]
MaterialTimepicker
Angular Material Timepicker コンポーネントの A2UI ラッパー。時間選択とフォーム フィールドの統合をサポートしています。
次の表に、MaterialTimepicker コンポーネントで使用できるプロパティを示します。
| プロパティ | 必須 | デフォルト値 | 説明 |
|---|---|---|---|
label |
× | - | タイムピッカー フィールドのテキストラベル。 |
placeholder |
× | - | プレースホルダ テキスト。 |
value |
× | - | ISO 形式の現在選択されている時間。リテラル文字列またはデータ バインディング参照を使用できます。 |
ariaLabel |
× | - | スクリーン リーダーで判読可能なテキスト。表示されるラベルがない場合に、ユーザー補助機能のために推奨されます。 |
ariaLabelledby |
× | - | 現在の要素にラベルを付ける要素(または複数の要素)を識別します。ユーザー補助機能に使用されます。 |
ariaDescribedby |
× | - | 現在の要素を説明する要素(または要素)を識別します。ユーザー補助機能に使用されます。 |
disabled |
× | false |
タイムピッカーが無効かどうか。 |
checks |
× | - | 入力の有効性を判断するためにリアクティブに評価される検証ルールの配列(それぞれに動的なブール条件とエラー メッセージが含まれます)。 |
style |
× | - | 要素に適用するインライン スタイル。 |
weight |
× | - | 要素がフレキシブル コンテナに配置されたときのレイアウトの重み。 |
[
{
"id": "root",
"component": "MaterialTimepicker",
"label": "Set Alarm",
"placeholder": "Select time",
"ariaLabel": "Set Alarm Time",
"value": {
"path": "/alarm/time"
}
}
]
基本的なカタログ コンポーネント
このセクションでは、利用可能な A2UI 基本カタログ コンポーネントのリファレンスを提供します。
基本的なカタログ スキーマ ファイル
これらのプロパティの詳細については、以下をご覧ください。
基本カタログの共通プロパティ
すべてのコンポーネントには、特定のタイプに関係なく、構成可能な共通のプロパティのセットがあります。
| プロパティ | 必須 | 説明 |
|---|---|---|
id |
○ | 現在のサーフェス内のコンポーネントの一意の識別子。 |
accessibility |
× | ラベルやロールなど、アクセシビリティを向上させる属性。 |
weight |
× |
Row レイアウトまたは Column レイアウトで使用される値。兄弟要素に対するコンポーネントの占有スペースの量を制御します。flex-grow と同様です。 |
基本的なカタログ レイアウト コンポーネント
レイアウト コンポーネントは、ユーザー インターフェース内の他のコンポーネントを構造化して配置するために使用されます。次のレイアウト コンポーネントを使用できます。
行
Row は、子コンポーネントを左から右に水平方向に配置するために使用されるレイアウト コンポーネントです。複数のコンポーネントを並べて配置できるコンテナとして機能します。行内の子要素の正確な間隔と位置は、justify/distribution プロパティと align/alignment プロパティを使用して制御できます。
次の表に、Row コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
children |
v0.9: コンポーネント ID またはテンプレート定義の配列 v0.8: explicitList または template
|
Row 内で水平方向に配置される子コンポーネント。 |
justify(v0.9)distribution(v0.8)
|
start、center、end、spaceBetween、spaceAround、spaceEvenly |
子コンポーネントが水平軸に沿ってどのように配置されるかを制御します。 |
align(v0.9)alignment(v0.8)
|
start、center、end、stretch |
子コンポーネントが垂直軸上でどのように配置されるかを制御します。 |
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 は、子コンポーネントを上から下へ垂直方向に配置するために使用されるレイアウト コンポーネントです。複数のコンポーネントを縦に並べて配置できるコンテナとして機能します。列内の子要素の正確な間隔と位置は、justify/distribution プロパティと align/alignment プロパティを使用して制御できます。
次の表に、Column コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
children |
v0.9: コンポーネント ID またはテンプレート定義の配列 v0.8: explicitList または template
|
Column 内で縦方向に配置される子コンポーネント。 |
justify(v0.9)distribution(v0.8)
|
start、center、end、spaceBetween、spaceAround、spaceEvenly
|
子コンポーネントが垂直軸に沿ってどのように配置されるかを制御します。 |
align(v0.9)alignment(v0.8)
|
start、center、end、stretch
|
子コンポーネントが水平軸に沿ってどのように配置されるかを制御します。 |
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 は、スクロール可能なアイテムのリストを表示するレイアウト コンポーネントです。静的な子と、データからアイテムを生成するための動的テンプレートをサポートしています。スクロールの方向は縦または横です。
次の表に、List コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
children |
v0.9: コンポーネント ID またはテンプレート定義の配列 v0.8: explicitList または template
|
リストに表示される項目。 |
direction |
vertical、horizontal |
リストのスクロール方向。 |
align(v0.9)alignment(v0.8)
|
start、center、end、stretch |
リストアイテムが交差軸に沿ってどのように配置されるかを制御します。 |
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"
}
}
}
基本的なカタログ表示コンポーネント
表示コンポーネントは、ユーザーに情報を提示するために使用されます。次の表示コンポーネントを使用できます。
テキスト
Text コンポーネントはテキスト コンテンツを表示し、見出し、キャプション、本文テキストなど、さまざまなスタイリング ヒントをサポートしています。
次の表に、Text コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
text |
v0.9: String または DataBindingv0.8: BoundValue
|
表示するテキスト コンテンツ。 |
variant(v0.9)usageHint(v0.8)
|
h1、h2、h3、h4、h5、caption、body |
テキストのスタイル設定のヒント。 |
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 コンポーネントは、指定された URL の画像を表示し、画像がコンテナにどのように収まるかを制御するオプションを提供します。
次の表に、Image コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
url |
v0.9: String または DataBindingv0.8: BoundValue
|
表示する画像の URL。 |
fit |
文字列 | 画像をコンテナに収める方法(「カバー」など)。 |
variant(v0.9)usageHint(v0.8)
|
文字列 | 使用方法やスタイルのバリエーション(「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 コンポーネントは、カタログで定義された基準セットのアイコンを表示します。
次の表に、Icon コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
name |
v0.9: String または DataBindingv0.8: BoundValue
|
表示するアイコンの名前(例: 「check」)。 |
v0.9 JSON
{
"id": "check-icon",
"component": "Icon",
"name": "check"
}
v0.8 JSON
{
"id": "check-icon",
"component": {
"Icon": {
"name": { "literalString": "check" }
}
}
}
区切り線
Divider コンポーネントは、水平または垂直の区切り線を表示します。
次の表に、Divider コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
axis |
horizontal、vertical |
分割線の向き。 |
v0.9 JSON
{
"id": "separator",
"component": "Divider",
"axis": "horizontal"
}
v0.8 JSON
{
"id": "separator",
"component": {
"Divider": {
"axis": "horizontal"
}
}
}
基本カタログのインタラクティブなコンポーネント
インタラクティブ コンポーネントを使用すると、入力の提供やアクションのトリガーなど、アプリケーションを操作できます。次のインタラクティブ コンポーネントを使用できます。
ボタン
Button コンポーネントは、アプリ内で特定のアクションやイベントをトリガーするクリック可能な要素です。
次の表に、Button コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
child |
コンポーネント ID | ボタン内に表示するコンポーネントの ID(テキスト コンポーネントなど)。 |
variant(v0.9)primary(v0.8)
|
v0.9: 文字列(例: "primary")v0.8: ブール値 |
ボタンに適用されるスタイル設定のタイプまたは強調。 |
action |
v0.9: イベント オブジェクト(キー設定 `event` など) v0.8: アクション オブジェクト(キー設定 `name` など) |
ボタンがクリックされたときにトリガーされるアクション。 |
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 は、テキストを入力できるインタラクティブなコンポーネントです。また、オプションの検証もサポートしています。
次の表に、TextField コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
label |
v0.9: 文字列 v0.8: BoundValue
|
テキスト フィールドのラベル。 |
value(v0.9)text(v0.8)
|
v0.9: String または DataBindingv0.8: BoundValue
|
テキスト コンテンツまたはバインドされたパス。 |
textFieldType |
shortText、longText、number、obscured、date |
テキスト フィールドのタイプ。 |
validationRegexp |
文字列 | 検証用の正規表現。 |
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
CheckBox コンポーネントは、設定のオン / オフを切り替えられるブール値の切り替えです。
次の表に、CheckBox コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
label |
v0.9: 文字列 v0.8: BoundValue
|
チェックボックスのラベル。 |
value |
v0.9: DataBinding(ブール値)v0.8: BoundValue(ブール値)
|
チェックボックスの値(true/false)またはバインドされたパス。 |
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 コンポーネントを使用すると、特定の範囲から数値を選択できます。
次の表に、Slider コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
value |
v0.9: DataBinding(数値)v0.8: BoundValue(数値)
|
スライダーまたはバインドされたパスの現在の値。 |
minValue |
数値 | 範囲の最小値。 |
maxValue |
数値 | 範囲の最大値。 |
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
DateTimeInput コンポーネントを使用すると、日付と時刻を選択できます。
次の表に、DateTimeInput コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
value |
v0.9: DataBindingv0.8: BoundValue
|
選択した日付/時刻の値またはバインドされたパス。 |
enableDate |
ブール値 | 日付の選択を有効にするかどうか。 |
enableTime |
ブール値 | 時刻の選択を有効にするかどうか。 |
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)
リストから 1 つ以上のオプションを選択します。このコンポーネントは、v0.8 の MultipleChoice から v0.9 の ChoicePicker に名前が変更されています。
次の表に、使用可能なプロパティの概要を示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
options |
オブジェクトの配列 | ユーザーが選択できるオプションのリスト。各オプションには、ラベル(v0.9 では文字列、v0.8 では BoundValue)と値が必要です。 |
selections |
v0.9: DataBindingv0.8: BoundValue
|
選択した値またはバインドされたパス。 |
maxAllowedSelections |
数値 | 選択できる最大数。 |
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
}
}
}
基本的なカタログ コンテナ コンポーネント
コンテナ コンポーネントは、他のコンポーネントをグループ化して整理するために使用されます。次のコンテナ コンポーネントを使用できます。
カード
Card コンポーネントは、関連するコンテンツをグループ化する、高さ、境界線、パディングのあるコンテナです。
次の表に、Card コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
child |
コンポーネント ID | カード内に表示するコンポーネントの ID。 |
v0.9 JSON
{
"id": "info-card",
"component": "Card",
"child": "card-content"
}
v0.8 JSON
{
"id": "info-card",
"component": {
"Card": {
"child": "card-content"
}
}
}
Modal
Modal コンポーネントは、エントリ ポイント コンポーネントによってトリガーされるオーバーレイ ダイアログです。
次の表に、Modal コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
entryPointChild |
コンポーネント ID | モーダルをトリガーするコンポーネントの ID(ボタンなど)。 |
contentChild |
コンポーネント ID | モーダルのコンテンツとして表示するコンポーネントの ID。 |
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 コンポーネントは、コンテンツを切り替え可能なパネルに整理するためのタブ付きインターフェースを提供します。
次の表に、Tabs コンポーネントで使用できるプロパティを示します。
| プロパティ | タイプ/値 | 説明 |
|---|---|---|
tabItems |
オブジェクトの配列 | タブのリスト。各アイテムには title(v0.9 では文字列、v0.8 では BoundValue)と child(コンポーネント 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" }
]
}
}
}
バージョンの違いの概要
コンポーネントの名前とプロパティは、バージョン間でほぼ同じです。構造上の違いは次のとおりです。
| アスペクト | v0.8 | v0.9 |
|---|---|---|
| コンポーネント ラッパー | "component": { "Text": { ... } } |
"component": "Text", ...props |
| 文字列の値 | { "literalString": "Hello" } |
"Hello" |
| 子供向け | { "explicitList": ["a", "b"] } |
["a", "b"] |
| データ バインディング | { "path": "/data" } |
{ "path": "/data" }(同じ) |
| テキスト/画像のスタイル設定 | usageHint |
variant |
| ボタンのスタイル設定 | primary: true |
variant: "primary" |
| アクションの形式 | { "name": "..." } |
{ "event": { "name": "..." } } |
| 選択肢コンポーネント | MultipleChoice |
ChoicePicker |
| レイアウトの配置 | distribution、alignment |
justify、align |
| TextField の値 | text |
value |
進化ガイド
v0.8 から v0.9 への移行については、v0.8 から v0.9 への進化ガイドをご覧ください。
作成例
すべてのコンポーネントの動作を確認するには:
cd samples/client/angular
yarn start gallery
次のステップ
- 独自のカタログを定義する: 独自のコンポーネントを構築する
- テーマ設定ガイド: ブランドに合わせてコンポーネントのスタイルを設定する