בדף הזה מפורטים כל הרכיבים הזמינים של A2UI, כולל רכיבי פריסה, תצוגה, אינטראקטיביות וקונטיינר, וגם מאפיינים נפוצים.
מאפיינים נפוצים
לכל הרכיבים, ללא קשר לסוג הספציפי שלהם, יש קבוצה של מאפיינים משותפים שאפשר להגדיר:
| מאפיין (property) | חובה | תיאור |
|---|---|---|
id |
כן | מזהה ייחודי של הרכיב בממשק הנוכחי. |
accessibility |
לא | מאפיינים לשיפור הנגישות, כמו תוויות ותפקידים. |
weight |
לא |
ערך שמשמש בפריסות Row או Column כדי לקבוע את נפח השטח שהרכיב תופס ביחס לרכיבים באותה רמה, בדומה ל-flex-grow.
|
מפרט מלא של כל המאפיינים, כולל מאפיינים נפוצים ומאפיינים ספציפיים לרכיבים, מופיע בהגדרה סטנדרטית של קטלוג (סכימת JSON).
רכיבי פריסה
רכיבי פריסה משמשים כדי לבנות את המבנה של רכיבים אחרים בממשק המשתמש ולסדר אותם. אלה רכיבי הפריסה שזמינים:
Row
רכיב Row הוא רכיב פריסה שמשמש לסידור רכיבי הצאצא שלו בצורה אופקית, משמאל לימין. הוא משמש כמאגר שבו אפשר למקם כמה רכיבים זה לצד זה. אפשר לשלוט על המיקום והריווח המדויקים של הרכיבים המשניים בשורה באמצעות המאפיינים distribution ו-alignment.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Row:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
children |
explicitList או template |
רכיבי הצאצא שיוצבו אופקית בתוך הרכיב Row. |
distribution |
start, center, end,
spaceBetween, spaceAround, spaceEvenly |
המאפיין קובע איך רכיבי צאצא מפוזרים לאורך הציר האופקי. |
alignment |
start, center, end, stretch |
המאפיין הזה קובע את האופן שבו רכיבי צאצא מיושרים בציר האנכי. |
JSON
{
"id": "toolbar",
"component": {
"Row": {
"children": { "explicitList": ["btn1", "btn2", "btn3"] },
"distribution": "spaceBetween",
"alignment": "center"
}
}
}
עמודה
Column הוא רכיב פריסה שמשמש לסידור רכיבי הצאצא שלו בצורה אנכית, מלמעלה למטה. הוא משמש כמאגר שבו אפשר למקם כמה רכיבים אחד מתחת לשני. אפשר לשלוט על המיקום והריווח המדויקים של רכיבי הצאצא בעמודה באמצעות המאפיינים distribution ו-alignment.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Column:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
children |
explicitList או template |
רכיבי הצאצא שיוצבו אנכית בתוך העמודה. |
distribution |
start, center, end, spaceBetween, spaceAround, spaceEvenly
|
קובעת איך רכיבי צאצא מחולקים לאורך הציר האנכי. |
alignment |
start, center, end, stretch
|
קובע את האופן שבו רכיבי הילד מיושרים בציר האופקי. |
JSON
{
"id": "content",
"component": {
"Column": {
"children": { "explicitList": ["header", "body", "footer"] },
"distribution": "start",
"alignment": "stretch"
}
}
}
רשימה
List הוא רכיב פריסה שמציג רשימה של פריטים שאפשר לגלול בהם. הוא תומך בפריטים סטטיים ובפריטים דינמיים שנוצרים מנתונים.
כיוון הגלילה יכול להיות אנכי או אופקי.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב List:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
children |
explicitList או template |
הפריטים שיוצגו ברשימה. |
direction |
vertical, horizontal |
כיוון הגלילה של הרשימה. |
alignment |
start, center, end, stretch |
קובעת את היישור של הפריטים ברשימה לאורך הציר הניצב. |
JSON
{
"id": "message-list",
"component": {
"List": {
"children": {
"template": {
"dataBinding": "/messages",
"componentId": "message-item"
}
},
"direction": "vertical"
}
}
}
רכיבים של מודעות לרשת המדיה
רכיבי תצוגה משמשים להצגת מידע למשתמש. הרכיבים הבאים של התצוגה זמינים:
טקסט
רכיב Text מציג תוכן טקסט ותומך ברמזים שונים לעיצוב, כמו כותרות, כתוביות וגוף הטקסט.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Text:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
text |
BoundValue |
תוכן הטקסט שיוצג. |
usageHint |
h1, h2, h3, h4, h5, caption, body |
רמז לעיצוב הטקסט. |
JSON
{
"id": "title",
"component": {
"Text": {
"text": { "literalString": "Welcome to A2UI" },
"usageHint": "h1"
}
}
}
תמונה
רכיב Image מציג תמונות מכתובת URL שצוינה ומספק אפשרויות לשליטה באופן שבו התמונה מתאימה לקונטיינר שלה.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Image:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
url |
BoundValue |
כתובת ה-URL של התמונה שתוצג. |
fit |
String | איך התמונה צריכה להתאים לקונטיינר שלה (לדוגמה, cover). |
usageHint |
String | רמז לשימוש (למשל, hero). |
JSON
{
"id": "hero",
"component": {
"Image": {
"url": { "literalString": "https://example.com/hero.png" },
"fit": "cover",
"usageHint": "hero"
}
}
}
סמל
רכיב Icon מציג סמלים מתוך קבוצה סטנדרטית שמוגדרת בקטלוג.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Icon:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
name |
BoundValue |
השם של הסמל שיוצג (למשל, check). |
JSON
{
"id": "check-icon",
"component": {
"Icon": {
"name": { "literalString": "check" }
}
}
}
קו מפריד
רכיב Divider מציג קו הפרדה חזותי, שיכול להיות אופקי או אנכי.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Divider:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
axis |
horizontal, vertical |
הכיוון של קו המפריד. |
JSON
{
"id": "separator",
"component": {
"Divider": {
"axis": "horizontal"
}
}
}
רכיבים אינטראקטיביים
רכיבים אינטראקטיביים מאפשרים לכם ליצור אינטראקציה עם האפליקציה, למשל להזין קלט או להפעיל פעולות. הרכיבים האינטראקטיביים הבאים זמינים:
Button
הרכיב Button הוא רכיב שאפשר ללחוץ עליו ומפעיל פעולה או אירוע ספציפיים באפליקציה.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Button:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
child |
מזהה הרכיב | המזהה של הרכיב שיוצג בתוך הכפתור (לדוגמה, רכיב Text). |
primary |
בוליאני | האם זה כפתור ראשי (מודגש). |
action |
אובייקט | הפעולה שמופעלת כשלוחצים על הלחצן. |
JSON
{
"id": "submit-btn",
"component": {
"Button": {
"child": "submit-text",
"primary": true,
"action": {
"name": "submit_form"
}
}
}
}
TextField
TextField הוא רכיב אינטראקטיבי שמאפשר להזין טקסט. הוא גם תומך באימות אופציונלי.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב TextField:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
label |
BoundValue |
התווית של שדה הטקסט. |
text |
BoundValue |
תוכן הטקסט או הנתיב המאוגד. |
textFieldType |
shortText, longText, number, obscured, date |
סוג שדה הטקסט. |
validationRegexp |
String | ביטוי רגולרי לאימות. |
JSON
{
"id": "email-input",
"component": {
"TextField": {
"label": { "literalString": "Email Address" },
"text": { "path": "/user/email" },
"textFieldType": "shortText"
}
}
}
CheckBox
הרכיב CheckBox הוא מתג בוליאני שמאפשר להפעיל או להשבית הגדרה.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב CheckBox:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
label |
BoundValue |
התווית של תיבת הסימון. |
value |
BoundValue (בוליאני) |
הערך של תיבת הסימון (true/false) או הנתיב המקשר. |
JSON
{
"id": "terms-checkbox",
"component": {
"CheckBox": {
"label": { "literalString": "I agree to the terms" },
"value": { "path": "/form/agreedToTerms" }
}
}
}
פס הזזה
רכיב Slider מאפשר לכם לבחור ערך מספרי מתוך טווח מסוים.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Slider:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
value |
BoundValue (מספר) |
הערך הנוכחי של פס ההזזה או של הנתיב המקביל. |
minValue |
מספר | הערך המינימלי בטווח. |
maxValue |
מספר | הערך המקסימלי בטווח. |
JSON
{
"id": "volume",
"component": {
"Slider": {
"value": { "path": "/settings/volume" },
"minValue": 0,
"maxValue": 100
}
}
}
DateTimeInput
הרכיב DateTimeInput מאפשר לבחור תאריך ושעה.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב DateTimeInput:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
value |
BoundValue |
הערך של התאריך או השעה שנבחרו, או נתיב הגבול. |
enableDate |
בוליאני | האם להפעיל את בחירת התאריך. |
enableTime |
בוליאני | האם להפעיל את בחירת השעה. |
JSON
{
"id": "date-picker",
"component": {
"DateTimeInput": {
"value": { "path": "/booking/date" },
"enableDate": true,
"enableTime": false
}
}
}
שאלה אמריקאית
רכיב MultipleChoice מאפשר לבחור אפשרות אחת או יותר מתוך רשימה.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב MultipleChoice:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
options |
מערך של אובייקטים | רשימת האפשרויות שהמשתמש יכול לבחור. לכל אפשרות צריכים להיות תווית וערך. |
selections |
BoundValue |
הערכים שנבחרו או הנתיב המקשר. |
maxAllowedSelections |
מספר | המספר המקסימלי של בחירות שמותר לבצע. |
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:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
child |
מזהה הרכיב | המזהה של הרכיב שיוצג בתוך הכרטיס. |
JSON
{
"id": "info-card",
"component": {
"Card": {
"child": "card-content"
}
}
}
מודאל
רכיב Modal הוא תיבת דו-שיח של שכבת-על שמופעלת על ידי רכיב של נקודת כניסה.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Modal:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
entryPointChild |
מזהה הרכיב | המזהה של הרכיב שמפעיל את החלון הקופץ (למשל, Button). |
contentChild |
מזהה הרכיב | המזהה של הרכיב שיוצג כתוכן של החלון הקופץ. |
JSON
{
"id": "confirmation-modal",
"component": {
"Modal": {
"entryPointChild": "open-modal-btn",
"contentChild": "modal-content"
}
}
}
כרטיסיות
רכיב Tabs מספק ממשק עם כרטיסיות לארגון התוכן בחלוניות שאפשר לעבור ביניהן.
בטבלה הבאה מפורטים המאפיינים שזמינים לרכיב Tabs:
| מאפיין (property) | סוג/ערכים | תיאור |
|---|---|---|
tabItems |
מערך של אובייקטים | רשימת הכרטיסיות. לכל פריט צריך להיות title וchild (מזהה רכיב). |
JSON
{
"id": "settings-tabs",
"component": {
"Tabs": {
"tabItems": [
{ "title": { "literalString": "General" }, "child": "general-tab" },
{ "title": { "literalString": "Privacy" }, "child": "privacy-tab" }
]
}
}
}