@adia-ai/web-components 0.4.5 → 0.4.7

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.
Files changed (316) hide show
  1. package/README.md +63 -24
  2. package/USAGE.md +604 -0
  3. package/components/accordion/accordion.d.ts +17 -0
  4. package/components/accordion/accordion.js +10 -117
  5. package/components/accordion/class.js +132 -0
  6. package/components/action-list/action-list.d.ts +15 -0
  7. package/components/action-list/action-list.js +9 -140
  8. package/components/action-list/class.js +156 -0
  9. package/components/agent-artifact/agent-artifact.d.ts +25 -0
  10. package/components/agent-artifact/agent-artifact.js +8 -181
  11. package/components/agent-artifact/class.js +200 -0
  12. package/components/agent-feedback-bar/agent-feedback-bar.d.ts +21 -0
  13. package/components/agent-feedback-bar/agent-feedback-bar.js +8 -143
  14. package/components/agent-feedback-bar/class.js +162 -0
  15. package/components/agent-questions/agent-questions.d.ts +23 -0
  16. package/components/agent-questions/agent-questions.js +8 -180
  17. package/components/agent-questions/class.js +199 -0
  18. package/components/agent-reasoning/agent-reasoning.d.ts +23 -0
  19. package/components/agent-reasoning/agent-reasoning.js +8 -494
  20. package/components/agent-reasoning/class.js +513 -0
  21. package/components/agent-suggestions/agent-suggestions.d.ts +21 -0
  22. package/components/agent-suggestions/agent-suggestions.js +8 -78
  23. package/components/agent-suggestions/class.js +97 -0
  24. package/components/agent-trace/agent-trace.d.ts +19 -0
  25. package/components/alert/alert.d.ts +29 -0
  26. package/components/alert/alert.js +8 -175
  27. package/components/alert/class.js +194 -0
  28. package/components/avatar/avatar.d.ts +27 -0
  29. package/components/avatar/avatar.js +9 -159
  30. package/components/avatar/class.js +173 -0
  31. package/components/badge/badge.d.ts +27 -0
  32. package/components/badge/badge.js +9 -75
  33. package/components/badge/class.js +93 -0
  34. package/components/block/block.d.ts +19 -0
  35. package/components/block/block.js +9 -15
  36. package/components/block/class.js +33 -0
  37. package/components/breadcrumb/breadcrumb.d.ts +23 -0
  38. package/components/breadcrumb/breadcrumb.js +8 -113
  39. package/components/breadcrumb/class.js +132 -0
  40. package/components/button/button.d.ts +34 -0
  41. package/components/button/button.js +15 -66
  42. package/components/button/class.js +80 -0
  43. package/components/calendar-picker/calendar-picker.a2ui.json +6 -1
  44. package/components/calendar-picker/calendar-picker.d.ts +27 -0
  45. package/components/calendar-picker/calendar-picker.js +8 -332
  46. package/components/calendar-picker/calendar-picker.yaml +51 -177
  47. package/components/calendar-picker/class.js +351 -0
  48. package/components/canvas/canvas.a2ui.json +6 -1
  49. package/components/canvas/canvas.d.ts +17 -0
  50. package/components/canvas/canvas.yaml +19 -36
  51. package/components/card/card.a2ui.json +3 -0
  52. package/components/card/card.d.ts +27 -0
  53. package/components/card/card.js +9 -50
  54. package/components/card/card.yaml +171 -433
  55. package/components/card/class.js +68 -0
  56. package/components/chart/chart.d.ts +41 -0
  57. package/components/chart/chart.js +8 -2131
  58. package/components/chart/class.js +2150 -0
  59. package/components/chart-legend/chart-legend.d.ts +27 -0
  60. package/components/chart-legend/chart-legend.js +8 -197
  61. package/components/chart-legend/class.js +215 -0
  62. package/components/chat-thread/chat-thread.d.ts +17 -0
  63. package/components/chat-thread/chat-thread.js +8 -157
  64. package/components/chat-thread/class.js +176 -0
  65. package/components/check/check.d.ts +30 -0
  66. package/components/check/check.js +11 -52
  67. package/components/check/class.js +68 -0
  68. package/components/code/class.js +501 -0
  69. package/components/code/code.d.ts +39 -0
  70. package/components/code/code.js +8 -482
  71. package/components/col/class.js +30 -0
  72. package/components/col/col.d.ts +23 -0
  73. package/components/col/col.js +10 -13
  74. package/components/color-picker/class.js +550 -0
  75. package/components/color-picker/color-picker.d.ts +37 -0
  76. package/components/color-picker/color-picker.js +8 -531
  77. package/components/command/class.js +364 -0
  78. package/components/command/command.a2ui.json +3 -0
  79. package/components/command/command.d.ts +19 -0
  80. package/components/command/command.js +8 -345
  81. package/components/command/command.yaml +105 -124
  82. package/components/demo-toggle/class.js +153 -0
  83. package/components/demo-toggle/demo-toggle.d.ts +23 -0
  84. package/components/demo-toggle/demo-toggle.js +8 -135
  85. package/components/description-list/class.js +86 -0
  86. package/components/description-list/description-list.d.ts +21 -0
  87. package/components/description-list/description-list.js +8 -67
  88. package/components/divider/class.js +57 -0
  89. package/components/divider/divider.d.ts +19 -0
  90. package/components/divider/divider.js +10 -40
  91. package/components/drawer/class.js +306 -0
  92. package/components/drawer/drawer.d.ts +25 -0
  93. package/components/drawer/drawer.js +8 -287
  94. package/components/embed/class.js +73 -0
  95. package/components/embed/embed.d.ts +23 -0
  96. package/components/embed/embed.js +9 -55
  97. package/components/empty-state/class.js +108 -0
  98. package/components/empty-state/empty-state.d.ts +21 -0
  99. package/components/empty-state/empty-state.js +9 -90
  100. package/components/feed/class.js +381 -0
  101. package/components/feed/feed.d.ts +19 -0
  102. package/components/feed/feed.js +9 -367
  103. package/components/field/class.js +266 -0
  104. package/components/field/field.d.ts +23 -0
  105. package/components/field/field.js +8 -247
  106. package/components/fields/class.js +106 -0
  107. package/components/fields/fields.d.ts +19 -0
  108. package/components/fields/fields.js +8 -87
  109. package/components/grid/class.js +31 -0
  110. package/components/grid/grid.d.ts +23 -0
  111. package/components/grid/grid.js +10 -14
  112. package/components/heatmap/class.js +305 -0
  113. package/components/heatmap/heatmap.d.ts +31 -0
  114. package/components/heatmap/heatmap.js +8 -286
  115. package/components/icon/class.js +54 -0
  116. package/components/icon/icon.d.ts +23 -0
  117. package/components/icon/icon.js +13 -40
  118. package/components/image/class.js +112 -0
  119. package/components/image/image.d.ts +33 -0
  120. package/components/image/image.js +9 -94
  121. package/components/index.js +1 -0
  122. package/components/input/class.js +773 -0
  123. package/components/input/input.a2ui.json +3 -0
  124. package/components/input/input.d.ts +61 -0
  125. package/components/input/input.js +8 -755
  126. package/components/input/input.yaml +171 -442
  127. package/components/inspector/class.js +142 -0
  128. package/components/inspector/inspector.a2ui.json +8 -1
  129. package/components/inspector/inspector.d.ts +17 -0
  130. package/components/inspector/inspector.js +8 -124
  131. package/components/inspector/inspector.yaml +15 -30
  132. package/components/kbd/class.js +34 -0
  133. package/components/kbd/kbd.a2ui.json +3 -0
  134. package/components/kbd/kbd.d.ts +17 -0
  135. package/components/kbd/kbd.js +10 -17
  136. package/components/kbd/kbd.yaml +54 -185
  137. package/components/link/class.js +187 -0
  138. package/components/link/link.d.ts +55 -0
  139. package/components/link/link.js +8 -168
  140. package/components/list/class.js +249 -0
  141. package/components/list/list.d.ts +23 -0
  142. package/components/list/list.js +9 -231
  143. package/components/menu/class.js +332 -0
  144. package/components/menu/menu.d.ts +21 -0
  145. package/components/menu/menu.js +11 -316
  146. package/components/modal/class.js +231 -0
  147. package/components/modal/modal.a2ui.json +5 -1
  148. package/components/modal/modal.d.ts +23 -0
  149. package/components/modal/modal.js +8 -212
  150. package/components/modal/modal.yaml +19 -39
  151. package/components/nav/class.js +150 -0
  152. package/components/nav/nav.d.ts +31 -0
  153. package/components/nav/nav.js +8 -131
  154. package/components/nav-group/class.js +152 -0
  155. package/components/nav-group/nav-group.d.ts +35 -0
  156. package/components/nav-group/nav-group.js +9 -134
  157. package/components/nav-item/class.js +86 -0
  158. package/components/nav-item/nav-item.d.ts +37 -0
  159. package/components/nav-item/nav-item.js +10 -69
  160. package/components/noodles/class.js +510 -0
  161. package/components/noodles/noodles.d.ts +33 -0
  162. package/components/noodles/noodles.js +9 -493
  163. package/components/option-card/class.js +167 -0
  164. package/components/option-card/option-card.d.ts +30 -0
  165. package/components/option-card/option-card.js +8 -149
  166. package/components/otp-input/class.js +180 -0
  167. package/components/otp-input/otp-input.a2ui.json +5 -1
  168. package/components/otp-input/otp-input.d.ts +25 -0
  169. package/components/otp-input/otp-input.js +9 -162
  170. package/components/otp-input/otp-input.yaml +45 -174
  171. package/components/page/class.js +97 -0
  172. package/components/page/page.d.ts +46 -0
  173. package/components/page/page.js +8 -79
  174. package/components/pagination/class.js +195 -0
  175. package/components/pagination/pagination.d.ts +23 -0
  176. package/components/pagination/pagination.js +9 -177
  177. package/components/pane/class.js +186 -0
  178. package/components/pane/pane.a2ui.json +12 -1
  179. package/components/pane/pane.css +10 -0
  180. package/components/pane/pane.d.ts +31 -0
  181. package/components/pane/pane.js +8 -143
  182. package/components/pane/pane.yaml +57 -157
  183. package/components/pipeline-status/class.js +189 -0
  184. package/components/pipeline-status/pipeline-status.a2ui.json +7 -1
  185. package/components/pipeline-status/pipeline-status.d.ts +21 -0
  186. package/components/pipeline-status/pipeline-status.js +9 -172
  187. package/components/pipeline-status/pipeline-status.yaml +34 -72
  188. package/components/popover/class.js +194 -0
  189. package/components/popover/popover.d.ts +23 -0
  190. package/components/popover/popover.js +9 -176
  191. package/components/progress/class.js +74 -0
  192. package/components/progress/progress.a2ui.json +3 -0
  193. package/components/progress/progress.d.ts +19 -0
  194. package/components/progress/progress.js +10 -57
  195. package/components/progress/progress.yaml +124 -287
  196. package/components/progress-row/class.js +110 -0
  197. package/components/progress-row/progress-row.d.ts +23 -0
  198. package/components/progress-row/progress-row.js +8 -92
  199. package/components/radio/class.js +83 -0
  200. package/components/radio/radio.d.ts +28 -0
  201. package/components/radio/radio.js +11 -67
  202. package/components/range/class.js +194 -0
  203. package/components/range/range.d.ts +31 -0
  204. package/components/range/range.js +9 -176
  205. package/components/rating/class.js +148 -0
  206. package/components/rating/rating.d.ts +33 -0
  207. package/components/rating/rating.js +9 -130
  208. package/components/richtext/class.js +87 -0
  209. package/components/richtext/richtext.a2ui.json +7 -1
  210. package/components/richtext/richtext.d.ts +19 -0
  211. package/components/richtext/richtext.js +8 -68
  212. package/components/richtext/richtext.yaml +30 -65
  213. package/components/row/class.js +50 -0
  214. package/components/row/row.d.ts +27 -0
  215. package/components/row/row.js +10 -33
  216. package/components/search/class.js +134 -0
  217. package/components/search/search.d.ts +35 -0
  218. package/components/search/search.js +10 -117
  219. package/components/segment/class.js +62 -0
  220. package/components/segment/segment.d.ts +25 -0
  221. package/components/segment/segment.js +10 -45
  222. package/components/segmented/class.js +165 -0
  223. package/components/segmented/segmented.a2ui.json +4 -0
  224. package/components/segmented/segmented.d.ts +24 -0
  225. package/components/segmented/segmented.js +10 -148
  226. package/components/segmented/segmented.yaml +41 -59
  227. package/components/select/class.js +408 -0
  228. package/components/select/select.d.ts +57 -0
  229. package/components/select/select.js +15 -396
  230. package/components/skeleton/class.js +52 -0
  231. package/components/skeleton/skeleton.d.ts +23 -0
  232. package/components/skeleton/skeleton.js +8 -34
  233. package/components/slider/class.js +184 -0
  234. package/components/slider/slider.d.ts +31 -0
  235. package/components/slider/slider.js +9 -166
  236. package/components/stack/class.js +28 -0
  237. package/components/stack/stack.d.ts +17 -0
  238. package/components/stack/stack.js +10 -11
  239. package/components/step-progress/class.js +98 -0
  240. package/components/step-progress/step-progress.d.ts +27 -0
  241. package/components/step-progress/step-progress.js +8 -79
  242. package/components/stepper/class.js +126 -0
  243. package/components/stepper/stepper.d.ts +19 -0
  244. package/components/stepper/stepper.js +9 -112
  245. package/components/stream/class.js +109 -0
  246. package/components/stream/stream.d.ts +19 -0
  247. package/components/stream/stream.js +8 -90
  248. package/components/swatch/class.js +131 -0
  249. package/components/swatch/swatch.d.ts +28 -0
  250. package/components/swatch/swatch.js +8 -112
  251. package/components/swiper/class.js +373 -0
  252. package/components/swiper/swiper.a2ui.json +4 -0
  253. package/components/swiper/swiper.d.ts +31 -0
  254. package/components/swiper/swiper.js +8 -354
  255. package/components/swiper/swiper.yaml +68 -212
  256. package/components/switch/class.js +63 -0
  257. package/components/switch/switch.a2ui.json +6 -1
  258. package/components/switch/switch.d.ts +30 -0
  259. package/components/switch/switch.js +11 -47
  260. package/components/switch/switch.yaml +70 -265
  261. package/components/table/class.js +1453 -0
  262. package/components/table/table.d.ts +37 -0
  263. package/components/table/table.js +8 -1435
  264. package/components/table-toolbar/class.js +680 -0
  265. package/components/table-toolbar/table-toolbar.d.ts +33 -0
  266. package/components/table-toolbar/table-toolbar.js +8 -689
  267. package/components/tabs/class.js +242 -0
  268. package/components/tabs/tabs.d.ts +21 -0
  269. package/components/tabs/tabs.js +8 -223
  270. package/components/tag/class.js +99 -0
  271. package/components/tag/tag.d.ts +27 -0
  272. package/components/tag/tag.js +8 -80
  273. package/components/text/class.js +46 -0
  274. package/components/text/text.d.ts +25 -0
  275. package/components/text/text.js +9 -28
  276. package/components/textarea/class.js +134 -0
  277. package/components/textarea/textarea.d.ts +31 -0
  278. package/components/textarea/textarea.js +11 -118
  279. package/components/timeline/class.js +176 -0
  280. package/components/timeline/timeline.d.ts +19 -0
  281. package/components/timeline/timeline.js +9 -162
  282. package/components/toast/class.js +92 -0
  283. package/components/toast/toast.d.ts +23 -0
  284. package/components/toast/toast.js +9 -76
  285. package/components/toggle-group/class.js +154 -0
  286. package/components/toggle-group/toggle-group.d.ts +19 -0
  287. package/components/toggle-group/toggle-group.js +11 -140
  288. package/components/toggle-scheme/class.js +286 -0
  289. package/components/toggle-scheme/toggle-scheme.a2ui.json +197 -0
  290. package/components/toggle-scheme/toggle-scheme.css +20 -0
  291. package/components/toggle-scheme/toggle-scheme.d.ts +41 -0
  292. package/components/toggle-scheme/toggle-scheme.js +17 -0
  293. package/components/toggle-scheme/toggle-scheme.yaml +173 -0
  294. package/components/toolbar/class.js +388 -0
  295. package/components/toolbar/toolbar.d.ts +23 -0
  296. package/components/toolbar/toolbar.js +10 -376
  297. package/components/tooltip/class.js +299 -0
  298. package/components/tooltip/tooltip.d.ts +27 -0
  299. package/components/tooltip/tooltip.js +8 -280
  300. package/components/tree/class.js +245 -0
  301. package/components/tree/tree.d.ts +15 -0
  302. package/components/tree/tree.js +9 -244
  303. package/components/upload/class.js +199 -0
  304. package/components/upload/upload.d.ts +27 -0
  305. package/components/upload/upload.js +11 -183
  306. package/core/element.d.ts +174 -0
  307. package/core/form.d.ts +108 -0
  308. package/core/index.d.ts +11 -0
  309. package/core/index.js +1 -0
  310. package/core/register.d.ts +25 -0
  311. package/core/register.js +58 -0
  312. package/core/signals.d.ts +94 -0
  313. package/core/template.d.ts +70 -0
  314. package/index.d.ts +315 -0
  315. package/package.json +25 -6
  316. package/traits/CATEGORIES.md +1 -1
@@ -1,25 +1,18 @@
1
- # Generated by scripts/migrate-yamls-to-v1.mjs — migrated to v1 contract.
2
- # Edit this file; run `npm run build:components` to regenerate a2ui.json.
3
1
  $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
2
  name: UICard
5
3
  tag: card-ui
6
4
  component: Card
7
5
  category: container
8
6
  version: 1
9
- description: >-
10
- Bordered container with header, body, and footer sections. The nested <header>
11
- activates a 3-column grid when any direct [slot="icon|heading|description|action"]
12
- child is present (icon column | heading + description stack | action column).
13
- Slot-gating uses :has(> [slot=""]) (direct-child only) so a nested slot inside a
14
- composite child — e.g. <avatar-ui> owning an internal <icon-ui slot="icon"> — does not
15
- falsely activate the icon column. The nested <footer> flex-rows with a
16
- [slot="description"] + [slot="action"] space-between pattern; multiple <section>
17
- siblings stack as the body.
7
+ description: Bordered container with header, body, and footer sections. The nested <header> activates a 3-column grid when
8
+ any direct [slot="icon|heading|description|action"] child is present (icon column | heading + description stack | action
9
+ column). Slot-gating uses :has(> [slot=""]) (direct-child only) so a nested slot inside a composite child — e.g. <avatar-ui>
10
+ owning an internal <icon-ui slot="icon"> does not falsely activate the icon column. The nested <footer> flex-rows with
11
+ a [slot="description"] + [slot="action"] space-between pattern; multiple <section> siblings stack as the body.
18
12
  props:
19
13
  padding:
20
- description: >-
21
- Interior padding scale (overrides --card-padding). Accepts the named
22
- scale (none/xs/sm/md/lg/xl) or a numeric rung ("1"…"16").
14
+ description: Interior padding scale (overrides --card-padding). Accepts the named scale (none/xs/sm/md/lg/xl) or a numeric
15
+ rung ("1"…"16").
23
16
  type: string
24
17
  default: md
25
18
  draggable:
@@ -32,44 +25,44 @@ props:
32
25
  type: number
33
26
  default: 1
34
27
  enum:
35
- - 0
36
- - 1
37
- - 2
38
- - 3
28
+ - 0
29
+ - 1
30
+ - 2
31
+ - 3
39
32
  raw:
40
- description: Strips background, border, and shadow. Parent owns the surface. Content structure still
41
- applies.
33
+ description: Strips background, border, and shadow. Parent owns the surface. Content structure still applies.
42
34
  type: boolean
43
35
  default: false
44
36
  reflect: true
45
37
  size:
46
38
  description: Card scale. Controls inset, radius, gap, and font sizes. Default (empty) = md.
47
39
  type: string
48
- default: ""
40
+ default: ''
49
41
  enum:
50
- - sm
51
- - md
52
- - lg
42
+ - sm
43
+ - md
44
+ - lg
53
45
  variant:
54
- description: Visual style. `outline` is an alias for `outlined`; `flat` removes shadow; `soft`/`primary` apply tinted surfaces.
46
+ description: Visual style. `outline` is an alias for `outlined`; `flat` removes shadow; `soft`/`primary` apply tinted
47
+ surfaces.
55
48
  type: string
56
49
  default: default
57
50
  enum:
58
- - default
59
- - outlined
60
- - outline
61
- - filled
62
- - ghost
63
- - flat
64
- - soft
65
- - primary
51
+ - default
52
+ - outlined
53
+ - outline
54
+ - filled
55
+ - ghost
56
+ - flat
57
+ - soft
58
+ - primary
66
59
  events:
67
60
  drag-end:
68
- description: "Fired when a drag completes."
61
+ description: Fired when a drag completes.
69
62
  slots: {}
70
63
  states:
71
- - name: idle
72
- description: Default, ready for interaction.
64
+ - name: idle
65
+ description: Default, ready for interaction.
73
66
  traits: []
74
67
  tokens:
75
68
  --card-background:
@@ -96,418 +89,163 @@ tokens:
96
89
  description: Override body text size
97
90
  a2ui:
98
91
  rules:
99
- - >-
100
- The card's <header> grid activates only for DIRECT-child slotted elements. If
101
- you need an icon column, place the icon element (avatar-ui, icon-ui) directly in
102
- the header with slot="icon" not inside a wrapper.
103
- - >-
104
- Heading slot accepts inline badges/metadata: <span slot="heading"><text-ui
105
- strong>Title</text-ui><badge-ui text="New" variant="accent"></badge-ui></span>
106
- renders title + badge on one row.
107
- - >-
108
- Description slot also accepts bare <p> or <small> elements as siblings of the
109
- heading — they participate in the grid's row 2 without needing slot="description".
110
- - >-
111
- Multiple <section> siblings are allowed and stack vertically. [bleed] on a
112
- section removes its margin for edge-to-edge content (tables, charts);
113
- [padding] adds a canvas-scrim background for hero regions.
114
- - >-
115
- Footer with a [slot="description"] + [slot="action"] pair triggers
116
- justify-content: space-between — useful for a "Last saved …" note on the left
117
- and a Save/Cancel button group on the right.
92
+ - The card's <header> grid activates only for DIRECT-child slotted elements. If you need an icon column, place the icon
93
+ element (avatar-ui, icon-ui) directly in the header with slot="icon" not inside a wrapper.
94
+ - 'Heading slot accepts inline badges/metadata: <span slot="heading"><text-ui strong>Title</text-ui><badge-ui text="New"
95
+ variant="accent"></badge-ui></span> renders title + badge on one row.'
96
+ - Description slot also accepts bare <p> or <small> elements as siblings of the heading — they participate in the grid's
97
+ row 2 without needing slot="description".
98
+ - Multiple <section> siblings are allowed and stack vertically. [bleed] on a section removes its margin for edge-to-edge
99
+ content (tables, charts); [padding] adds a canvas-scrim background for hero regions.
100
+ - 'Footer with a [slot="description"] + [slot="action"] pair triggers justify-content: space-between — useful for a "Last
101
+ saved …" note on the left and a Save/Cancel button group on the right.'
118
102
  anti_patterns: []
119
103
  examples:
120
- - name: chat-interface
121
- description: Chat interface with message bubbles containing avatar and text pairs, plus an input footer.
122
- a2ui: >-
123
- [
124
- {
125
- "id": "root",
126
- "component": "Card",
127
- "children": [
128
- "hdr",
129
- "sec",
130
- "ftr"
131
- ]
132
- },
133
- {
134
- "id": "hdr",
135
- "component": "Header",
136
- "children": [
137
- "title"
138
- ]
139
- },
140
- {
141
- "id": "title",
142
- "component": "Text",
143
- "slot": "heading",
144
- "textContent": "Chat"
145
- },
146
- {
147
- "id": "sec",
148
- "component": "Section",
149
- "children": [
150
- "messages"
151
- ]
152
- },
153
- {
154
- "id": "messages",
155
- "component": "Column",
156
- "gap": "3",
157
- "children": [
158
- "msg1",
159
- "msg2",
160
- "msg3",
161
- "msg4"
162
- ]
163
- },
164
- {
165
- "id": "msg1",
166
- "component": "Row",
167
- "gap": "2",
168
- "children": [
169
- "a1",
170
- "t1"
171
- ]
172
- },
173
- {
174
- "id": "a1",
175
- "component": "Avatar",
176
- "name": "User",
177
- "size": "sm"
178
- },
179
- {
180
- "id": "t1",
181
- "component": "Text",
182
- "variant": "body",
183
- "textContent": "Hello! Can you help me with something?"
184
- },
185
- {
186
- "id": "msg2",
187
- "component": "Row",
188
- "gap": "2",
189
- "children": [
190
- "a2",
191
- "t2"
192
- ]
193
- },
194
- {
195
- "id": "a2",
196
- "component": "Avatar",
197
- "name": "Assistant",
198
- "size": "sm"
199
- },
200
- {
201
- "id": "t2",
202
- "component": "Text",
203
- "variant": "body",
204
- "textContent": "Of course! I'd be happy to help. What do you need?"
205
- },
206
- {
207
- "id": "msg3",
208
- "component": "Row",
209
- "gap": "2",
210
- "children": [
211
- "a3",
212
- "t3"
213
- ]
214
- },
215
- {
216
- "id": "a3",
217
- "component": "Avatar",
218
- "name": "User",
219
- "size": "sm"
220
- },
221
- {
222
- "id": "t3",
223
- "component": "Text",
224
- "variant": "body",
225
- "textContent": "I need to build a dashboard layout."
226
- },
227
- {
228
- "id": "msg4",
229
- "component": "Row",
230
- "gap": "2",
231
- "children": [
232
- "a4",
233
- "t4"
234
- ]
235
- },
236
- {
237
- "id": "a4",
238
- "component": "Avatar",
239
- "name": "Assistant",
240
- "size": "sm"
241
- },
242
- {
243
- "id": "t4",
244
- "component": "Text",
245
- "variant": "body",
246
- "textContent": "Great choice! Let me suggest some patterns for that."
247
- },
248
- {
249
- "id": "ftr",
250
- "component": "Footer",
251
- "children": [
252
- "input-row"
253
- ]
254
- },
255
- {
256
- "id": "input-row",
257
- "component": "Row",
258
- "gap": "2",
259
- "children": [
260
- "chat-input",
261
- "send-btn"
262
- ]
263
- },
264
- {
265
- "id": "chat-input",
266
- "component": "Input",
267
- "placeholder": "Type a message..."
268
- },
269
- {
270
- "id": "send-btn",
271
- "component": "Button",
272
- "text": "Send",
273
- "icon": "send",
274
- "variant": "primary"
275
- }
276
- ]
277
- - name: command-palette
278
- description: Command palette card with search input and a list of command options.
279
- a2ui: >-
280
- [
281
- {
282
- "id": "root",
283
- "component": "Card",
284
- "children": [
285
- "hdr",
286
- "sec"
287
- ]
288
- },
289
- {
290
- "id": "hdr",
291
- "component": "Header",
292
- "children": [
293
- "search"
294
- ]
295
- },
296
- {
297
- "id": "search",
298
- "component": "Input",
299
- "placeholder": "Type a command or search...",
300
- "icon": "search"
301
- },
302
- {
303
- "id": "sec",
304
- "component": "Section",
305
- "children": [
306
- "options"
307
- ]
308
- },
309
- {
310
- "id": "options",
311
- "component": "Column",
312
- "gap": "1",
313
- "children": [
314
- "opt1",
315
- "opt2",
316
- "opt3",
317
- "opt4",
318
- "opt5"
319
- ]
320
- },
321
- {
322
- "id": "opt1",
323
- "component": "Row",
324
- "gap": "2",
325
- "children": [
326
- "i1",
327
- "l1"
328
- ]
329
- },
330
- {
331
- "id": "i1",
332
- "component": "Icon",
333
- "name": "file"
334
- },
335
- {
336
- "id": "l1",
337
- "component": "Text",
338
- "textContent": "Open File"
339
- },
340
- {
341
- "id": "opt2",
342
- "component": "Row",
343
- "gap": "2",
344
- "children": [
345
- "i2",
346
- "l2"
347
- ]
348
- },
349
- {
350
- "id": "i2",
351
- "component": "Icon",
352
- "name": "gear"
353
- },
354
- {
355
- "id": "l2",
356
- "component": "Text",
357
- "textContent": "Settings"
358
- },
359
- {
360
- "id": "opt3",
361
- "component": "Row",
362
- "gap": "2",
363
- "children": [
364
- "i3",
365
- "l3"
366
- ]
367
- },
368
- {
369
- "id": "i3",
370
- "component": "Icon",
371
- "name": "palette"
372
- },
373
- {
374
- "id": "l3",
375
- "component": "Text",
376
- "textContent": "Change Theme"
377
- },
378
- {
379
- "id": "opt4",
380
- "component": "Row",
381
- "gap": "2",
382
- "children": [
383
- "i4",
384
- "l4"
385
- ]
386
- },
387
- {
388
- "id": "i4",
389
- "component": "Icon",
390
- "name": "users"
391
- },
392
- {
393
- "id": "l4",
394
- "component": "Text",
395
- "textContent": "Manage Users"
396
- },
397
- {
398
- "id": "opt5",
399
- "component": "Row",
400
- "gap": "2",
401
- "children": [
402
- "i5",
403
- "l5"
404
- ]
405
- },
406
- {
407
- "id": "i5",
408
- "component": "Icon",
409
- "name": "sign-out"
410
- },
411
- {
412
- "id": "l5",
413
- "component": "Text",
414
- "textContent": "Sign Out"
415
- }
416
- ]
104
+ - name: chat-interface
105
+ description: Chat interface with message bubbles containing avatar and text pairs, plus an input footer.
106
+ a2ui: "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"hdr\",\n \"sec\",\n\
107
+ \ \"ftr\"\n ]\n },\n {\n \"id\": \"hdr\",\n \"component\": \"Header\",\n \"children\": [\n \"\
108
+ title\"\n ]\n },\n {\n \"id\": \"title\",\n \"component\": \"Text\",\n \"slot\": \"heading\",\n \"textContent\"\
109
+ : \"Chat\"\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"messages\"\n\
110
+ \ ]\n },\n {\n \"id\": \"messages\",\n \"component\": \"Column\",\n \"gap\": \"3\",\n \"children\": [\n\
111
+ \ \"msg1\",\n \"msg2\",\n \"msg3\",\n \"msg4\"\n ]\n },\n {\n \"id\": \"msg1\",\n \"component\"\
112
+ : \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \"a1\",\n \"t1\"\n ]\n },\n {\n \"id\": \"a1\"\
113
+ ,\n \"component\": \"Avatar\",\n \"name\": \"User\",\n \"size\": \"sm\"\n },\n {\n \"id\": \"t1\",\n \
114
+ \ \"component\": \"Text\",\n \"variant\": \"body\",\n \"textContent\": \"Hello! Can you help me with something?\"\
115
+ \n },\n {\n \"id\": \"msg2\",\n \"component\": \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \"a2\"\
116
+ ,\n \"t2\"\n ]\n },\n {\n \"id\": \"a2\",\n \"component\": \"Avatar\",\n \"name\": \"Assistant\",\n\
117
+ \ \"size\": \"sm\"\n },\n {\n \"id\": \"t2\",\n \"component\": \"Text\",\n \"variant\": \"body\",\n \"\
118
+ textContent\": \"Of course! I'd be happy to help. What do you need?\"\n },\n {\n \"id\": \"msg3\",\n \"component\"\
119
+ : \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \"a3\",\n \"t3\"\n ]\n },\n {\n \"id\": \"a3\"\
120
+ ,\n \"component\": \"Avatar\",\n \"name\": \"User\",\n \"size\": \"sm\"\n },\n {\n \"id\": \"t3\",\n \
121
+ \ \"component\": \"Text\",\n \"variant\": \"body\",\n \"textContent\": \"I need to build a dashboard layout.\"\n\
122
+ \ },\n {\n \"id\": \"msg4\",\n \"component\": \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \"a4\"\
123
+ ,\n \"t4\"\n ]\n },\n {\n \"id\": \"a4\",\n \"component\": \"Avatar\",\n \"name\": \"Assistant\",\n\
124
+ \ \"size\": \"sm\"\n },\n {\n \"id\": \"t4\",\n \"component\": \"Text\",\n \"variant\": \"body\",\n \"\
125
+ textContent\": \"Great choice! Let me suggest some patterns for that.\"\n },\n {\n \"id\": \"ftr\",\n \"component\"\
126
+ : \"Footer\",\n \"children\": [\n \"input-row\"\n ]\n },\n {\n \"id\": \"input-row\",\n \"component\"\
127
+ : \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \"chat-input\",\n \"send-btn\"\n ]\n },\n {\n \
128
+ \ \"id\": \"chat-input\",\n \"component\": \"Input\",\n \"placeholder\": \"Type a message...\"\n },\n {\n \
129
+ \ \"id\": \"send-btn\",\n \"component\": \"Button\",\n \"text\": \"Send\",\n \"icon\": \"send\",\n \"variant\"\
130
+ : \"primary\"\n }\n]"
131
+ - name: command-palette
132
+ description: Command palette card with search input and a list of command options.
133
+ a2ui: "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"hdr\",\n \"sec\"\n\
134
+ \ ]\n },\n {\n \"id\": \"hdr\",\n \"component\": \"Header\",\n \"children\": [\n \"search\"\n ]\n\
135
+ \ },\n {\n \"id\": \"search\",\n \"component\": \"Input\",\n \"placeholder\": \"Type a command or search...\"\
136
+ ,\n \"icon\": \"search\"\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \
137
+ \ \"options\"\n ]\n },\n {\n \"id\": \"options\",\n \"component\": \"Column\",\n \"gap\": \"1\",\n \
138
+ \ \"children\": [\n \"opt1\",\n \"opt2\",\n \"opt3\",\n \"opt4\",\n \"opt5\"\n ]\n },\n\
139
+ \ {\n \"id\": \"opt1\",\n \"component\": \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \"i1\",\n \
140
+ \ \"l1\"\n ]\n },\n {\n \"id\": \"i1\",\n \"component\": \"Icon\",\n \"name\": \"file\"\n },\n {\n\
141
+ \ \"id\": \"l1\",\n \"component\": \"Text\",\n \"textContent\": \"Open File\"\n },\n {\n \"id\": \"opt2\"\
142
+ ,\n \"component\": \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \"i2\",\n \"l2\"\n ]\n },\n \
143
+ \ {\n \"id\": \"i2\",\n \"component\": \"Icon\",\n \"name\": \"gear\"\n },\n {\n \"id\": \"l2\",\n \"\
144
+ component\": \"Text\",\n \"textContent\": \"Settings\"\n },\n {\n \"id\": \"opt3\",\n \"component\": \"Row\"\
145
+ ,\n \"gap\": \"2\",\n \"children\": [\n \"i3\",\n \"l3\"\n ]\n },\n {\n \"id\": \"i3\",\n \"\
146
+ component\": \"Icon\",\n \"name\": \"palette\"\n },\n {\n \"id\": \"l3\",\n \"component\": \"Text\",\n \"\
147
+ textContent\": \"Change Theme\"\n },\n {\n \"id\": \"opt4\",\n \"component\": \"Row\",\n \"gap\": \"2\",\n\
148
+ \ \"children\": [\n \"i4\",\n \"l4\"\n ]\n },\n {\n \"id\": \"i4\",\n \"component\": \"Icon\"\
149
+ ,\n \"name\": \"users\"\n },\n {\n \"id\": \"l4\",\n \"component\": \"Text\",\n \"textContent\": \"Manage\
150
+ \ Users\"\n },\n {\n \"id\": \"opt5\",\n \"component\": \"Row\",\n \"gap\": \"2\",\n \"children\": [\n \
151
+ \ \"i5\",\n \"l5\"\n ]\n },\n {\n \"id\": \"i5\",\n \"component\": \"Icon\",\n \"name\": \"sign-out\"\
152
+ \n },\n {\n \"id\": \"l5\",\n \"component\": \"Text\",\n \"textContent\": \"Sign Out\"\n }\n]"
417
153
  keywords:
418
- - card
419
- - ecommerce
420
- - shop
421
- - store
422
- - marketplace
423
- - catalog
424
- - overview
425
- - summary
426
- - grid
427
- - photos
428
- - pictures
429
- - gallery
430
- - portfolio
431
- - responsive
154
+ - card
155
+ - ecommerce
156
+ - shop
157
+ - store
158
+ - marketplace
159
+ - catalog
160
+ - overview
161
+ - summary
162
+ - grid
163
+ - photos
164
+ - pictures
165
+ - gallery
166
+ - portfolio
167
+ - responsive
432
168
  synonyms:
433
169
  catalog:
434
- - product
435
- - card
436
- - image
437
- - grid
438
- - inventory
170
+ - product
171
+ - card
172
+ - image
173
+ - grid
174
+ - inventory
439
175
  ecommerce:
440
- - product
441
- - pricing
442
- - inventory
443
- - card
444
- - image
445
- - grid
176
+ - product
177
+ - pricing
178
+ - inventory
179
+ - card
180
+ - image
181
+ - grid
446
182
  gallery:
447
- - image
448
- - gallery
449
- - card
450
- - grid
183
+ - image
184
+ - gallery
185
+ - card
186
+ - grid
451
187
  grid:
452
- - table
453
- - data
454
- - card
455
- - image
456
- - feature
457
- - grid
188
+ - table
189
+ - data
190
+ - card
191
+ - image
192
+ - feature
193
+ - grid
458
194
  marketplace:
459
- - product
460
- - pricing
461
- - card
462
- - image
463
- - grid
464
- - search
465
- - filter
195
+ - product
196
+ - pricing
197
+ - card
198
+ - image
199
+ - grid
200
+ - search
201
+ - filter
466
202
  overview:
467
- - dashboard
468
- - metric
469
- - stat
470
- - card
203
+ - dashboard
204
+ - metric
205
+ - stat
206
+ - card
471
207
  photos:
472
- - image
473
- - gallery
474
- - card
475
- - grid
208
+ - image
209
+ - gallery
210
+ - card
211
+ - grid
476
212
  pictures:
477
- - image
478
- - gallery
479
- - card
480
- - grid
213
+ - image
214
+ - gallery
215
+ - card
216
+ - grid
481
217
  portfolio:
482
- - image
483
- - gallery
484
- - card
485
- - grid
486
- - feature
218
+ - image
219
+ - gallery
220
+ - card
221
+ - grid
222
+ - feature
487
223
  responsive:
488
- - split
489
- - sidebar
490
- - grid
491
- - card
224
+ - split
225
+ - sidebar
226
+ - grid
227
+ - card
492
228
  shop:
493
- - product
494
- - pricing
495
- - inventory
496
- - card
229
+ - product
230
+ - pricing
231
+ - inventory
232
+ - card
497
233
  store:
498
- - product
499
- - pricing
500
- - inventory
501
- - card
502
- - image
234
+ - product
235
+ - pricing
236
+ - inventory
237
+ - card
238
+ - image
503
239
  summary:
504
- - dashboard
505
- - metric
506
- - stat
507
- - card
240
+ - dashboard
241
+ - metric
242
+ - stat
243
+ - card
244
+ tags:
245
+ - ErrorContainer
508
246
  related:
509
- - avatar
510
- - input
511
- - button
512
- - alert
513
- - skeleton
247
+ - avatar
248
+ - input
249
+ - button
250
+ - alert
251
+ - skeleton