Halaman ini memberikan referensi komprehensif untuk semua komponen A2UI yang tersedia, termasuk komponen tata letak, tampilan, interaktif, dan penampung, serta properti umum.
Komponen katalog material dan komponen katalog dasar
A2UI menyediakan dua katalog komponen berbeda untuk membangun antarmuka pengguna agen: katalog material dan katalog dasar.
Katalog material berisi komponen yang dirancang khusus untuk mematuhi pedoman Desain Material Google, yang menawarkan serangkaian elemen UI yang lebih kaya dan bergaya yang didukung dalam konfigurasi A2UI v0.9.
Katalog dasar berisi primitif UI standar yang tidak bergantung pada sistem desain, seperti tata letak, tindakan, dan input, yang didukung dalam konfigurasi A2UI v0.9 dan v0.8.
Komponen katalog material
Bagian ini memberikan referensi untuk komponen Desain Material A2UI yang tersedia, termasuk komponen tata letak, tampilan, navigasi, dan input.
Properti umum katalog material
Semua komponen, terlepas dari jenis spesifiknya, memiliki serangkaian properti umum yang dapat dikonfigurasi:
| Properti | Wajib | Deskripsi |
|---|---|---|
id |
Ya | ID unik untuk komponen dalam platform saat ini. |
accessibility |
Tidak | Atribut untuk meningkatkan aksesibilitas, seperti label dan peran. |
weight |
Tidak |
Nilai yang digunakan dalam tata letak MaterialRow atau MaterialColumn untuk
mengontrol seberapa banyak ruang yang ditempati komponen relatif terhadap
saudaranya, mirip dengan flex-grow.
|
Komponen tata letak katalog material
Komponen tata letak digunakan untuk menyusun dan mengatur komponen lain dalam antarmuka pengguna.
MaterialCard
Penampung kartu Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialCard:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
children |
Ya | - | Menentukan ID turunan. |
appearance |
Tidak | raised |
Gaya tampilan kartu. Salah satu dari: "outlined", "raised". |
align |
Tidak | start |
Penyelarasan anak. Salah satu dari: "center", "end", "start", "stretch". |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
href |
Tidak | - | URL opsional untuk membuka halaman saat kartu diklik. Jika disetel, kartu akan menjadi interaktif dan membuka URL di tab baru. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialCard",
"appearance": "outlined",
"children": [
"card-content"
]
},
{
"id": "card-content",
"component": "MaterialText",
"text": "Card content"
}
]
MaterialColumn
Penampung tata letak yang mengatur item secara vertikal menggunakan panduan Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialColumn:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
children |
Ya | - | Menentukan ID turunan. |
justify |
Tidak | start |
Menentukan susunan turunan di sepanjang sumbu utama (secara vertikal). |
align |
Tidak | stretch |
Perataan horizontal turunan ("start", "center", "end", "stretch"). |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Penampung dialog menu Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialDialog:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
open |
Tidak | false |
Apakah dialog terbuka. Dapat berupa boolean literal atau referensi data binding. |
title |
Tidak | - | Judul dialog. |
disableClose |
Tidak | false |
Apakah pengguna dapat menutup dialog dengan mengklik di luar atau menekan Escape. |
width |
Tidak | - | Lebar dialog (misalnya, "500px"). |
height |
Tidak | - | Tinggi dialog (misalnya, "400px"). |
children |
Ya | - | Menentukan ID turunan. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Garis pemisah Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialDivider:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
inset |
Tidak | false |
Apakah pembagi disisipkan. |
vertical |
Tidak | false |
Apakah pemisah vertikal. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Penampung panel perluasan Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialExpansionPanel:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
title |
Tidak | - | Judul yang ditampilkan di header panel perluasan. |
description |
Tidak | - | Deskripsi yang ditampilkan di header panel ekspansi. |
expanded |
Tidak | false |
Apakah panel diluaskan. Dapat berupa boolean literal atau referensi data binding. |
disabled |
Tidak | false |
Apakah panel ekspansi dinonaktifkan. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
children |
Ya | - | Menentukan ID turunan. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Komponen penampung A2UI untuk tata letak petak. Menggunakan Daftar Petak Angular Material untuk mengatur komponen turunan ke dalam kartu.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialGridList:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
children |
Ya | - | Menentukan ID turunan. |
cols |
Tidak | 2 |
Jumlah kolom dalam daftar petak. Dapat berupa angka literal atau referensi data binding. |
rowHeight |
Tidak | 1:1 |
Rasio tinggi baris atau tinggi tetap (misalnya, "100px"). Dapat berupa string literal atau referensi data binding. |
gutterSize |
Tidak | 1px |
Ukuran ruang antar-petak. Dapat berupa string literal atau referensi data binding. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Penampung tata letak yang mengatur item secara horizontal menggunakan panduan Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialRow:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
children |
Ya | - | Menentukan ID turunan. |
justify |
Tidak | start |
Menentukan susunan turunan di sepanjang sumbu utama (horizontal). |
align |
Tidak | stretch |
Perataan vertikal elemen turunan ("start", "center", "end", "stretch"). |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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"
}
}
}
]
Komponen konten katalog material
Komponen tampilan dan konten digunakan untuk menyajikan informasi, media, dan status kepada pengguna.
MaterialBadge
Menampilkan badge Desain Material di atas elemen turunan.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialBadge:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
text |
Tidak | - | Konten teks yang akan ditampilkan di badge. |
color |
Tidak | - | Palet warna badge ("primary", "accent", "warn"). |
position |
Tidak | above after |
Posisi badge relatif terhadap penampung ("above after", "above before", "below after", "below before"). |
size |
Tidak | medium |
Ukuran badge ("small", "medium", "large"). |
overlap |
Tidak | true |
Apakah badge harus tumpang-tindih dengan penampungnya. |
disabled |
Tidak | false |
Apakah badge dinonaktifkan. |
hidden |
Tidak | false |
Apakah badge disembunyikan. |
description |
Tidak | - | Deskripsi yang dapat diakses untuk badge. |
children |
Ya | - | Menentukan ID turunan. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialBadge",
"text": "42",
"color": "warn",
"children": [
"badge-content"
]
},
{
"id": "badge-content",
"component": "MaterialButton",
"label": "Notifications"
}
]
MaterialIcon
Menampilkan ikon Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialIcon:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
icon |
Ya | - | Nama Ikon Material yang akan ditampilkan. |
color |
Tidak | - | Palet warna ikon (primer, aksen, peringatan). |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialIcon",
"icon": "favorite",
"color": "warn"
}
]
MaterialImage
Komponen A2UI untuk merender gambar dalam konteks Desain Material. Mendukung properti sudut bulat, rasio aspek, dan object-fit.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialImage:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
url |
Ya | - | URL gambar yang akan ditampilkan. |
alt |
Tidak | - | Teks alternatif yang dapat diakses untuk gambar. |
fit |
Tidak | - | Menentukan cara ukuran gambar diubah agar sesuai dengan penampungnya. Salah satu dari: "fill", "contain", "cover", "scaleDown", "none". |
width |
Tidak | - | Lebar kustom gambar (misalnya, "100px", "100%"). |
height |
Tidak | - | Tinggi kustom gambar (misalnya, "100px", "100%"). |
aspectRatio |
Tidak | - | Rasio aspek kustom gambar (misalnya, "16/9", "1"). |
roundedCorners |
Tidak | false |
Apakah akan menerapkan sudut membulat standar Desain Material. |
borderRadius |
Tidak | - | Radius batas kustom gambar (misalnya, "50%", "12 piksel"). Menggantikan roundedCorners. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialImage",
"url": "https://www.gstatic.com/marketing-cms/assets/images/c5/3a/200414104c669203c62270f7884f/google-wordmarks-2x.webp=n-w100-h32-fcrop64=1,00000000ffffffff-rw",
"width": "100px",
"height": "32px",
"fit": "scaleDown",
"roundedCorners": true,
"alt": "Google Wordmark"
}
]
MaterialProgressBar
Wrapper A2UI untuk komponen Progress Bar Angular Material. Mendukung mode determinan, tidak determinan, buffer, dan kueri.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialProgressBar:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
value |
Tidak | 0 |
Nilai progres (0 hingga 100) dalam mode buffer dan determinan. |
mode |
Tidak | determinate |
Mode status progres. Salah satu dari: "determinate", "indeterminate", "buffer", "query". |
bufferValue |
Tidak | 0 |
Nilai buffer (0 hingga 100) dalam mode buffer. |
color |
Tidak | - | Palet warna status progres ("primary", "accent", "warn"). |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialProgressBar",
"mode": "determinate",
"value": 75,
"bufferValue": 90,
"color": "primary",
"ariaLabel": "Loading progress"
}
]
MaterialProgressSpinner
Wrapper A2UI untuk komponen Angular Material Progress Spinner. Mendukung mode deterministik dan non-deterministik, serta dimensi kustom.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialProgressSpinner:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
value |
Tidak | 0 |
Nilai progres (0 hingga 100) dalam mode determinan. |
mode |
Tidak | determinate |
Mode spinner. Salah satu dari: "determinate", "indeterminate". |
diameter |
Tidak | 40 |
Diameter pemutar progres dalam piksel. |
strokeWidth |
Tidak | 4 |
Lebar goresan spinner dalam piksel. |
color |
Tidak | - | Palet warna spinner ("primary", "accent", "warn"). |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialProgressSpinner",
"mode": "indeterminate",
"diameter": 40,
"strokeWidth": 4,
"color": "accent",
"ariaLabel": "Loading data"
}
]
MaterialTable
Wrapper A2UI untuk komponen Tabel Angular Material. Merender data terstruktur ke dalam kolom dan baris.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialTable:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
columns |
Ya | - | Array definisi kolom, yang masing-masing menentukan objek {header, field}. |
rows |
Ya | - | Daftar baris data. Dapat berupa array rekaman kunci-nilai atau referensi data binding. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
caption |
Tidak | - | Teks/deskripsi yang dapat diakses untuk tabel. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialTable",
"columns": [
{
"header": "ID",
"field": "id"
},
{
"header": "Name",
"field": "name"
},
{
"header": "Role",
"field": "role"
}
],
"rows": {
"path": "/company/users"
}
}
]
MaterialText
Menampilkan teks dengan tipografi Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialText:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
text |
Ya | - | Teks yang akan ditampilkan. Nilai ini dapat berupa string literal atau referensi ke nilai dalam model data. |
usageHint |
Tidak | body |
Petunjuk untuk gaya tipografi. Salah satu dari: "h1", "h2", "h3", "h4", "h5", "subtitle1", "subtitle2", "body1", "body2", "body", "caption". |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialText",
"text": "Headline Large (H1)",
"usageHint": "h1"
}
]
Komponen navigasi katalog material
Komponen navigasi dan tindakan memungkinkan pengguna melakukan tindakan atau berpindah antar-tampilan.
MaterialButton
Tombol Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialButton:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label teks yang akan ditampilkan di tombol. |
leadingIcon |
Tidak | - | Nama Ikon Material yang akan ditampilkan sebelum label. |
trailingIcon |
Tidak | - | Nama Ikon Material yang akan ditampilkan setelah label. |
color |
Tidak | - | Palet warna tombol (primer, aksen, peringatan). |
variant |
Tidak | basic |
Varian gaya tombol. Salah satu dari: "raised", "flat", "stroked", "basic". |
disabled |
Tidak | false |
Apakah tombol dinonaktifkan. |
action |
Tidak | - | Tindakan sisi klien yang akan dikirim saat tombol diklik. |
tooltip |
Tidak | - | Teks tooltip yang akan ditampilkan saat kursor diarahkan. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialButton",
"label": "Raised Button",
"variant": "raised",
"tooltip": "Click me!",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialIconButton
Tombol ikon Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialIconButton:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
icon |
Ya | - | Nama Ikon Material yang akan ditampilkan. |
action |
Ya | - | Tindakan sisi klien yang akan dikirim saat tombol ikon diklik. |
ariaLabel |
Ya | - | Teks yang dapat dibaca oleh pembaca layar. Diperlukan untuk aksesibilitas. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
color |
Tidak | - | Palet warna tombol (primer, aksen, peringatan). |
disabled |
Tidak | false |
Apakah tombol dinonaktifkan. |
tooltip |
Tidak | - | Teks tooltip yang akan ditampilkan saat kursor diarahkan. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialIconButton",
"icon": "favorite",
"ariaLabel": "Favorite",
"color": "warn",
"action": {
"event": {
"name": "click"
}
}
}
]
MaterialMenu
Wrapper A2UI untuk komponen Menu Angular Material. Menyediakan tombol pemicu dan item menu drop-down.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialMenu:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label teks yang ditampilkan pada tombol pemicu menu. |
icon |
Tidak | - | Nama Ikon Material yang akan ditampilkan di tombol pemicu. |
disabled |
Tidak | false |
Apakah tombol pemicu menu dinonaktifkan. |
value |
Tidak | - | Nilai yang saat ini dipilih. Dapat berupa string literal atau referensi data binding. |
options |
Ya | - | Daftar opsi menu yang tersedia. Dapat berupa array objek {label, value} atau referensi data binding. |
action |
Tidak | - | Tindakan sisi klien yang akan dikirim saat item menu dipilih. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialMenu",
"label": "Options",
"icon": "more_vert",
"value": {
"path": "/menu/selectedOption"
},
"options": [
{
"label": "Settings",
"value": "settings"
},
{
"label": "Help",
"value": "help"
},
{
"label": "Logout",
"value": "logout"
}
],
"action": {
"event": {
"name": "menuSelection"
}
}
}
]
MaterialTabs
Wrapper A2UI untuk komponen Tab Angular Material. Merender navigasi bertab dan mengelola pilihan tab aktif.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialTabs:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
tabs |
Ya | - | Array definisi tab, yang masing-masing menentukan objek {label, content}. |
activeTab |
Tidak | 0 |
Indeks berbasis 0 dari tab yang saat ini aktif. Dapat berupa angka literal atau referensi data binding. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialTabs",
"activeTab": {
"path": "/app/selectedTab"
},
"tabs": [
{
"label": "Overview",
"content": "Overview content"
},
{
"label": "Details",
"content": "Details content"
},
{
"label": "Reviews",
"content": "Reviews content"
}
]
}
]
Komponen input katalog material
Komponen input dan formulir memungkinkan pengguna memasukkan teks, membuat pilihan, dan mengaktifkan/menonaktifkan opsi.
MaterialButtonToggle
Grup tombol alih Desain Material untuk pemilihan tunggal.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialButtonToggle:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
value |
Tidak | - | Nilai yang saat ini dipilih. Nilai ini dapat berupa string literal atau referensi ke nilai dalam model data. |
options |
Ya | - | Daftar opsi yang tersedia untuk dipilih. Dapat berupa array objek {label, value} atau referensi data binding. |
disabled |
Tidak | false |
Apakah grup tombol beralih dinonaktifkan. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
appearance |
Tidak | standard |
Gaya tampilan grup tombol beralih. Salah satu dari: "legacy", "standard". |
vertical |
Tidak | false |
Apakah grup tombol beralih diatur secara vertikal. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Komponen kotak centang Desain Material untuk status boolean. Untuk aksesibilitas yang optimal, berikan label deskriptif atau gunakan ariaLabel untuk teknologi pendukung.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialCheckbox:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label teks yang ditampilkan di samping kotak centang. |
checked |
Tidak | false |
Apakah kotak centang dicentang. Nilai ini dapat berupa boolean literal atau referensi ke nilai dalam model data. |
disabled |
Tidak | false |
Apakah kotak centang dinonaktifkan. |
required |
Tidak | false |
Apakah kotak centang wajib diisi. |
color |
Tidak | - | Palet warna kotak centang ("primary", "accent", "warn"). |
labelPosition |
Tidak | after |
Posisi label relatif terhadap kotak centang ("before", "after"). |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
tooltip |
Tidak | - | Teks tooltip yang akan ditampilkan saat kursor diarahkan. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialCheckbox",
"label": "Agree to Terms and Conditions",
"ariaLabel": "Agree to Terms and Conditions",
"checked": {
"path": "/user/agreedToTerms"
},
"color": "primary"
}
]
MaterialChips
Komponen listbox chip Desain Material untuk pilihan tunggal.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialChips:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
value |
Tidak | - | Nilai yang saat ini dipilih. Nilai ini dapat berupa string literal atau referensi ke nilai dalam model data. |
options |
Ya | - | Daftar opsi chip. Dapat berupa array objek {label, value} atau referensi data binding. |
disabled |
Tidak | false |
Apakah kotak daftar chip dinonaktifkan. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Komponen pemilih tanggal Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialDatepicker:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label untuk kolom pemilih tanggal. |
placeholder |
Tidak | - | Teks placeholder. |
value |
Tidak | - | Tanggal yang saat ini dipilih dalam format ISO. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
disabled |
Tidak | false |
Apakah pemilih tanggal dinonaktifkan. |
required |
Tidak | false |
Apakah pemilihan tanggal diperlukan. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialDatepicker",
"label": "Appointment Date",
"placeholder": "Choose a date",
"ariaLabel": "Appointment Date",
"value": {
"path": "/appointment/date"
}
}
]
MaterialInput
Kolom input teks Desain Material.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialInput:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label untuk kolom input. |
placeholder |
Tidak | - | Teks placeholder. |
value |
Tidak | - | Nilai input saat ini. Nilai ini dapat berupa string literal atau referensi ke nilai dalam model data. |
disabled |
Tidak | false |
Apakah input dinonaktifkan. |
name |
Tidak | - | Nama elemen input. |
readonly |
Tidak | false |
Apakah input bersifat hanya baca. |
required |
Tidak | false |
Apakah input wajib diisi. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
type |
Tidak | text |
Jenis input. Salah satu dari: "text", "number", "password", "email", "tel", "url". |
validationRegexp |
Tidak | - | Ekspresi reguler untuk validasi input. |
checks |
Tidak | - | Pemeriksaan validasi input. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialInput",
"label": "First Name",
"placeholder": "John",
"value": {
"path": "/user/firstName"
}
}
]
MaterialRadioButton
Wrapper A2UI untuk komponen Tombol Pilihan Angular Material. Mendukung pilihan tunggal dari daftar opsi dalam grup tombol pilihan.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialRadioButton:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
value |
Tidak | - | Nilai yang saat ini dipilih. Dapat berupa string literal atau referensi data binding. |
options |
Ya | - | Daftar opsi radio yang tersedia. Dapat berupa array objek {label, value} atau referensi data binding. |
disabled |
Tidak | false |
Apakah grup radio dinonaktifkan. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
color |
Tidak | - | Palet warna tombol pilihan ("primary", "accent", "warn"). |
labelPosition |
Tidak | after |
Posisi label relatif terhadap tombol pilihan. Salah satu dari: "before", "after". |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"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
Komponen pemilihan (drop-down) Desain Material untuk pemilihan tunggal. Untuk aksesibilitas yang optimal, selalu berikan label deskriptif atau gunakan aria-label untuk teknologi pendukung.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialSelect:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label untuk kolom pilihan. |
placeholder |
Tidak | - | Teks placeholder yang ditampilkan saat tidak ada nilai yang dipilih. |
value |
Tidak | - | Nilai yang dipilih saat ini. Nilai ini dapat berupa string literal atau referensi ke nilai dalam model data. |
options |
Ya | - | Daftar opsi yang tersedia untuk dipilih. Dapat berupa array objek {label, value} atau referensi data binding. |
disabled |
Tidak | false |
Apakah komponen pilihan dinonaktifkan. |
required |
Tidak | false |
Apakah suatu nilai wajib diisi. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialSelect",
"label": "Favorite Color",
"placeholder": "Choose a color",
"ariaLabel": "Select your favorite color",
"value": {
"path": "/user/favoriteColor"
},
"options": [
{
"label": "Red",
"value": "red"
},
{
"label": "Green",
"value": "green"
},
{
"label": "Blue",
"value": "blue"
}
]
}
]
MaterialSlideToggle
Wrapper A2UI untuk komponen Tombol Geser Angular Material. Mendukung binding tombol boolean dan atribut aksesibilitas kustom.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialSlideToggle:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label teks yang ditampilkan di samping tombol geser. |
checked |
Tidak | false |
Apakah tombol geser dicentang. Dapat berupa boolean literal atau referensi data binding. |
disabled |
Tidak | false |
Apakah tombol geser dinonaktifkan. |
required |
Tidak | false |
Apakah tombol geser diperlukan. |
color |
Tidak | - | Palet warna tombol ("primary", "accent", "warn"). |
labelPosition |
Tidak | after |
Posisi label relatif terhadap tombol ("before", "after"). |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
tooltip |
Tidak | - | Teks tooltip yang akan ditampilkan saat kursor diarahkan. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialSlideToggle",
"label": "Enable notifications",
"ariaLabel": "Enable notifications toggle",
"checked": {
"path": "/settings/notifications"
},
"color": "accent",
"labelPosition": "after"
}
]
MaterialSlider
Wrapper A2UI untuk komponen Penggeser Angular Material. Mendukung pemilihan nilai numerik dan batasan rentang.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialSlider:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
value |
Tidak | 0 |
Nilai penggeser saat ini. Dapat berupa angka literal atau referensi data binding. |
min |
Tidak | 0 |
Nilai minimum penggeser. |
max |
Tidak | 100 |
Nilai maksimum penggeser. |
step |
Tidak | 1 |
Kenaikan langkah penggeser. |
disabled |
Tidak | false |
Apakah penggeser dinonaktifkan. |
color |
Tidak | - | Palet warna penggeser ("primary", "accent", "warn"). |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialSlider",
"min": 0,
"max": 100,
"step": 5,
"value": {
"path": "/audio/volume"
},
"color": "primary",
"ariaLabel": "Volume adjustment"
}
]
MaterialTimepicker
Wrapper A2UI untuk komponen Pemilih Waktu Angular Material. Mendukung pemilihan waktu dan integrasi kolom formulir.
Tabel berikut menguraikan properti yang tersedia untuk komponen MaterialTimepicker:
| Properti | Wajib | Nilai Default | Deskripsi |
|---|---|---|---|
label |
Tidak | - | Label teks untuk kolom pemilih waktu. |
placeholder |
Tidak | - | Teks placeholder. |
value |
Tidak | - | Waktu yang saat ini dipilih dalam format ISO. Dapat berupa string literal atau referensi data binding. |
ariaLabel |
Tidak | - | Teks yang dapat dibaca oleh pembaca layar. Direkomendasikan untuk aksesibilitas jika tidak ada label yang terlihat. |
ariaLabelledby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang memberi label pada elemen saat ini. Digunakan untuk aksesibilitas. |
ariaDescribedby |
Tidak | - | Mengidentifikasi elemen (atau elemen) yang menjelaskan elemen saat ini. Digunakan untuk aksesibilitas. |
disabled |
Tidak | false |
Apakah pemilih waktu dinonaktifkan. |
required |
Tidak | false |
Apakah pemilihan waktu diperlukan. |
style |
Tidak | - | Gaya inline yang akan diterapkan ke elemen. |
weight |
Tidak | - | Bobot tata letak untuk elemen saat ditempatkan dalam penampung fleksibel. |
[
{
"id": "root",
"component": "MaterialTimepicker",
"label": "Set Alarm",
"placeholder": "Select time",
"ariaLabel": "Set Alarm Time",
"value": {
"path": "/alarm/time"
}
}
]
Komponen katalog dasar
Bagian ini memberikan referensi untuk komponen katalog dasar A2UI yang tersedia.
File skema katalog dasar
Untuk mengetahui informasi selengkapnya tentang properti ini, lihat:
Properti umum katalog dasar
Semua komponen, terlepas dari jenis spesifiknya, memiliki serangkaian properti umum yang dapat dikonfigurasi:
| Properti | Wajib | Deskripsi |
|---|---|---|
id |
Ya | ID unik untuk komponen dalam platform saat ini. |
accessibility |
Tidak | Atribut untuk meningkatkan aksesibilitas, seperti label dan peran. |
weight |
Tidak |
Nilai yang digunakan dalam tata letak Row atau Column untuk
mengontrol seberapa banyak ruang yang ditempati komponen relatif terhadap
saudaranya, mirip dengan flex-grow.
|
Komponen tata letak katalog dasar
Komponen tata letak digunakan untuk menyusun dan mengatur komponen lain dalam antarmuka pengguna. Komponen tata letak berikut tersedia:
Baris
Row adalah komponen tata letak yang digunakan untuk mengatur komponen turunannya secara horizontal,
dari kiri ke kanan. Tata letak ini berfungsi sebagai penampung tempat Anda dapat menempatkan beberapa komponen secara berdampingan. Jarak dan pemosisian yang tepat dari turunan
dalam baris dapat dikontrol menggunakan properti justify/distribution dan align/alignment.
Tabel berikut menguraikan properti yang tersedia untuk komponen Row:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
children |
v0.9: Array ID komponen atau definisi template v0.8: explicitList atau template
|
Komponen turunan yang akan diatur secara horizontal dalam Baris. |
justify (v0.9)distribution (v0.8)
|
start, center, end,
spaceBetween, spaceAround, spaceEvenly |
Mengontrol cara komponen turunan didistribusikan di sepanjang sumbu horizontal. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Mengontrol cara komponen turunan diratakan pada sumbu vertikal. |
JSON v0.9
{
"id": "toolbar",
"component": "Row",
"children": ["btn1", "btn2", "btn3"],
"justify": "spaceBetween",
"align": "center"
}
JSON v0.8
{
"id": "toolbar",
"component": {
"Row": {
"children": { "explicitList": ["btn1", "btn2", "btn3"] },
"distribution": "spaceBetween",
"alignment": "center"
}
}
}
Kolom
Column adalah komponen tata letak yang digunakan untuk mengatur komponen turunannya secara vertikal, dari atas ke bawah. Tata letak ini berfungsi sebagai penampung tempat Anda dapat menempatkan beberapa komponen di bawah satu sama lain. Jarak dan pemosisian yang tepat dari
turunan dalam kolom dapat dikontrol menggunakan properti justify/distribution dan
align/alignment.
Tabel berikut menguraikan properti yang tersedia untuk komponen Column:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
children |
v0.9: Array ID komponen atau definisi template v0.8: explicitList atau template
|
Komponen turunan yang akan disusun secara vertikal dalam Kolom. |
justify (v0.9)distribution (v0.8)
|
start, center, end, spaceBetween, spaceAround, spaceEvenly
|
Mengontrol cara komponen turunan didistribusikan di sepanjang sumbu vertikal. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch
|
Mengontrol cara komponen turunan diratakan pada sumbu horizontal. |
JSON v0.9
{
"id": "content",
"component": "Column",
"children": ["header", "body", "footer"],
"justify": "start",
"align": "stretch"
}
JSON v0.8
{
"id": "content",
"component": {
"Column": {
"children": { "explicitList": ["header", "body", "footer"] },
"distribution": "start",
"alignment": "stretch"
}
}
}
Daftar
List adalah komponen tata letak yang menampilkan daftar item yang dapat di-scroll. Komponen ini
mendukung turunan statis dan template dinamis untuk membuat item dari data.
Arah scroll dapat berupa vertikal atau horizontal.
Tabel berikut menguraikan properti yang tersedia untuk komponen List:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
children |
v0.9: Array ID komponen atau definisi template v0.8: explicitList atau template
|
Item yang akan ditampilkan dalam daftar. |
direction |
vertical, horizontal |
Arah scroll daftar. |
align (v0.9)alignment (v0.8)
|
start, center, end, stretch |
Mengontrol cara item daftar disejajarkan pada sumbu silang. |
JSON v0.9
{
"id": "message-list",
"component": "List",
"children": {
"componentId": "message-item",
"path": "/messages"
},
"direction": "vertical"
}
JSON v0.8
{
"id": "message-list",
"component": {
"List": {
"children": {
"template": {
"dataBinding": "/messages",
"componentId": "message-item"
}
},
"direction": "vertical"
}
}
}
Komponen tampilan katalog dasar
Komponen tampilan digunakan untuk menyajikan informasi kepada pengguna. Komponen tampilan berikut tersedia:
Teks
Komponen Text menampilkan konten teks dan mendukung berbagai petunjuk gaya,
seperti judul, teks, dan teks isi.
Tabel berikut menguraikan properti yang tersedia untuk komponen Text:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
text |
v0.9: String atau DataBindingv0.8: BoundValue
|
Konten teks yang akan ditampilkan. |
variant (v0.9)usageHint (v0.8)
|
h1, h2, h3, h4, h5, caption, body |
Menata gaya petunjuk untuk teks. |
JSON v0.9
{
"id": "title",
"component": "Text",
"text": "Welcome to A2UI",
"variant": "h1"
}
JSON v0.8
{
"id": "title",
"component": {
"Text": {
"text": { "literalString": "Welcome to A2UI" },
"usageHint": "h1"
}
}
}
Gambar
Komponen Image menampilkan gambar dari URL yang ditentukan dan memberikan opsi
untuk mengontrol kecocokan gambar dengan penampungnya.
Tabel berikut menguraikan properti yang tersedia untuk komponen Image:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
url |
v0.9: String atau DataBindingv0.8: BoundValue
|
URL gambar yang akan ditampilkan. |
fit |
String | Cara gambar harus sesuai dengan containernya (misalnya, "cover"). |
variant (v0.9)usageHint (v0.8)
|
String | Petunjuk untuk varian penggunaan atau gaya (misalnya, "hero"). |
JSON v0.9
{
"id": "hero",
"component": "Image",
"url": "https://example.com/hero.png",
"fit": "cover",
"variant": "hero"
}
JSON v0.8
{
"id": "hero",
"component": {
"Image": {
"url": { "literalString": "https://example.com/hero.png" },
"fit": "cover",
"usageHint": "hero"
}
}
}
Ikon
Komponen Icon menampilkan ikon dari set standar yang ditentukan dalam katalog.
Tabel berikut menguraikan properti yang tersedia untuk komponen Icon:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
name |
v0.9: String atau DataBindingv0.8: BoundValue
|
Nama ikon yang akan ditampilkan (misalnya, "check"). |
JSON v0.9
{
"id": "check-icon",
"component": "Icon",
"name": "check"
}
JSON v0.8
{
"id": "check-icon",
"component": {
"Icon": {
"name": { "literalString": "check" }
}
}
}
Pemisah
Komponen Divider menampilkan garis pemisah visual, yang dapat berupa
horizontal atau vertikal.
Tabel berikut menguraikan properti yang tersedia untuk komponen Divider:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
axis |
horizontal, vertical |
Orientasi garis pemisah. |
JSON v0.9
{
"id": "separator",
"component": "Divider",
"axis": "horizontal"
}
JSON v0.8
{
"id": "separator",
"component": {
"Divider": {
"axis": "horizontal"
}
}
}
Komponen interaktif katalog dasar
Komponen interaktif memungkinkan Anda berinteraksi dengan aplikasi, seperti memberikan input atau memicu tindakan. Komponen interaktif berikut tersedia:
Tombol
Komponen Button adalah elemen yang dapat diklik yang memicu tindakan atau
peristiwa tertentu dalam aplikasi.
Tabel berikut menguraikan properti yang tersedia untuk komponen Button:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
child |
ID Komponen | ID komponen yang akan ditampilkan di dalam tombol (misalnya, komponen Teks). |
variant (v0.9)primary (v0.8)
|
v0.9: String (misalnya, "primary")v0.8: Boolean |
Jenis gaya visual atau penekanan yang diterapkan pada tombol. |
action |
v0.9: Objek Acara (misalnya, memasukkan `event`) v0.8: Objek Tindakan (misalnya, memasukkan `name`) |
Tindakan yang akan dipicu saat tombol diklik. |
JSON v0.9
{
"id": "submit-btn",
"component": "Button",
"child": "submit-text",
"variant": "primary",
"action": {
"event": {
"name": "submit_form"
}
}
}
JSON v0.8
{
"id": "submit-btn",
"component": {
"Button": {
"child": "submit-text",
"primary": true,
"action": {
"name": "submit_form"
}
}
}
}
TextField
TextField adalah komponen interaktif yang memungkinkan Anda memasukkan teks. API ini juga
mendukung validasi opsional.
Tabel berikut menguraikan properti yang tersedia untuk komponen TextField:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
label |
v0.9: String v0.8: BoundValue
|
Label untuk kolom teks. |
value (v0.9)text (v0.8)
|
v0.9: String atau DataBindingv0.8: BoundValue
|
Konten teks atau jalur terikat. |
textFieldType |
shortText, longText, number, obscured, date |
Jenis kolom teks. |
validationRegexp |
String | Ekspresi reguler untuk validasi. |
JSON v0.9
{
"id": "email-input",
"component": "TextField",
"label": "Email Address",
"value": { "path": "/user/email" },
"textFieldType": "shortText"
}
JSON v0.8
{
"id": "email-input",
"component": {
"TextField": {
"label": { "literalString": "Email Address" },
"text": { "path": "/user/email" },
"textFieldType": "shortText"
}
}
}
CheckBox
Komponen CheckBox adalah tombol boolean yang memungkinkan Anda mengaktifkan atau menonaktifkan setelan.
Tabel berikut menguraikan properti yang tersedia untuk komponen CheckBox:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
label |
v0.9: String v0.8: BoundValue
|
Label untuk kotak centang. |
value |
v0.9: DataBinding (boolean)v0.8: BoundValue (boolean)
|
Nilai kotak centang (benar/salah) atau jalur terikat. |
JSON v0.9
{
"id": "terms-checkbox",
"component": "CheckBox",
"label": "I agree to the terms",
"value": { "path": "/form/agreedToTerms" }
}
JSON v0.8
{
"id": "terms-checkbox",
"component": {
"CheckBox": {
"label": { "literalString": "I agree to the terms" },
"value": { "path": "/form/agreedToTerms" }
}
}
}
Penggeser
Komponen Slider memungkinkan Anda memilih nilai numerik dari rentang tertentu.
Tabel berikut menguraikan properti yang tersedia untuk komponen Slider:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
value |
v0.9: DataBinding (angka)v0.8: BoundValue (angka)
|
Nilai penggeser atau jalur terikat saat ini. |
minValue |
Angka | Nilai minimum rentang. |
maxValue |
Angka | Nilai maksimum rentang. |
JSON v0.9
{
"id": "volume",
"component": "Slider",
"value": { "path": "/settings/volume" },
"minValue": 0,
"maxValue": 100
}
JSON v0.8
{
"id": "volume",
"component": {
"Slider": {
"value": { "path": "/settings/volume" },
"minValue": 0,
"maxValue": 100
}
}
}
DateTimeInput
Komponen DateTimeInput memungkinkan Anda memilih tanggal dan waktu.
Tabel berikut menguraikan properti yang tersedia untuk komponen DateTimeInput:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
value |
v0.9: DataBindingv0.8: BoundValue
|
Nilai tanggal/waktu atau jalur batas yang dipilih. |
enableDate |
Boolean | Apakah akan mengaktifkan pemilihan tanggal atau tidak. |
enableTime |
Boolean | Apakah akan mengaktifkan pemilihan waktu. |
JSON v0.9
{
"id": "date-picker",
"component": "DateTimeInput",
"value": { "path": "/booking/date" },
"enableDate": true,
"enableTime": false
}
JSON v0.8
{
"id": "date-picker",
"component": {
"DateTimeInput": {
"value": { "path": "/booking/date" },
"enableDate": true,
"enableTime": false
}
}
}
ChoicePicker (v0.9) / MultipleChoice (v0.8)
Pilih satu atau beberapa opsi dari daftar. Perhatikan bahwa komponen ini telah diganti namanya menjadi ChoicePicker di v0.9 dari MultipleChoice di v0.8.
Tabel berikut menguraikan properti yang tersedia:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
options |
Array Objek | Daftar opsi yang dapat dipilih oleh pengguna. Setiap opsi harus memiliki label (string di v0.9, BoundValue di v0.8) dan nilai. |
selections |
v0.9: DataBindingv0.8: BoundValue
|
Nilai atau jalur terikat yang dipilih. |
maxAllowedSelections |
Angka | Jumlah maksimum pilihan yang diizinkan. |
JSON v0.9
{
"id": "country-select",
"component": "ChoicePicker",
"options": [
{ "label": "USA", "value": "us" },
{ "label": "Canada", "value": "ca" }
],
"selections": { "path": "/form/country" },
"maxAllowedSelections": 1
}
JSON v0.8
{
"id": "country-select",
"component": {
"MultipleChoice": {
"options": [
{ "label": { "literalString": "USA" }, "value": "us" },
{ "label": { "literalString": "Canada" }, "value": "ca" }
],
"selections": { "path": "/form/country" },
"maxAllowedSelections": 1
}
}
}
Komponen penampung katalog dasar
Komponen penampung digunakan untuk mengelompokkan dan mengatur komponen lain. Komponen penampung berikut tersedia:
Kartu
Komponen Card adalah penampung dengan elevasi, batas, dan padding yang mengelompokkan konten terkait.
Tabel berikut menguraikan properti yang tersedia untuk komponen Card:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
child |
ID Komponen | ID komponen yang akan ditampilkan di dalam kartu. |
JSON v0.9
{
"id": "info-card",
"component": "Card",
"child": "card-content"
}
JSON v0.8
{
"id": "info-card",
"component": {
"Card": {
"child": "card-content"
}
}
}
Modal
Komponen Modal adalah dialog overlay yang dipicu oleh komponen titik entri.
Tabel berikut menguraikan properti yang tersedia untuk komponen Modal:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
entryPointChild |
ID Komponen | ID komponen yang memicu modal (misalnya, Tombol). |
contentChild |
ID Komponen | ID komponen yang akan ditampilkan sebagai konten modal. |
JSON v0.9
{
"id": "confirmation-modal",
"component": "Modal",
"entryPointChild": "open-modal-btn",
"contentChild": "modal-content"
}
JSON v0.8
{
"id": "confirmation-modal",
"component": {
"Modal": {
"entryPointChild": "open-modal-btn",
"contentChild": "modal-content"
}
}
}
Tab
Komponen Tabs menyediakan antarmuka ber-tab untuk mengatur konten ke dalam panel yang dapat diganti.
Tabel berikut menguraikan properti yang tersedia untuk komponen Tabs:
| Properti | Jenis/Nilai | Deskripsi |
|---|---|---|
tabItems |
Array Objek | Daftar tab. Setiap item harus memiliki title (string di v0.9, BoundValue di v0.8) dan child (ID komponen). |
JSON v0.9
{
"id": "settings-tabs",
"component": "Tabs",
"tabItems": [
{ "title": "General", "child": "general-tab" },
{ "title": "Privacy", "child": "privacy-tab" }
]
}
JSON v0.8
{
"id": "settings-tabs",
"component": {
"Tabs": {
"tabItems": [
{ "title": { "literalString": "General" }, "child": "general-tab" },
{ "title": { "literalString": "Privacy" }, "child": "privacy-tab" }
]
}
}
}
Ringkasan perbedaan versi
Nama dan properti komponen sebagian besar sama di seluruh versi. Perbedaan strukturalnya adalah:
| Aspek | v0.8 | v0.9 |
|---|---|---|
| Wrapper komponen | "component": { "Text": { ... } } |
"component": "Text", ...props |
| Nilai string | { "literalString": "Hello" } |
"Hello" |
| Anak | { "explicitList": ["a", "b"] } |
["a", "b"] |
| Data binding | { "path": "/data" } |
{ "path": "/data" } (sama) |
| Gaya Teks/Gambar | usageHint |
variant |
| Gaya tombol | primary: true |
variant: "primary" |
| Format tindakan | { "name": "..." } |
{ "event": { "name": "..." } } |
| Komponen pilihan | MultipleChoice |
ChoicePicker |
| Perataan tata letak | distribution, alignment |
justify, align |
| Nilai TextField | text |
value |
Panduan evolusi
Untuk mengetahui informasi tentang cara berpindah dari v0.8 ke v0.9, lihat Panduan Evolusi v0.8 ke v0.9
Contoh langsung
Untuk melihat semua komponen beraksi:
cd samples/client/angular
yarn start gallery
Langkah berikutnya
- Menentukan Katalog Anda Sendiri: Membangun komponen Anda sendiri
- Panduan Tema: Menata gaya komponen agar sesuai dengan merek Anda