@adia-ai/web-components 0.8.39 → 0.8.41

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 (424) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/MIGRATION.md +1269 -3
  3. package/README.md +25 -30
  4. package/USAGE.md +26 -0
  5. package/bin/audit-template-children.mjs +556 -0
  6. package/components/accordion/accordion-item.a2ui.json +4 -0
  7. package/components/accordion/accordion-item.yaml +2 -0
  8. package/components/accordion/accordion.a2ui.json +4 -0
  9. package/components/accordion/accordion.yaml +2 -0
  10. package/components/action-list/action-item.a2ui.json +24 -2
  11. package/components/action-list/action-item.yaml +28 -3
  12. package/components/action-list/action-list.a2ui.json +6 -1
  13. package/components/action-list/action-list.class.js +52 -11
  14. package/components/action-list/action-list.css +43 -3
  15. package/components/action-list/action-list.d.ts +4 -2
  16. package/components/action-list/action-list.yaml +5 -0
  17. package/components/adia-mark/adia-mark.a2ui.json +1 -0
  18. package/components/adia-wordmark/adia-wordmark.a2ui.json +1 -0
  19. package/components/agent-artifact/agent-artifact.a2ui.json +1 -0
  20. package/components/agent-artifact/agent-artifact.css +1 -1
  21. package/components/agent-feedback-bar/agent-feedback-bar.a2ui.json +6 -5
  22. package/components/agent-feedback-bar/agent-feedback-bar.yaml +6 -2
  23. package/components/agent-questions/agent-questions.a2ui.json +1 -0
  24. package/components/agent-reasoning/agent-reasoning.a2ui.json +6 -5
  25. package/components/agent-reasoning/agent-reasoning.css +2 -2
  26. package/components/agent-reasoning/agent-reasoning.yaml +6 -2
  27. package/components/agent-suggestions/agent-suggestions.a2ui.json +11 -2
  28. package/components/agent-suggestions/agent-suggestions.class.js +2 -1
  29. package/components/agent-suggestions/agent-suggestions.d.ts +4 -4
  30. package/components/agent-suggestions/agent-suggestions.yaml +4 -2
  31. package/components/agent-trace/agent-trace.a2ui.json +6 -5
  32. package/components/agent-trace/agent-trace.css +3 -3
  33. package/components/agent-trace/agent-trace.yaml +6 -2
  34. package/components/alert/alert.a2ui.json +1 -0
  35. package/components/alert/alert.css +2 -2
  36. package/components/anchor-bar/anchor-bar.a2ui.json +1 -0
  37. package/components/aside/aside.a2ui.json +1 -0
  38. package/components/avatar/avatar-group.a2ui.json +7 -1
  39. package/components/avatar/avatar-group.yaml +1 -0
  40. package/components/avatar/avatar.a2ui.json +12 -11
  41. package/components/avatar/avatar.css +1 -1
  42. package/components/avatar/avatar.d.ts +1 -1
  43. package/components/avatar/avatar.yaml +4 -4
  44. package/components/badge/badge.a2ui.json +1 -0
  45. package/components/badge/badge.css +1 -1
  46. package/components/block/block.a2ui.json +1 -0
  47. package/components/blockquote/blockquote.a2ui.json +1 -0
  48. package/components/breadcrumb/breadcrumb.a2ui.json +1 -0
  49. package/components/button/button.a2ui.json +1 -3
  50. package/components/button/button.css +6 -5
  51. package/components/button/button.yaml +1 -3
  52. package/components/calendar-grid/calendar-grid.a2ui.json +1 -0
  53. package/components/calendar-grid/calendar-grid.class.js +2 -1
  54. package/components/calendar-picker/calendar-picker.a2ui.json +143 -24
  55. package/components/calendar-picker/calendar-picker.class.js +490 -197
  56. package/components/calendar-picker/calendar-picker.css +121 -172
  57. package/components/calendar-picker/calendar-picker.yaml +225 -47
  58. package/components/canvas/canvas.a2ui.json +6 -5
  59. package/components/canvas/canvas.d.ts +37 -0
  60. package/components/canvas/canvas.js +72 -3
  61. package/components/canvas/canvas.yaml +6 -2
  62. package/components/card/card.a2ui.json +25 -2
  63. package/components/card/card.class.js +3 -0
  64. package/components/card/card.css +34 -4
  65. package/components/card/card.d.ts +2 -2
  66. package/components/card/card.examples.md +3 -3
  67. package/components/card/card.yaml +28 -4
  68. package/components/chart/chart.a2ui.json +13 -8
  69. package/components/chart/chart.class.js +10 -10
  70. package/components/chart/chart.css +12 -10
  71. package/components/chart/chart.d.ts +2 -2
  72. package/components/chart/chart.yaml +8 -5
  73. package/components/chart-legend/chart-legend.a2ui.json +1 -0
  74. package/components/chat-thread/chat-input.a2ui.json +1 -0
  75. package/components/chat-thread/chat-thread.a2ui.json +10 -9
  76. package/components/chat-thread/chat-thread.css +1 -1
  77. package/components/chat-thread/chat-thread.yaml +13 -20
  78. package/components/check/check.a2ui.json +10 -9
  79. package/components/check/check.yaml +4 -4
  80. package/components/code/code.a2ui.json +1 -0
  81. package/components/code/code.css +6 -6
  82. package/components/col/col.a2ui.json +1 -0
  83. package/components/color-input/color-input.a2ui.json +1 -0
  84. package/components/color-picker/color-picker.a2ui.json +1 -0
  85. package/components/combobox/combobox.a2ui.json +3 -2
  86. package/components/combobox/combobox.css +2 -2
  87. package/components/combobox/combobox.yaml +2 -2
  88. package/components/command/command.a2ui.json +12 -10
  89. package/components/command/command.class.js +3 -2
  90. package/components/command/command.css +3 -3
  91. package/components/command/command.yaml +17 -4
  92. package/components/context-menu/context-menu.a2ui.json +1 -0
  93. package/components/date-range-picker/date-range-picker.a2ui.json +2 -1
  94. package/components/date-range-picker/date-range-picker.css +1 -1
  95. package/components/date-range-picker/date-range-picker.yaml +1 -1
  96. package/components/datetime-picker/datetime-picker.a2ui.json +15 -108
  97. package/components/datetime-picker/datetime-picker.class.js +37 -690
  98. package/components/datetime-picker/datetime-picker.css +11 -183
  99. package/components/datetime-picker/datetime-picker.d.ts +4 -5
  100. package/components/datetime-picker/datetime-picker.yaml +44 -135
  101. package/components/demo-toggle/demo-toggle.a2ui.json +1 -0
  102. package/components/demo-toggle/demo-toggle.css +1 -1
  103. package/components/description-list/description-list.a2ui.json +1 -0
  104. package/components/description-list/description-list.css +2 -2
  105. package/components/display-field/display-field.a2ui.json +1 -0
  106. package/components/display-field/display-field.css +3 -3
  107. package/components/divider/divider.a2ui.json +1 -0
  108. package/components/divider/divider.css +1 -1
  109. package/components/drawer/drawer.a2ui.json +1 -3
  110. package/components/drawer/drawer.css +3 -3
  111. package/components/drawer/drawer.yaml +0 -2
  112. package/components/drilldown/drilldown.a2ui.json +22 -20
  113. package/components/drilldown/drilldown.class.js +4 -3
  114. package/components/drilldown/drilldown.css +8 -8
  115. package/components/drilldown/drilldown.yaml +40 -9
  116. package/components/embed/embed.a2ui.json +6 -5
  117. package/components/embed/embed.yaml +2 -2
  118. package/components/empty-state/empty-state.a2ui.json +1 -0
  119. package/components/empty-state/empty-state.css +2 -2
  120. package/components/feed/feed-item.a2ui.json +25 -5
  121. package/components/feed/feed-item.yaml +28 -7
  122. package/components/feed/feed.a2ui.json +9 -2
  123. package/components/feed/feed.class.js +19 -12
  124. package/components/feed/feed.css +8 -8
  125. package/components/feed/feed.yaml +14 -1
  126. package/components/field/field.a2ui.json +1 -0
  127. package/components/field/field.css +1 -1
  128. package/components/field/field.examples.md +1 -1
  129. package/components/fields/fields.a2ui.json +1 -0
  130. package/components/fields/fields.examples.md +1 -1
  131. package/components/footer/footer.a2ui.json +1 -0
  132. package/components/frame/frame.a2ui.json +1 -0
  133. package/components/grid/grid.a2ui.json +1 -0
  134. package/components/header/header.a2ui.json +3 -2
  135. package/components/header/header.yaml +3 -3
  136. package/components/heatmap/heatmap.a2ui.json +2 -1
  137. package/components/heatmap/heatmap.class.js +1 -1
  138. package/components/heatmap/heatmap.css +6 -6
  139. package/components/heatmap/heatmap.yaml +1 -1
  140. package/components/icon/icon.a2ui.json +1 -0
  141. package/components/image/image.a2ui.json +28 -14
  142. package/components/image/image.class.js +38 -23
  143. package/components/image/image.css +18 -8
  144. package/components/image/image.d.ts +2 -2
  145. package/components/image/image.examples.md +3 -3
  146. package/components/image/image.yaml +23 -7
  147. package/components/inline-edit/inline-edit.a2ui.json +1 -0
  148. package/components/inline-message/inline-message.a2ui.json +3 -1
  149. package/components/inline-message/inline-message.class.js +3 -1
  150. package/components/inline-message/inline-message.css +1 -1
  151. package/components/inline-message/inline-message.d.ts +2 -2
  152. package/components/inline-message/inline-message.yaml +2 -1
  153. package/components/input/input.a2ui.json +66 -16
  154. package/components/input/input.class.js +64 -7
  155. package/components/input/input.css +19 -18
  156. package/components/input/input.d.ts +9 -4
  157. package/components/input/input.yaml +83 -10
  158. package/components/inspector/inspector.a2ui.json +1 -0
  159. package/components/integration-card/integration-card.a2ui.json +1 -0
  160. package/components/integration-card/integration-card.css +4 -4
  161. package/components/kbd/kbd.a2ui.json +1 -0
  162. package/components/kbd/kbd.css +1 -1
  163. package/components/link/link.a2ui.json +2 -1
  164. package/components/link/link.yaml +1 -1
  165. package/components/list/list-item.a2ui.json +9 -0
  166. package/components/list/list-item.yaml +12 -0
  167. package/components/list/list.a2ui.json +9 -3
  168. package/components/list/list.class.js +14 -1
  169. package/components/list/list.css +14 -3
  170. package/components/list/list.d.ts +7 -5
  171. package/components/list/list.yaml +16 -6
  172. package/components/list-window/list-window.a2ui.json +1 -0
  173. package/components/list-window/list-window.class.js +2 -1
  174. package/components/loading-overlay/loading-overlay.a2ui.json +1 -0
  175. package/components/mark/mark.a2ui.json +2 -1
  176. package/components/mark/mark.yaml +1 -1
  177. package/components/menu/menu-divider.a2ui.json +1 -0
  178. package/components/menu/menu-item.a2ui.json +3 -1
  179. package/components/menu/menu-item.yaml +6 -0
  180. package/components/menu/menu-label.a2ui.json +1 -0
  181. package/components/menu/menu.a2ui.json +3 -2
  182. package/components/menu/menu.class.js +2 -2
  183. package/components/menu/menu.d.ts +2 -2
  184. package/components/menu/menu.yaml +3 -3
  185. package/components/modal/modal.a2ui.json +1 -0
  186. package/components/nav/nav.a2ui.json +1 -0
  187. package/components/nav/nav.class.js +14 -3
  188. package/components/nav/nav.css +2 -2
  189. package/components/nav-group/nav-group.a2ui.json +1 -0
  190. package/components/nav-group/nav-group.class.js +3 -1
  191. package/components/nav-group/nav-group.css +3 -3
  192. package/components/nav-item/nav-item.a2ui.json +1 -0
  193. package/components/nav-item/nav-item.css +2 -2
  194. package/components/noodles/noodles.a2ui.json +1 -0
  195. package/components/noodles/noodles.class.js +5 -1
  196. package/components/number-format/number-format.a2ui.json +1 -0
  197. package/components/option-card/option-card.a2ui.json +1 -0
  198. package/components/option-card/option-card.css +1 -1
  199. package/components/otp-input/otp-input.a2ui.json +3 -2
  200. package/components/otp-input/otp-input.css +1 -1
  201. package/components/otp-input/otp-input.yaml +9 -2
  202. package/components/page/page.a2ui.json +13 -0
  203. package/components/page/page.css +2 -2
  204. package/components/page/page.d.ts +1 -1
  205. package/components/page/page.yaml +1 -0
  206. package/components/pagination/pagination.a2ui.json +1 -0
  207. package/components/pagination/pagination.class.js +3 -2
  208. package/components/pagination/pagination.css +1 -1
  209. package/components/pane/pane.a2ui.json +6 -0
  210. package/components/pane/pane.class.js +3 -3
  211. package/components/pane/pane.css +3 -3
  212. package/components/pane/pane.yaml +3 -0
  213. package/components/password-strength/password-strength.a2ui.json +1 -0
  214. package/components/pipeline-status/pipeline-status.a2ui.json +1 -0
  215. package/components/popover/popover.a2ui.json +7 -6
  216. package/components/popover/popover.class.js +2 -2
  217. package/components/popover/popover.d.ts +2 -2
  218. package/components/popover/popover.yaml +4 -4
  219. package/components/preview/preview.a2ui.json +1 -0
  220. package/components/preview/preview.class.js +5 -1
  221. package/components/progress/progress.a2ui.json +47 -24
  222. package/components/progress/progress.class.js +66 -11
  223. package/components/progress/progress.css +44 -26
  224. package/components/progress/progress.d.ts +7 -5
  225. package/components/progress/progress.examples.md +2 -2
  226. package/components/progress/progress.yaml +235 -53
  227. package/components/progress-row/progress-row.a2ui.json +16 -12
  228. package/components/progress-row/progress-row.css +2 -2
  229. package/components/progress-row/progress-row.d.ts +2 -2
  230. package/components/progress-row/progress-row.examples.md +2 -14
  231. package/components/progress-row/progress-row.yaml +28 -36
  232. package/components/qr-code/qr-code.a2ui.json +13 -12
  233. package/components/qr-code/qr-code.class.js +7 -7
  234. package/components/qr-code/qr-code.css +1 -1
  235. package/components/qr-code/qr-code.d.ts +10 -7
  236. package/components/qr-code/qr-code.yaml +18 -12
  237. package/components/radio/radio.a2ui.json +8 -7
  238. package/components/radio/radio.class.js +8 -0
  239. package/components/radio/radio.yaml +3 -3
  240. package/components/radio-group/radio-group.a2ui.json +5 -3
  241. package/components/radio-group/radio-group.class.js +11 -0
  242. package/components/radio-group/radio-group.yaml +7 -1
  243. package/components/range/range.a2ui.json +6 -0
  244. package/components/range/range.class.js +2 -2
  245. package/components/range/range.css +3 -3
  246. package/components/range/range.yaml +3 -0
  247. package/components/rating/rating.a2ui.json +1 -0
  248. package/components/rating/rating.css +1 -1
  249. package/components/relative-time/relative-time.a2ui.json +1 -0
  250. package/components/richtext/richtext.a2ui.json +2 -1
  251. package/components/richtext/richtext.css +3 -3
  252. package/components/richtext/richtext.yaml +1 -1
  253. package/components/row/row.a2ui.json +1 -0
  254. package/components/search/search.a2ui.json +1 -0
  255. package/components/search/search.class.js +4 -1
  256. package/components/section/section.a2ui.json +1 -0
  257. package/components/segment/segment.a2ui.json +21 -10
  258. package/components/segment/segment.css +20 -4
  259. package/components/segment/segment.d.ts +2 -1
  260. package/components/segment/segment.yaml +20 -13
  261. package/components/segmented/segmented.a2ui.json +36 -7
  262. package/components/segmented/segmented.class.js +113 -22
  263. package/components/segmented/segmented.css +3 -0
  264. package/components/segmented/segmented.d.ts +3 -1
  265. package/components/segmented/segmented.yaml +80 -8
  266. package/components/select/select.a2ui.json +18 -13
  267. package/components/select/select.class.js +61 -37
  268. package/components/select/select.css +18 -16
  269. package/components/select/select.yaml +18 -7
  270. package/components/skeleton/skeleton.a2ui.json +8 -7
  271. package/components/skeleton/skeleton.class.js +8 -7
  272. package/components/skeleton/skeleton.css +21 -6
  273. package/components/skeleton/skeleton.d.ts +2 -2
  274. package/components/skeleton/skeleton.examples.md +2 -2
  275. package/components/skeleton/skeleton.yaml +3 -2
  276. package/components/skip-nav/skip-nav.a2ui.json +1 -0
  277. package/components/slider/slider.a2ui.json +6 -0
  278. package/components/slider/slider.class.js +20 -3
  279. package/components/slider/slider.css +2 -2
  280. package/components/slider/slider.yaml +3 -0
  281. package/components/spinner/spinner.a2ui.json +1 -0
  282. package/components/spinner/spinner.css +1 -1
  283. package/components/stack/stack.a2ui.json +1 -0
  284. package/components/stat/stat.a2ui.json +1 -0
  285. package/components/stat/stat.css +3 -3
  286. package/components/stat/stat.js +2 -2
  287. package/components/step-progress/step-progress.a2ui.json +1 -0
  288. package/components/step-progress/step-progress.css +1 -1
  289. package/components/step-progress/step-progress.yaml +1 -1
  290. package/components/stepper/stepper-item.a2ui.json +7 -3
  291. package/components/stepper/stepper-item.yaml +15 -5
  292. package/components/stepper/stepper.a2ui.json +5 -1
  293. package/components/stepper/stepper.class.js +31 -16
  294. package/components/stepper/stepper.css +2 -2
  295. package/components/stepper/stepper.d.ts +1 -1
  296. package/components/stepper/stepper.yaml +4 -2
  297. package/components/stream/stream.a2ui.json +1 -0
  298. package/components/swatch/swatch.a2ui.json +1 -0
  299. package/components/swatch/swatch.css +2 -2
  300. package/components/swiper/swiper.a2ui.json +1 -0
  301. package/components/swiper/swiper.class.js +5 -1
  302. package/components/switch/switch.a2ui.json +12 -11
  303. package/components/switch/switch.css +1 -1
  304. package/components/switch/switch.yaml +6 -6
  305. package/components/table/table.a2ui.json +1 -10
  306. package/components/table/table.class.js +18 -16
  307. package/components/table/table.css +17 -18
  308. package/components/table/table.d.ts +0 -2
  309. package/components/table/table.yaml +0 -9
  310. package/components/table-toolbar/table-toolbar.a2ui.json +1 -0
  311. package/components/table-toolbar/table-toolbar.class.js +38 -19
  312. package/components/table-toolbar/table-toolbar.css +2 -2
  313. package/components/tabs/tab.a2ui.json +9 -0
  314. package/components/tabs/tab.js +4 -0
  315. package/components/tabs/tab.yaml +15 -0
  316. package/components/tabs/tabs.a2ui.json +9 -4
  317. package/components/tabs/tabs.class.js +13 -1
  318. package/components/tabs/tabs.css +9 -1
  319. package/components/tabs/tabs.d.ts +2 -0
  320. package/components/tabs/tabs.yaml +9 -2
  321. package/components/tag/tag.a2ui.json +1 -0
  322. package/components/tag/tag.css +2 -2
  323. package/components/tags-input/tags-input.a2ui.json +22 -17
  324. package/components/tags-input/tags-input.class.js +13 -11
  325. package/components/tags-input/tags-input.css +11 -7
  326. package/components/tags-input/tags-input.d.ts +16 -7
  327. package/components/tags-input/tags-input.examples.md +2 -2
  328. package/components/tags-input/tags-input.yaml +25 -8
  329. package/components/text/text.a2ui.json +6 -5
  330. package/components/text/text.css +10 -5
  331. package/components/text/text.d.ts +2 -2
  332. package/components/text/text.yaml +9 -4
  333. package/components/textarea/textarea.a2ui.json +2 -1
  334. package/components/textarea/textarea.css +1 -1
  335. package/components/textarea/textarea.yaml +1 -1
  336. package/components/theme-provider/theme-provider.a2ui.json +2 -1
  337. package/components/theme-provider/theme-provider.d.ts +5 -3
  338. package/components/theme-provider/theme-provider.yaml +5 -3
  339. package/components/time-picker/time-picker.a2ui.json +1 -0
  340. package/components/time-picker/time-picker.class.js +4 -2
  341. package/components/time-picker/time-picker.css +1 -1
  342. package/components/timeline/timeline-item.a2ui.json +26 -3
  343. package/components/timeline/timeline-item.yaml +22 -7
  344. package/components/timeline/timeline.a2ui.json +4 -0
  345. package/components/timeline/timeline.class.js +29 -18
  346. package/components/timeline/timeline.css +4 -4
  347. package/components/timeline/timeline.d.ts +3 -3
  348. package/components/timeline/timeline.yaml +2 -0
  349. package/components/toast/toast.a2ui.json +10 -3
  350. package/components/toast/toast.yaml +20 -13
  351. package/components/toc/toc.a2ui.json +1 -0
  352. package/components/toc/toc.css +1 -1
  353. package/components/toggle-group/toggle-group.a2ui.json +7 -3
  354. package/components/toggle-group/toggle-group.class.js +43 -12
  355. package/components/toggle-group/toggle-group.css +7 -4
  356. package/components/toggle-group/toggle-group.d.ts +3 -4
  357. package/components/toggle-group/toggle-group.yaml +22 -16
  358. package/components/toggle-group/toggle-option.a2ui.json +8 -4
  359. package/components/toggle-group/toggle-option.yaml +15 -13
  360. package/components/toggle-scheme/toggle-scheme.a2ui.json +2 -1
  361. package/components/toggle-scheme/toggle-scheme.yaml +1 -1
  362. package/components/toolbar/toolbar-group.a2ui.json +1 -0
  363. package/components/toolbar/toolbar.a2ui.json +1 -0
  364. package/components/toolbar/toolbar.class.js +3 -0
  365. package/components/tooltip/tooltip.a2ui.json +1 -0
  366. package/components/tooltip/tooltip.css +1 -1
  367. package/components/tour/tour-step.a2ui.json +4 -0
  368. package/components/tour/tour-step.yaml +2 -0
  369. package/components/tour/tour.a2ui.json +4 -0
  370. package/components/tour/tour.css +2 -2
  371. package/components/tour/tour.yaml +2 -0
  372. package/components/tree/tree-item.a2ui.json +5 -0
  373. package/components/tree/tree-item.yaml +3 -0
  374. package/components/tree/tree.a2ui.json +4 -0
  375. package/components/tree/tree.class.js +2 -1
  376. package/components/tree/tree.css +1 -1
  377. package/components/tree/tree.yaml +2 -0
  378. package/components/upload/upload.a2ui.json +8 -1
  379. package/components/upload/upload.class.js +35 -5
  380. package/components/upload/upload.css +28 -0
  381. package/components/upload/upload.d.ts +16 -0
  382. package/components/upload/upload.yaml +27 -7
  383. package/components/visually-hidden/visually-hidden.a2ui.json +1 -0
  384. package/core/dom.d.ts +11 -0
  385. package/core/dom.js +34 -0
  386. package/core/form.js +7 -0
  387. package/core/index.d.ts +1 -0
  388. package/core/index.js +1 -0
  389. package/core/responsive.js +16 -4
  390. package/core/template.js +2 -1
  391. package/custom-elements.json +442 -502
  392. package/dist/host.min.css +1 -1
  393. package/dist/host.sheet.js +1 -1
  394. package/dist/theme-provider.min.js +5 -5
  395. package/dist/web-components.min.css +1 -1
  396. package/dist/web-components.min.js +91 -104
  397. package/dist/web-components.sheet.js +1 -1
  398. package/package.json +4 -2
  399. package/patterns/conversion-funnel/conversion-funnel.examples.html +15 -15
  400. package/patterns/inline-dialog/inline-dialog.examples.html +2 -2
  401. package/patterns/inline-dialog/inline-dialog.html +4 -0
  402. package/patterns/timezone-selector/timezone-selector.examples.html +1 -1
  403. package/patterns/timezone-selector/timezone-selector.html +2 -2
  404. package/styles/api/text.css +7 -0
  405. package/styles/type/scale.css +6 -7
  406. package/traits/_catalog.json +129 -41
  407. package/traits/anchor-positioning/anchor-positioning.js +1 -0
  408. package/traits/announcer/announcer.js +1 -0
  409. package/traits/arrow-grid-nav/arrow-grid-nav.js +1 -0
  410. package/traits/attention-pulse/attention-pulse.js +1 -0
  411. package/traits/count-up/count-up.js +1 -0
  412. package/traits/define.js +78 -0
  413. package/traits/focus-restore/focus-restore.js +2 -1
  414. package/traits/haptic-feedback/haptic-feedback.js +1 -0
  415. package/traits/input-mask/input-mask.js +1 -0
  416. package/traits/intersection-observer/intersection-observer.js +1 -0
  417. package/traits/layout-animation/layout-animation.js +1 -0
  418. package/traits/noise-texture/noise-texture.js +1 -0
  419. package/traits/resize-observer/resize-observer.js +1 -0
  420. package/traits/scroll-progress/scroll-progress.js +1 -0
  421. package/traits/snap-to-grid/snap-to-grid.js +1 -0
  422. package/traits/sound-feedback/sound-feedback.js +1 -0
  423. package/traits/spring-animate/spring-animate.js +1 -0
  424. package/traits/validation/validation.js +1 -0
@@ -11,8 +11,14 @@
11
11
  /* -- Indeterminate motion -- */
12
12
  --progress-shimmer-duration: 1.5s;
13
13
  --progress-shimmer-easing: ease-in-out;
14
- --progress-spin-duration: 0.6s;
15
- --progress-spin-easing: linear;
14
+
15
+ /* -- Row layout (label present — absorbed progress-row-ui) -- */
16
+ --progress-row-gap: var(--a-space-2);
17
+ --progress-row-column-gap: var(--a-space-2);
18
+ --progress-row-label-size: var(--a-ui-size);
19
+ --progress-row-label-fg: var(--md-sys-color-neutral-on-surface);
20
+ --progress-row-meta-size: var(--a-ui-sm);
21
+ --progress-row-meta-fg: var(--a-fg-muted);
16
22
  }
17
23
 
18
24
  :scope {
@@ -20,11 +26,14 @@
20
26
  box-sizing: border-box;
21
27
  display: block;
22
28
  width: 100%;
29
+ text-align: start; /* §text-align-reset — row-layout label/meta shouldn't inherit centered ancestors */
23
30
  }
24
31
 
25
- /* ── Bar variant ── */
26
-
27
- [slot="track"] {
32
+ /* Track is the sole direct-child <div> (fill nests inside it) — tag +
33
+ ancestor selects it; slot="track" stays decorative metadata only
34
+ (AGENTS.md: position by tag/ancestor/DOM order, never [slot=]). */
35
+ :scope > div {
36
+ grid-area: bar; /* no-op unless the row-layout mode below is active */
28
37
  width: 100%;
29
38
  height: var(--progress-height);
30
39
  border-radius: var(--progress-radius);
@@ -66,31 +75,40 @@
66
75
  100% { background-position: -200% 0; }
67
76
  }
68
77
 
69
- /* ── Spinner variant ── */
78
+ /* ── Row layout label present (Sanctioned Mode Attribute,
79
+ absorbed from progress-row-ui; component-token-contract.md) ──
80
+ label/meta are both direct-child <span>s, appended in that order
81
+ (progress.class.js#connected) — position by tag + DOM order, never
82
+ [slot=] (AGENTS.md: slot= stays decorative metadata only). */
70
83
 
71
- :scope[variant="spinner"] {
72
- display: inline-flex;
73
- align-items: center;
74
- justify-content: center;
75
- width: 1.5em;
76
- height: 1.5em;
84
+ :scope > span:first-of-type {
85
+ grid-area: label;
86
+ font-size: var(--progress-row-label-size);
87
+ color: var(--progress-row-label-fg);
88
+ line-height: var(--a-font-leading-normal);
89
+ min-width: 0;
90
+ overflow: hidden;
91
+ text-overflow: ellipsis;
92
+ white-space: nowrap;
77
93
  }
78
94
 
79
- :scope[variant="spinner"] [slot="track"] { display: none; }
80
-
81
- :scope[variant="spinner"]::after {
82
- content: "";
83
- box-sizing: border-box;
84
- display: block;
85
- width: 100%;
86
- height: 100%;
87
- border: 2px solid var(--progress-fill);
88
- border-top-color: transparent;
89
- border-radius: var(--progress-radius);
90
- animation: progress-spin var(--progress-spin-duration) var(--progress-spin-easing) infinite;
95
+ :scope > span:last-of-type {
96
+ grid-area: meta;
97
+ font-size: var(--progress-row-meta-size);
98
+ color: var(--progress-row-meta-fg);
99
+ font-variant-numeric: tabular-nums;
100
+ justify-self: end;
101
+ line-height: var(--a-font-leading-normal);
91
102
  }
92
103
 
93
- @keyframes progress-spin {
94
- to { transform: rotate(360deg); }
104
+ :scope[label]:not([label=""]) {
105
+ display: grid;
106
+ grid-template-columns: minmax(0, 1fr) auto;
107
+ grid-template-areas:
108
+ "label meta"
109
+ "bar bar";
110
+ column-gap: var(--progress-row-column-gap);
111
+ row-gap: var(--progress-row-gap);
112
+ align-items: baseline;
95
113
  }
96
114
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `<progress-ui>` — Progress indicator with bar (default) or spinner variant. Value < 0 marks indeterminate state showing animated activity instead of a fill. Use inside <progress-row-ui> for labeled task lists or standalone for global loading indicators; for percent-complete inline displays use <stat-ui> instead.
2
+ * `<progress-ui>` — Linear progress bar indicator. Value < 0 marks indeterminate state showing animated activity instead of a fill. Bar-only for circular loading indicators use <spinner-ui> instead (the former `variant="spinner"` render mode was retired; spinner-ui owns circular). Set `label` for a labeled task-list row (label + bar + optional `meta` text in one row, e.g. storage quotas, capacity breakdowns) — absorbed <progress-row-ui>'s row layout directly; that component is now a deprecated alias. Omit `label` for a standalone bar (global loading indicators); for percent-complete inline displays use <stat-ui> instead.
3
3
  *
4
4
  * @see https://ui-kit.exe.xyz/site/components/progress
5
5
  *
@@ -13,8 +13,10 @@
13
13
  import { UIElement } from '../../core/element.js';
14
14
 
15
15
  export class UIProgress extends UIElement {
16
- /** Current progress. 0..max (or 0..1 when max omitted). null = indeterminate (legacy -1 accepted for back-compat). */
17
- value: number;
18
- /** Render mode `bar` (default) or `spinner`. For fill color set the `--progress-fill` token (defaults to `--md-sys-color-primary`); there is no variant-as-color (use the token). */
19
- variant: 'bar' | 'spinner';
16
+ /** Left-hand label text. Presence (non-empty) switches to the labeled row layout — label + bar + optional `meta` in one row; absent = plain bar. Sanctioned Mode Attribute (component-token-contract.md). */
17
+ label: string;
18
+ /** Right-hand meta text shown in row layout (e.g. '32 GB', '4.2k / 10k'). No visible effect without `label`. */
19
+ meta: string;
20
+ /** Current progress, 0-100 (clamped). null = indeterminate (legacy -1 accepted for back-compat). */
21
+ value: number | null;
20
22
  }
@@ -12,8 +12,8 @@
12
12
  <progress-ui></progress-ui>
13
13
  ```
14
14
 
15
- ## variant
15
+ ## Sizes
16
16
 
17
17
  ```html
18
- <progress-ui value="60" variant="bar"></progress-ui>
18
+ <progress-ui value="60" style="width:100px"></progress-ui>
19
19
  ```
@@ -3,34 +3,41 @@ name: UIProgress
3
3
  tag: progress-ui
4
4
  status: stable
5
5
  component: Progress
6
- category: display
6
+ category: feedback
7
7
  version: 1
8
8
  description: >-
9
- Progress indicator with bar (default) or spinner variant. Value < 0
10
- marks indeterminate state showing animated activity instead of a fill.
11
- Use inside <progress-row-ui> for labeled task lists or standalone for
12
- global loading indicators; for percent-complete inline displays use
13
- <stat-ui> instead.
9
+ Linear progress bar indicator. Value < 0 marks indeterminate state
10
+ showing animated activity instead of a fill. Bar-only — for circular
11
+ loading indicators use <spinner-ui> instead (the former
12
+ `variant="spinner"` render mode was retired; spinner-ui owns circular).
13
+ Set `label` for a labeled task-list row (label + bar + optional `meta`
14
+ text in one row, e.g. storage quotas, capacity breakdowns) — absorbed
15
+ <progress-row-ui>'s row layout directly; that component is now
16
+ a deprecated alias. Omit `label` for a standalone bar (global loading
17
+ indicators); for percent-complete inline displays use <stat-ui> instead.
14
18
  props:
15
19
  value:
16
- description: Current progress. 0..max (or 0..1 when max omitted). null = indeterminate (legacy -1 accepted for back-compat).
20
+ description: Current progress, 0-100 (clamped). null = indeterminate (legacy -1 accepted for back-compat).
17
21
  type: number
18
22
  default: null
19
- variant:
20
- description: Render mode `bar` (default) or `spinner`. For fill color set
21
- the `--progress-fill` token (defaults to `--md-sys-color-primary`); there is no
22
- variant-as-color (use the token).
23
+ label:
24
+ description: Left-hand label text. Presence (non-empty) switches to the labeled row layout — label + bar + optional `meta` in one row; absent = plain bar. Sanctioned Mode Attribute (component-token-contract.md).
23
25
  type: string
24
- default: bar
25
- enum:
26
- - bar
27
- - spinner
26
+ default: ""
27
+ meta:
28
+ description: Right-hand meta text shown in row layout (e.g. '32 GB', '4.2k / 10k'). No visible effect without `label`.
29
+ type: string
30
+ default: ""
28
31
  events: {}
29
- slots:
32
+ parts:
30
33
  fill:
31
- description: Bar fill element inside track
34
+ description: Bar fill element inside track — template-owned anatomy part, not a light-DOM insertion point (gh#1447)
32
35
  track:
33
- description: Bar track container
36
+ description: Bar track container — template-owned anatomy part, not a light-DOM insertion point (gh#1447)
37
+ label:
38
+ description: "Label region — row-layout left-hand text (active when `label` is set)."
39
+ meta:
40
+ description: "Meta region — row-layout right-hand text (active when `label` is set)."
34
41
  states:
35
42
  - name: idle
36
43
  description: Default, ready for interaction.
@@ -40,46 +47,220 @@ a2ui:
40
47
  rules:
41
48
  - rule: 'Use for in-progress task feedback with known or indeterminate state. Value < 0 = indeterminate animation.'
42
49
  reason: 'Same primitive for both modes; consumer controls via value.'
43
- - rule: 'For labeled task lists (multiple progress bars with row labels), use <progress-row-ui> instead.'
44
- reason: 'Progress-row composes <progress-ui> + label + value display.'
45
- - rule: 'Spinner variant (variant=''spinner'') for circular loading indicators; bar variant default for linear.'
46
- reason: 'Two visual modes.'
47
- anti_patterns: []
50
+ - rule: 'For labeled task lists (multiple progress bars with row labels, e.g. storage/capacity breakdowns), set `label` (and optional `meta`) directly on <progress-ui> — no separate component needed.'
51
+ reason: 'label present activates the row layout in-place (absorbed from <progress-row-ui>, gh#1363 C4).'
52
+ - rule: 'For circular loading indicators, use <spinner-ui> instead <progress-ui> is bar-only.'
53
+ reason: 'Retired the former variant=''spinner'' render mode; spinner-ui owns circular (arc/ring/dots/knight).'
54
+ anti_patterns:
55
+ - wrong: |
56
+ {"component": "Progress", "variant": "spinner"}
57
+ why: |
58
+ Progress no longer has a `variant` prop — the spinner render mode
59
+ was retired. Progress is bar-only now.
60
+ fix: |
61
+ {"component": "Spinner"}
62
+ - wrong: |
63
+ {"component": "ProgressRow", "label": "CPU", "value": 92}
64
+ why: |
65
+ ProgressRow is deprecated — its label+row layout was
66
+ absorbed into Progress directly.
67
+ fix: |
68
+ {"component": "Progress", "label": "CPU", "value": 92}
48
69
  examples:
49
70
  - name: dashboard
50
71
  description: Two-column dashboard with quick actions (buttons) and system status (progress bars).
51
- a2ui: "[\n {\n \"id\": \"root\",\n \"component\": \"Grid\",\n \"children\": [\n \"c1\",\n \"c2\"\n \
52
- \ ],\n \"columns\": \"2\"\n },\n {\n \"id\": \"c1\",\n \"component\": \"Card\",\n \"children\": [\n \
53
- \ \"c1h\",\n \"c1s\"\n ]\n },\n {\n \"id\": \"c1h\",\n \"component\": \"Header\",\n \"children\"\
54
- : [\n \"c1t\"\n ]\n },\n {\n \"id\": \"c1t\",\n \"component\": \"Text\",\n \"slot\": \"heading\",\n\
55
- \ \"textContent\": \"Quick Actions\",\n \"variant\": \"section\"\n },\n {\n \"id\": \"c1s\",\n \"component\"\
56
- : \"Section\",\n \"children\": [\n \"c1col\"\n ]\n },\n {\n \"id\": \"c1col\",\n \"component\": \"\
57
- Column\",\n \"children\": [\n \"b1\",\n \"b2\",\n \"b3\"\n ]\n },\n {\n \"id\": \"b1\",\n \
58
- \ \"component\": \"Button\",\n \"text\": \"New Project\",\n \"variant\": \"solid\",\n \"iconLeading\": \"plus\"\
59
- \n },\n {\n \"id\": \"b2\",\n \"component\": \"Button\",\n \"text\": \"Invite Member\",\n \"variant\": \"\
60
- outline\",\n \"iconLeading\": \"users\"\n },\n {\n \"id\": \"b3\",\n \"component\": \"Button\",\n \"text\"\
61
- : \"View Reports\",\n \"variant\": \"ghost\",\n \"iconLeading\": \"chart\"\n },\n {\n \"id\": \"c2\",\n \
62
- \ \"component\": \"Card\",\n \"children\": [\n \"c2h\",\n \"c2s\"\n ]\n },\n {\n \"id\": \"c2h\"\
63
- ,\n \"component\": \"Header\",\n \"children\": [\n \"c2t\"\n ]\n },\n {\n \"id\": \"c2t\",\n \"\
64
- component\": \"Text\",\n \"slot\": \"heading\",\n \"textContent\": \"System Status\",\n \"variant\": \"section\"\
65
- \n },\n {\n \"id\": \"c2s\",\n \"component\": \"Section\",\n \"children\": [\n \"c2col\"\n ]\n },\n\
66
- \ {\n \"id\": \"c2col\",\n \"component\": \"Column\",\n \"children\": [\n \"p1\",\n \"p2\",\n \
67
- \ \"p3\"\n ]\n },\n {\n \"id\": \"p1\",\n \"component\": \"Progress\",\n \"value\": \"92\",\n \"label\"\
68
- : \"CPU\"\n },\n {\n \"id\": \"p2\",\n \"component\": \"Progress\",\n \"value\": \"67\",\n \"label\": \"\
69
- Memory\"\n },\n {\n \"id\": \"p3\",\n \"component\": \"Progress\",\n \"value\": \"34\",\n \"label\": \"\
70
- Disk\"\n }\n]"
72
+ a2ui: >-
73
+ [
74
+ {
75
+ "id": "root",
76
+ "component": "Grid",
77
+ "children": [
78
+ "c1",
79
+ "c2"
80
+ ],
81
+ "columns": "2"
82
+ },
83
+ {
84
+ "id": "c1",
85
+ "component": "Card",
86
+ "children": [
87
+ "c1h",
88
+ "c1s"
89
+ ]
90
+ },
91
+ {
92
+ "id": "c1h",
93
+ "component": "Header",
94
+ "children": [
95
+ "c1t"
96
+ ]
97
+ },
98
+ {
99
+ "id": "c1t",
100
+ "component": "Text",
101
+ "slot": "heading",
102
+ "textContent": "Quick Actions",
103
+ "variant": "section"
104
+ },
105
+ {
106
+ "id": "c1s",
107
+ "component": "Section",
108
+ "children": [
109
+ "c1col"
110
+ ]
111
+ },
112
+ {
113
+ "id": "c1col",
114
+ "component": "Column",
115
+ "children": [
116
+ "b1",
117
+ "b2",
118
+ "b3"
119
+ ]
120
+ },
121
+ {
122
+ "id": "b1",
123
+ "component": "Button",
124
+ "text": "New Project",
125
+ "variant": "solid",
126
+ "icon": "plus"
127
+ },
128
+ {
129
+ "id": "b2",
130
+ "component": "Button",
131
+ "text": "Invite Member",
132
+ "variant": "outline",
133
+ "icon": "users"
134
+ },
135
+ {
136
+ "id": "b3",
137
+ "component": "Button",
138
+ "text": "View Reports",
139
+ "variant": "ghost",
140
+ "icon": "chart"
141
+ },
142
+ {
143
+ "id": "c2",
144
+ "component": "Card",
145
+ "children": [
146
+ "c2h",
147
+ "c2s"
148
+ ]
149
+ },
150
+ {
151
+ "id": "c2h",
152
+ "component": "Header",
153
+ "children": [
154
+ "c2t"
155
+ ]
156
+ },
157
+ {
158
+ "id": "c2t",
159
+ "component": "Text",
160
+ "slot": "heading",
161
+ "textContent": "System Status",
162
+ "variant": "section"
163
+ },
164
+ {
165
+ "id": "c2s",
166
+ "component": "Section",
167
+ "children": [
168
+ "c2col"
169
+ ]
170
+ },
171
+ {
172
+ "id": "c2col",
173
+ "component": "Column",
174
+ "children": [
175
+ "p1",
176
+ "p2",
177
+ "p3"
178
+ ]
179
+ },
180
+ {
181
+ "id": "p1",
182
+ "component": "Progress",
183
+ "value": 92,
184
+ "label": "CPU"
185
+ },
186
+ {
187
+ "id": "p2",
188
+ "component": "Progress",
189
+ "value": 67,
190
+ "label": "Memory"
191
+ },
192
+ {
193
+ "id": "p3",
194
+ "component": "Progress",
195
+ "value": 34,
196
+ "label": "Disk"
197
+ }
198
+ ]
71
199
  - name: onboarding-checklist
72
200
  description: User onboarding checklist with progress and checkbox items.
73
- a2ui: "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"hdr\",\n \"sec\"\n\
74
- \ ]\n },\n {\n \"id\": \"hdr\",\n \"component\": \"Header\",\n \"children\": [\n \"title\"\n ]\n\
75
- \ },\n {\n \"id\": \"title\",\n \"component\": \"Text\",\n \"slot\": \"heading\",\n \"textContent\": \"\
76
- Getting Started\"\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"col\"\
77
- \n ]\n },\n {\n \"id\": \"col\",\n \"component\": \"Column\",\n \"children\": [\n \"prog\",\n \
78
- \ \"c1\",\n \"c2\",\n \"c3\"\n ],\n \"gap\": \"3\"\n },\n {\n \"id\": \"prog\",\n \"component\"\
79
- : \"Progress\",\n \"value\": 33,\n \"max\": 100\n },\n {\n \"id\": \"c1\",\n \"component\": \"CheckBox\"\
80
- ,\n \"label\": \"Complete your profile\",\n \"checked\": true\n },\n {\n \"id\": \"c2\",\n \"component\"\
81
- : \"CheckBox\",\n \"label\": \"Invite team members\"\n },\n {\n \"id\": \"c3\",\n \"component\": \"CheckBox\"\
82
- ,\n \"label\": \"Create your first project\"\n }\n]"
201
+ a2ui: >-
202
+ [
203
+ {
204
+ "id": "root",
205
+ "component": "Card",
206
+ "children": [
207
+ "hdr",
208
+ "sec"
209
+ ]
210
+ },
211
+ {
212
+ "id": "hdr",
213
+ "component": "Header",
214
+ "children": [
215
+ "title"
216
+ ]
217
+ },
218
+ {
219
+ "id": "title",
220
+ "component": "Text",
221
+ "slot": "heading",
222
+ "textContent": "Getting Started"
223
+ },
224
+ {
225
+ "id": "sec",
226
+ "component": "Section",
227
+ "children": [
228
+ "col"
229
+ ]
230
+ },
231
+ {
232
+ "id": "col",
233
+ "component": "Column",
234
+ "children": [
235
+ "prog",
236
+ "c1",
237
+ "c2",
238
+ "c3"
239
+ ],
240
+ "gap": "3"
241
+ },
242
+ {
243
+ "id": "prog",
244
+ "component": "Progress",
245
+ "value": 33
246
+ },
247
+ {
248
+ "id": "c1",
249
+ "component": "CheckBox",
250
+ "label": "Complete your profile",
251
+ "checked": true
252
+ },
253
+ {
254
+ "id": "c2",
255
+ "component": "CheckBox",
256
+ "label": "Invite team members"
257
+ },
258
+ {
259
+ "id": "c3",
260
+ "component": "CheckBox",
261
+ "label": "Create your first project"
262
+ }
263
+ ]
83
264
  keywords:
84
265
  - progress
85
266
  - monitor
@@ -175,3 +356,4 @@ related:
175
356
  - button
176
357
  - check-box
177
358
  - upload
359
+ - spinner
@@ -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/ProgressRow.json",
4
4
  "title": "ProgressRow",
5
- "description": "Inline labeled progress row with label, progress bar, and meta text. Used for storage quotas, capacity breakdowns, usage indicators.",
5
+ "description": "DEPRECATED (gh#1363 C4) — absorbed into <progress-ui>: set `label` (and optional `meta`) directly on <progress-ui> instead, which activates the identical row layout in place. progress-row-ui keeps working (still composes <progress-ui> internally, unchanged behavior) for existing back-compat markup, but is no longer taught or generated for new work. Was: inline labeled progress row with label, progress bar, and meta text storage quotas, capacity breakdowns, usage indicators.",
6
6
  "type": "object",
7
7
  "allOf": [
8
8
  {
@@ -28,7 +28,10 @@
28
28
  },
29
29
  "value": {
30
30
  "description": "Progress value 0-100 (null = indeterminate; legacy -1 accepted for back-compat)",
31
- "type": "number",
31
+ "type": [
32
+ "number",
33
+ "null"
34
+ ],
32
35
  "default": null
33
36
  },
34
37
  "variant": {
@@ -48,19 +51,19 @@
48
51
  ],
49
52
  "unevaluatedProperties": false,
50
53
  "x-adiaui": {
51
- "anti_patterns": [],
52
- "category": "data",
54
+ "anti_patterns": [
55
+ {
56
+ "fix": "{\"component\": \"Progress\", \"label\": \"CPU\", \"value\": 92}\n",
57
+ "why": "ProgressRow is deprecated — its row layout was absorbed\ninto Progress directly.\n",
58
+ "wrong": "{\"component\": \"ProgressRow\", \"label\": \"CPU\", \"value\": 92}\n"
59
+ }
60
+ ],
61
+ "category": "feedback",
53
62
  "composes": [
54
63
  "progress-ui"
55
64
  ],
56
65
  "events": {},
57
- "examples": [
58
- {
59
- "description": "Basic ProgressRow usage",
60
- "a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Card\",\n \"children\": [\n \"sec\"\n ]\n },\n {\n \"id\": \"sec\",\n \"component\": \"Section\",\n \"children\": [\n \"comp\"\n ]\n },\n {\n \"id\": \"comp\",\n \"component\": \"ProgressRow\",\n \"label\": \"Example ProgressRow\"\n }\n]",
61
- "name": "basic-progress-row"
62
- }
63
- ],
66
+ "examples": [],
64
67
  "keywords": [
65
68
  "progressrow",
66
69
  "progress-row",
@@ -68,6 +71,7 @@
68
71
  "row"
69
72
  ],
70
73
  "name": "UIProgressRow",
74
+ "parts": {},
71
75
  "related": [
72
76
  "Progress",
73
77
  "StepProgress",
@@ -87,7 +91,7 @@
87
91
  "name": "idle"
88
92
  }
89
93
  ],
90
- "status": "stable",
94
+ "status": "deprecated",
91
95
  "synonyms": {
92
96
  "progress-row": [
93
97
  "task-row",
@@ -31,7 +31,7 @@
31
31
  grid-area: label;
32
32
  font-size: var(--progress-row-label-size);
33
33
  color: var(--progress-row-label-fg);
34
- line-height: 1.4;
34
+ line-height: var(--a-font-leading-normal);
35
35
  min-width: 0;
36
36
  overflow: hidden;
37
37
  text-overflow: ellipsis;
@@ -44,7 +44,7 @@
44
44
  color: var(--progress-row-meta-fg);
45
45
  font-variant-numeric: tabular-nums;
46
46
  justify-self: end;
47
- line-height: 1.4;
47
+ line-height: var(--a-font-leading-normal);
48
48
  }
49
49
 
50
50
  progress-ui {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `<progress-row-ui>` — Inline labeled progress row with label, progress bar, and meta text. Used for storage quotas, capacity breakdowns, usage indicators.
2
+ * `<progress-row-ui>` — DEPRECATED (gh#1363 C4) — absorbed into <progress-ui>: set `label` (and optional `meta`) directly on <progress-ui> instead, which activates the identical row layout in place. progress-row-ui keeps working (still composes <progress-ui> internally, unchanged behavior) for existing back-compat markup, but is no longer taught or generated for new work. Was: inline labeled progress row with label, progress bar, and meta text storage quotas, capacity breakdowns, usage indicators.
3
3
  *
4
4
  * @see https://ui-kit.exe.xyz/site/components/progress-row
5
5
  *
@@ -18,7 +18,7 @@ export class UIProgressRow extends UIElement {
18
18
  /** Right-hand meta text (e.g. '32 GB', '4.2k / 10k') */
19
19
  meta: string;
20
20
  /** Progress value 0-100 (null = indeterminate; legacy -1 accepted for back-compat) */
21
- value: number;
21
+ value: number | null;
22
22
  /** Color variant for the progress fill */
23
23
  variant: 'default' | 'success' | 'warning' | 'danger';
24
24
  }
@@ -1,19 +1,7 @@
1
1
  # progress-row — Examples
2
2
 
3
- ## Basic
3
+ ## Basic (back-compat)
4
4
 
5
5
  ```html
6
- <progress-row-ui label="Storage" value="42"></progress-row-ui>
7
- ```
8
-
9
- ## With Meta
10
-
11
- ```html
12
- <progress-row-ui label="Documents" value="65" meta="6.5 GB / 10 GB"></progress-row-ui>
13
- ```
14
-
15
- ## Variants
16
-
17
- ```html
18
- <progress-row-ui label="Healthy" value="30" meta="30%" variant="success"></progress-row-ui>
6
+ <progress-row-ui label="Storage" value="42" meta="42 GB / 100 GB"></progress-row-ui>
19
7
  ```