@adia-ai/web-components 0.0.1

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 (468) hide show
  1. package/README.md +195 -0
  2. package/a2ui/dockables/action.js +152 -0
  3. package/a2ui/dockables/base.js +30 -0
  4. package/a2ui/dockables/controller.js +97 -0
  5. package/a2ui/dockables/data-source.js +103 -0
  6. package/a2ui/dockables/index.js +6 -0
  7. package/a2ui/dockables/lifecycle.js +84 -0
  8. package/a2ui/dockables/provider.js +59 -0
  9. package/a2ui/index.js +19 -0
  10. package/a2ui/manifest-runtime.js +226 -0
  11. package/a2ui/registry.js +200 -0
  12. package/a2ui/renderer.js +361 -0
  13. package/a2ui/root.js +152 -0
  14. package/a2ui/stream.js +243 -0
  15. package/a2ui/surface-manifest.js +294 -0
  16. package/a2ui/surface.js +222 -0
  17. package/a2ui/wire-factory.js +134 -0
  18. package/a2ui/wiring-engine.js +209 -0
  19. package/a2ui/wiring-registry.js +342 -0
  20. package/components/accordion/accordion.a2ui.json +129 -0
  21. package/components/accordion/accordion.css +133 -0
  22. package/components/accordion/accordion.js +125 -0
  23. package/components/accordion/accordion.yaml +527 -0
  24. package/components/action-list/action-list.a2ui.json +64 -0
  25. package/components/action-list/action-list.css +115 -0
  26. package/components/action-list/action-list.js +149 -0
  27. package/components/action-list/action-list.yaml +56 -0
  28. package/components/agent-artifact/agent-artifact.a2ui.json +99 -0
  29. package/components/agent-artifact/agent-artifact.css +94 -0
  30. package/components/agent-artifact/agent-artifact.js +169 -0
  31. package/components/agent-artifact/agent-artifact.yaml +71 -0
  32. package/components/agent-feedback-bar/agent-feedback-bar.a2ui.json +91 -0
  33. package/components/agent-feedback-bar/agent-feedback-bar.css +33 -0
  34. package/components/agent-feedback-bar/agent-feedback-bar.js +152 -0
  35. package/components/agent-feedback-bar/agent-feedback-bar.yaml +65 -0
  36. package/components/agent-questions/agent-questions.a2ui.json +89 -0
  37. package/components/agent-questions/agent-questions.css +146 -0
  38. package/components/agent-questions/agent-questions.js +189 -0
  39. package/components/agent-questions/agent-questions.yaml +63 -0
  40. package/components/agent-reasoning/agent-reasoning.a2ui.json +100 -0
  41. package/components/agent-reasoning/agent-reasoning.css +273 -0
  42. package/components/agent-reasoning/agent-reasoning.js +469 -0
  43. package/components/agent-reasoning/agent-reasoning.yaml +70 -0
  44. package/components/agent-suggestions/agent-suggestions.a2ui.json +87 -0
  45. package/components/agent-suggestions/agent-suggestions.css +18 -0
  46. package/components/agent-suggestions/agent-suggestions.js +87 -0
  47. package/components/agent-suggestions/agent-suggestions.yaml +59 -0
  48. package/components/agent-trace/agent-trace.a2ui.json +78 -0
  49. package/components/agent-trace/agent-trace.css +275 -0
  50. package/components/agent-trace/agent-trace.js +216 -0
  51. package/components/agent-trace/agent-trace.yaml +53 -0
  52. package/components/alert/alert.a2ui.json +211 -0
  53. package/components/alert/alert.css +88 -0
  54. package/components/alert/alert.js +96 -0
  55. package/components/alert/alert.yaml +205 -0
  56. package/components/avatar/avatar.a2ui.json +215 -0
  57. package/components/avatar/avatar.css +159 -0
  58. package/components/avatar/avatar.js +157 -0
  59. package/components/avatar/avatar.yaml +559 -0
  60. package/components/badge/badge.a2ui.json +169 -0
  61. package/components/badge/badge.css +78 -0
  62. package/components/badge/badge.js +53 -0
  63. package/components/badge/badge.yaml +612 -0
  64. package/components/block/block.a2ui.json +135 -0
  65. package/components/block/block.css +29 -0
  66. package/components/block/block.js +23 -0
  67. package/components/block/block.yaml +115 -0
  68. package/components/breadcrumb/breadcrumb.a2ui.json +86 -0
  69. package/components/breadcrumb/breadcrumb.css +78 -0
  70. package/components/breadcrumb/breadcrumb.js +44 -0
  71. package/components/breadcrumb/breadcrumb.yaml +84 -0
  72. package/components/button/button.a2ui.json +172 -0
  73. package/components/button/button.css +168 -0
  74. package/components/button/button.js +60 -0
  75. package/components/button/button.yaml +120 -0
  76. package/components/calendar-picker/calendar-picker.a2ui.json +139 -0
  77. package/components/calendar-picker/calendar-picker.css +321 -0
  78. package/components/calendar-picker/calendar-picker.js +324 -0
  79. package/components/calendar-picker/calendar-picker.yaml +243 -0
  80. package/components/canvas/canvas.a2ui.json +75 -0
  81. package/components/canvas/canvas.css +52 -0
  82. package/components/canvas/canvas.js +179 -0
  83. package/components/canvas/canvas.yaml +62 -0
  84. package/components/card/card.a2ui.json +276 -0
  85. package/components/card/card.css +362 -0
  86. package/components/card/card.js +58 -0
  87. package/components/card/card.yaml +527 -0
  88. package/components/chart/chart.a2ui.json +298 -0
  89. package/components/chart/chart.css +512 -0
  90. package/components/chart/chart.js +1075 -0
  91. package/components/chart/chart.yaml +540 -0
  92. package/components/chat/chat-input.css +141 -0
  93. package/components/chat/chat-input.js +242 -0
  94. package/components/chat/chat.a2ui.json +181 -0
  95. package/components/chat/chat.css +193 -0
  96. package/components/chat/chat.js +155 -0
  97. package/components/chat/chat.yaml +230 -0
  98. package/components/check/check.a2ui.json +134 -0
  99. package/components/check/check.css +126 -0
  100. package/components/check/check.js +58 -0
  101. package/components/check/check.yaml +109 -0
  102. package/components/code/code.a2ui.json +153 -0
  103. package/components/code/code.css +133 -0
  104. package/components/code/code.js +114 -0
  105. package/components/code/code.yaml +163 -0
  106. package/components/col/col.a2ui.json +104 -0
  107. package/components/col/col.css +36 -0
  108. package/components/col/col.js +19 -0
  109. package/components/col/col.yaml +364 -0
  110. package/components/color-picker/color-picker.a2ui.json +100 -0
  111. package/components/color-picker/color-picker.css +182 -0
  112. package/components/color-picker/color-picker.js +537 -0
  113. package/components/color-picker/color-picker.yaml +105 -0
  114. package/components/command/command.a2ui.json +221 -0
  115. package/components/command/command.css +251 -0
  116. package/components/command/command.js +284 -0
  117. package/components/command/command.yaml +186 -0
  118. package/components/description-list/description-list.a2ui.json +89 -0
  119. package/components/description-list/description-list.css +70 -0
  120. package/components/description-list/description-list.js +75 -0
  121. package/components/description-list/description-list.yaml +59 -0
  122. package/components/divider/divider.a2ui.json +126 -0
  123. package/components/divider/divider.css +102 -0
  124. package/components/divider/divider.js +47 -0
  125. package/components/divider/divider.yaml +366 -0
  126. package/components/drawer/drawer.a2ui.json +199 -0
  127. package/components/drawer/drawer.css +342 -0
  128. package/components/drawer/drawer.js +263 -0
  129. package/components/drawer/drawer.yaml +366 -0
  130. package/components/embed/embed.a2ui.json +150 -0
  131. package/components/embed/embed.css +28 -0
  132. package/components/embed/embed.js +63 -0
  133. package/components/embed/embed.yaml +224 -0
  134. package/components/empty-state/empty-state.a2ui.json +133 -0
  135. package/components/empty-state/empty-state.css +58 -0
  136. package/components/empty-state/empty-state.js +87 -0
  137. package/components/empty-state/empty-state.yaml +314 -0
  138. package/components/footer/footer.a2ui.json +79 -0
  139. package/components/footer/footer.yaml +239 -0
  140. package/components/grid/grid.a2ui.json +171 -0
  141. package/components/grid/grid.css +37 -0
  142. package/components/grid/grid.js +21 -0
  143. package/components/grid/grid.yaml +577 -0
  144. package/components/header/header.a2ui.json +76 -0
  145. package/components/header/header.yaml +336 -0
  146. package/components/heatmap/heatmap.a2ui.json +150 -0
  147. package/components/heatmap/heatmap.css +146 -0
  148. package/components/heatmap/heatmap.js +246 -0
  149. package/components/heatmap/heatmap.yaml +131 -0
  150. package/components/icon/icon.a2ui.json +79 -0
  151. package/components/icon/icon.css +20 -0
  152. package/components/icon/icon.js +26 -0
  153. package/components/icon/icon.yaml +233 -0
  154. package/components/image/image.a2ui.json +261 -0
  155. package/components/image/image.css +76 -0
  156. package/components/image/image.js +102 -0
  157. package/components/image/image.yaml +477 -0
  158. package/components/index.js +85 -0
  159. package/components/input/input.a2ui.json +284 -0
  160. package/components/input/input.css +162 -0
  161. package/components/input/input.js +148 -0
  162. package/components/input/input.yaml +496 -0
  163. package/components/inspector/inspector.a2ui.json +67 -0
  164. package/components/inspector/inspector.css +31 -0
  165. package/components/inspector/inspector.js +133 -0
  166. package/components/inspector/inspector.yaml +58 -0
  167. package/components/kbd/kbd.a2ui.json +96 -0
  168. package/components/kbd/kbd.css +62 -0
  169. package/components/kbd/kbd.js +24 -0
  170. package/components/kbd/kbd.yaml +213 -0
  171. package/components/list/list.a2ui.json +145 -0
  172. package/components/list/list.css +103 -0
  173. package/components/list/list.js +236 -0
  174. package/components/list/list.yaml +122 -0
  175. package/components/menu/menu.a2ui.json +146 -0
  176. package/components/menu/menu.css +146 -0
  177. package/components/menu/menu.js +296 -0
  178. package/components/menu/menu.yaml +123 -0
  179. package/components/modal/modal.a2ui.json +136 -0
  180. package/components/modal/modal.css +153 -0
  181. package/components/modal/modal.js +181 -0
  182. package/components/modal/modal.yaml +114 -0
  183. package/components/noodles/noodles.a2ui.json +145 -0
  184. package/components/noodles/noodles.css +118 -0
  185. package/components/noodles/noodles.js +470 -0
  186. package/components/noodles/noodles.yaml +123 -0
  187. package/components/otp-input/otp-input.a2ui.json +104 -0
  188. package/components/otp-input/otp-input.css +78 -0
  189. package/components/otp-input/otp-input.js +170 -0
  190. package/components/otp-input/otp-input.yaml +218 -0
  191. package/components/pagination/pagination.a2ui.json +122 -0
  192. package/components/pagination/pagination.css +162 -0
  193. package/components/pagination/pagination.js +185 -0
  194. package/components/pagination/pagination.yaml +165 -0
  195. package/components/pane/pane.a2ui.json +94 -0
  196. package/components/pane/pane.css +166 -0
  197. package/components/pane/pane.js +140 -0
  198. package/components/pane/pane.yaml +197 -0
  199. package/components/pipeline-status/pipeline-status.a2ui.json +90 -0
  200. package/components/pipeline-status/pipeline-status.css +162 -0
  201. package/components/pipeline-status/pipeline-status.js +176 -0
  202. package/components/pipeline-status/pipeline-status.yaml +99 -0
  203. package/components/popover/popover.a2ui.json +181 -0
  204. package/components/popover/popover.css +57 -0
  205. package/components/popover/popover.js +170 -0
  206. package/components/popover/popover.yaml +257 -0
  207. package/components/progress/progress.a2ui.json +199 -0
  208. package/components/progress/progress.css +88 -0
  209. package/components/progress/progress.js +64 -0
  210. package/components/progress/progress.yaml +342 -0
  211. package/components/progress-row/progress-row.a2ui.json +100 -0
  212. package/components/progress-row/progress-row.css +57 -0
  213. package/components/progress-row/progress-row.js +92 -0
  214. package/components/progress-row/progress-row.yaml +87 -0
  215. package/components/radio/radio.a2ui.json +232 -0
  216. package/components/radio/radio.css +102 -0
  217. package/components/radio/radio.js +73 -0
  218. package/components/radio/radio.yaml +248 -0
  219. package/components/range/range.a2ui.json +151 -0
  220. package/components/range/range.css +148 -0
  221. package/components/range/range.js +177 -0
  222. package/components/range/range.yaml +188 -0
  223. package/components/rating/rating.a2ui.json +105 -0
  224. package/components/rating/rating.css +92 -0
  225. package/components/rating/rating.js +138 -0
  226. package/components/rating/rating.yaml +74 -0
  227. package/components/richtext/richtext.a2ui.json +82 -0
  228. package/components/richtext/richtext.css +225 -0
  229. package/components/richtext/richtext.js +74 -0
  230. package/components/richtext/richtext.yaml +89 -0
  231. package/components/row/row.a2ui.json +102 -0
  232. package/components/row/row.css +51 -0
  233. package/components/row/row.js +39 -0
  234. package/components/row/row.yaml +358 -0
  235. package/components/search/search.a2ui.json +186 -0
  236. package/components/search/search.css +28 -0
  237. package/components/search/search.js +124 -0
  238. package/components/search/search.yaml +154 -0
  239. package/components/section/section.a2ui.json +78 -0
  240. package/components/section/section.yaml +338 -0
  241. package/components/segment/segment.a2ui.json +100 -0
  242. package/components/segment/segment.css +81 -0
  243. package/components/segment/segment.js +32 -0
  244. package/components/segment/segment.yaml +216 -0
  245. package/components/segmented/segmented.a2ui.json +106 -0
  246. package/components/segmented/segmented.css +67 -0
  247. package/components/segmented/segmented.js +149 -0
  248. package/components/segmented/segmented.yaml +91 -0
  249. package/components/select/select.a2ui.json +203 -0
  250. package/components/select/select.css +277 -0
  251. package/components/select/select.js +388 -0
  252. package/components/select/select.yaml +375 -0
  253. package/components/skeleton/skeleton.a2ui.json +120 -0
  254. package/components/skeleton/skeleton.css +47 -0
  255. package/components/skeleton/skeleton.js +43 -0
  256. package/components/skeleton/skeleton.yaml +153 -0
  257. package/components/slider/slider.a2ui.json +162 -0
  258. package/components/slider/slider.css +137 -0
  259. package/components/slider/slider.js +162 -0
  260. package/components/slider/slider.yaml +299 -0
  261. package/components/stack/stack.a2ui.json +62 -0
  262. package/components/stack/stack.css +28 -0
  263. package/components/stack/stack.js +18 -0
  264. package/components/stack/stack.yaml +54 -0
  265. package/components/stat/stat.a2ui.json +246 -0
  266. package/components/stat/stat.css +101 -0
  267. package/components/stat/stat.js +91 -0
  268. package/components/stat/stat.yaml +206 -0
  269. package/components/stepper/stepper.a2ui.json +77 -0
  270. package/components/stepper/stepper.css +243 -0
  271. package/components/stepper/stepper.js +118 -0
  272. package/components/stepper/stepper.yaml +73 -0
  273. package/components/stream/stream.a2ui.json +98 -0
  274. package/components/stream/stream.css +37 -0
  275. package/components/stream/stream.js +99 -0
  276. package/components/stream/stream.yaml +87 -0
  277. package/components/swiper/swiper.a2ui.json +140 -0
  278. package/components/swiper/swiper.css +267 -0
  279. package/components/swiper/swiper.js +285 -0
  280. package/components/swiper/swiper.yaml +268 -0
  281. package/components/switch/switch.a2ui.json +134 -0
  282. package/components/switch/switch.css +104 -0
  283. package/components/switch/switch.js +53 -0
  284. package/components/switch/switch.yaml +322 -0
  285. package/components/table/cell-types.js +296 -0
  286. package/components/table/table.a2ui.json +458 -0
  287. package/components/table/table.css +531 -0
  288. package/components/table/table.js +1392 -0
  289. package/components/table/table.yaml +528 -0
  290. package/components/tabs/tab.js +34 -0
  291. package/components/tabs/tabs.a2ui.json +174 -0
  292. package/components/tabs/tabs.css +162 -0
  293. package/components/tabs/tabs.js +226 -0
  294. package/components/tabs/tabs.yaml +255 -0
  295. package/components/tag/tag.a2ui.json +148 -0
  296. package/components/tag/tag.css +118 -0
  297. package/components/tag/tag.js +88 -0
  298. package/components/tag/tag.yaml +125 -0
  299. package/components/text/text.a2ui.json +99 -0
  300. package/components/text/text.css +65 -0
  301. package/components/text/text.js +35 -0
  302. package/components/text/text.yaml +360 -0
  303. package/components/textarea/textarea.a2ui.json +91 -0
  304. package/components/textarea/textarea.css +93 -0
  305. package/components/textarea/textarea.js +114 -0
  306. package/components/textarea/textarea.yaml +79 -0
  307. package/components/timeline/timeline.a2ui.json +82 -0
  308. package/components/timeline/timeline.css +389 -0
  309. package/components/timeline/timeline.js +171 -0
  310. package/components/timeline/timeline.yaml +185 -0
  311. package/components/toast/toast.a2ui.json +199 -0
  312. package/components/toast/toast.css +211 -0
  313. package/components/toast/toast.js +146 -0
  314. package/components/toast/toast.yaml +184 -0
  315. package/components/toggle-group/toggle-group.a2ui.json +126 -0
  316. package/components/toggle-group/toggle-group.css +102 -0
  317. package/components/toggle-group/toggle-group.js +147 -0
  318. package/components/toggle-group/toggle-group.yaml +98 -0
  319. package/components/toolbar/toolbar.a2ui.json +131 -0
  320. package/components/toolbar/toolbar.css +132 -0
  321. package/components/toolbar/toolbar.js +366 -0
  322. package/components/toolbar/toolbar.yaml +238 -0
  323. package/components/tooltip/tooltip.a2ui.json +148 -0
  324. package/components/tooltip/tooltip.css +39 -0
  325. package/components/tooltip/tooltip.js +96 -0
  326. package/components/tooltip/tooltip.yaml +201 -0
  327. package/components/tree/tree.a2ui.json +119 -0
  328. package/components/tree/tree.css +133 -0
  329. package/components/tree/tree.js +253 -0
  330. package/components/tree/tree.yaml +92 -0
  331. package/components/upload/upload.a2ui.json +185 -0
  332. package/components/upload/upload.css +115 -0
  333. package/components/upload/upload.js +189 -0
  334. package/components/upload/upload.yaml +302 -0
  335. package/core/anchor.js +187 -0
  336. package/core/controller.js +182 -0
  337. package/core/element.js +257 -0
  338. package/core/form.js +217 -0
  339. package/core/icons.js +180 -0
  340. package/core/markdown.js +95 -0
  341. package/core/polyfills.js +23 -0
  342. package/core/provider.js +262 -0
  343. package/core/signals.js +113 -0
  344. package/core/template.js +226 -0
  345. package/core/transport.js +77 -0
  346. package/package.json +38 -0
  347. package/patterns/adia-chat/adia-chat.a2ui.json +149 -0
  348. package/patterns/adia-chat/adia-chat.css +10 -0
  349. package/patterns/adia-chat/adia-chat.js +297 -0
  350. package/patterns/adia-chat/adia-chat.yaml +118 -0
  351. package/patterns/adia-chat/css/adia-chat.empty.css +12 -0
  352. package/patterns/adia-chat/css/adia-chat.layout.css +60 -0
  353. package/patterns/adia-chat/css/adia-chat.markdown.css +74 -0
  354. package/patterns/adia-chat/css/adia-chat.messages.css +87 -0
  355. package/patterns/adia-chat/css/adia-chat.streaming.css +30 -0
  356. package/patterns/adia-chat/css/adia-chat.tokens.css +95 -0
  357. package/patterns/adia-chat/index.html +93 -0
  358. package/patterns/adia-editor/adia-editor.a2ui.json +58 -0
  359. package/patterns/adia-editor/adia-editor.css +6 -0
  360. package/patterns/adia-editor/adia-editor.js +56 -0
  361. package/patterns/adia-editor/adia-editor.yaml +36 -0
  362. package/patterns/adia-editor/css/adia-editor.layout.css +86 -0
  363. package/patterns/adia-editor/css/adia-editor.tokens.css +28 -0
  364. package/patterns/adia-editor/index.html +179 -0
  365. package/patterns/app-nav/app-nav.a2ui.json +89 -0
  366. package/patterns/app-nav/app-nav.css +92 -0
  367. package/patterns/app-nav/app-nav.js +99 -0
  368. package/patterns/app-nav/app-nav.yaml +54 -0
  369. package/patterns/app-nav-group/app-nav-group.a2ui.json +82 -0
  370. package/patterns/app-nav-group/app-nav-group.css +261 -0
  371. package/patterns/app-nav-group/app-nav-group.js +116 -0
  372. package/patterns/app-nav-group/app-nav-group.yaml +59 -0
  373. package/patterns/app-nav-item/app-nav-item.a2ui.json +83 -0
  374. package/patterns/app-nav-item/app-nav-item.css +156 -0
  375. package/patterns/app-nav-item/app-nav-item.js +42 -0
  376. package/patterns/app-nav-item/app-nav-item.yaml +62 -0
  377. package/patterns/app-shell/app-shell.a2ui.json +114 -0
  378. package/patterns/app-shell/app-shell.css +14 -0
  379. package/patterns/app-shell/app-shell.js +251 -0
  380. package/patterns/app-shell/app-shell.yaml +66 -0
  381. package/patterns/app-shell/css/app-shell.collapsed.css +86 -0
  382. package/patterns/app-shell/css/app-shell.helpers.css +42 -0
  383. package/patterns/app-shell/css/app-shell.main.css +58 -0
  384. package/patterns/app-shell/css/app-shell.shell.css +44 -0
  385. package/patterns/app-shell/css/app-shell.sidebar.css +116 -0
  386. package/patterns/app-shell/css/app-shell.templates.css +214 -0
  387. package/patterns/app-shell/css/app-shell.tokens.css +116 -0
  388. package/patterns/app-shell/index.html +112 -0
  389. package/patterns/gen-ui/gen-ui.a2ui.json +72 -0
  390. package/patterns/gen-ui/gen-ui.css +83 -0
  391. package/patterns/gen-ui/gen-ui.js +136 -0
  392. package/patterns/gen-ui/gen-ui.yaml +43 -0
  393. package/patterns/index.js +10 -0
  394. package/patterns/section-nav/section-nav.a2ui.json +91 -0
  395. package/patterns/section-nav/section-nav.css +59 -0
  396. package/patterns/section-nav/section-nav.js +42 -0
  397. package/patterns/section-nav/section-nav.yaml +58 -0
  398. package/patterns/section-nav-group/section-nav-group.a2ui.json +95 -0
  399. package/patterns/section-nav-group/section-nav-group.css +74 -0
  400. package/patterns/section-nav-group/section-nav-group.js +84 -0
  401. package/patterns/section-nav-group/section-nav-group.yaml +66 -0
  402. package/patterns/section-nav-item/section-nav-item.a2ui.json +97 -0
  403. package/patterns/section-nav-item/section-nav-item.css +96 -0
  404. package/patterns/section-nav-item/section-nav-item.js +66 -0
  405. package/patterns/section-nav-item/section-nav-item.yaml +70 -0
  406. package/styles/colors/index.css +6 -0
  407. package/styles/colors/parameters.css +52 -0
  408. package/styles/colors/primitives-accent.css +89 -0
  409. package/styles/colors/primitives-brand.css +89 -0
  410. package/styles/colors/primitives-danger.css +89 -0
  411. package/styles/colors/primitives-info.css +89 -0
  412. package/styles/colors/primitives-neutral.css +91 -0
  413. package/styles/colors/primitives-shared.css +57 -0
  414. package/styles/colors/primitives-success.css +89 -0
  415. package/styles/colors/primitives-warning.css +89 -0
  416. package/styles/colors/primitives.css +17 -0
  417. package/styles/colors/scrims.css +182 -0
  418. package/styles/colors/semantics.css +595 -0
  419. package/styles/colors/surfaces.css +43 -0
  420. package/styles/fonts.css +99 -0
  421. package/styles/layouts/admin.css +7 -0
  422. package/styles/prose.css +186 -0
  423. package/styles/styles.css +193 -0
  424. package/styles/themes.css +155 -0
  425. package/styles/tokens.css +304 -0
  426. package/styles/typography.css +853 -0
  427. package/traits/active-state.js +24 -0
  428. package/traits/anchor-positioning.js +66 -0
  429. package/traits/attention-pulse.js +30 -0
  430. package/traits/confetti-burst.js +65 -0
  431. package/traits/confetti.js +57 -0
  432. package/traits/count-up.js +42 -0
  433. package/traits/define.js +76 -0
  434. package/traits/dirty-state.js +38 -0
  435. package/traits/drag-ghost.js +38 -0
  436. package/traits/draggable.js +73 -0
  437. package/traits/fade-presence.js +52 -0
  438. package/traits/focus-trap.js +63 -0
  439. package/traits/focusable.js +38 -0
  440. package/traits/glow-focus.js +33 -0
  441. package/traits/gradient-shift.js +32 -0
  442. package/traits/haptic-feedback.js +28 -0
  443. package/traits/hotkey.js +62 -0
  444. package/traits/hoverable.js +26 -0
  445. package/traits/index.js +55 -0
  446. package/traits/inertia-drag.js +133 -0
  447. package/traits/intersection-observer.js +33 -0
  448. package/traits/keyboard-nav.js +36 -0
  449. package/traits/magnetic-hover.js +37 -0
  450. package/traits/noise-texture.js +30 -0
  451. package/traits/parallax.js +42 -0
  452. package/traits/portal.js +27 -0
  453. package/traits/pressable.js +75 -0
  454. package/traits/resizable.js +100 -0
  455. package/traits/resize-observer.js +31 -0
  456. package/traits/ripple.js +53 -0
  457. package/traits/roving-tabindex.js +67 -0
  458. package/traits/scale-press.js +43 -0
  459. package/traits/scroll-lock.js +27 -0
  460. package/traits/shimmer-loading.js +44 -0
  461. package/traits/snap-to-grid.js +28 -0
  462. package/traits/sound-feedback.js +30 -0
  463. package/traits/spring-animate.js +56 -0
  464. package/traits/tilt-hover.js +37 -0
  465. package/traits/tossable.js +178 -0
  466. package/traits/typeahead.js +63 -0
  467. package/traits/typewriter.js +35 -0
  468. package/traits/validation.js +118 -0
@@ -0,0 +1,58 @@
1
+ /**
2
+ * <card-ui> — Bordered container with header, body, and footer.
3
+ *
4
+ * Usage:
5
+ * <card-ui>
6
+ * <header>
7
+ * <span slot="heading">Title</span>
8
+ * <span slot="description">Subtitle text</span>
9
+ * <button-ui slot="action" variant="ghost" icon="dots-three"></button-ui>
10
+ * </header>
11
+ * <section>Body content</section>
12
+ * <footer>
13
+ * <span slot="description">Footer note</span>
14
+ * <button-ui slot="action" text="Save" variant="primary"></button-ui>
15
+ * </footer>
16
+ * </card-ui>
17
+ *
18
+ * Attributes:
19
+ * variant — "default" | "outlined" | "filled" | "ghost"
20
+ * size — "sm" | "md" | "lg" (controls padding + font scale)
21
+ * elevation — 0-3 (shadow depth)
22
+ * raw — strips all chrome (border, bg, shadow, padding)
23
+ * draggable — enables drag handle + cursor:grab; wires the draggable trait
24
+ */
25
+
26
+ import { AdiaElement } from '@core/element.js';
27
+ import { draggable } from '@traits/draggable.js';
28
+
29
+ class AdiaCard extends AdiaElement {
30
+ static properties = {
31
+ variant: { type: String, default: 'default', reflect: true },
32
+ size: { type: String, default: '', reflect: true },
33
+ elevation: { type: Number, default: 1, reflect: true },
34
+ raw: { type: Boolean, default: false, reflect: true },
35
+ draggable: { type: Boolean, default: false, reflect: true },
36
+ };
37
+
38
+ static template = () => null;
39
+
40
+ #dragAttached = false;
41
+
42
+ connected() {
43
+ if (this.draggable && !this.#dragAttached) {
44
+ this.addTrait(draggable);
45
+ this.#dragAttached = true;
46
+ }
47
+ }
48
+
49
+ updated(changed) {
50
+ if (changed.has('draggable') && this.draggable && !this.#dragAttached) {
51
+ this.addTrait(draggable);
52
+ this.#dragAttached = true;
53
+ }
54
+ }
55
+ }
56
+
57
+ customElements.define('card-ui', AdiaCard);
58
+ export { AdiaCard };
@@ -0,0 +1,527 @@
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
+ $schema: ../../../../scripts/schemas/component.yaml.schema.json
4
+ name: AdiaCard
5
+ tag: card-ui
6
+ component: Card
7
+ category: container
8
+ 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.
18
+ props:
19
+ 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").
23
+ type: string
24
+ default: md
25
+ interactive:
26
+ description: Marks the card as clickable — enables hover elevation, pointer cursor, and focus ring.
27
+ type: boolean
28
+ default: false
29
+ reflect: true
30
+ radius:
31
+ description: Border radius preset (overrides --card-radius). Named (none/sm/md/lg/round) or numeric.
32
+ type: string
33
+ default: ""
34
+ density:
35
+ description: Interior density — compact/comfortable/spacious. Tightens or loosens padding + gap.
36
+ type: string
37
+ default: ""
38
+ enum: ["", compact, comfortable, spacious]
39
+ draggable:
40
+ description: Enables drag handle + cursor:grab. Wires the draggable trait; dispatches drag-end.
41
+ type: boolean
42
+ default: false
43
+ reflect: true
44
+ elevation:
45
+ description: Shadow depth 0-3
46
+ type: number
47
+ default: 1
48
+ enum:
49
+ - 0
50
+ - 1
51
+ - 2
52
+ - 3
53
+ raw:
54
+ description: Strips background, border, and shadow. Parent owns the surface. Content structure still
55
+ applies.
56
+ type: boolean
57
+ default: false
58
+ reflect: true
59
+ size:
60
+ description: Card scale. Controls inset, radius, gap, and font sizes. Default (empty) = md.
61
+ type: string
62
+ default: ""
63
+ enum:
64
+ - sm
65
+ - md
66
+ - lg
67
+ variant:
68
+ description: Visual style. `outline` is an alias for `outlined`; `flat` removes shadow; `soft`/`primary` apply tinted surfaces.
69
+ type: string
70
+ default: default
71
+ enum:
72
+ - default
73
+ - outlined
74
+ - outline
75
+ - filled
76
+ - ghost
77
+ - flat
78
+ - soft
79
+ - primary
80
+ events:
81
+ drag-end:
82
+ description: "Fired when a drag completes."
83
+ slots: {}
84
+ states:
85
+ - name: idle
86
+ description: Default, ready for interaction.
87
+ traits: []
88
+ tokens:
89
+ --card-background:
90
+ description: Override surface background
91
+ --card-border-color:
92
+ description: Override border color
93
+ --card-description-color:
94
+ description: Override description color
95
+ --card-divider-color:
96
+ description: Override divider border color
97
+ --card-heading-color:
98
+ description: Override heading color
99
+ --card-heading-size:
100
+ description: Override heading text size
101
+ --card-inset:
102
+ description: Override --inset for all children
103
+ --card-radius:
104
+ description: Override border radius
105
+ --card-shadow:
106
+ description: Override box-shadow
107
+ --card-text-color:
108
+ description: Override body text color
109
+ --card-text-size:
110
+ description: Override body text size
111
+ a2ui:
112
+ rules:
113
+ - >-
114
+ The card's <header> grid activates only for DIRECT-child slotted elements. If
115
+ you need an icon column, place the icon element (avatar-ui, icon-ui) directly in
116
+ the header with slot="icon" — not inside a wrapper.
117
+ - >-
118
+ Heading slot accepts inline badges/metadata: <span slot="heading"><text-ui
119
+ strong>Title</text-ui><badge-ui text="New" variant="accent"></badge-ui></span>
120
+ renders title + badge on one row.
121
+ - >-
122
+ Description slot also accepts bare <p> or <small> elements as siblings of the
123
+ heading — they participate in the grid's row 2 without needing slot="description".
124
+ - >-
125
+ Multiple <section> siblings are allowed and stack vertically. [bleed] on a
126
+ section removes its margin for edge-to-edge content (tables, charts);
127
+ [padding] adds a canvas-scrim background for hero regions.
128
+ - >-
129
+ Footer with a [slot="description"] + [slot="action"] pair triggers
130
+ justify-content: space-between — useful for a "Last saved …" note on the left
131
+ and a Save/Cancel button group on the right.
132
+ anti_patterns: []
133
+ examples:
134
+ - name: chat-interface
135
+ description: Chat interface with message bubbles containing avatar and text pairs, plus an input footer.
136
+ a2ui: >-
137
+ [
138
+ {
139
+ "id": "root",
140
+ "component": "Card",
141
+ "children": [
142
+ "hdr",
143
+ "sec",
144
+ "ftr"
145
+ ]
146
+ },
147
+ {
148
+ "id": "hdr",
149
+ "component": "Header",
150
+ "children": [
151
+ "title"
152
+ ]
153
+ },
154
+ {
155
+ "id": "title",
156
+ "component": "Text",
157
+ "slot": "heading",
158
+ "textContent": "Chat"
159
+ },
160
+ {
161
+ "id": "sec",
162
+ "component": "Section",
163
+ "children": [
164
+ "messages"
165
+ ]
166
+ },
167
+ {
168
+ "id": "messages",
169
+ "component": "Column",
170
+ "gap": "3",
171
+ "children": [
172
+ "msg1",
173
+ "msg2",
174
+ "msg3",
175
+ "msg4"
176
+ ]
177
+ },
178
+ {
179
+ "id": "msg1",
180
+ "component": "Row",
181
+ "gap": "2",
182
+ "children": [
183
+ "a1",
184
+ "t1"
185
+ ]
186
+ },
187
+ {
188
+ "id": "a1",
189
+ "component": "Avatar",
190
+ "name": "User",
191
+ "size": "sm"
192
+ },
193
+ {
194
+ "id": "t1",
195
+ "component": "Text",
196
+ "variant": "body",
197
+ "textContent": "Hello! Can you help me with something?"
198
+ },
199
+ {
200
+ "id": "msg2",
201
+ "component": "Row",
202
+ "gap": "2",
203
+ "children": [
204
+ "a2",
205
+ "t2"
206
+ ]
207
+ },
208
+ {
209
+ "id": "a2",
210
+ "component": "Avatar",
211
+ "name": "Assistant",
212
+ "size": "sm"
213
+ },
214
+ {
215
+ "id": "t2",
216
+ "component": "Text",
217
+ "variant": "body",
218
+ "textContent": "Of course! I'd be happy to help. What do you need?"
219
+ },
220
+ {
221
+ "id": "msg3",
222
+ "component": "Row",
223
+ "gap": "2",
224
+ "children": [
225
+ "a3",
226
+ "t3"
227
+ ]
228
+ },
229
+ {
230
+ "id": "a3",
231
+ "component": "Avatar",
232
+ "name": "User",
233
+ "size": "sm"
234
+ },
235
+ {
236
+ "id": "t3",
237
+ "component": "Text",
238
+ "variant": "body",
239
+ "textContent": "I need to build a dashboard layout."
240
+ },
241
+ {
242
+ "id": "msg4",
243
+ "component": "Row",
244
+ "gap": "2",
245
+ "children": [
246
+ "a4",
247
+ "t4"
248
+ ]
249
+ },
250
+ {
251
+ "id": "a4",
252
+ "component": "Avatar",
253
+ "name": "Assistant",
254
+ "size": "sm"
255
+ },
256
+ {
257
+ "id": "t4",
258
+ "component": "Text",
259
+ "variant": "body",
260
+ "textContent": "Great choice! Let me suggest some patterns for that."
261
+ },
262
+ {
263
+ "id": "ftr",
264
+ "component": "Footer",
265
+ "children": [
266
+ "input-row"
267
+ ]
268
+ },
269
+ {
270
+ "id": "input-row",
271
+ "component": "Row",
272
+ "gap": "2",
273
+ "children": [
274
+ "chat-input",
275
+ "send-btn"
276
+ ]
277
+ },
278
+ {
279
+ "id": "chat-input",
280
+ "component": "Input",
281
+ "placeholder": "Type a message..."
282
+ },
283
+ {
284
+ "id": "send-btn",
285
+ "component": "Button",
286
+ "text": "Send",
287
+ "icon": "send",
288
+ "variant": "primary"
289
+ }
290
+ ]
291
+ - name: command-palette
292
+ description: Command palette card with search input and a list of command options.
293
+ a2ui: >-
294
+ [
295
+ {
296
+ "id": "root",
297
+ "component": "Card",
298
+ "children": [
299
+ "hdr",
300
+ "sec"
301
+ ]
302
+ },
303
+ {
304
+ "id": "hdr",
305
+ "component": "Header",
306
+ "children": [
307
+ "search"
308
+ ]
309
+ },
310
+ {
311
+ "id": "search",
312
+ "component": "Input",
313
+ "placeholder": "Type a command or search...",
314
+ "icon": "search"
315
+ },
316
+ {
317
+ "id": "sec",
318
+ "component": "Section",
319
+ "children": [
320
+ "options"
321
+ ]
322
+ },
323
+ {
324
+ "id": "options",
325
+ "component": "Column",
326
+ "gap": "1",
327
+ "children": [
328
+ "opt1",
329
+ "opt2",
330
+ "opt3",
331
+ "opt4",
332
+ "opt5"
333
+ ]
334
+ },
335
+ {
336
+ "id": "opt1",
337
+ "component": "Row",
338
+ "gap": "2",
339
+ "children": [
340
+ "i1",
341
+ "l1"
342
+ ]
343
+ },
344
+ {
345
+ "id": "i1",
346
+ "component": "Icon",
347
+ "name": "file"
348
+ },
349
+ {
350
+ "id": "l1",
351
+ "component": "Text",
352
+ "textContent": "Open File"
353
+ },
354
+ {
355
+ "id": "opt2",
356
+ "component": "Row",
357
+ "gap": "2",
358
+ "children": [
359
+ "i2",
360
+ "l2"
361
+ ]
362
+ },
363
+ {
364
+ "id": "i2",
365
+ "component": "Icon",
366
+ "name": "gear"
367
+ },
368
+ {
369
+ "id": "l2",
370
+ "component": "Text",
371
+ "textContent": "Settings"
372
+ },
373
+ {
374
+ "id": "opt3",
375
+ "component": "Row",
376
+ "gap": "2",
377
+ "children": [
378
+ "i3",
379
+ "l3"
380
+ ]
381
+ },
382
+ {
383
+ "id": "i3",
384
+ "component": "Icon",
385
+ "name": "palette"
386
+ },
387
+ {
388
+ "id": "l3",
389
+ "component": "Text",
390
+ "textContent": "Change Theme"
391
+ },
392
+ {
393
+ "id": "opt4",
394
+ "component": "Row",
395
+ "gap": "2",
396
+ "children": [
397
+ "i4",
398
+ "l4"
399
+ ]
400
+ },
401
+ {
402
+ "id": "i4",
403
+ "component": "Icon",
404
+ "name": "users"
405
+ },
406
+ {
407
+ "id": "l4",
408
+ "component": "Text",
409
+ "textContent": "Manage Users"
410
+ },
411
+ {
412
+ "id": "opt5",
413
+ "component": "Row",
414
+ "gap": "2",
415
+ "children": [
416
+ "i5",
417
+ "l5"
418
+ ]
419
+ },
420
+ {
421
+ "id": "i5",
422
+ "component": "Icon",
423
+ "name": "sign-out"
424
+ },
425
+ {
426
+ "id": "l5",
427
+ "component": "Text",
428
+ "textContent": "Sign Out"
429
+ }
430
+ ]
431
+ keywords:
432
+ - card
433
+ - ecommerce
434
+ - shop
435
+ - store
436
+ - marketplace
437
+ - catalog
438
+ - overview
439
+ - summary
440
+ - grid
441
+ - photos
442
+ - pictures
443
+ - gallery
444
+ - portfolio
445
+ - responsive
446
+ synonyms:
447
+ catalog:
448
+ - product
449
+ - card
450
+ - image
451
+ - grid
452
+ - inventory
453
+ ecommerce:
454
+ - product
455
+ - pricing
456
+ - inventory
457
+ - card
458
+ - image
459
+ - grid
460
+ gallery:
461
+ - image
462
+ - gallery
463
+ - card
464
+ - grid
465
+ grid:
466
+ - table
467
+ - data
468
+ - card
469
+ - image
470
+ - feature
471
+ - grid
472
+ marketplace:
473
+ - product
474
+ - pricing
475
+ - card
476
+ - image
477
+ - grid
478
+ - search
479
+ - filter
480
+ overview:
481
+ - dashboard
482
+ - metric
483
+ - stat
484
+ - card
485
+ photos:
486
+ - image
487
+ - gallery
488
+ - card
489
+ - grid
490
+ pictures:
491
+ - image
492
+ - gallery
493
+ - card
494
+ - grid
495
+ portfolio:
496
+ - image
497
+ - gallery
498
+ - card
499
+ - grid
500
+ - feature
501
+ responsive:
502
+ - split
503
+ - sidebar
504
+ - grid
505
+ - card
506
+ shop:
507
+ - product
508
+ - pricing
509
+ - inventory
510
+ - card
511
+ store:
512
+ - product
513
+ - pricing
514
+ - inventory
515
+ - card
516
+ - image
517
+ summary:
518
+ - dashboard
519
+ - metric
520
+ - stat
521
+ - card
522
+ related:
523
+ - avatar
524
+ - input
525
+ - button
526
+ - alert
527
+ - skeleton