A2UI コンポーネント ギャラリーのリファレンス

このページでは、レイアウト、表示、インタラクティブ、コンテナ コンポーネント、共通プロパティなど、利用可能なすべての 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 または DataBinding
v0.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 または DataBinding
v0.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 または DataBinding
v0.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 または DataBinding
v0.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: DataBinding
v0.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: DataBinding
v0.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 コンポーネントで使用できるプロパティを示します。

プロパティ タイプ/値 説明
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

次のステップ