@adia-ai/web-components 0.6.21 → 0.6.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -0
- package/components/accordion/accordion-item.a2ui.json +20 -3
- package/components/accordion/accordion-item.yaml +24 -0
- package/components/accordion/accordion.a2ui.json +1 -1
- package/components/accordion/accordion.d.ts +8 -1
- package/components/accordion/accordion.yaml +15 -2
- package/components/action-list/action-item.a2ui.json +19 -3
- package/components/action-list/action-item.yaml +24 -0
- package/components/action-list/action-list.a2ui.json +12 -2
- package/components/action-list/action-list.yaml +13 -3
- package/components/agent-artifact/agent-artifact.a2ui.json +9 -2
- package/components/agent-artifact/agent-artifact.d.ts +1 -1
- package/components/agent-artifact/agent-artifact.yaml +17 -3
- package/components/agent-feedback-bar/agent-feedback-bar.a2ui.json +9 -2
- package/components/agent-feedback-bar/agent-feedback-bar.d.ts +8 -1
- package/components/agent-feedback-bar/agent-feedback-bar.yaml +19 -3
- package/components/agent-questions/agent-questions.a2ui.json +8 -2
- package/components/agent-questions/agent-questions.d.ts +8 -1
- package/components/agent-questions/agent-questions.yaml +19 -3
- package/components/agent-reasoning/agent-reasoning.yaml +9 -1
- package/components/agent-suggestions/agent-suggestions.a2ui.json +9 -2
- package/components/agent-suggestions/agent-suggestions.d.ts +7 -1
- package/components/agent-suggestions/agent-suggestions.yaml +18 -3
- package/components/agent-trace/agent-trace.a2ui.json +9 -2
- package/components/agent-trace/agent-trace.d.ts +1 -1
- package/components/agent-trace/agent-trace.yaml +16 -3
- package/components/alert/alert.a2ui.json +1 -1
- package/components/alert/alert.css +8 -0
- package/components/alert/alert.d.ts +9 -1
- package/components/alert/alert.yaml +16 -2
- package/components/aside/aside.a2ui.json +7 -1
- package/components/aside/aside.yaml +33 -2
- package/components/avatar/avatar-group.a2ui.json +20 -3
- package/components/avatar/avatar-group.yaml +24 -0
- package/components/avatar/avatar.a2ui.json +1 -1
- package/components/avatar/avatar.d.ts +7 -1
- package/components/avatar/avatar.yaml +14 -2
- package/components/badge/badge.a2ui.json +1 -1
- package/components/badge/badge.d.ts +7 -1
- package/components/badge/badge.yaml +14 -2
- package/components/block/block.a2ui.json +9 -4
- package/components/block/block.d.ts +9 -3
- package/components/block/block.yaml +25 -5
- package/components/block/class.js +23 -0
- package/components/breadcrumb/breadcrumb.a2ui.json +5 -1
- package/components/breadcrumb/breadcrumb.yaml +33 -2
- package/components/button/button.a2ui.json +22 -2
- package/components/button/button.yaml +21 -3
- package/components/calendar-picker/calendar-picker.a2ui.json +1 -1
- package/components/calendar-picker/calendar-picker.yaml +13 -2
- package/components/canvas/canvas.a2ui.json +6 -2
- package/components/canvas/canvas.yaml +20 -3
- package/components/card/card.css +23 -2
- package/components/card/card.yaml +12 -0
- package/components/chart/chart.css +4 -2
- package/components/chart/chart.yaml +9 -1
- package/components/chart-legend/chart-legend.yaml +7 -1
- package/components/chat-thread/chat-thread.a2ui.json +6 -2
- package/components/chat-thread/chat-thread.d.ts +8 -1
- package/components/chat-thread/chat-thread.yaml +21 -3
- package/components/check/check.a2ui.json +13 -3
- package/components/check/check.yaml +18 -3
- package/components/code/code.a2ui.json +1 -1
- package/components/code/code.yaml +13 -2
- package/components/col/class.js +39 -0
- package/components/col/col.a2ui.json +12 -5
- package/components/col/col.d.ts +12 -4
- package/components/col/col.yaml +27 -7
- package/components/color-input/color-input.yaml +27 -1
- package/components/color-picker/color-picker.a2ui.json +8 -2
- package/components/color-picker/color-picker.yaml +15 -3
- package/components/command/command.a2ui.json +7 -2
- package/components/command/command.d.ts +9 -1
- package/components/command/command.yaml +39 -3
- package/components/demo-toggle/demo-toggle.yaml +7 -1
- package/components/description-list/description-list.a2ui.json +5 -1
- package/components/description-list/description-list.yaml +11 -2
- package/components/divider/divider.a2ui.json +1 -1
- package/components/divider/divider.d.ts +8 -1
- package/components/divider/divider.yaml +15 -2
- package/components/drawer/drawer.yaml +32 -1
- package/components/embed/embed.a2ui.json +1 -1
- package/components/embed/embed.d.ts +8 -1
- package/components/embed/embed.yaml +17 -2
- package/components/empty-state/empty-state.a2ui.json +19 -2
- package/components/empty-state/empty-state.css +14 -0
- package/components/empty-state/empty-state.d.ts +3 -1
- package/components/empty-state/empty-state.yaml +50 -3
- package/components/feed/feed-item.a2ui.json +21 -3
- package/components/feed/feed-item.yaml +25 -0
- package/components/feed/feed.a2ui.json +23 -3
- package/components/feed/feed.yaml +26 -0
- package/components/fields/fields.yaml +7 -1
- package/components/footer/footer.a2ui.json +7 -1
- package/components/footer/footer.yaml +27 -2
- package/components/grid/class.js +57 -0
- package/components/grid/grid.a2ui.json +3 -3
- package/components/grid/grid.d.ts +3 -3
- package/components/grid/grid.yaml +22 -8
- package/components/header/header.a2ui.json +8 -1
- package/components/header/header.yaml +30 -2
- package/components/heatmap/heatmap.yaml +7 -1
- package/components/icon/icon.a2ui.json +9 -2
- package/components/icon/icon.d.ts +1 -1
- package/components/icon/icon.yaml +32 -3
- package/components/image/image.yaml +7 -1
- package/components/input/input.yaml +29 -1
- package/components/inspector/inspector.a2ui.json +7 -2
- package/components/inspector/inspector.d.ts +9 -1
- package/components/inspector/inspector.yaml +23 -3
- package/components/kbd/kbd.a2ui.json +1 -1
- package/components/kbd/kbd.d.ts +1 -1
- package/components/kbd/kbd.yaml +11 -2
- package/components/list/list-item.a2ui.json +21 -3
- package/components/list/list-item.yaml +25 -0
- package/components/list/list.a2ui.json +7 -2
- package/components/list/list.d.ts +9 -1
- package/components/list/list.yaml +21 -3
- package/components/menu/menu-divider.a2ui.json +17 -3
- package/components/menu/menu-divider.yaml +35 -0
- package/components/menu/menu-item.a2ui.json +19 -3
- package/components/menu/menu-item.yaml +42 -0
- package/components/menu/menu.a2ui.json +7 -1
- package/components/menu/menu.yaml +33 -2
- package/components/modal/modal.a2ui.json +7 -2
- package/components/modal/modal.d.ts +10 -1
- package/components/modal/modal.yaml +48 -3
- package/components/nav/nav.a2ui.json +16 -2
- package/components/nav/nav.yaml +40 -3
- package/components/nav-group/nav-group.a2ui.json +12 -2
- package/components/nav-group/nav-group.yaml +37 -3
- package/components/nav-item/nav-item.a2ui.json +13 -2
- package/components/nav-item/nav-item.yaml +40 -3
- package/components/noodles/noodles.a2ui.json +12 -2
- package/components/noodles/noodles.yaml +14 -3
- package/components/option-card/option-card.yaml +27 -1
- package/components/otp-input/otp-input.yaml +24 -1
- package/components/page/page.a2ui.json +7 -1
- package/components/page/page.yaml +9 -2
- package/components/pagination/pagination.a2ui.json +1 -1
- package/components/pagination/pagination.d.ts +1 -1
- package/components/pagination/pagination.yaml +13 -2
- package/components/pane/pane.a2ui.json +1 -1
- package/components/pane/pane.d.ts +7 -1
- package/components/pane/pane.yaml +33 -2
- package/components/pipeline-status/pipeline-status.a2ui.json +6 -2
- package/components/pipeline-status/pipeline-status.d.ts +1 -1
- package/components/pipeline-status/pipeline-status.yaml +18 -3
- package/components/popover/popover.yaml +30 -1
- package/components/progress/progress.a2ui.json +1 -1
- package/components/progress/progress.d.ts +1 -1
- package/components/progress/progress.yaml +13 -2
- package/components/progress-row/progress-row.a2ui.json +12 -2
- package/components/progress-row/progress-row.yaml +13 -3
- package/components/radio/radio.a2ui.json +1 -1
- package/components/radio/radio.yaml +9 -1
- package/components/range/range.yaml +7 -1
- package/components/rating/rating.a2ui.json +4 -1
- package/components/rating/rating.yaml +10 -2
- package/components/richtext/richtext.a2ui.json +6 -2
- package/components/richtext/richtext.d.ts +9 -1
- package/components/richtext/richtext.yaml +20 -3
- package/components/row/class.js +34 -0
- package/components/row/row.a2ui.json +11 -5
- package/components/row/row.d.ts +11 -4
- package/components/row/row.yaml +25 -7
- package/components/search/search.a2ui.json +5 -1
- package/components/search/search.yaml +11 -2
- package/components/section/section.a2ui.json +7 -1
- package/components/section/section.yaml +36 -2
- package/components/segment/segment.a2ui.json +8 -2
- package/components/segment/segment.d.ts +7 -1
- package/components/segment/segment.yaml +16 -3
- package/components/segmented/segmented.a2ui.json +6 -1
- package/components/segmented/segmented.css +5 -0
- package/components/segmented/segmented.yaml +12 -2
- package/components/select/select.a2ui.json +1 -1
- package/components/select/select.yaml +34 -2
- package/components/skeleton/skeleton.a2ui.json +7 -2
- package/components/skeleton/skeleton.d.ts +1 -1
- package/components/skeleton/skeleton.yaml +17 -3
- package/components/slider/slider.yaml +7 -1
- package/components/stack/stack.a2ui.json +14 -3
- package/components/stack/stack.d.ts +9 -1
- package/components/stack/stack.yaml +22 -4
- package/components/stat/stat.a2ui.json +6 -2
- package/components/stat/stat.css +5 -2
- package/components/stat/stat.d.ts +1 -1
- package/components/stat/stat.yaml +16 -3
- package/components/step-progress/step-progress.yaml +7 -1
- package/components/stepper/stepper-item.a2ui.json +20 -3
- package/components/stepper/stepper-item.yaml +24 -0
- package/components/stepper/stepper.a2ui.json +1 -1
- package/components/stepper/stepper.d.ts +1 -1
- package/components/stepper/stepper.yaml +13 -2
- package/components/stream/stream.a2ui.json +12 -2
- package/components/stream/stream.yaml +15 -3
- package/components/swatch/swatch.yaml +7 -1
- package/components/swiper/swiper.yaml +7 -1
- package/components/switch/switch.a2ui.json +6 -2
- package/components/switch/switch.yaml +16 -2
- package/components/table/cell-types.js +23 -10
- package/components/table/class.js +6 -2
- package/components/table/table.css +49 -1
- package/components/table/table.yaml +27 -1
- package/components/table-toolbar/table-toolbar.yaml +27 -1
- package/components/tabs/tab.a2ui.json +17 -3
- package/components/tabs/tab.yaml +39 -0
- package/components/tabs/tabs.a2ui.json +1 -1
- package/components/tabs/tabs.d.ts +1 -1
- package/components/tabs/tabs.yaml +36 -2
- package/components/tag/tag.a2ui.json +6 -2
- package/components/tag/tag.d.ts +9 -1
- package/components/tag/tag.yaml +38 -3
- package/components/text/class.js +13 -0
- package/components/text/text.a2ui.json +9 -2
- package/components/text/text.d.ts +1 -1
- package/components/text/text.yaml +12 -5
- package/components/textarea/textarea.a2ui.json +15 -3
- package/components/textarea/textarea.yaml +41 -4
- package/components/timeline/timeline-item.a2ui.json +20 -3
- package/components/timeline/timeline-item.yaml +24 -0
- package/components/timeline/timeline.a2ui.json +8 -1
- package/components/timeline/timeline.yaml +9 -2
- package/components/toast/toast.a2ui.json +6 -2
- package/components/toast/toast.yaml +19 -3
- package/components/toggle-group/toggle-group.a2ui.json +13 -3
- package/components/toggle-group/toggle-group.d.ts +1 -1
- package/components/toggle-group/toggle-group.yaml +19 -4
- package/components/toggle-group/toggle-option.a2ui.json +18 -3
- package/components/toggle-group/toggle-option.yaml +23 -0
- package/components/toggle-scheme/toggle-scheme.yaml +4 -0
- package/components/toolbar/toolbar-group.a2ui.json +18 -3
- package/components/toolbar/toolbar-group.yaml +23 -0
- package/components/toolbar/toolbar.yaml +7 -1
- package/components/tooltip/tooltip.yaml +24 -1
- package/components/tree/tree-item.a2ui.json +19 -3
- package/components/tree/tree-item.yaml +42 -0
- package/components/tree/tree.a2ui.json +6 -1
- package/components/tree/tree.yaml +31 -2
- package/components/upload/upload.yaml +7 -1
- package/core/index.js +1 -0
- package/core/responsive.d.ts +29 -0
- package/core/responsive.js +120 -0
- package/core/responsive.test.js +121 -0
- package/package.json +1 -1
- package/styles/tokens.css +6 -6
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://adiaui.dev/a2ui/v0_9/components/AgentTrace.json",
|
|
4
4
|
"title": "AgentTrace",
|
|
5
|
-
"description": "Collapsible metrics + training-feedback panel for an agent turn.",
|
|
5
|
+
"description": "Collapsible metrics + training-feedback panel for an agent turn. Shows reasoning steps, tool calls, latency, and token counts with a thumbs-up/down feedback affordance. Use inside <chat-thread-ui> message bodies for expert/debug views; hide by default in user-facing chat.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
@@ -76,7 +76,14 @@
|
|
|
76
76
|
"name": "idle"
|
|
77
77
|
}
|
|
78
78
|
],
|
|
79
|
-
"synonyms": {
|
|
79
|
+
"synonyms": {
|
|
80
|
+
"trace": [
|
|
81
|
+
"agent-trace",
|
|
82
|
+
"reasoning-trace",
|
|
83
|
+
"tool-trace",
|
|
84
|
+
"agent-log"
|
|
85
|
+
]
|
|
86
|
+
},
|
|
80
87
|
"tag": "agent-trace-ui",
|
|
81
88
|
"tokens": {},
|
|
82
89
|
"traits": [],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<agent-trace-ui>` — Collapsible metrics + training-feedback panel for an agent turn.
|
|
2
|
+
* `<agent-trace-ui>` — Collapsible metrics + training-feedback panel for an agent turn. Shows reasoning steps, tool calls, latency, and token counts with a thumbs-up/down feedback affordance. Use inside <chat-thread-ui> message bodies for expert/debug views; hide by default in user-facing chat.
|
|
3
3
|
*
|
|
4
4
|
* @see https://ui-kit.exe.xyz/site/components/agent-trace
|
|
5
5
|
*
|
|
@@ -6,7 +6,11 @@ tag: agent-trace-ui
|
|
|
6
6
|
component: AgentTrace
|
|
7
7
|
category: agent
|
|
8
8
|
version: 1
|
|
9
|
-
description:
|
|
9
|
+
description: >-
|
|
10
|
+
Collapsible metrics + training-feedback panel for an agent turn. Shows
|
|
11
|
+
reasoning steps, tool calls, latency, and token counts with a
|
|
12
|
+
thumbs-up/down feedback affordance. Use inside <chat-thread-ui> message
|
|
13
|
+
bodies for expert/debug views; hide by default in user-facing chat.
|
|
10
14
|
props:
|
|
11
15
|
label:
|
|
12
16
|
description: Fallback summary label.
|
|
@@ -36,7 +40,15 @@ requiredIcons:
|
|
|
36
40
|
- caret-right
|
|
37
41
|
- circle-fill
|
|
38
42
|
a2ui:
|
|
39
|
-
rules:
|
|
43
|
+
rules:
|
|
44
|
+
- rule: 'Collapsible metrics + training-feedback panel showing reasoning steps, tool calls, latency, and token counts.'
|
|
45
|
+
reason: 'Diagnostic surface.'
|
|
46
|
+
- rule: 'Place inside <chat-thread-ui> message bodies for expert/debug views; hide by default in user-facing chat.'
|
|
47
|
+
reason: 'Audience scope.'
|
|
48
|
+
- rule: 'Different from <agent-reasoning-ui> (narrative inner monologue) — agent-trace is structured metrics.'
|
|
49
|
+
reason: 'Structured vs narrative boundary.'
|
|
50
|
+
- rule: 'Default collapsed=true; expand-on-demand keeps chat-thread visual density low.'
|
|
51
|
+
reason: 'Density discipline.'
|
|
40
52
|
anti_patterns: []
|
|
41
53
|
examples:
|
|
42
54
|
- name: basic
|
|
@@ -54,7 +66,8 @@ keywords:
|
|
|
54
66
|
- confidence
|
|
55
67
|
- telemetry
|
|
56
68
|
- training feedback
|
|
57
|
-
synonyms:
|
|
69
|
+
synonyms:
|
|
70
|
+
trace: [agent-trace, reasoning-trace, tool-trace, agent-log]
|
|
58
71
|
related:
|
|
59
72
|
- agent-reasoning-ui
|
|
60
73
|
- agent-feedback-bar-ui
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://adiaui.dev/a2ui/v0_9/components/Alert.json",
|
|
4
4
|
"title": "Alert",
|
|
5
|
-
"description": "Inline alert banner with optional
|
|
5
|
+
"description": "Inline alert banner — a persistent, in-flow notice with icon +\ntitle + description + optional dismiss + slotted action. Variants\nmap to semantic severity (info / success / warning / danger).\nDistinct from <toast-ui> (transient global notification with\nauto-dismiss) and from <empty-state-ui> (zero-data placeholder).\nUse alert-ui for inline contextual notices the user should see\nbefore continuing — form-level errors, banner-style status,\ninline upgrade prompts.\n",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
@@ -99,6 +99,14 @@
|
|
|
99
99
|
min-width: 0;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
/* Trailing action area — optional single button or small button group.
|
|
103
|
+
flex-shrink:0 keeps it from collapsing; align-self:start anchors it
|
|
104
|
+
to the first text line under the `align-items:start` root. */
|
|
105
|
+
:scope [slot="action"] {
|
|
106
|
+
flex-shrink: 0;
|
|
107
|
+
align-self: start;
|
|
108
|
+
}
|
|
109
|
+
|
|
102
110
|
/* Close button is a `<button-ui icon="x" variant="ghost" size="sm">`
|
|
103
111
|
stamped by alert.js — it brings its own focus ring, hover state,
|
|
104
112
|
and transitions. Box height matches the leading slot so X and icon
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<alert-ui>` — Inline alert banner
|
|
2
|
+
* `<alert-ui>` — Inline alert banner — a persistent, in-flow notice with icon +
|
|
3
|
+
title + description + optional dismiss + slotted action. Variants
|
|
4
|
+
map to semantic severity (info / success / warning / danger).
|
|
5
|
+
Distinct from <toast-ui> (transient global notification with
|
|
6
|
+
auto-dismiss) and from <empty-state-ui> (zero-data placeholder).
|
|
7
|
+
Use alert-ui for inline contextual notices the user should see
|
|
8
|
+
before continuing — form-level errors, banner-style status,
|
|
9
|
+
inline upgrade prompts.
|
|
10
|
+
|
|
3
11
|
*
|
|
4
12
|
* @see https://ui-kit.exe.xyz/site/components/alert
|
|
5
13
|
*
|
|
@@ -6,7 +6,15 @@ tag: alert-ui
|
|
|
6
6
|
component: Alert
|
|
7
7
|
category: container
|
|
8
8
|
version: 1
|
|
9
|
-
description:
|
|
9
|
+
description: |
|
|
10
|
+
Inline alert banner — a persistent, in-flow notice with icon +
|
|
11
|
+
title + description + optional dismiss + slotted action. Variants
|
|
12
|
+
map to semantic severity (info / success / warning / danger).
|
|
13
|
+
Distinct from <toast-ui> (transient global notification with
|
|
14
|
+
auto-dismiss) and from <empty-state-ui> (zero-data placeholder).
|
|
15
|
+
Use alert-ui for inline contextual notices the user should see
|
|
16
|
+
before continuing — form-level errors, banner-style status,
|
|
17
|
+
inline upgrade prompts.
|
|
10
18
|
props:
|
|
11
19
|
closable:
|
|
12
20
|
description: >-
|
|
@@ -91,7 +99,13 @@ states:
|
|
|
91
99
|
traits: []
|
|
92
100
|
tokens: {}
|
|
93
101
|
a2ui:
|
|
94
|
-
rules:
|
|
102
|
+
rules:
|
|
103
|
+
- rule: 'Inline alert/banner for status messages within a content region. Severity via variant (info, success, warn, error).'
|
|
104
|
+
reason: 'Canonical inline-alert primitive.'
|
|
105
|
+
- rule: 'For ephemeral toast notifications use <toast-ui> (or post to <feed-ui>); alert-ui is persistent inline.'
|
|
106
|
+
reason: 'Ephemeral vs persistent boundary.'
|
|
107
|
+
- rule: 'For modal-style critical alerts use <modal-ui> with alert content.'
|
|
108
|
+
reason: 'Inline vs modal.'
|
|
95
109
|
anti_patterns: []
|
|
96
110
|
examples:
|
|
97
111
|
- name: alert-banner
|
|
@@ -44,7 +44,37 @@ states:
|
|
|
44
44
|
traits: []
|
|
45
45
|
tokens: {}
|
|
46
46
|
a2ui:
|
|
47
|
-
rules:
|
|
47
|
+
rules:
|
|
48
|
+
- >-
|
|
49
|
+
Use <aside-ui> as a slot stub inside an IN-PAGE primitive
|
|
50
|
+
container parent (<card-ui>, <drawer-ui>, <modal-ui>, <page-ui>)
|
|
51
|
+
for two-column layouts with a semantic side region. It ships no
|
|
52
|
+
behavior; the parent reads [collapsible] and [width] via @scope.
|
|
53
|
+
Typical contents: <list-ui> / <tree-ui> / <nav-ui variant="section">.
|
|
54
|
+
- >-
|
|
55
|
+
Do NOT use <aside-ui> for app-shell sidebars. <admin-shell> no
|
|
56
|
+
longer reads <aside-ui slot="leading|trailing"> (retired in v0.4.0
|
|
57
|
+
per ADR-0024). Use the bespoke <admin-sidebar slot="leading|trailing"
|
|
58
|
+
collapsible resizable> with reflected [collapsed] / [resizing]
|
|
59
|
+
state. Same rule for <chat-sidebar> under <chat-shell> and
|
|
60
|
+
<editor-sidebar> under <editor-shell>.
|
|
61
|
+
- >-
|
|
62
|
+
Do NOT confuse <aside-ui> with <pane-ui>: aside-ui declares the
|
|
63
|
+
semantic side role (a11y + parent layout hint); <pane-ui> owns
|
|
64
|
+
resize / collapse interaction. When you need interactive resize
|
|
65
|
+
inside an aside, nest <pane-ui resizable> inside.
|
|
66
|
+
- >-
|
|
67
|
+
Width hints map to tokens: `width="rail"` ≈ icon-only nav,
|
|
68
|
+
`width="panel"` ≈ nav with labels, `width="wide"` ≈ workspace
|
|
69
|
+
pane. Unset defers to the parent default. Only pair `collapsible`
|
|
70
|
+
with parents that wire a toggle (the prop is a hint, not a
|
|
71
|
+
behavior).
|
|
72
|
+
- >-
|
|
73
|
+
For the settings-page description rail (label + help text on the
|
|
74
|
+
left, controls on the right) use plain HTML <aside> inside a
|
|
75
|
+
[data-section] flex layout — see apps/saas/billing and
|
|
76
|
+
apps/saas/members. That pattern is NOT aside-ui; the primitive
|
|
77
|
+
is for slotted container parents only.
|
|
48
78
|
anti_patterns: []
|
|
49
79
|
examples:
|
|
50
80
|
- name: card-with-side-nav
|
|
@@ -91,7 +121,8 @@ keywords:
|
|
|
91
121
|
- panel
|
|
92
122
|
- side-region
|
|
93
123
|
- nav-rail
|
|
94
|
-
synonyms:
|
|
124
|
+
synonyms:
|
|
125
|
+
aside: [side-region, side-panel-slot, secondary-rail]
|
|
95
126
|
related:
|
|
96
127
|
- app-shell
|
|
97
128
|
- drawer
|
|
@@ -36,12 +36,29 @@
|
|
|
36
36
|
"composes": [],
|
|
37
37
|
"events": {},
|
|
38
38
|
"examples": [],
|
|
39
|
-
"keywords": [
|
|
39
|
+
"keywords": [
|
|
40
|
+
"avatar-group",
|
|
41
|
+
"avatar-stack",
|
|
42
|
+
"user-group",
|
|
43
|
+
"facepile",
|
|
44
|
+
"people-stack",
|
|
45
|
+
"overflow-avatars"
|
|
46
|
+
],
|
|
40
47
|
"name": "UIAvatarGroup",
|
|
41
|
-
"related": [
|
|
48
|
+
"related": [
|
|
49
|
+
"Avatar",
|
|
50
|
+
"Tag"
|
|
51
|
+
],
|
|
42
52
|
"slots": {},
|
|
43
53
|
"states": [],
|
|
44
|
-
"synonyms": {
|
|
54
|
+
"synonyms": {
|
|
55
|
+
"avatar-group": [
|
|
56
|
+
"facepile",
|
|
57
|
+
"user-stack",
|
|
58
|
+
"people-pile",
|
|
59
|
+
"avatar-pile"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
45
62
|
"tag": "avatar-group-ui",
|
|
46
63
|
"tokens": {},
|
|
47
64
|
"traits": [],
|
|
@@ -24,3 +24,27 @@ props:
|
|
|
24
24
|
size:
|
|
25
25
|
description: Forwards to each child <avatar-ui> (xs|sm|md|lg|xl). Empty uses the per-avatar size.
|
|
26
26
|
type: string
|
|
27
|
+
|
|
28
|
+
keywords:
|
|
29
|
+
- avatar-group
|
|
30
|
+
- avatar-stack
|
|
31
|
+
- user-group
|
|
32
|
+
- facepile
|
|
33
|
+
- people-stack
|
|
34
|
+
- overflow-avatars
|
|
35
|
+
|
|
36
|
+
synonyms:
|
|
37
|
+
avatar-group: [facepile, user-stack, people-pile, avatar-pile]
|
|
38
|
+
|
|
39
|
+
related:
|
|
40
|
+
- Avatar
|
|
41
|
+
- Tag
|
|
42
|
+
|
|
43
|
+
a2ui:
|
|
44
|
+
rules:
|
|
45
|
+
- rule: 'Cluster of overlapping <avatar-ui> children with negative-margin stacking + +N overflow indicator.'
|
|
46
|
+
reason: 'Facepile primitive.'
|
|
47
|
+
- rule: 'max attribute controls visible-avatar count before +N overflow kicks in.'
|
|
48
|
+
reason: 'Overflow knob.'
|
|
49
|
+
- rule: 'For a single user use <avatar-ui> standalone; avatar-group only for 2+ users.'
|
|
50
|
+
reason: 'Capacity boundary.'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://adiaui.dev/a2ui/v0_9/components/Avatar.json",
|
|
4
4
|
"title": "Avatar",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "User-portrait primitive with an image → initials → icon fallback\nchain. Resolves the leading [src] image; on load failure falls back\nto [text]-derived initials; on missing text falls back to a slotted\nor default <icon-ui>. Use for user identity in chat surfaces,\nmember tables, statusbar account chips, comment threads. Pair via\n<avatar-group-ui> for stacked / overflowed sets.\n",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<avatar-ui>` —
|
|
2
|
+
* `<avatar-ui>` — User-portrait primitive with an image → initials → icon fallback
|
|
3
|
+
chain. Resolves the leading [src] image; on load failure falls back
|
|
4
|
+
to [text]-derived initials; on missing text falls back to a slotted
|
|
5
|
+
or default <icon-ui>. Use for user identity in chat surfaces,
|
|
6
|
+
member tables, statusbar account chips, comment threads. Pair via
|
|
7
|
+
<avatar-group-ui> for stacked / overflowed sets.
|
|
8
|
+
|
|
3
9
|
*
|
|
4
10
|
* @see https://ui-kit.exe.xyz/site/components/avatar
|
|
5
11
|
*
|
|
@@ -6,7 +6,13 @@ tag: avatar-ui
|
|
|
6
6
|
component: Avatar
|
|
7
7
|
category: display
|
|
8
8
|
version: 1
|
|
9
|
-
description:
|
|
9
|
+
description: |
|
|
10
|
+
User-portrait primitive with an image → initials → icon fallback
|
|
11
|
+
chain. Resolves the leading [src] image; on load failure falls back
|
|
12
|
+
to [text]-derived initials; on missing text falls back to a slotted
|
|
13
|
+
or default <icon-ui>. Use for user identity in chat surfaces,
|
|
14
|
+
member tables, statusbar account chips, comment threads. Pair via
|
|
15
|
+
<avatar-group-ui> for stacked / overflowed sets.
|
|
10
16
|
# Per ADR-0027 — primitives that programmatically create other primitives
|
|
11
17
|
# do NOT auto-import them. Consumer (or demo shell) must explicitly import.
|
|
12
18
|
composes:
|
|
@@ -72,7 +78,13 @@ states:
|
|
|
72
78
|
traits: []
|
|
73
79
|
tokens: {}
|
|
74
80
|
a2ui:
|
|
75
|
-
rules:
|
|
81
|
+
rules:
|
|
82
|
+
- rule: 'Use for representing a single person, account, or entity. Image, initials, or icon fallback in priority order.'
|
|
83
|
+
reason: 'Canonical user-identity surface.'
|
|
84
|
+
- rule: 'For clusters of multiple users, wrap multiple <avatar-ui> in <avatar-group-ui> instead of placing them inline.'
|
|
85
|
+
reason: 'Group handles overlap-stacking + +N overflow.'
|
|
86
|
+
- rule: 'Do not embed inside <button-ui> for clickable avatars — make the <avatar-ui> itself the click target with role=''button''.'
|
|
87
|
+
reason: 'Button-inside-button is invalid; the avatar is the affordance.'
|
|
76
88
|
anti_patterns: []
|
|
77
89
|
examples:
|
|
78
90
|
- name: chat-interface
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://adiaui.dev/a2ui/v0_9/components/Badge.json",
|
|
4
4
|
"title": "Badge",
|
|
5
|
-
"description": "Inline pill-shaped badge
|
|
5
|
+
"description": "Inline pill-shaped badge — READ-ONLY status flag, count, or\nnotification dot. Text rendered via CSS `attr(text)`. Distinct from\n<tag-ui>, which is INTERACTIVE / removable and fires a `remove`\nevent. Use badge-ui for status flags (Beta / New / Deprecated),\nnotification counts, and unread indicators; use tag-ui for filter\nchips or user-managed labels.\n",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<badge-ui>` — Inline pill-shaped badge
|
|
2
|
+
* `<badge-ui>` — Inline pill-shaped badge — READ-ONLY status flag, count, or
|
|
3
|
+
notification dot. Text rendered via CSS `attr(text)`. Distinct from
|
|
4
|
+
<tag-ui>, which is INTERACTIVE / removable and fires a `remove`
|
|
5
|
+
event. Use badge-ui for status flags (Beta / New / Deprecated),
|
|
6
|
+
notification counts, and unread indicators; use tag-ui for filter
|
|
7
|
+
chips or user-managed labels.
|
|
8
|
+
|
|
3
9
|
*
|
|
4
10
|
* @see https://ui-kit.exe.xyz/site/components/badge
|
|
5
11
|
*
|
|
@@ -6,7 +6,13 @@ tag: badge-ui
|
|
|
6
6
|
component: Badge
|
|
7
7
|
category: display
|
|
8
8
|
version: 1
|
|
9
|
-
description:
|
|
9
|
+
description: |
|
|
10
|
+
Inline pill-shaped badge — READ-ONLY status flag, count, or
|
|
11
|
+
notification dot. Text rendered via CSS `attr(text)`. Distinct from
|
|
12
|
+
<tag-ui>, which is INTERACTIVE / removable and fires a `remove`
|
|
13
|
+
event. Use badge-ui for status flags (Beta / New / Deprecated),
|
|
14
|
+
notification counts, and unread indicators; use tag-ui for filter
|
|
15
|
+
chips or user-managed labels.
|
|
10
16
|
# Per ADR-0027 — primitives that programmatically create other primitives
|
|
11
17
|
# do NOT auto-import them. Consumer (or demo shell) must explicitly import.
|
|
12
18
|
composes:
|
|
@@ -70,7 +76,13 @@ states:
|
|
|
70
76
|
traits: []
|
|
71
77
|
tokens: {}
|
|
72
78
|
a2ui:
|
|
73
|
-
rules:
|
|
79
|
+
rules:
|
|
80
|
+
- rule: 'Use for small status/count labels attached to another element (notification counts, status pills, version tags).'
|
|
81
|
+
reason: 'Different from <tag-ui> which is for free-standing taxonomy/filter labels.'
|
|
82
|
+
- rule: 'Place adjacent to or absolutely-positioned over the badged element, not inside it.'
|
|
83
|
+
reason: 'Light-DOM positioning; do not nest inside the badged element''s slot.'
|
|
84
|
+
- rule: 'For dismissable taxonomy labels (filter chips, selected items in multi-select), use <tag-ui> instead.'
|
|
85
|
+
reason: 'Badge is non-interactive; tag has close affordance.'
|
|
74
86
|
anti_patterns: []
|
|
75
87
|
examples:
|
|
76
88
|
- name: chart-legend
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://adiaui.dev/a2ui/v0_9/components/Block.json",
|
|
4
4
|
"title": "Block",
|
|
5
|
-
"description": "Generic padded/margined content wrapper.",
|
|
5
|
+
"description": "Generic padded / margined content wrapper. Applies a configurable\npadding + margin scale via [padding] / [margin] attribute props,\nmapping to the canonical spacing tokens. Use as a lightweight\nspacing wrapper when <section-ui> would imply chrome the parent\ncontainer doesn't own. Not a layout primitive (no flex / grid) —\nfor layout use <col-ui> / <row-ui> / <stack-ui> / <grid-ui>.\n",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"const": "Block"
|
|
18
18
|
},
|
|
19
19
|
"margin": {
|
|
20
|
-
"description": "Margin size",
|
|
20
|
+
"description": "Margin size (none/xs/sm/md/lg/xl). Accepts `@bp` notation: margin=\"none sm@md\" = no margin below md, sm from md up.",
|
|
21
21
|
"type": "string",
|
|
22
22
|
"enum": [
|
|
23
23
|
"none",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"default": "none"
|
|
31
31
|
},
|
|
32
32
|
"padding": {
|
|
33
|
-
"description": "Padding amount
|
|
33
|
+
"description": "Padding amount (none/xs/sm/md/lg/xl → spacing tokens). Accepts `@bp` notation: padding=\"sm md@lg\" = sm below lg, md from lg up.",
|
|
34
34
|
"type": "string",
|
|
35
35
|
"enum": [
|
|
36
36
|
"none",
|
|
@@ -71,7 +71,12 @@
|
|
|
71
71
|
"developer"
|
|
72
72
|
],
|
|
73
73
|
"name": "UIBlock",
|
|
74
|
-
"related": [
|
|
74
|
+
"related": [
|
|
75
|
+
"Section",
|
|
76
|
+
"Col",
|
|
77
|
+
"Row",
|
|
78
|
+
"Stack"
|
|
79
|
+
],
|
|
75
80
|
"slots": {},
|
|
76
81
|
"states": [
|
|
77
82
|
{
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `<block-ui>` — Generic padded/margined content wrapper.
|
|
2
|
+
* `<block-ui>` — Generic padded / margined content wrapper. Applies a configurable
|
|
3
|
+
padding + margin scale via [padding] / [margin] attribute props,
|
|
4
|
+
mapping to the canonical spacing tokens. Use as a lightweight
|
|
5
|
+
spacing wrapper when <section-ui> would imply chrome the parent
|
|
6
|
+
container doesn't own. Not a layout primitive (no flex / grid) —
|
|
7
|
+
for layout use <col-ui> / <row-ui> / <stack-ui> / <grid-ui>.
|
|
8
|
+
|
|
3
9
|
*
|
|
4
10
|
* @see https://ui-kit.exe.xyz/site/components/block
|
|
5
11
|
*
|
|
@@ -13,8 +19,8 @@
|
|
|
13
19
|
import { UIElement } from '../../core/element.js';
|
|
14
20
|
|
|
15
21
|
export class UIBlock extends UIElement {
|
|
16
|
-
/** Margin size */
|
|
22
|
+
/** Margin size (none/xs/sm/md/lg/xl). Accepts `@bp` notation: margin="none sm@md" = no margin below md, sm from md up. */
|
|
17
23
|
margin: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
18
|
-
/** Padding amount
|
|
24
|
+
/** Padding amount (none/xs/sm/md/lg/xl → spacing tokens). Accepts `@bp` notation: padding="sm md@lg" = sm below lg, md from lg up. */
|
|
19
25
|
padding: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
20
26
|
}
|
|
@@ -6,10 +6,18 @@ tag: block-ui
|
|
|
6
6
|
component: Block
|
|
7
7
|
category: layout
|
|
8
8
|
version: 1
|
|
9
|
-
description:
|
|
9
|
+
description: |
|
|
10
|
+
Generic padded / margined content wrapper. Applies a configurable
|
|
11
|
+
padding + margin scale via [padding] / [margin] attribute props,
|
|
12
|
+
mapping to the canonical spacing tokens. Use as a lightweight
|
|
13
|
+
spacing wrapper when <section-ui> would imply chrome the parent
|
|
14
|
+
container doesn't own. Not a layout primitive (no flex / grid) —
|
|
15
|
+
for layout use <col-ui> / <row-ui> / <stack-ui> / <grid-ui>.
|
|
10
16
|
props:
|
|
11
17
|
margin:
|
|
12
|
-
description:
|
|
18
|
+
description: >-
|
|
19
|
+
Margin size (none/xs/sm/md/lg/xl). Accepts `@bp` notation:
|
|
20
|
+
margin="none sm@md" = no margin below md, sm from md up.
|
|
13
21
|
type: string
|
|
14
22
|
default: none
|
|
15
23
|
enum:
|
|
@@ -20,7 +28,9 @@ props:
|
|
|
20
28
|
- lg
|
|
21
29
|
- xl
|
|
22
30
|
padding:
|
|
23
|
-
description:
|
|
31
|
+
description: >-
|
|
32
|
+
Padding amount (none/xs/sm/md/lg/xl → spacing tokens). Accepts `@bp`
|
|
33
|
+
notation: padding="sm md@lg" = sm below lg, md from lg up.
|
|
24
34
|
type: string
|
|
25
35
|
default: md
|
|
26
36
|
enum:
|
|
@@ -40,7 +50,13 @@ tokens:
|
|
|
40
50
|
--block-padding:
|
|
41
51
|
description: Override padding value
|
|
42
52
|
a2ui:
|
|
43
|
-
rules:
|
|
53
|
+
rules:
|
|
54
|
+
- rule: 'Generic semantic block — use for arbitrary content groupings without strong layout semantics.'
|
|
55
|
+
reason: 'Lowest-specificity layout primitive.'
|
|
56
|
+
- rule: 'For row/column layouts use <row-ui> / <col-ui>; for grid use <stack-ui>; block is for content-flow groupings.'
|
|
57
|
+
reason: 'Decision rule vs layout siblings.'
|
|
58
|
+
- rule: 'Block-ui does not impose padding/gap by default — wrap in <section-ui> if you want chrome.'
|
|
59
|
+
reason: 'Composition discipline.'
|
|
44
60
|
anti_patterns: []
|
|
45
61
|
examples:
|
|
46
62
|
- name: basic-block
|
|
@@ -112,4 +128,8 @@ synonyms:
|
|
|
112
128
|
- code
|
|
113
129
|
- block
|
|
114
130
|
- command
|
|
115
|
-
related:
|
|
131
|
+
related:
|
|
132
|
+
- Section
|
|
133
|
+
- Col
|
|
134
|
+
- Row
|
|
135
|
+
- Stack
|
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
import { UIElement } from '../../core/element.js';
|
|
25
|
+
import { parseResponsive, breakpoint } from '../../core/responsive.js';
|
|
26
|
+
|
|
27
|
+
const _SPACE = { none: '0', xs: 'var(--a-space-1)', sm: 'var(--a-space-2)', md: 'var(--a-space-4)', lg: 'var(--a-space-6)', xl: 'var(--a-space-10)' };
|
|
28
|
+
function _spaceToCss(v) { return _SPACE[v] ?? (/^\d+$/.test(v ?? '') ? `var(--a-space-${v})` : v ?? ''); }
|
|
25
29
|
|
|
26
30
|
export class UIBlock extends UIElement {
|
|
27
31
|
static properties = {
|
|
@@ -30,4 +34,23 @@ export class UIBlock extends UIElement {
|
|
|
30
34
|
};
|
|
31
35
|
|
|
32
36
|
static template = () => null;
|
|
37
|
+
|
|
38
|
+
render() {
|
|
39
|
+
const padding = this.padding;
|
|
40
|
+
const margin = this.margin;
|
|
41
|
+
const anyR = padding?.includes('@') || margin?.includes('@');
|
|
42
|
+
const bp = anyR ? breakpoint.value : '';
|
|
43
|
+
|
|
44
|
+
if (padding?.includes('@')) {
|
|
45
|
+
this.style.setProperty('--block-padding', _spaceToCss(parseResponsive(padding, bp)));
|
|
46
|
+
} else {
|
|
47
|
+
this.style.removeProperty('--block-padding');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (margin?.includes('@')) {
|
|
51
|
+
this.style.setProperty('--block-margin', _spaceToCss(parseResponsive(margin, bp)));
|
|
52
|
+
} else {
|
|
53
|
+
this.style.removeProperty('--block-margin');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
33
56
|
}
|
|
@@ -40,7 +40,35 @@ states:
|
|
|
40
40
|
traits: []
|
|
41
41
|
tokens: {}
|
|
42
42
|
a2ui:
|
|
43
|
-
rules:
|
|
43
|
+
rules:
|
|
44
|
+
- >-
|
|
45
|
+
Canonical placement: render <breadcrumb-ui> inside <admin-topbar>
|
|
46
|
+
for hierarchical page-context display. It is the topbar's heading
|
|
47
|
+
region — typically preceded by a sidebar-toggle <button-ui
|
|
48
|
+
icon="sidebar" variant="ghost" size="sm"> and followed by topbar
|
|
49
|
+
actions in [slot="action"]. The host stamps role="navigation" +
|
|
50
|
+
aria-label="Breadcrumb" automatically.
|
|
51
|
+
- >-
|
|
52
|
+
Child shape: each crumb is either an <a href> (ancestor link) or
|
|
53
|
+
a plain <span> (terminal / non-link current page). The LAST child
|
|
54
|
+
is the current page and MUST be a plain <span> — the component
|
|
55
|
+
auto-applies aria-current="page" and disables pointer events on
|
|
56
|
+
it. Optional first child may be an <icon-ui> (or <a> wrapping
|
|
57
|
+
one with aria-label) for an app / home glyph.
|
|
58
|
+
- >-
|
|
59
|
+
Separator + overflow: do NOT insert your own separator elements
|
|
60
|
+
([data-sep] spans are stamped automatically between children).
|
|
61
|
+
For deep trails (4+ items) prefer the `collapse` attribute over
|
|
62
|
+
manual truncation; tune visible edges with [collapse-keep-leading]
|
|
63
|
+
/ [collapse-keep-trailing]. Collapsed middle crumbs are presented
|
|
64
|
+
as a `…` <menu-ui data-overflow> popover.
|
|
65
|
+
- >-
|
|
66
|
+
Decision rule: <breadcrumb-ui> is read-only PATH-CONTEXT display
|
|
67
|
+
("where am I"). For primary navigation (sidebar) use <nav-ui> +
|
|
68
|
+
<nav-item-ui> inside <admin-sidebar>. For switching sub-views
|
|
69
|
+
within a page use <tabs-ui>. Never use <breadcrumb-ui> as the
|
|
70
|
+
primary navigation control or wrap navigation controls (selects,
|
|
71
|
+
tabs, form controls) inside it.
|
|
44
72
|
anti_patterns: []
|
|
45
73
|
examples:
|
|
46
74
|
- name: breadcrumb-nav
|
|
@@ -101,4 +129,7 @@ synonyms:
|
|
|
101
129
|
- tabs
|
|
102
130
|
- menu
|
|
103
131
|
- pagination
|
|
104
|
-
related:
|
|
132
|
+
related:
|
|
133
|
+
- AdminTopbar
|
|
134
|
+
- Nav
|
|
135
|
+
- Tabs
|
|
@@ -114,7 +114,16 @@
|
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
"examples": [],
|
|
117
|
-
"keywords": [
|
|
117
|
+
"keywords": [
|
|
118
|
+
"button",
|
|
119
|
+
"action",
|
|
120
|
+
"cta",
|
|
121
|
+
"submit",
|
|
122
|
+
"click",
|
|
123
|
+
"primary-action",
|
|
124
|
+
"ghost-button",
|
|
125
|
+
"icon-button"
|
|
126
|
+
],
|
|
118
127
|
"name": "UIButton",
|
|
119
128
|
"related": [
|
|
120
129
|
"Link"
|
|
@@ -153,7 +162,18 @@
|
|
|
153
162
|
"selector": ":active"
|
|
154
163
|
}
|
|
155
164
|
],
|
|
156
|
-
"synonyms": {
|
|
165
|
+
"synonyms": {
|
|
166
|
+
"button": [
|
|
167
|
+
"btn",
|
|
168
|
+
"action-button",
|
|
169
|
+
"click-target",
|
|
170
|
+
"control"
|
|
171
|
+
],
|
|
172
|
+
"submit": [
|
|
173
|
+
"form-submit",
|
|
174
|
+
"primary-action"
|
|
175
|
+
]
|
|
176
|
+
},
|
|
157
177
|
"tag": "button-ui",
|
|
158
178
|
"tokens": {
|
|
159
179
|
"--button-background": {
|