@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
@@ -5,7 +5,7 @@ name: UICheck
5
5
  tag: check-ui
6
6
  status: stable
7
7
  component: Check
8
- category: layout
8
+ category: input
9
9
  version: 1
10
10
  description: |
11
11
  Checkbox primitive — the host IS the control (per ADR-0025, no
@@ -66,11 +66,11 @@ props:
66
66
  events:
67
67
  change:
68
68
  description: Fired when checked state changes
69
- slots:
69
+ parts:
70
70
  box:
71
- description: Visual checkbox indicator
71
+ description: Visual checkbox indicator — template-owned anatomy part, not a light-DOM insertion point
72
72
  label:
73
- description: Label text beside the checkbox
73
+ description: Label text beside the checkbox — set via the `label` attribute (rendered by CSS `attr(label)` on `::after`, exposed as `aria-label`); template-owned, not a light-DOM insertion point (gh#1435, gh#1447)
74
74
  states:
75
75
  - name: idle
76
76
  description: Default, ready for interaction.
@@ -150,6 +150,7 @@
150
150
  "developer"
151
151
  ],
152
152
  "name": "UICode",
153
+ "parts": {},
153
154
  "related": [
154
155
  "badge",
155
156
  "button"
@@ -107,9 +107,9 @@
107
107
  }
108
108
 
109
109
  & > header [slot="label"] {
110
- font-weight: 500;
110
+ font-weight: var(--a-weight-medium);
111
111
  text-transform: uppercase;
112
- letter-spacing: 0.05em;
112
+ letter-spacing: var(--a-font-tracking-wide);
113
113
  }
114
114
 
115
115
  /* Copy button — ghost style */
@@ -141,7 +141,7 @@
141
141
  overflow-x: auto;
142
142
  font-family: var(--code-font);
143
143
  font-size: var(--code-font-size);
144
- line-height: 1.5;
144
+ line-height: var(--a-font-leading-relaxed);
145
145
  scrollbar-width: none;
146
146
  }
147
147
  & > pre::-webkit-scrollbar {
@@ -312,7 +312,7 @@
312
312
  color: var(--code-fg);
313
313
  font-family: var(--code-font);
314
314
  font-size: var(--code-font-size);
315
- line-height: 1.5;
315
+ line-height: var(--a-font-leading-relaxed);
316
316
  }
317
317
 
318
318
  :scope .cm-scroller {
@@ -377,7 +377,7 @@
377
377
 
378
378
  /* Syntax highlight — one rule per token role (see core/_cm-theme.js) */
379
379
  :scope .tok-comment { color: var(--code-tok-comment); font-style: italic; }
380
- :scope .tok-keyword { color: var(--code-tok-keyword); font-weight: 500; }
380
+ :scope .tok-keyword { color: var(--code-tok-keyword); font-weight: var(--a-weight-medium); }
381
381
  :scope .tok-string { color: var(--code-tok-string); }
382
382
  :scope .tok-number { color: var(--code-tok-number); }
383
383
  :scope .tok-boolean { color: var(--code-tok-boolean); }
@@ -385,7 +385,7 @@
385
385
  :scope .tok-punctuation { color: var(--code-tok-punctuation); }
386
386
  :scope .tok-function { color: var(--code-tok-function); }
387
387
  :scope .tok-variable { color: var(--code-tok-variable); }
388
- :scope .tok-type { color: var(--code-tok-type); font-weight: 500; }
388
+ :scope .tok-type { color: var(--code-tok-type); font-weight: var(--a-weight-medium); }
389
389
  :scope .tok-property { color: var(--code-tok-property); }
390
390
  :scope .tok-tag { color: var(--code-tok-tag); }
391
391
  :scope .tok-attribute { color: var(--code-tok-attribute); }
@@ -63,6 +63,7 @@
63
63
  "col"
64
64
  ],
65
65
  "name": "UICol",
66
+ "parts": {},
66
67
  "related": [
67
68
  "avatar",
68
69
  "input",
@@ -175,6 +175,7 @@
175
175
  "compact"
176
176
  ],
177
177
  "name": "UIColorInput",
178
+ "parts": {},
178
179
  "related": [
179
180
  "color-picker",
180
181
  "popover",
@@ -112,6 +112,7 @@
112
112
  "picker"
113
113
  ],
114
114
  "name": "UIColorPicker",
115
+ "parts": {},
115
116
  "related": [
116
117
  "grid",
117
118
  "button"
@@ -138,8 +138,8 @@
138
138
  "wrong": "{\"component\": \"Combobox\", \"value\": \"xx\", \"options\": [{\"value\": \"us\", \"label\": \"United States\"}]}\n"
139
139
  },
140
140
  {
141
- "fix": "{\"component\": \"SegmentedControl\", \"options\": [{\"value\": \"a\", \"label\": \"A\"}, {\"value\": \"b\", \"label\": \"B\"}]}\n",
142
- "why": "Only 2 options. Combobox is overkill — use SegmentedControl or Radio.\n",
141
+ "fix": "{\"component\": \"Segmented\", \"children\": [{\"component\": \"Segment\", \"value\": \"a\", \"text\": \"A\"}, {\"component\": \"Segment\", \"value\": \"b\", \"text\": \"B\"}]}\n",
142
+ "why": "Only 2 options. Combobox is overkill — use Segmented or Radio.\n",
143
143
  "wrong": "{\"component\": \"Combobox\", \"options\": [{\"value\": \"a\", \"label\": \"A\"}, {\"value\": \"b\", \"label\": \"B\"}]}\n"
144
144
  },
145
145
  {
@@ -246,6 +246,7 @@
246
246
  "member-picker"
247
247
  ],
248
248
  "name": "UICombobox",
249
+ "parts": {},
249
250
  "related": [
250
251
  "select",
251
252
  "search",
@@ -149,7 +149,7 @@
149
149
  color: var(--combobox-fg);
150
150
  font: inherit;
151
151
  font-size: var(--combobox-font-size);
152
- line-height: 1.4;
152
+ line-height: var(--a-font-leading-normal);
153
153
  white-space: nowrap;
154
154
  overflow: hidden;
155
155
  /* Positioning context for the [data-empty]::before placeholder pseudo
@@ -322,7 +322,7 @@ combobox-ui [data-listbox] [role="group"] [data-group-label] {
322
322
  font-weight: var(--a-ui-weight);
323
323
  color: var(--a-ui-text-muted);
324
324
  text-transform: uppercase;
325
- letter-spacing: 0.05em;
325
+ letter-spacing: var(--a-font-tracking-wide);
326
326
  white-space: nowrap;
327
327
  }
328
328
 
@@ -297,9 +297,9 @@ anti_patterns:
297
297
  - wrong: |
298
298
  {"component": "Combobox", "options": [{"value": "a", "label": "A"}, {"value": "b", "label": "B"}]}
299
299
  why: |
300
- Only 2 options. Combobox is overkill — use SegmentedControl or Radio.
300
+ Only 2 options. Combobox is overkill — use Segmented or Radio.
301
301
  fix: |
302
- {"component": "SegmentedControl", "options": [{"value": "a", "label": "A"}, {"value": "b", "label": "B"}]}
302
+ {"component": "Segmented", "children": [{"component": "Segment", "value": "a", "text": "A"}, {"component": "Segment", "value": "b", "text": "B"}]}
303
303
  - wrong: |
304
304
  {"component": "Combobox", "multiple": true, "options": [...]}
305
305
  why: |
@@ -92,6 +92,17 @@
92
92
  "keybinding"
93
93
  ],
94
94
  "name": "UICommand",
95
+ "parts": {
96
+ "footer": {
97
+ "description": "Keyboard hint bar — template-owned anatomy part, not a light-DOM insertion point (gh#1454). render() unconditionally stamps a fixed `<footer>` with hard-coded kbd hints; no consumer override path exists in source."
98
+ },
99
+ "input": {
100
+ "description": "The auto-stamped search field — a contenteditable=\"plaintext-only\" span carrying role=\"combobox\" (per ADR-0025/ADR-0055; no native <input>). Internal only; not consumer-slottable — template-owned anatomy part, not a light-DOM insertion point (gh#1454)."
101
+ },
102
+ "list": {
103
+ "description": "Container for command items and groups — template-owned anatomy part, not a light-DOM insertion point (gh#1454). render() always populates it wholesale from `.options`/parsed `<option>` children; any pre-existing content is discarded, not adopted."
104
+ }
105
+ },
95
106
  "related": [
96
107
  "AdminCommand",
97
108
  "Menu",
@@ -100,16 +111,7 @@
100
111
  ],
101
112
  "slots": {
102
113
  "empty": {
103
- "description": "Empty state shown when no items match"
104
- },
105
- "footer": {
106
- "description": "Keyboard hint bar"
107
- },
108
- "input": {
109
- "description": "The auto-stamped search field — a contenteditable=\"plaintext-only\" span carrying role=\"combobox\" (per ADR-0025/ADR-0055; no native <input>). Internal only; not consumer-slottable."
110
- },
111
- "list": {
112
- "description": "Container for command items and groups"
114
+ "description": "Empty state shown when no items match. Consumer-supplied [slot=\"empty\"] content is captured before the internal shell renders and re-inserted — a genuine light-DOM insertion point."
113
115
  }
114
116
  },
115
117
  "states": [
@@ -13,6 +13,7 @@
13
13
 
14
14
  import { UIElement } from '../../core/element.js';
15
15
  import { logicalSlotted } from '../../core/logical-children.js';
16
+ import { isElement } from '../../core/dom.js';
16
17
 
17
18
  function escapeHTML(s) {
18
19
  return String(s).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
@@ -69,14 +70,14 @@ export class UICommand extends UIElement {
69
70
  static #RECENTS_MAX = 3;
70
71
 
71
72
  #onListClick = (e) => {
72
- const el = e.target instanceof Element ? e.target.closest('[role="option"]:not([aria-disabled])') : null;
73
+ const el = isElement(e.target) ? e.target.closest('[role="option"]:not([aria-disabled])') : null;
73
74
  if (!el) return;
74
75
  const item = this.#itemByEl.get(el);
75
76
  if (item) this.#select(item);
76
77
  };
77
78
 
78
79
  #onListPointerOver = (e) => {
79
- const el = e.target instanceof Element ? e.target.closest('[role="option"]:not([aria-disabled])') : null;
80
+ const el = isElement(e.target) ? e.target.closest('[role="option"]:not([aria-disabled])') : null;
80
81
  if (!el) return;
81
82
  const idx = parseInt(el.dataset.idx);
82
83
  if (Number.isFinite(idx) && idx !== this.#activeIdx) this.#activate(idx);
@@ -111,7 +111,7 @@
111
111
  color: var(--command-fg);
112
112
  font-family: var(--command-font-family, var(--a-font-family-ui));
113
113
  font-size: var(--command-input-font-size);
114
- line-height: 1.4;
114
+ line-height: var(--a-font-leading-normal);
115
115
  padding: 0;
116
116
  white-space: nowrap;
117
117
  overflow: hidden;
@@ -216,7 +216,7 @@
216
216
  font-weight: var(--command-group-font-weight);
217
217
  color: var(--command-group-fg);
218
218
  text-transform: uppercase;
219
- letter-spacing: 0.05em;
219
+ letter-spacing: var(--a-font-tracking-wide);
220
220
  white-space: nowrap;
221
221
  }
222
222
 
@@ -255,7 +255,7 @@
255
255
  border-radius: var(--command-kbd-radius);
256
256
  font-family: inherit;
257
257
  font-size: inherit;
258
- line-height: 1.6;
258
+ line-height: var(--a-font-leading-loose);
259
259
  color: var(--command-kbd-fg);
260
260
  background: var(--command-kbd-bg);
261
261
  }
@@ -64,16 +64,29 @@ events:
64
64
  description: Parent optgroup label (empty string when item has no group).
65
65
  slots:
66
66
  empty:
67
- description: Empty state shown when no items match
67
+ description: >-
68
+ Empty state shown when no items match. Consumer-supplied [slot="empty"]
69
+ content is captured before the internal shell renders and re-inserted —
70
+ a genuine light-DOM insertion point.
71
+ parts:
68
72
  footer:
69
- description: Keyboard hint bar
73
+ description: >-
74
+ Keyboard hint bar — template-owned anatomy part, not a light-DOM
75
+ insertion point (gh#1454). render() unconditionally stamps a fixed
76
+ `<footer>` with hard-coded kbd hints; no consumer override path exists
77
+ in source.
70
78
  input:
71
79
  description: >-
72
80
  The auto-stamped search field — a contenteditable="plaintext-only"
73
81
  span carrying role="combobox" (per ADR-0025/ADR-0055; no native
74
- <input>). Internal only; not consumer-slottable.
82
+ <input>). Internal only; not consumer-slottable — template-owned
83
+ anatomy part, not a light-DOM insertion point (gh#1454).
75
84
  list:
76
- description: Container for command items and groups
85
+ description: >-
86
+ Container for command items and groups — template-owned anatomy part,
87
+ not a light-DOM insertion point (gh#1454). render() always populates it
88
+ wholesale from `.options`/parsed `<option>` children; any pre-existing
89
+ content is discarded, not adopted.
77
90
  states:
78
91
  - name: idle
79
92
  description: Default, ready for interaction.
@@ -103,6 +103,7 @@
103
103
  "popup-menu"
104
104
  ],
105
105
  "name": "UIContextMenu",
106
+ "parts": {},
106
107
  "related": [
107
108
  "menu",
108
109
  "menu-item",
@@ -192,6 +192,7 @@
192
192
  "reporting-period"
193
193
  ],
194
194
  "name": "UIDateRangePicker",
195
+ "parts": {},
195
196
  "related": [
196
197
  "calendar-picker",
197
198
  "popover",
@@ -301,7 +302,7 @@
301
302
  "default": "var(--a-space-2)"
302
303
  },
303
304
  "--date-range-picker-selected-bg": {
304
- "description": "Selected day-cell background (cascaded into the inner calendar via --calendar-picker-day-bg-selected).",
305
+ "description": "Selected day-cell background (cascaded into the inner calendar via --calendar-grid-day-bg-selected).",
305
306
  "default": "var(--md-sys-color-primary)"
306
307
  },
307
308
  "--date-range-picker-selected-fg": {
@@ -119,7 +119,7 @@
119
119
  slot triplet. button-ui's natural alignment is `center`; our
120
120
  leading+text+trailing layout reads better as space-between. */
121
121
  justify-content: space-between;
122
- line-height: 1;
122
+ line-height: var(--a-font-leading-none);
123
123
  transition:
124
124
  border-color var(--date-range-picker-duration) var(--date-range-picker-easing),
125
125
  background var(--date-range-picker-duration) var(--date-range-picker-easing);
@@ -181,7 +181,7 @@ tokens:
181
181
  description: Preset row background on hover.
182
182
  default: var(--a-bg-hover)
183
183
  --date-range-picker-selected-bg:
184
- description: Selected day-cell background (cascaded into the inner calendar via --calendar-picker-day-bg-selected).
184
+ description: Selected day-cell background (cascaded into the inner calendar via --calendar-grid-day-bg-selected).
185
185
  default: var(--md-sys-color-primary)
186
186
  --date-range-picker-selected-fg:
187
187
  description: Selected day-cell foreground.
@@ -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/DatetimePicker.json",
4
4
  "title": "DatetimePicker",
5
- "description": "Single-control date + time selection. Trigger button opens a popover with a `<calendar-picker-ui>` on the left + a `<time-picker-ui>` on the right; commit emits a full ISO 8601 datetime string (\"YYYY-MM-DDTHH:mm\" or with seconds). Composes the two underlying primitives never wraps a native `<input type=\"datetime-local\">` (per ADR-0025). Form-associated under one `name`. SPEC-038.",
5
+ "description": "DEPRECATED (gh#1372, #1363 C3c) folded into <calendar-picker-ui>'s widened `precision` axis. `<datetime-picker-ui>` is now a thin `UICalendarPicker` subclass (see datetime-picker.class.js) rather than an independent implementation: `precision` defaults to `\"minute\"` (not `\"date\"`) and `placeholder` defaults to `\"Select date and time\"`; every other prop/event/token is inherited unchanged from <calendar-picker-ui>. Existing markup keeps working, but new markup should reach for `<calendar-picker-ui precision=\"minute\">` (or `precision=\"second\"`) directly. See <calendar-picker-ui> for the full contract.",
6
6
  "type": "object",
7
7
  "allOf": [
8
8
  {
@@ -72,7 +72,7 @@
72
72
  "default": false
73
73
  },
74
74
  "placeholder": {
75
- "description": "Text shown in the trigger when the value is empty.",
75
+ "description": "Text shown in the trigger when the value is empty. Defaults to \"Select date and time\" HERE (vs. \"Select date...\" on the base `<calendar-picker-ui>`).",
76
76
  "type": "string",
77
77
  "default": "Select date and time"
78
78
  },
@@ -92,9 +92,10 @@
92
92
  "default": "bottom"
93
93
  },
94
94
  "precision": {
95
- "description": "Time-pane precision. `minute` (default) emits `HH:mm`; `second` exposes the seconds segment and emits `HH:mm:ss`.",
95
+ "description": "Time-pane precision. `minute` (default HERE — `date` on the base `<calendar-picker-ui>`) emits `HH:mm`; `second` exposes the seconds segment and emits `HH:mm:ss`; `date` drops the time pane entirely (identical to the base class's own default).",
96
96
  "type": "string",
97
97
  "enum": [
98
+ "date",
98
99
  "minute",
99
100
  "second"
100
101
  ],
@@ -127,34 +128,21 @@
127
128
  "wrong": "{\"component\": \"DatetimePicker\", \"value\": \"2026-05-24\"}\n"
128
129
  },
129
130
  {
130
- "fix": "{\"component\": \"DatetimePicker\", \"value\": \"2026-05-24T14:30\"}\n",
131
- "why": "`value` is a time-only string no date component. Use `<TimePicker>` for\ntime-only selection or supply the date portion.\n",
132
- "wrong": "{\"component\": \"DatetimePicker\", \"value\": \"14:30\"}\n"
133
- },
134
- {
135
- "fix": "{\"component\": \"DatetimePicker\", \"name\": \"field-name\"}\n",
136
- "why": "Nesting a native datetime-local input violates ADR-0025 and bypasses\nElementInternals form participation.\n",
137
- "wrong": "{\"component\": \"DatetimePicker\", \"children\": [\n {\"component\": \"Input\", \"type\": \"datetime-local\"}\n]}\n"
138
- },
139
- {
140
- "fix": "<datetime-picker-ui name=\"appointment\"></datetime-picker-ui>\n",
141
- "why": "Hand-rolled date + free-form time composition is the pattern this primitive\nreplaces. It misses the coordinated popover, the per-segment Spinbutton\na11y model, and unified form participation.\n",
142
- "wrong": "<calendar-picker-ui></calendar-picker-ui>\n<input-ui type=\"text\" placeholder=\"HH:mm\"></input-ui>\n"
131
+ "fix": "{\"component\": \"CalendarPicker\", \"precision\": \"minute\", \"name\": \"appointment\"}\n",
132
+ "why": "DatetimePicker is deprecated (gh#1372)new generation should reach\nfor CalendarPicker's widened precision axis instead.\n",
133
+ "wrong": "{\"component\": \"DatetimePicker\", \"name\": \"appointment\"}\n"
143
134
  }
144
135
  ],
145
136
  "category": "input",
146
137
  "composes": [
147
138
  "calendar-grid-ui",
148
139
  "time-picker-ui",
149
- "button-ui",
150
- "popover-ui",
151
140
  "divider-ui"
152
141
  ],
153
142
  "events": {
154
143
  "change": {
155
144
  "description": "Fired when the value commits (date picked + time edited, OR Apply clicked in explicit-commit mode).",
156
145
  "detail": {
157
- "source": "string",
158
146
  "value": "string"
159
147
  }
160
148
  },
@@ -186,24 +174,9 @@
186
174
  },
187
175
  "examples": [
188
176
  {
189
- "description": "Form-field-wrapped picker with min/max bounds.",
177
+ "description": "Form-field-wrapped picker with min/max bounds. Prefer the CalendarPicker[precision] form for NEW markup — see calendar-picker-ui's own \"datetime-picker\" example.",
190
178
  "a2ui": "[\n {\n \"id\": \"field\",\n \"component\": \"Field\",\n \"label\": \"Appointment\",\n \"children\": [\"dt\"]\n },\n {\n \"id\": \"dt\",\n \"component\": \"DatetimePicker\",\n \"name\": \"appointment\",\n \"min\": \"2026-01-01T00:00\",\n \"max\": \"2026-12-31T23:59\"\n }\n]\n",
191
179
  "name": "canonical"
192
- },
193
- {
194
- "description": "Log-cursor picker with second precision.",
195
- "a2ui": "[\n {\n \"id\": \"dt\",\n \"component\": \"DatetimePicker\",\n \"name\": \"log-cursor\",\n \"precision\": \"second\",\n \"step\": 1,\n \"value\": \"2026-05-24T14:30:45\"\n }\n]\n",
196
- "name": "second-precision"
197
- },
198
- {
199
- "description": "Cron editor with forced 24-hour cycle.",
200
- "a2ui": "[\n {\n \"id\": \"dt\",\n \"component\": \"DatetimePicker\",\n \"name\": \"cron\",\n \"hourCycle\": \"h23\"\n }\n]\n",
201
- "name": "forced-24h"
202
- },
203
- {
204
- "description": "Read-only datetime for inspection only.",
205
- "a2ui": "[\n {\n \"id\": \"dt\",\n \"component\": \"DatetimePicker\",\n \"readonly\": true,\n \"value\": \"2026-05-24T14:30\"\n }\n]\n",
206
- "name": "readonly"
207
180
  }
208
181
  ],
209
182
  "keywords": [
@@ -217,6 +190,7 @@
217
190
  "timestamp"
218
191
  ],
219
192
  "name": "UIDatetimePicker",
193
+ "parts": {},
220
194
  "related": [
221
195
  "calendar-picker",
222
196
  "time-picker",
@@ -230,7 +204,7 @@
230
204
  "description": "Optional Apply / Cancel buttons for explicit-commit flows. Spans both panes below the calendar + time area."
231
205
  },
232
206
  "trigger": {
233
- "description": "Custom trigger replacement. When omitted, a default `<button-ui>` is stamped."
207
+ "description": "Custom trigger replacement. When omitted, a default trigger is stamped (a plain clickable span, per the base `<calendar-picker-ui>` — NOT the old standalone datetime-picker's `<button-ui>` trigger; see the Consequences note below)."
234
208
  }
235
209
  },
236
210
  "states": [
@@ -239,19 +213,9 @@
239
213
  "name": "idle"
240
214
  },
241
215
  {
242
- "description": "Popover open, no calendar pick yet.",
243
- "attribute": "open",
244
- "name": "open-pending-date"
245
- },
246
- {
247
- "description": "Date picked; time pane is the next focus target.",
248
- "attribute": "open",
249
- "name": "open-pending-time"
250
- },
251
- {
252
- "description": "Both panes set; awaiting Apply (explicit-commit mode only).",
216
+ "description": "Popover open.",
253
217
  "attribute": "open",
254
- "name": "open-committed"
218
+ "name": "open"
255
219
  },
256
220
  {
257
221
  "description": "Non-interactive; dimmed.",
@@ -264,7 +228,7 @@
264
228
  "name": "readonly"
265
229
  }
266
230
  ],
267
- "status": "experimental",
231
+ "status": "deprecated",
268
232
  "synonyms": {
269
233
  "appointment": [
270
234
  "datetime",
@@ -285,65 +249,8 @@
285
249
  ]
286
250
  },
287
251
  "tag": "datetime-picker-ui",
288
- "tokens": {
289
- "--datetime-picker-bg": {
290
- "description": "Host background.",
291
- "default": "var(--a-bg)"
292
- },
293
- "--datetime-picker-divider": {
294
- "description": "Pane divider color.",
295
- "default": "var(--a-border-subtle)"
296
- },
297
- "--datetime-picker-duration": {
298
- "description": "Open/close transition duration.",
299
- "default": "var(--a-duration-fast)"
300
- },
301
- "--datetime-picker-easing": {
302
- "description": "Open/close transition easing.",
303
- "default": "var(--a-easing)"
304
- },
305
- "--datetime-picker-fg": {
306
- "description": "Host text color.",
307
- "default": "var(--a-fg)"
308
- },
309
- "--datetime-picker-popover-bg": {
310
- "description": "Popover background.",
311
- "default": "var(--a-bg-subtle)"
312
- },
313
- "--datetime-picker-popover-border": {
314
- "description": "Popover border color.",
315
- "default": "var(--a-border-subtle)"
316
- },
317
- "--datetime-picker-popover-gap": {
318
- "description": "Gap between calendar pane and time pane.",
319
- "default": "var(--a-space-3)"
320
- },
321
- "--datetime-picker-popover-padding": {
322
- "description": "Popover internal padding.",
323
- "default": "var(--a-space-3)"
324
- },
325
- "--datetime-picker-popover-radius": {
326
- "description": "Popover border radius.",
327
- "default": "var(--a-radius-lg)"
328
- },
329
- "--datetime-picker-popover-shadow": {
330
- "description": "Popover box shadow.",
331
- "default": "var(--a-shadow-lg)"
332
- },
333
- "--datetime-picker-px": {
334
- "description": "Horizontal popover padding.",
335
- "default": "var(--a-space-3)"
336
- },
337
- "--datetime-picker-py": {
338
- "description": "Vertical popover padding.",
339
- "default": "var(--a-space-2)"
340
- },
341
- "--datetime-picker-trigger-min-width": {
342
- "description": "Default trigger min-width — sized so the formatted date+time fits without truncation.",
343
- "default": "16em"
344
- }
345
- },
252
+ "tokens": {},
346
253
  "traits": [],
347
- "version": 1
254
+ "version": 2
348
255
  }
349
256
  }