@ds-mo/ui 14.34.0 → 14.36.0

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 (397) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +1 -1
  3. package/dist/agent.json +1423 -218
  4. package/dist/angular/ds-button-inverted.d.ts +17 -0
  5. package/dist/angular/ds-button-inverted.js +46 -0
  6. package/dist/angular/ds-calendar.d.ts +15 -0
  7. package/dist/angular/ds-calendar.js +43 -0
  8. package/dist/angular/ds-field.d.ts +1 -1
  9. package/dist/angular/ds-field.js +1 -1
  10. package/dist/angular/ds-filter-menu.d.ts +1 -1
  11. package/dist/angular/ds-filter-menu.js +3 -3
  12. package/dist/angular/ds-input-date.d.ts +15 -0
  13. package/dist/angular/ds-input-date.js +43 -0
  14. package/dist/angular/ds-input-time.d.ts +15 -0
  15. package/dist/angular/ds-input-time.js +43 -0
  16. package/dist/angular/ds-input.d.ts +1 -1
  17. package/dist/angular/ds-input.js +3 -3
  18. package/dist/angular/ds-menu.d.ts +1 -1
  19. package/dist/angular/ds-menu.js +3 -3
  20. package/dist/angular/ds-select.d.ts +1 -1
  21. package/dist/angular/ds-select.js +3 -3
  22. package/dist/angular/ds-tab-group.d.ts +1 -1
  23. package/dist/angular/ds-tab-group.js +3 -3
  24. package/dist/angular/ds-table-filter.d.ts +1 -1
  25. package/dist/angular/ds-table-filter.js +3 -3
  26. package/dist/angular/ds-table-group.d.ts +1 -1
  27. package/dist/angular/ds-table-group.js +3 -3
  28. package/dist/angular/ds-table-preferences.d.ts +39 -0
  29. package/dist/angular/ds-table-preferences.js +69 -0
  30. package/dist/angular/ds-table-saved-views.d.ts +1 -1
  31. package/dist/angular/ds-table-saved-views.js +3 -3
  32. package/dist/angular/ds-table-search.d.ts +1 -1
  33. package/dist/angular/ds-table-search.js +3 -3
  34. package/dist/angular/ds-table-sort.d.ts +1 -1
  35. package/dist/angular/ds-table-sort.js +3 -3
  36. package/dist/angular/ds-table-toolbar.d.ts +1 -1
  37. package/dist/angular/ds-table-toolbar.js +3 -3
  38. package/dist/angular/ds-table.d.ts +3 -1
  39. package/dist/angular/ds-table.js +8 -5
  40. package/dist/angular/ds-time-picker.d.ts +15 -0
  41. package/dist/angular/ds-time-picker.js +43 -0
  42. package/dist/angular/index.d.ts +1 -1
  43. package/dist/angular/index.js +6 -0
  44. package/dist/angular/proxies.d.ts +6 -0
  45. package/dist/angular/proxies.js +6 -0
  46. package/dist/angular/text-value-accessor.d.ts +1 -1
  47. package/dist/angular/text-value-accessor.js +2 -2
  48. package/dist/components/ds-agent-activity.js +1 -1
  49. package/dist/components/ds-agent-questionnaire.js +1 -1
  50. package/dist/components/ds-agent-response.js +1 -1
  51. package/dist/components/ds-agent-source-list.js +1 -1
  52. package/dist/components/ds-agent-tool-call.js +1 -1
  53. package/dist/components/ds-attachment-list.js +1 -1
  54. package/dist/components/ds-badge.js +1 -1
  55. package/dist/components/ds-banner.js +1 -1
  56. package/dist/components/ds-bar-action.js +1 -1
  57. package/dist/components/ds-bar-nav.js +1 -1
  58. package/dist/components/ds-bar-page-title.js +1 -1
  59. package/dist/components/ds-bar-title.js +1 -1
  60. package/dist/components/ds-bar-workflow.js +1 -1
  61. package/dist/components/ds-breadcrumb.js +1 -1
  62. package/dist/components/ds-button-filled.js +1 -1
  63. package/dist/components/ds-button-inverted.d.ts +11 -0
  64. package/dist/components/ds-button-inverted.js +2 -0
  65. package/dist/components/ds-button-inverted.js.map +1 -0
  66. package/dist/components/ds-button-unfilled.js +1 -1
  67. package/dist/components/ds-calendar.d.ts +11 -0
  68. package/dist/components/ds-calendar.js +2 -0
  69. package/dist/components/ds-calendar.js.map +1 -0
  70. package/dist/components/ds-card-action-center.js +1 -1
  71. package/dist/components/ds-card-chart.js +1 -1
  72. package/dist/components/ds-card-navigation.js +1 -1
  73. package/dist/components/ds-card-navigation.js.map +1 -1
  74. package/dist/components/ds-card-overview.js +1 -1
  75. package/dist/components/ds-card-setting.js +1 -1
  76. package/dist/components/ds-card-settings-scope.js +1 -1
  77. package/dist/components/ds-card-settings-scope.js.map +1 -1
  78. package/dist/components/ds-chart-legend.js +1 -1
  79. package/dist/components/ds-chart.js +1 -1
  80. package/dist/components/ds-checkbox.js +1 -1
  81. package/dist/components/ds-chip.js +1 -1
  82. package/dist/components/ds-code-block.js +1 -1
  83. package/dist/components/ds-conversation-list-item.js +1 -1
  84. package/dist/components/ds-conversation-list-item.js.map +1 -1
  85. package/dist/components/ds-conversation-list-section.js +1 -1
  86. package/dist/components/ds-conversation-list.js +1 -1
  87. package/dist/components/ds-divider.js +1 -1
  88. package/dist/components/ds-empty-state.js +1 -1
  89. package/dist/components/ds-field.js +1 -1
  90. package/dist/components/ds-filter-menu.js +1 -1
  91. package/dist/components/ds-input-date.d.ts +11 -0
  92. package/dist/components/ds-input-date.js +2 -0
  93. package/dist/components/ds-input-date.js.map +1 -0
  94. package/dist/components/ds-input-time.d.ts +11 -0
  95. package/dist/components/ds-input-time.js +2 -0
  96. package/dist/components/ds-input-time.js.map +1 -0
  97. package/dist/components/ds-input.js +1 -1
  98. package/dist/components/ds-markdown.js +1 -1
  99. package/dist/components/ds-menu.js +1 -1
  100. package/dist/components/ds-message-actions.js +1 -1
  101. package/dist/components/ds-message-bubble.js +1 -1
  102. package/dist/components/ds-message-composer.js +1 -1
  103. package/dist/components/ds-message-scroller.js +1 -1
  104. package/dist/components/ds-message.js +1 -1
  105. package/dist/components/ds-mobile-bar-nav.js +1 -1
  106. package/dist/components/ds-mobile-header.js +1 -1
  107. package/dist/components/ds-mobile-section-switcher.js +1 -1
  108. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  109. package/dist/components/ds-modal.js +1 -1
  110. package/dist/components/ds-pagination.js +1 -1
  111. package/dist/components/ds-panel-nav.js +1 -1
  112. package/dist/components/ds-panel-sub-nav.js +1 -1
  113. package/dist/components/ds-panel-tool-header.js +1 -1
  114. package/dist/components/ds-panel-tool-search.js +1 -1
  115. package/dist/components/ds-panel-tools.js +1 -1
  116. package/dist/components/ds-paper-texture.js +1 -1
  117. package/dist/components/ds-radio.js +1 -1
  118. package/dist/components/ds-score.js +1 -1
  119. package/dist/components/ds-scroll-overlay.js +1 -1
  120. package/dist/components/ds-select.js +1 -1
  121. package/dist/components/ds-shell-app.js +1 -1
  122. package/dist/components/ds-shell-app.js.map +1 -1
  123. package/dist/components/ds-shell-page.js +1 -1
  124. package/dist/components/ds-shell-tools.js +1 -1
  125. package/dist/components/ds-skeleton.js +1 -1
  126. package/dist/components/ds-slider.js +1 -1
  127. package/dist/components/ds-slider.js.map +1 -1
  128. package/dist/components/ds-swatch-picker.js +1 -1
  129. package/dist/components/ds-switch.js +1 -1
  130. package/dist/components/ds-tab-group.js +1 -1
  131. package/dist/components/ds-table-filter.js +1 -1
  132. package/dist/components/ds-table-filter.js.map +1 -1
  133. package/dist/components/ds-table-group.js +1 -1
  134. package/dist/components/ds-table-group.js.map +1 -1
  135. package/dist/components/ds-table-preferences.d.ts +11 -0
  136. package/dist/components/ds-table-preferences.js +2 -0
  137. package/dist/components/ds-table-preferences.js.map +1 -0
  138. package/dist/components/ds-table-saved-views.js +1 -1
  139. package/dist/components/ds-table-saved-views.js.map +1 -1
  140. package/dist/components/ds-table-search.js +1 -1
  141. package/dist/components/ds-table-search.js.map +1 -1
  142. package/dist/components/ds-table-sort.js +1 -1
  143. package/dist/components/ds-table-sort.js.map +1 -1
  144. package/dist/components/ds-table-toolbar.js +1 -1
  145. package/dist/components/ds-table-toolbar.js.map +1 -1
  146. package/dist/components/ds-table.js +1 -1
  147. package/dist/components/ds-table.js.map +1 -1
  148. package/dist/components/ds-tag.js +1 -1
  149. package/dist/components/ds-text.js +1 -1
  150. package/dist/components/ds-textarea.js +1 -1
  151. package/dist/components/ds-textarea.js.map +1 -1
  152. package/dist/components/ds-time-picker.d.ts +11 -0
  153. package/dist/components/ds-time-picker.js +2 -0
  154. package/dist/components/ds-time-picker.js.map +1 -0
  155. package/dist/components/ds-toast.js +1 -1
  156. package/dist/components/ds-tooltip-chart.js +1 -1
  157. package/dist/components/ds-tooltip.js +1 -1
  158. package/dist/components/ds-typing-indicator.js +1 -1
  159. package/dist/components/{p-B5QVra1K.js → p-2GVGhrh0.js} +2 -2
  160. package/dist/components/p-7O-2D29W.js +2 -0
  161. package/dist/components/p-7O-2D29W.js.map +1 -0
  162. package/dist/components/{p-BqGdNrVl.js → p-8oRkhvjy.js} +2 -2
  163. package/dist/components/p-B27_chI7.js +2 -0
  164. package/dist/components/p-B27_chI7.js.map +1 -0
  165. package/dist/components/{p-ya8A_SMw.js → p-BOhpMUwO.js} +2 -2
  166. package/dist/components/{p-ya8A_SMw.js.map → p-BOhpMUwO.js.map} +1 -1
  167. package/dist/components/{p-CqeMumqy.js → p-BV5T1hzN.js} +2 -2
  168. package/dist/components/{p-CIoeHcCk.js → p-BWfzaSc3.js} +2 -2
  169. package/dist/components/{p-AkSwrAKR.js → p-BgLI9JoT.js} +2 -2
  170. package/dist/components/{p-BwsS_Hyr.js → p-C-dHtQMi.js} +2 -2
  171. package/dist/components/p-C0CE2v5D.js +2 -0
  172. package/dist/components/{p-CHBuzAYH.js.map → p-C0CE2v5D.js.map} +1 -1
  173. package/dist/components/{p-CoE7yza3.js → p-C2JnoaWI.js} +2 -2
  174. package/dist/components/{p-lv4YQEsa.js → p-C4m8y9ki.js} +2 -2
  175. package/dist/components/{p-BEttT0UB.js → p-CDJ2Ntcq.js} +2 -2
  176. package/dist/components/p-CKarsuR2.js +2 -0
  177. package/dist/components/p-CKarsuR2.js.map +1 -0
  178. package/dist/components/{p-Dj296RmE.js → p-CMQUuGvl.js} +2 -2
  179. package/dist/components/{p-DyyfWSLB.js → p-CQ5RwY2C.js} +2 -2
  180. package/dist/components/p-CQIh2yRP.js +2 -0
  181. package/dist/components/p-CQIh2yRP.js.map +1 -0
  182. package/dist/components/{p-CQqZgTYk.js → p-CWPT3aOB.js} +2 -2
  183. package/dist/components/p-CWog26I_.js +2 -0
  184. package/dist/components/p-CWog26I_.js.map +1 -0
  185. package/dist/components/{p-LZ8F08Fj.js → p-CaNCGKEJ.js} +2 -2
  186. package/dist/components/p-CaNCGKEJ.js.map +1 -0
  187. package/dist/components/p-CbSUyv5B.js +2 -0
  188. package/dist/components/{p-CnK36Be0.js.map → p-CbSUyv5B.js.map} +1 -1
  189. package/dist/components/{p-Dhw_W8nk.js → p-Cc3ZUQlJ.js} +2 -2
  190. package/dist/components/p-Cc3ZUQlJ.js.map +1 -0
  191. package/dist/components/{p-OxdAzO4v.js → p-Ce4zy8q1.js} +2 -2
  192. package/dist/components/p-CeXf9-X3.js +2 -0
  193. package/dist/components/p-CeXf9-X3.js.map +1 -0
  194. package/dist/components/{p-CNDTHTf6.js → p-Cga6Ex0E.js} +2 -2
  195. package/dist/components/{p-CBQzTgvI.js → p-Cl9phSf0.js} +2 -2
  196. package/dist/components/{p-DzbEJN1A.js → p-ClJhuG5Y.js} +2 -2
  197. package/dist/components/{p-D_QtZZR8.js → p-CqW2eyiF.js} +2 -2
  198. package/dist/components/{p-CHUdAW1Q.js → p-Cus1Sigh.js} +2 -2
  199. package/dist/components/{p-CzbsTZt7.js → p-Cxr0IQjC.js} +2 -2
  200. package/dist/components/p-D7yBIPB6.js +2 -0
  201. package/dist/components/{p-DEyvEIYL.js.map → p-D7yBIPB6.js.map} +1 -1
  202. package/dist/components/p-D8rpKod8.js +2 -0
  203. package/dist/components/p-D8rpKod8.js.map +1 -0
  204. package/dist/components/{p-Da9VpZX2.js → p-DBwa1OXP.js} +2 -2
  205. package/dist/components/{p-Br0dx2uP.js → p-DK9Ex3aY.js} +2 -2
  206. package/dist/components/{p-CweS0FfJ.js → p-DLXXGgmf.js} +2 -2
  207. package/dist/components/{p-CvplapTD.js → p-DVd1TIxi.js} +2 -2
  208. package/dist/components/p-DZ58Sg5a.js.map +1 -1
  209. package/dist/components/{p-Dx7WcWW1.js → p-DgG9W9N4.js} +2 -2
  210. package/dist/components/{p-4DNyCYKM.js → p-DkfM55x8.js} +2 -2
  211. package/dist/components/p-DkikNSSO.js +2 -0
  212. package/dist/components/p-DkikNSSO.js.map +1 -0
  213. package/dist/components/{p-DjCnGxSd.js → p-Dryt3COt.js} +2 -2
  214. package/dist/components/{p-eo_pmPqp.js → p-Ds51RgCi.js} +2 -2
  215. package/dist/components/p-DtkLtKY0.js +2 -0
  216. package/dist/components/p-DtkLtKY0.js.map +1 -0
  217. package/dist/components/{p-DBZwI7HY.js → p-DvzI2A_M.js} +2 -2
  218. package/dist/components/p-J5x-QtlD.js +2 -0
  219. package/dist/components/{p-CIYJhyKt.js.map → p-J5x-QtlD.js.map} +1 -1
  220. package/dist/components/{p-C51ytXM6.js → p-Jaqdfw4E.js} +2 -2
  221. package/dist/components/{p-BMERUCe1.js → p-KBrC9IG4.js} +2 -2
  222. package/dist/components/p-MQ36mEgn.js +2 -0
  223. package/dist/components/p-MQ36mEgn.js.map +1 -0
  224. package/dist/components/{p-CXAa9TUM.js → p-PmcUwTQ_.js} +2 -2
  225. package/dist/components/p-TjXGRPik.js +2 -0
  226. package/dist/components/{p-ByoywoBH.js.map → p-TjXGRPik.js.map} +1 -1
  227. package/dist/components/{p-zZuAAiiI.js → p-bM3LH3kc.js} +2 -2
  228. package/dist/components/{p-CK2S28gU.js → p-ji09W9el.js} +2 -2
  229. package/dist/components/{p-DrjY8Mpy.js → p-neWTRxmf.js} +2 -2
  230. package/dist/components/{p-CMq-jKEI.js → p-rYePOPbJ.js} +2 -2
  231. package/dist/components/{p-C1QHxVvP.js → p-su6y4hLK.js} +2 -2
  232. package/dist/components/p-su6y4hLK.js.map +1 -0
  233. package/dist/components/{p-CKo2nySr.js → p-tNQ0YulU.js} +2 -2
  234. package/dist/components/{p-C8XJgV1n.js → p-x1wf38q3.js} +2 -2
  235. package/dist/docs/components.json +17368 -12812
  236. package/dist/lib/components/ShellApp/shell-app-types.d.ts +3 -1
  237. package/dist/lib/utils/button-render.d.ts +1 -1
  238. package/dist/lib/utils/clock-time.d.ts +22 -0
  239. package/dist/lib/utils/date-filter-value.d.ts +4 -0
  240. package/dist/lib/utils/index.d.ts +3 -1
  241. package/dist/lib/utils/index.js +133 -0
  242. package/dist/lib/utils/index.js.map +4 -4
  243. package/dist/mcp-data/registry/bar-title.json +2 -2
  244. package/dist/mcp-data/registry/button-inverted.json +580 -0
  245. package/dist/mcp-data/registry/calendar.json +273 -0
  246. package/dist/mcp-data/registry/card-navigation.json +4 -2
  247. package/dist/mcp-data/registry/field.json +19 -14
  248. package/dist/mcp-data/registry/filter-menu.json +106 -23
  249. package/dist/mcp-data/registry/input-date.json +516 -0
  250. package/dist/mcp-data/registry/input-time.json +535 -0
  251. package/dist/mcp-data/registry/input.json +56 -8
  252. package/dist/mcp-data/registry/menu.json +22 -3
  253. package/dist/mcp-data/registry/registry.json +1434 -211
  254. package/dist/mcp-data/registry/select.json +105 -14
  255. package/dist/mcp-data/registry/shell-app.json +4 -3
  256. package/dist/mcp-data/registry/tab-group.json +20 -3
  257. package/dist/mcp-data/registry/table-filter.json +26 -6
  258. package/dist/mcp-data/registry/table-group.json +59 -7
  259. package/dist/mcp-data/registry/table-preferences.json +511 -0
  260. package/dist/mcp-data/registry/table-saved-views.json +50 -10
  261. package/dist/mcp-data/registry/table-search.json +24 -6
  262. package/dist/mcp-data/registry/table-sort.json +22 -4
  263. package/dist/mcp-data/registry/table-toolbar.json +26 -6
  264. package/dist/mcp-data/registry/table.json +70 -4
  265. package/dist/mcp-data/registry/textarea.json +2 -2
  266. package/dist/mcp-data/registry/time-picker.json +259 -0
  267. package/dist/react/components.d.ts +6 -0
  268. package/dist/react/components.js +6 -0
  269. package/dist/react/ds-button-inverted.d.ts +13 -0
  270. package/dist/react/ds-button-inverted.js +15 -0
  271. package/dist/react/ds-calendar.d.ts +12 -0
  272. package/dist/react/ds-calendar.js +12 -0
  273. package/dist/react/ds-field.d.ts +1 -1
  274. package/dist/react/ds-input-date.d.ts +12 -0
  275. package/dist/react/ds-input-date.js +12 -0
  276. package/dist/react/ds-input-time.d.ts +12 -0
  277. package/dist/react/ds-input-time.js +12 -0
  278. package/dist/react/ds-table-preferences.d.ts +21 -0
  279. package/dist/react/ds-table-preferences.js +23 -0
  280. package/dist/react/ds-table.d.ts +1 -0
  281. package/dist/react/ds-table.js +1 -0
  282. package/dist/react/ds-time-picker.d.ts +12 -0
  283. package/dist/react/ds-time-picker.js +12 -0
  284. package/dist/types/components/BarTitle/BarTitle.d.ts +1 -0
  285. package/dist/types/components/BarTitle/bar-title-action-chrome.d.ts +2 -0
  286. package/dist/types/components/ButtonInverted/ButtonInverted.d.ts +83 -0
  287. package/dist/types/components/ButtonInverted/index.d.ts +2 -0
  288. package/dist/types/components/Calendar/Calendar.d.ts +32 -0
  289. package/dist/types/components/Calendar/calendar-grid.d.ts +19 -0
  290. package/dist/types/components/Field/Field.d.ts +7 -2
  291. package/dist/types/components/FilterMenu/FilterMenu.d.ts +16 -10
  292. package/dist/types/components/Input/Input.d.ts +10 -0
  293. package/dist/types/components/InputDate/InputDate.d.ts +78 -0
  294. package/dist/types/components/InputTime/InputTime.d.ts +80 -0
  295. package/dist/types/components/Menu/Menu.d.ts +2 -0
  296. package/dist/types/components/Select/Select.d.ts +13 -2
  297. package/dist/types/components/ShellApp/shell-app-types.d.ts +3 -1
  298. package/dist/types/components/TabGroup/TabGroup.d.ts +1 -0
  299. package/dist/types/components/Table/Table.d.ts +8 -0
  300. package/dist/types/components/TableFilter/TableFilter.d.ts +2 -0
  301. package/dist/types/components/TableGroup/TableGroup.d.ts +5 -0
  302. package/dist/types/components/TablePreferences/TablePreferences.d.ts +56 -0
  303. package/dist/types/components/TableSavedViews/TableSavedViews.d.ts +4 -0
  304. package/dist/types/components/TableSearch/TableSearch.d.ts +2 -0
  305. package/dist/types/components/TableSort/TableSort.d.ts +2 -0
  306. package/dist/types/components/TableToolbar/TableToolbar.d.ts +2 -0
  307. package/dist/types/components/TimePicker/TimePicker.d.ts +33 -0
  308. package/dist/types/components.d.ts +1299 -66
  309. package/dist/types/utils/button-render.d.ts +1 -1
  310. package/dist/types/utils/clock-time.d.ts +23 -0
  311. package/dist/types/utils/date-filter-value.d.ts +4 -0
  312. package/dist/types/utils/index.d.ts +3 -1
  313. package/dist/vue/components.d.ts +6 -0
  314. package/dist/vue/components.js +6 -0
  315. package/dist/vue/ds-button-inverted.d.ts +3 -0
  316. package/dist/vue/ds-button-inverted.js +33 -0
  317. package/dist/vue/ds-calendar.d.ts +3 -0
  318. package/dist/vue/ds-calendar.js +16 -0
  319. package/dist/vue/ds-filter-menu.js +5 -0
  320. package/dist/vue/ds-input-date.d.ts +3 -0
  321. package/dist/vue/ds-input-date.js +31 -0
  322. package/dist/vue/ds-input-time.d.ts +3 -0
  323. package/dist/vue/ds-input-time.js +32 -0
  324. package/dist/vue/ds-input.js +2 -0
  325. package/dist/vue/ds-menu.js +1 -0
  326. package/dist/vue/ds-select.js +5 -0
  327. package/dist/vue/ds-tab-group.js +1 -0
  328. package/dist/vue/ds-table-filter.js +1 -0
  329. package/dist/vue/ds-table-group.js +3 -0
  330. package/dist/vue/ds-table-preferences.d.ts +3 -0
  331. package/dist/vue/ds-table-preferences.js +45 -0
  332. package/dist/vue/ds-table-saved-views.js +2 -0
  333. package/dist/vue/ds-table-search.js +1 -0
  334. package/dist/vue/ds-table-sort.js +1 -0
  335. package/dist/vue/ds-table-toolbar.js +2 -1
  336. package/dist/vue/ds-table.js +5 -0
  337. package/dist/vue/ds-time-picker.d.ts +3 -0
  338. package/dist/vue/ds-time-picker.js +16 -0
  339. package/package.json +1 -1
  340. package/dist/components/p-B_nPct4G.js +0 -2
  341. package/dist/components/p-B_nPct4G.js.map +0 -1
  342. package/dist/components/p-BlWNMytv.js +0 -2
  343. package/dist/components/p-BlWNMytv.js.map +0 -1
  344. package/dist/components/p-ByoywoBH.js +0 -2
  345. package/dist/components/p-C1QHxVvP.js.map +0 -1
  346. package/dist/components/p-CHBuzAYH.js +0 -2
  347. package/dist/components/p-CIYJhyKt.js +0 -2
  348. package/dist/components/p-CUL5_8JM.js +0 -2
  349. package/dist/components/p-CUL5_8JM.js.map +0 -1
  350. package/dist/components/p-CnK36Be0.js +0 -2
  351. package/dist/components/p-Cw_npFwN.js +0 -2
  352. package/dist/components/p-Cw_npFwN.js.map +0 -1
  353. package/dist/components/p-DEyvEIYL.js +0 -2
  354. package/dist/components/p-DVWOUQfT.js +0 -2
  355. package/dist/components/p-DVWOUQfT.js.map +0 -1
  356. package/dist/components/p-Dhw_W8nk.js.map +0 -1
  357. package/dist/components/p-LZ8F08Fj.js.map +0 -1
  358. package/dist/components/p-xxuHxP3u.js +0 -2
  359. package/dist/components/p-xxuHxP3u.js.map +0 -1
  360. package/dist/types/components/FilterMenu/filter-menu-calendar.d.ts +0 -13
  361. /package/dist/components/{p-B5QVra1K.js.map → p-2GVGhrh0.js.map} +0 -0
  362. /package/dist/components/{p-BqGdNrVl.js.map → p-8oRkhvjy.js.map} +0 -0
  363. /package/dist/components/{p-CqeMumqy.js.map → p-BV5T1hzN.js.map} +0 -0
  364. /package/dist/components/{p-CIoeHcCk.js.map → p-BWfzaSc3.js.map} +0 -0
  365. /package/dist/components/{p-AkSwrAKR.js.map → p-BgLI9JoT.js.map} +0 -0
  366. /package/dist/components/{p-BwsS_Hyr.js.map → p-C-dHtQMi.js.map} +0 -0
  367. /package/dist/components/{p-CoE7yza3.js.map → p-C2JnoaWI.js.map} +0 -0
  368. /package/dist/components/{p-lv4YQEsa.js.map → p-C4m8y9ki.js.map} +0 -0
  369. /package/dist/components/{p-BEttT0UB.js.map → p-CDJ2Ntcq.js.map} +0 -0
  370. /package/dist/components/{p-Dj296RmE.js.map → p-CMQUuGvl.js.map} +0 -0
  371. /package/dist/components/{p-DyyfWSLB.js.map → p-CQ5RwY2C.js.map} +0 -0
  372. /package/dist/components/{p-CQqZgTYk.js.map → p-CWPT3aOB.js.map} +0 -0
  373. /package/dist/components/{p-OxdAzO4v.js.map → p-Ce4zy8q1.js.map} +0 -0
  374. /package/dist/components/{p-CNDTHTf6.js.map → p-Cga6Ex0E.js.map} +0 -0
  375. /package/dist/components/{p-CBQzTgvI.js.map → p-Cl9phSf0.js.map} +0 -0
  376. /package/dist/components/{p-DzbEJN1A.js.map → p-ClJhuG5Y.js.map} +0 -0
  377. /package/dist/components/{p-D_QtZZR8.js.map → p-CqW2eyiF.js.map} +0 -0
  378. /package/dist/components/{p-CHUdAW1Q.js.map → p-Cus1Sigh.js.map} +0 -0
  379. /package/dist/components/{p-CzbsTZt7.js.map → p-Cxr0IQjC.js.map} +0 -0
  380. /package/dist/components/{p-Da9VpZX2.js.map → p-DBwa1OXP.js.map} +0 -0
  381. /package/dist/components/{p-Br0dx2uP.js.map → p-DK9Ex3aY.js.map} +0 -0
  382. /package/dist/components/{p-CweS0FfJ.js.map → p-DLXXGgmf.js.map} +0 -0
  383. /package/dist/components/{p-CvplapTD.js.map → p-DVd1TIxi.js.map} +0 -0
  384. /package/dist/components/{p-Dx7WcWW1.js.map → p-DgG9W9N4.js.map} +0 -0
  385. /package/dist/components/{p-4DNyCYKM.js.map → p-DkfM55x8.js.map} +0 -0
  386. /package/dist/components/{p-DjCnGxSd.js.map → p-Dryt3COt.js.map} +0 -0
  387. /package/dist/components/{p-eo_pmPqp.js.map → p-Ds51RgCi.js.map} +0 -0
  388. /package/dist/components/{p-DBZwI7HY.js.map → p-DvzI2A_M.js.map} +0 -0
  389. /package/dist/components/{p-C51ytXM6.js.map → p-Jaqdfw4E.js.map} +0 -0
  390. /package/dist/components/{p-BMERUCe1.js.map → p-KBrC9IG4.js.map} +0 -0
  391. /package/dist/components/{p-CXAa9TUM.js.map → p-PmcUwTQ_.js.map} +0 -0
  392. /package/dist/components/{p-zZuAAiiI.js.map → p-bM3LH3kc.js.map} +0 -0
  393. /package/dist/components/{p-CK2S28gU.js.map → p-ji09W9el.js.map} +0 -0
  394. /package/dist/components/{p-DrjY8Mpy.js.map → p-neWTRxmf.js.map} +0 -0
  395. /package/dist/components/{p-CMq-jKEI.js.map → p-rYePOPbJ.js.map} +0 -0
  396. /package/dist/components/{p-CKo2nySr.js.map → p-tNQ0YulU.js.map} +0 -0
  397. /package/dist/components/{p-C8XJgV1n.js.map → p-x1wf38q3.js.map} +0 -0
@@ -52,7 +52,7 @@
52
52
  "The default four visible rows can be changed with rows; rows is clamped to at least one.",
53
53
  "Vertical resizing is enabled by default and can be disabled when the surrounding layout owns the field height.",
54
54
  "Size changes typography and inset spacing without changing the authored row count.",
55
- "Border, focus, error, placeholder, inactive, hover, and pressed treatments follow the same shared recipes as Input."
55
+ "Border, focus, error, placeholder, inactive, hover, and pressed treatments follow the same shared recipes as Input. When hasBorder is false, supporting error copy insets to the text origin rather than the resting border box."
56
56
  ],
57
57
  "responsiveBehavior": [
58
58
  "Textarea fills its parent by default and follows the width supplied by Field or the form layout.",
@@ -593,7 +593,7 @@
593
593
  },
594
594
  {
595
595
  "path": "src/wc/components/Textarea/Textarea.tsx",
596
- "content": "import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport {\n controlWidthClass,\n CONTROL_TEXT_VARIANT,\n DEFAULT_REQUIRED_MESSAGE,\n restoreStringFormState,\n setFormControlValue,\n setRequiredValidity,\n type ControlWidth,\n} from '../../utils';\n\nexport type TextareaSize = 'lg' | 'md' | 'sm' | 'xs';\nexport type TextareaWidth = ControlWidth;\nexport type TextareaResize = 'vertical' | 'none';\n\nlet idCounter = 0;\n\n@Component({\n tag: 'ds-textarea',\n styleUrl: 'Textarea.css',\n scoped: true,\n formAssociated: true,\n})\nexport class Textarea {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n private generatedId = `ds-textarea-${++idCounter}`;\n private errorId = `${this.generatedId}-error`;\n\n @Prop({ mutable: true }) value: string = '';\n @Prop({ reflect: true }) name: string | undefined;\n @Prop({ reflect: true }) form: string | undefined;\n @Prop({ reflect: true }) disabled: boolean = false;\n /** Keeps the value focusable and submittable while preventing edits. */\n @Prop({ reflect: true }) readOnly: boolean = false;\n @Prop({ reflect: true }) required: boolean = false;\n @Prop() requiredMessage: string = DEFAULT_REQUIRED_MESSAGE;\n @Prop() placeholder: string | undefined;\n /** Visible text rows before the field scrolls. */\n @Prop() rows: number = 4;\n /** Whether the user can resize the field vertically. */\n @Prop() resize: TextareaResize = 'vertical';\n /** Native browser autofill hint. */\n @Prop({ attribute: 'autocomplete' }) autoComplete: string | undefined;\n /** Preferred virtual keyboard without changing the value semantics. */\n @Prop({ attribute: 'inputmode' }) inputMode: string = '';\n /** Preferred virtual-keyboard action label. */\n @Prop({ attribute: 'enterkeyhint' }) enterKeyHint: string = '';\n /** Whether the browser should check spelling and grammar. */\n @Prop({ attribute: 'spellcheck' }) spellCheck: boolean = true;\n /** Control density for typography and inset spacing. */\n @Prop() size: TextareaSize = 'md';\n /** Width fit — fill the parent (default) or hug the available content. */\n @Prop() width: TextareaWidth = 'fill';\n /** Show the standard inset border, including focused and invalid strokes. */\n @Prop() hasBorder: boolean = true;\n /** Show the standard hover and pressed fill when the field is not embedded in interactive chrome. */\n @Prop() hasInteractionFill: boolean = true;\n @Prop() isInactive: boolean = false;\n @Prop() autoFocus: boolean = false;\n @Prop() error: boolean = false;\n @Prop() errorMessage: string | undefined;\n /** Associates the internal textarea with an external <label>. */\n @Prop() inputId: string | undefined;\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n @Prop({ attribute: 'aria-labelledby' }) ariaLabelledby: string | undefined;\n @Prop({ attribute: 'aria-describedby' }) ariaDescribedby: string | undefined;\n\n @Event() dsChange!: EventEmitter<string>;\n\n private initialValue = '';\n private textareaEl?: HTMLTextAreaElement;\n @State() private formDisabled = false;\n @State() private focused = false;\n @State() private touched = false;\n\n componentWillLoad() {\n this.initialValue = this.value;\n this.syncFormValue();\n }\n\n @Watch('value')\n @Watch('disabled')\n @Watch('isInactive')\n @Watch('required')\n syncFormValue() {\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n setFormControlValue(this.internals, this.value, { inactive });\n const missing = this.required && !inactive && this.value.length === 0;\n setRequiredValidity(this.internals, missing, this.requiredMessage);\n }\n\n formDisabledCallback(disabled: boolean) {\n this.formDisabled = disabled;\n this.syncFormValue();\n }\n\n formResetCallback() {\n this.value = this.initialValue;\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n this.value = restoreStringFormState(state);\n }\n\n @Method()\n async setFocus() {\n this.textareaEl?.focus();\n }\n\n private handleInput = (event: Event) => {\n this.value = (event.target as HTMLTextAreaElement).value;\n this.dsChange.emit(this.value);\n };\n\n private handleFocus = () => {\n this.focused = true;\n };\n\n private handleBlur = () => {\n this.focused = false;\n this.touched = true;\n };\n\n render() {\n const inputId = this.inputId ?? this.generatedId;\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n const filled = this.value.length > 0;\n const dirty = this.value !== this.initialValue;\n const showError = this.error && Boolean(this.errorMessage);\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const rows = Number.isFinite(this.rows) ? Math.max(1, Math.floor(this.rows)) : 4;\n const describedBy =\n [this.ariaDescribedby, showError ? this.errorId : undefined].filter(Boolean).join(' ') ||\n undefined;\n\n return (\n <Host\n class={{\n 'textarea-host': true,\n 'ds-field-stack': true,\n 'ds-control-inactive': inactive,\n [`ds-control--${this.size}`]: true,\n ...controlWidthClass(this.width),\n }}\n data-disabled={inactive ? '' : undefined}\n data-readonly={this.readOnly ? '' : undefined}\n data-required={this.required ? '' : undefined}\n data-invalid={this.error ? '' : undefined}\n data-filled={filled ? '' : undefined}\n data-focused={this.focused ? '' : undefined}\n data-dirty={dirty ? '' : undefined}\n data-touched={this.touched ? '' : undefined}\n >\n <div\n class={{\n 'textarea-control': true,\n 'textarea-control--resizable': this.resize === 'vertical',\n 'textarea-control--bordered': this.hasBorder,\n 'textarea-control--error': this.hasBorder && this.error,\n 'ds-interaction-fill': this.hasInteractionFill,\n [`ds-control--${this.size}`]: true,\n }}\n >\n <textarea\n ref={element => {\n this.textareaEl = element;\n }}\n id={inputId}\n value={this.value}\n placeholder={this.placeholder}\n rows={rows}\n disabled={inactive}\n readOnly={this.readOnly}\n required={this.required}\n autoFocus={this.autoFocus}\n autoComplete={this.autoComplete}\n inputMode={this.inputMode || undefined}\n enterKeyHint={this.enterKeyHint || undefined}\n spellcheck={this.spellCheck}\n class={`native-textarea native-textarea--resize-${this.resize} ds-text--${textVariant.replace('text-', '')} ds-text--regular ds-interaction-fill__content`}\n aria-label={this.ariaLabel}\n aria-labelledby={this.ariaLabelledby}\n aria-describedby={describedBy}\n aria-invalid={this.error ? 'true' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </div>\n {showError && (\n <ds-text\n class=\"error-text\"\n as=\"div\"\n variant=\"text-body-small\"\n color=\"negative\"\n textId={this.errorId}\n role=\"alert\"\n >\n {this.errorMessage}\n </ds-text>\n )}\n </Host>\n );\n }\n}\n",
596
+ "content": "import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport {\n controlWidthClass,\n CONTROL_TEXT_VARIANT,\n DEFAULT_REQUIRED_MESSAGE,\n restoreStringFormState,\n setFormControlValue,\n setRequiredValidity,\n type ControlWidth,\n} from '../../utils';\n\nexport type TextareaSize = 'lg' | 'md' | 'sm' | 'xs';\nexport type TextareaWidth = ControlWidth;\nexport type TextareaResize = 'vertical' | 'none';\n\nlet idCounter = 0;\n\n@Component({\n tag: 'ds-textarea',\n styleUrl: 'Textarea.css',\n scoped: true,\n formAssociated: true,\n})\nexport class Textarea {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n private generatedId = `ds-textarea-${++idCounter}`;\n private errorId = `${this.generatedId}-error`;\n\n @Prop({ mutable: true }) value: string = '';\n @Prop({ reflect: true }) name: string | undefined;\n @Prop({ reflect: true }) form: string | undefined;\n @Prop({ reflect: true }) disabled: boolean = false;\n /** Keeps the value focusable and submittable while preventing edits. */\n @Prop({ reflect: true }) readOnly: boolean = false;\n @Prop({ reflect: true }) required: boolean = false;\n @Prop() requiredMessage: string = DEFAULT_REQUIRED_MESSAGE;\n @Prop() placeholder: string | undefined;\n /** Visible text rows before the field scrolls. */\n @Prop() rows: number = 4;\n /** Whether the user can resize the field vertically. */\n @Prop() resize: TextareaResize = 'vertical';\n /** Native browser autofill hint. */\n @Prop({ attribute: 'autocomplete' }) autoComplete: string | undefined;\n /** Preferred virtual keyboard without changing the value semantics. */\n @Prop({ attribute: 'inputmode' }) inputMode: string = '';\n /** Preferred virtual-keyboard action label. */\n @Prop({ attribute: 'enterkeyhint' }) enterKeyHint: string = '';\n /** Whether the browser should check spelling and grammar. */\n @Prop({ attribute: 'spellcheck' }) spellCheck: boolean = true;\n /** Control density for typography and inset spacing. */\n @Prop() size: TextareaSize = 'md';\n /** Width fit — fill the parent (default) or hug the available content. */\n @Prop() width: TextareaWidth = 'fill';\n /** Show the standard inset border, including focused and invalid strokes. */\n @Prop() hasBorder: boolean = true;\n /** Show the standard hover and pressed fill when the field is not embedded in interactive chrome. */\n @Prop() hasInteractionFill: boolean = true;\n @Prop() isInactive: boolean = false;\n @Prop() autoFocus: boolean = false;\n @Prop() error: boolean = false;\n @Prop() errorMessage: string | undefined;\n /** Associates the internal textarea with an external <label>. */\n @Prop() inputId: string | undefined;\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n @Prop({ attribute: 'aria-labelledby' }) ariaLabelledby: string | undefined;\n @Prop({ attribute: 'aria-describedby' }) ariaDescribedby: string | undefined;\n\n @Event() dsChange!: EventEmitter<string>;\n\n private initialValue = '';\n private textareaEl?: HTMLTextAreaElement;\n @State() private formDisabled = false;\n @State() private focused = false;\n @State() private touched = false;\n\n componentWillLoad() {\n this.initialValue = this.value;\n this.syncFormValue();\n }\n\n @Watch('value')\n @Watch('disabled')\n @Watch('isInactive')\n @Watch('required')\n syncFormValue() {\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n setFormControlValue(this.internals, this.value, { inactive });\n const missing = this.required && !inactive && this.value.length === 0;\n setRequiredValidity(this.internals, missing, this.requiredMessage);\n }\n\n formDisabledCallback(disabled: boolean) {\n this.formDisabled = disabled;\n this.syncFormValue();\n }\n\n formResetCallback() {\n this.value = this.initialValue;\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n this.value = restoreStringFormState(state);\n }\n\n @Method()\n async setFocus() {\n this.textareaEl?.focus();\n }\n\n private handleInput = (event: Event) => {\n this.value = (event.target as HTMLTextAreaElement).value;\n this.dsChange.emit(this.value);\n };\n\n private handleFocus = () => {\n this.focused = true;\n };\n\n private handleBlur = () => {\n this.focused = false;\n this.touched = true;\n };\n\n render() {\n const inputId = this.inputId ?? this.generatedId;\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n const filled = this.value.length > 0;\n const dirty = this.value !== this.initialValue;\n const showError = this.error && Boolean(this.errorMessage);\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const rows = Number.isFinite(this.rows) ? Math.max(1, Math.floor(this.rows)) : 4;\n const describedBy =\n [this.ariaDescribedby, showError ? this.errorId : undefined].filter(Boolean).join(' ') ||\n undefined;\n\n return (\n <Host\n class={{\n 'textarea-host': true,\n 'ds-field-stack': true,\n 'ds-field-stack--supporting-inset': !this.hasBorder,\n 'ds-control-inactive': inactive,\n [`ds-control--${this.size}`]: true,\n ...controlWidthClass(this.width),\n }}\n data-disabled={inactive ? '' : undefined}\n data-readonly={this.readOnly ? '' : undefined}\n data-required={this.required ? '' : undefined}\n data-invalid={this.error ? '' : undefined}\n data-filled={filled ? '' : undefined}\n data-focused={this.focused ? '' : undefined}\n data-dirty={dirty ? '' : undefined}\n data-touched={this.touched ? '' : undefined}\n >\n <div\n class={{\n 'textarea-control': true,\n 'textarea-control--resizable': this.resize === 'vertical',\n 'textarea-control--bordered': this.hasBorder,\n 'textarea-control--error': this.hasBorder && this.error,\n 'ds-interaction-fill': this.hasInteractionFill,\n [`ds-control--${this.size}`]: true,\n }}\n >\n <textarea\n ref={element => {\n this.textareaEl = element;\n }}\n id={inputId}\n value={this.value}\n placeholder={this.placeholder}\n rows={rows}\n disabled={inactive}\n readOnly={this.readOnly}\n required={this.required}\n autoFocus={this.autoFocus}\n autoComplete={this.autoComplete}\n inputMode={this.inputMode || undefined}\n enterKeyHint={this.enterKeyHint || undefined}\n spellcheck={this.spellCheck}\n class={`native-textarea native-textarea--resize-${this.resize} ds-text--${textVariant.replace('text-', '')} ds-text--regular ds-interaction-fill__content`}\n aria-label={this.ariaLabel}\n aria-labelledby={this.ariaLabelledby}\n aria-describedby={describedBy}\n aria-invalid={this.error ? 'true' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </div>\n {showError && (\n <ds-text\n class=\"error-text\"\n as=\"div\"\n variant=\"text-body-small\"\n color=\"negative\"\n textId={this.errorId}\n role=\"alert\"\n >\n {this.errorMessage}\n </ds-text>\n )}\n </Host>\n );\n }\n}\n",
597
597
  "type": "registry:ui"
598
598
  }
599
599
  ]
@@ -0,0 +1,259 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "time-picker",
4
+ "title": "TimePicker",
5
+ "description": "Bounded 12-hour clock lists for choosing hour, minute, and AM/PM, reused by form time fields.",
6
+ "type": "registry:ui",
7
+ "meta": {
8
+ "library": "@ds-mo/ui",
9
+ "distribution": "npm",
10
+ "storybook": "https://zainadeel.github.io/compomo/?path=/story/time-picker",
11
+ "source": "src/wc/components/TimePicker/TimePicker.tsx",
12
+ "intentStatus": "complete",
13
+ "intent": {
14
+ "audience": "general",
15
+ "status": "stable",
16
+ "summary": "Bounded 12-hour clock lists for choosing hour, minute, and AM/PM, reused by form time fields.",
17
+ "useWhen": [
18
+ "A user picks a clock time from hour, minute, and AM/PM lists.",
19
+ "A time field needs 32px clock tiles that match calendar day geometry and the shared choice-list selected treatment."
20
+ ],
21
+ "avoidWhen": [
22
+ "The user types a time without opening a picker; the owning field keeps that editable value.",
23
+ "The value is a calendar date rather than a clock time.",
24
+ "The user chooses from a finite set of named schedule options rather than an exact time."
25
+ ],
26
+ "alternatives": [
27
+ {
28
+ "when": "The time is a form field that can be typed or picked.",
29
+ "component": "component:ds-input-time",
30
+ "reason": "InputTime owns the editable field, form association, and the time-picker popup."
31
+ },
32
+ {
33
+ "when": "The value is a calendar date.",
34
+ "component": "component:ds-calendar",
35
+ "reason": "Calendar owns the month grid for single dates and ranges."
36
+ }
37
+ ],
38
+ "commonlyComposedWith": [
39
+ "component:ds-input-time",
40
+ "component:ds-text"
41
+ ],
42
+ "accessibility": [
43
+ "Hour, minute, and AM/PM are separate labelled listboxes without visible column headings. Each list keeps one tab stop on the selected option.",
44
+ "Arrow keys move to the next or previous option and stop at the first and last values; they do not wrap. Home and End jump to those ends. Left and Right move between columns and stop at Hour and AM/PM.",
45
+ "Inactive pickers disable every option. Optional min and max times disable combinations outside that inclusive bound."
46
+ ],
47
+ "states": [
48
+ "Selected hour, minute, and period tiles use the shared interaction-fill selected wash and primary text. Resting tiles use secondary text on a transparent 32px square.",
49
+ "Lists are finite. Hour runs 1 through 12, minutes follow the step, and AM/PM has two values. Scrolling and keyboard movement stop at those ends instead of looping.",
50
+ "An empty value highlights 12:00 AM so the lists have a resting selection without inventing a second empty state."
51
+ ],
52
+ "responsiveBehavior": [
53
+ "The three columns fill the width supplied by the owner. Tile size, 4px gaps, and the seven-tile list viewport are owned here; the owner supplies the popup or pane width."
54
+ ],
55
+ "frameworkCaveats": {
56
+ "customElements": [
57
+ "Listen for dsChange. The detail is the clock time string HH:MM."
58
+ ],
59
+ "react": [
60
+ "Use DsTimePicker, bind value, and handle onDsChange."
61
+ ]
62
+ },
63
+ "references": [
64
+ {
65
+ "label": "Storybook examples",
66
+ "path": "src/wc/components/TimePicker/TimePicker.stories.ts"
67
+ }
68
+ ]
69
+ },
70
+ "api": {
71
+ "props": {
72
+ "autoFocus": {
73
+ "type": "boolean",
74
+ "resolvedType": "boolean",
75
+ "attribute": "auto-focus",
76
+ "default": "false",
77
+ "required": false,
78
+ "mutable": false,
79
+ "description": "Move keyboard focus into the hour list after the picker is rendered."
80
+ },
81
+ "isInactive": {
82
+ "type": "boolean",
83
+ "resolvedType": "boolean",
84
+ "attribute": "is-inactive",
85
+ "default": "false",
86
+ "required": false,
87
+ "mutable": false
88
+ },
89
+ "max": {
90
+ "type": "string | undefined",
91
+ "resolvedType": "string | undefined",
92
+ "attribute": "max",
93
+ "required": false,
94
+ "mutable": false
95
+ },
96
+ "min": {
97
+ "type": "string | undefined",
98
+ "resolvedType": "string | undefined",
99
+ "attribute": "min",
100
+ "required": false,
101
+ "mutable": false
102
+ },
103
+ "step": {
104
+ "type": "string | number",
105
+ "resolvedType": "number | string",
106
+ "attribute": "step",
107
+ "default": "60",
108
+ "required": false,
109
+ "mutable": false,
110
+ "description": "Native time step in seconds. Defaults to minutes (`60`)."
111
+ },
112
+ "value": {
113
+ "type": "string",
114
+ "resolvedType": "string",
115
+ "attribute": "value",
116
+ "default": "''",
117
+ "required": false,
118
+ "mutable": false,
119
+ "description": "Clock value as `HH:MM`."
120
+ }
121
+ },
122
+ "events": [
123
+ {
124
+ "name": "dsChange",
125
+ "detail": "string",
126
+ "bubbles": true,
127
+ "cancelable": true,
128
+ "composed": true
129
+ }
130
+ ],
131
+ "methods": [
132
+ {
133
+ "name": "setFocus",
134
+ "signature": "setFocus() => Promise<void>"
135
+ }
136
+ ],
137
+ "slots": []
138
+ },
139
+ "props": {
140
+ "autoFocus": {
141
+ "type": "boolean",
142
+ "resolvedType": "boolean",
143
+ "attribute": "auto-focus",
144
+ "default": "false",
145
+ "required": false,
146
+ "mutable": false,
147
+ "description": "Move keyboard focus into the hour list after the picker is rendered."
148
+ },
149
+ "isInactive": {
150
+ "type": "boolean",
151
+ "resolvedType": "boolean",
152
+ "attribute": "is-inactive",
153
+ "default": "false",
154
+ "required": false,
155
+ "mutable": false
156
+ },
157
+ "max": {
158
+ "type": "string | undefined",
159
+ "resolvedType": "string | undefined",
160
+ "attribute": "max",
161
+ "required": false,
162
+ "mutable": false
163
+ },
164
+ "min": {
165
+ "type": "string | undefined",
166
+ "resolvedType": "string | undefined",
167
+ "attribute": "min",
168
+ "required": false,
169
+ "mutable": false
170
+ },
171
+ "step": {
172
+ "type": "string | number",
173
+ "resolvedType": "number | string",
174
+ "attribute": "step",
175
+ "default": "60",
176
+ "required": false,
177
+ "mutable": false,
178
+ "description": "Native time step in seconds. Defaults to minutes (`60`)."
179
+ },
180
+ "value": {
181
+ "type": "string",
182
+ "resolvedType": "string",
183
+ "attribute": "value",
184
+ "default": "''",
185
+ "required": false,
186
+ "mutable": false,
187
+ "description": "Clock value as `HH:MM`."
188
+ }
189
+ },
190
+ "events": [
191
+ {
192
+ "name": "dsChange",
193
+ "detail": "string",
194
+ "bubbles": true,
195
+ "cancelable": true,
196
+ "composed": true
197
+ }
198
+ ],
199
+ "methods": [
200
+ {
201
+ "name": "setFocus",
202
+ "signature": "setFocus() => Promise<void>"
203
+ }
204
+ ],
205
+ "slots": [],
206
+ "exports": {
207
+ "customElement": "ds-time-picker",
208
+ "react": "DsTimePicker",
209
+ "vue": "DsTimePicker",
210
+ "angular": "DsTimePicker"
211
+ },
212
+ "consumption": {
213
+ "install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
214
+ "cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
215
+ "customElements": {
216
+ "import": "import '@ds-mo/ui/dist/components/ds-time-picker.js';",
217
+ "example": "<ds-time-picker></ds-time-picker>"
218
+ },
219
+ "react": {
220
+ "import": "import { DsTimePicker } from '@ds-mo/ui/react';",
221
+ "example": "<DsTimePicker />"
222
+ },
223
+ "vue": {
224
+ "import": "import { DsTimePicker } from '@ds-mo/ui/vue';",
225
+ "example": "<DsTimePicker />"
226
+ },
227
+ "angular": {
228
+ "import": "import { DsTimePicker } from '@ds-mo/ui/angular/ds-time-picker';",
229
+ "example": "<ds-time-picker></ds-time-picker>"
230
+ },
231
+ "peerDependencies": {
232
+ "required": [
233
+ "@ds-mo/tokens ^6.5.1",
234
+ "@ds-mo/icons ^7.0.0"
235
+ ],
236
+ "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
237
+ }
238
+ }
239
+ },
240
+ "dependencies": [
241
+ "@ds-mo/ui",
242
+ "@ds-mo/tokens"
243
+ ],
244
+ "registryDependencies": [
245
+ "text"
246
+ ],
247
+ "files": [
248
+ {
249
+ "path": "src/wc/components/TimePicker/TimePicker.css",
250
+ "content": "@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n display: flex;\n min-height: 0;\n flex-direction: column;\n}\n\n.time-picker {\n display: grid;\n grid-template-columns: repeat(3, minmax(var(--dimension-size-400), 1fr));\n column-gap: var(--dimension-space-050);\n min-width: calc(\n (var(--dimension-size-400) * 3) + (var(--dimension-space-050) * 2) +\n (var(--ds-time-picker-padding, var(--dimension-space-100)) * 2)\n );\n padding: var(--ds-time-picker-padding, var(--dimension-space-100));\n}\n\n.time-picker__column {\n display: flex;\n min-width: 0;\n flex-direction: column;\n}\n\n.time-picker__list {\n display: flex;\n flex-direction: column;\n gap: var(--dimension-space-050);\n max-height: calc((var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6));\n overflow-x: hidden;\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n\n.time-picker-tile {\n appearance: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n min-width: 0;\n width: 100%;\n height: var(--dimension-size-400);\n padding: 0;\n border: 0;\n border-radius: var(--dimension-radius-025);\n background: transparent;\n color: var(--color-foreground-primary);\n cursor: default;\n}\n\n.time-picker-tile:disabled {\n cursor: not-allowed;\n}\n",
251
+ "type": "registry:ui"
252
+ },
253
+ {
254
+ "path": "src/wc/components/TimePicker/TimePicker.tsx",
255
+ "content": "import {\n Component,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport {\n CLOCK_HOURS,\n CLOCK_PERIODS,\n clockMinuteStep,\n clockMinutes,\n isClockTimeStepAligned,\n isClockTimeOutOfRange,\n joinClockTime,\n splitClockTime,\n stepBoundedIndex,\n type ClockPeriod,\n type ClockTimeParts,\n} from '../../utils';\n\ntype TimePickerColumn = 'hour' | 'minute' | 'period';\n\n@Component({\n tag: 'ds-time-picker',\n styleUrl: 'TimePicker.css',\n scoped: true,\n})\nexport class TimePicker {\n @Element() el!: HTMLElement;\n\n /** Clock value as `HH:MM`. */\n @Prop() value: string = '';\n @Prop() min: string | undefined;\n @Prop() max: string | undefined;\n /** Native time step in seconds. Defaults to minutes (`60`). */\n @Prop() step: string | number = 60;\n @Prop() isInactive: boolean = false;\n /** Move keyboard focus into the hour list after the picker is rendered. */\n @Prop() autoFocus: boolean = false;\n\n @Event() dsChange!: EventEmitter<string>;\n\n componentDidLoad() {\n this.scrollSelectedIntoView();\n if (this.autoFocus) void this.setFocus();\n }\n\n @Watch('value')\n onValueChange() {\n this.scrollSelectedIntoView();\n }\n\n @Method()\n async setFocus() {\n this.focusColumn('hour', CLOCK_HOURS);\n }\n\n private parts(): ClockTimeParts {\n return splitClockTime(this.value) ?? { hour12: 12, minute: 0, period: 'AM' };\n }\n\n private minutes(): number[] {\n const minimum = this.min ? splitClockTime(this.min) : null;\n return clockMinutes(clockMinuteStep(this.step), minimum?.minute ?? 0);\n }\n\n private isDisabledTime(iso: string): boolean {\n if (this.isInactive) return true;\n return (\n isClockTimeOutOfRange(iso, this.min, this.max) ||\n !isClockTimeStepAligned(iso, this.step, this.min)\n );\n }\n\n private optionParts(\n column: TimePickerColumn,\n value: number | ClockPeriod\n ): Partial<ClockTimeParts> {\n return column === 'hour'\n ? { hour12: value as number }\n : column === 'minute'\n ? { minute: value as number }\n : { period: value as ClockPeriod };\n }\n\n private isDisabledPart(column: TimePickerColumn, next: Partial<ClockTimeParts>): boolean {\n if (this.isInactive) return true;\n\n const current = { ...this.parts(), ...next };\n const hours: ReadonlyArray<number> = column === 'hour' ? [current.hour12] : CLOCK_HOURS;\n const minutes: ReadonlyArray<number> = column === 'minute' ? [current.minute] : this.minutes();\n const periods: ReadonlyArray<ClockPeriod> =\n column === 'period' ? [current.period] : CLOCK_PERIODS;\n\n return !hours.some(hour =>\n minutes.some(minute =>\n periods.some(\n period => !this.isDisabledTime(joinClockTime({ hour12: hour, minute, period }))\n )\n )\n );\n }\n\n private orderedValues<T>(current: T, values: ReadonlyArray<T>): T[] {\n return [current, ...values.filter(value => value !== current)];\n }\n\n private commit(column: TimePickerColumn, next: Partial<ClockTimeParts>) {\n const current = { ...this.parts(), ...next };\n const hours =\n column === 'hour' ? [current.hour12] : this.orderedValues(current.hour12, CLOCK_HOURS);\n const minutes =\n column === 'minute' ? [current.minute] : this.orderedValues(current.minute, this.minutes());\n const periods =\n column === 'period' ? [current.period] : this.orderedValues(current.period, CLOCK_PERIODS);\n\n for (const hour of hours) {\n for (const minute of minutes) {\n for (const period of periods) {\n const iso = joinClockTime({ hour12: hour, minute, period });\n if (!this.isDisabledTime(iso)) {\n this.dsChange.emit(iso);\n return;\n }\n }\n }\n }\n }\n\n private optionEl(column: TimePickerColumn, value: number | ClockPeriod): HTMLElement | null {\n return this.el.querySelector<HTMLElement>(`[data-${column}-option=\"${value}\"]`);\n }\n\n private scrollSelectedIntoView() {\n const parts = this.parts();\n this.optionEl('hour', parts.hour12)?.scrollIntoView({ block: 'nearest' });\n this.optionEl('minute', parts.minute)?.scrollIntoView({ block: 'nearest' });\n this.optionEl('period', parts.period)?.scrollIntoView({ block: 'nearest' });\n }\n\n private focusOption(column: TimePickerColumn, value: number | ClockPeriod) {\n requestAnimationFrame(() => {\n this.optionEl(column, value)?.focus();\n });\n }\n\n private focusValue(\n column: TimePickerColumn,\n values: ReadonlyArray<number | ClockPeriod>\n ): number | ClockPeriod | undefined {\n const current = this.parts();\n const currentValue =\n column === 'hour' ? current.hour12 : column === 'minute' ? current.minute : current.period;\n if (!this.isDisabledPart(column, this.optionParts(column, currentValue))) return currentValue;\n return values.find(value => !this.isDisabledPart(column, this.optionParts(column, value)));\n }\n\n private focusColumn(column: TimePickerColumn, values: ReadonlyArray<number | ClockPeriod>): void {\n const value = this.focusValue(column, values);\n if (value !== undefined) this.optionEl(column, value)?.focus();\n }\n\n private handleColumnKeyDown = (\n event: KeyboardEvent,\n column: TimePickerColumn,\n values: ReadonlyArray<number | ClockPeriod>,\n current: number | ClockPeriod\n ) => {\n const columns: TimePickerColumn[] = ['hour', 'minute', 'period'];\n const columnIndex = columns.indexOf(column);\n if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {\n const nextColumn =\n columns[stepBoundedIndex(columnIndex, event.key === 'ArrowLeft' ? -1 : 1, columns.length)];\n if (!nextColumn || nextColumn === column) {\n event.preventDefault();\n return;\n }\n event.preventDefault();\n const nextValues =\n nextColumn === 'hour'\n ? CLOCK_HOURS\n : nextColumn === 'minute'\n ? this.minutes()\n : CLOCK_PERIODS;\n const nextValue = this.focusValue(nextColumn, nextValues);\n if (nextValue !== undefined) this.focusOption(nextColumn, nextValue);\n return;\n }\n\n let offset: number | null = null;\n if (event.key === 'ArrowUp') offset = -1;\n else if (event.key === 'ArrowDown') offset = 1;\n else if (event.key === 'Home' || event.key === 'End') offset = 0;\n if (offset === null) return;\n event.preventDefault();\n let next: number | ClockPeriod | undefined;\n if (event.key === 'Home') {\n next = values.find(value => !this.isDisabledPart(column, this.optionParts(column, value)));\n } else if (event.key === 'End') {\n for (let index = values.length - 1; index >= 0; index -= 1) {\n const value = values[index];\n if (value !== undefined && !this.isDisabledPart(column, this.optionParts(column, value))) {\n next = value;\n break;\n }\n }\n } else {\n const direction = offset;\n let index = values.indexOf(current);\n if (index < 0) index = direction > 0 ? -1 : values.length;\n for (\n let candidate = index + direction;\n candidate >= 0 && candidate < values.length;\n candidate += direction\n ) {\n const value = values[candidate];\n if (value !== undefined && !this.isDisabledPart(column, this.optionParts(column, value))) {\n next = value;\n break;\n }\n }\n }\n if (next === undefined) return;\n this.focusOption(column, next);\n };\n\n private renderTile(\n column: TimePickerColumn,\n value: number | ClockPeriod,\n selected: boolean,\n focused: boolean,\n label: string,\n values: ReadonlyArray<number | ClockPeriod>\n ) {\n const next = this.optionParts(column, value);\n const disabled = this.isDisabledPart(column, next);\n return (\n <button\n type=\"button\"\n role=\"option\"\n data-hour-option={column === 'hour' ? String(value) : undefined}\n data-minute-option={column === 'minute' ? String(value) : undefined}\n data-period-option={column === 'period' ? String(value) : undefined}\n class={{\n 'time-picker-tile': true,\n 'time-picker-tile--selected': selected,\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': !disabled,\n 'ds-interaction-fill--selected': selected && !disabled,\n }}\n disabled={disabled}\n aria-selected={selected ? 'true' : 'false'}\n tabIndex={focused ? 0 : -1}\n onClick={() => this.commit(column, next)}\n onKeyDown={event => this.handleColumnKeyDown(event, column, values, value)}\n >\n <ds-text\n class=\"ds-interaction-fill__content\"\n as=\"span\"\n variant=\"text-body-medium\"\n color={selected ? 'primary' : 'secondary'}\n >\n {label}\n </ds-text>\n </button>\n );\n }\n\n render() {\n const parts = this.parts();\n const minutes = this.minutes();\n const minuteValues = minutes.includes(parts.minute)\n ? minutes\n : [...minutes, parts.minute].sort((a, b) => a - b);\n const hourFocus = this.focusValue('hour', CLOCK_HOURS);\n const minuteFocus = this.focusValue('minute', minuteValues);\n const periodFocus = this.focusValue('period', CLOCK_PERIODS);\n\n return (\n <Host>\n <div class=\"time-picker\" role=\"group\" aria-label=\"Choose time\">\n <div class=\"time-picker__column\">\n <div class=\"time-picker__list\" role=\"listbox\" aria-label=\"Hour\">\n {CLOCK_HOURS.map(hour =>\n this.renderTile(\n 'hour',\n hour,\n hour === parts.hour12,\n hour === hourFocus,\n String(hour),\n CLOCK_HOURS\n )\n )}\n </div>\n </div>\n <div class=\"time-picker__column\">\n <div class=\"time-picker__list\" role=\"listbox\" aria-label=\"Minute\">\n {minuteValues.map(minute =>\n this.renderTile(\n 'minute',\n minute,\n minute === parts.minute,\n minute === minuteFocus,\n String(minute).padStart(2, '0'),\n minuteValues\n )\n )}\n </div>\n </div>\n <div class=\"time-picker__column\">\n <div class=\"time-picker__list\" role=\"listbox\" aria-label=\"AM/PM\">\n {CLOCK_PERIODS.map(period =>\n this.renderTile(\n 'period',\n period,\n period === parts.period,\n period === periodFocus,\n period,\n CLOCK_PERIODS\n )\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n",
256
+ "type": "registry:ui"
257
+ }
258
+ ]
259
+ }
@@ -18,7 +18,9 @@ export { DsBarTitle } from "./ds-bar-title.js";
18
18
  export { DsBarWorkflow } from "./ds-bar-workflow.js";
19
19
  export { DsBreadcrumb } from "./ds-breadcrumb.js";
20
20
  export { DsButtonFilled } from "./ds-button-filled.js";
21
+ export { DsButtonInverted } from "./ds-button-inverted.js";
21
22
  export { DsButtonUnfilled } from "./ds-button-unfilled.js";
23
+ export { DsCalendar } from "./ds-calendar.js";
22
24
  export { DsCardActionCenter } from "./ds-card-action-center.js";
23
25
  export { DsCardChart } from "./ds-card-chart.js";
24
26
  export { DsCardNavigation } from "./ds-card-navigation.js";
@@ -38,6 +40,8 @@ export { DsEmptyState } from "./ds-empty-state.js";
38
40
  export { DsField } from "./ds-field.js";
39
41
  export { DsFilterMenu } from "./ds-filter-menu.js";
40
42
  export { DsIcon } from "./ds-icon.js";
43
+ export { DsInputDate } from "./ds-input-date.js";
44
+ export { DsInputTime } from "./ds-input-time.js";
41
45
  export { DsInput } from "./ds-input.js";
42
46
  export { DsLoader } from "./ds-loader.js";
43
47
  export { DsMarkdown } from "./ds-markdown.js";
@@ -73,6 +77,7 @@ export { DsSwitch } from "./ds-switch.js";
73
77
  export { DsTabGroup } from "./ds-tab-group.js";
74
78
  export { DsTableFilter } from "./ds-table-filter.js";
75
79
  export { DsTableGroup } from "./ds-table-group.js";
80
+ export { DsTablePreferences } from "./ds-table-preferences.js";
76
81
  export { DsTableSavedViews } from "./ds-table-saved-views.js";
77
82
  export { DsTableSearch } from "./ds-table-search.js";
78
83
  export { DsTableSort } from "./ds-table-sort.js";
@@ -81,6 +86,7 @@ export { DsTable } from "./ds-table.js";
81
86
  export { DsTag } from "./ds-tag.js";
82
87
  export { DsText } from "./ds-text.js";
83
88
  export { DsTextarea } from "./ds-textarea.js";
89
+ export { DsTimePicker } from "./ds-time-picker.js";
84
90
  export { DsToast } from "./ds-toast.js";
85
91
  export { DsTooltipChart } from "./ds-tooltip-chart.js";
86
92
  export { DsTooltip } from "./ds-tooltip.js";
@@ -19,7 +19,9 @@ export { DsBarTitle } from "./ds-bar-title.js";
19
19
  export { DsBarWorkflow } from "./ds-bar-workflow.js";
20
20
  export { DsBreadcrumb } from "./ds-breadcrumb.js";
21
21
  export { DsButtonFilled } from "./ds-button-filled.js";
22
+ export { DsButtonInverted } from "./ds-button-inverted.js";
22
23
  export { DsButtonUnfilled } from "./ds-button-unfilled.js";
24
+ export { DsCalendar } from "./ds-calendar.js";
23
25
  export { DsCardActionCenter } from "./ds-card-action-center.js";
24
26
  export { DsCardChart } from "./ds-card-chart.js";
25
27
  export { DsCardNavigation } from "./ds-card-navigation.js";
@@ -39,6 +41,8 @@ export { DsEmptyState } from "./ds-empty-state.js";
39
41
  export { DsField } from "./ds-field.js";
40
42
  export { DsFilterMenu } from "./ds-filter-menu.js";
41
43
  export { DsIcon } from "./ds-icon.js";
44
+ export { DsInputDate } from "./ds-input-date.js";
45
+ export { DsInputTime } from "./ds-input-time.js";
42
46
  export { DsInput } from "./ds-input.js";
43
47
  export { DsLoader } from "./ds-loader.js";
44
48
  export { DsMarkdown } from "./ds-markdown.js";
@@ -74,6 +78,7 @@ export { DsSwitch } from "./ds-switch.js";
74
78
  export { DsTabGroup } from "./ds-tab-group.js";
75
79
  export { DsTableFilter } from "./ds-table-filter.js";
76
80
  export { DsTableGroup } from "./ds-table-group.js";
81
+ export { DsTablePreferences } from "./ds-table-preferences.js";
77
82
  export { DsTableSavedViews } from "./ds-table-saved-views.js";
78
83
  export { DsTableSearch } from "./ds-table-search.js";
79
84
  export { DsTableSort } from "./ds-table-sort.js";
@@ -82,6 +87,7 @@ export { DsTable } from "./ds-table.js";
82
87
  export { DsTag } from "./ds-tag.js";
83
88
  export { DsText } from "./ds-text.js";
84
89
  export { DsTextarea } from "./ds-textarea.js";
90
+ export { DsTimePicker } from "./ds-time-picker.js";
85
91
  export { DsToast } from "./ds-toast.js";
86
92
  export { DsTooltipChart } from "./ds-tooltip-chart.js";
87
93
  export { DsTooltip } from "./ds-tooltip.js";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from './react-runtime.js';
6
+ import { type DsButtonInvertedCustomEvent } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsButtonInverted as DsButtonInvertedElement } from "@ds-mo/ui/dist/components/ds-button-inverted.js";
9
+ export type DsButtonInvertedEvents = {
10
+ onDsClick: EventName<DsButtonInvertedCustomEvent<MouseEvent>>;
11
+ onDsMenuClick: EventName<DsButtonInvertedCustomEvent<MouseEvent>>;
12
+ };
13
+ export declare const DsButtonInverted: StencilReactComponent<DsButtonInvertedElement, DsButtonInvertedEvents, Components.DsButtonInverted>;
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsButtonInverted as DsButtonInvertedElement, defineCustomElement as defineDsButtonInverted } from "@ds-mo/ui/dist/components/ds-button-inverted.js";
5
+ export const DsButtonInverted = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-button-inverted',
7
+ elementClass: DsButtonInvertedElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: {
11
+ onDsClick: 'dsClick',
12
+ onDsMenuClick: 'dsMenuClick'
13
+ },
14
+ defineCustomElement: defineDsButtonInverted
15
+ });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from './react-runtime.js';
6
+ import { type DsCalendarCustomEvent } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsCalendar as DsCalendarElement } from "@ds-mo/ui/dist/components/ds-calendar.js";
9
+ export type DsCalendarEvents = {
10
+ onDsChange: EventName<DsCalendarCustomEvent<string>>;
11
+ };
12
+ export declare const DsCalendar: StencilReactComponent<DsCalendarElement, DsCalendarEvents, Components.DsCalendar>;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsCalendar as DsCalendarElement, defineCustomElement as defineDsCalendar } from "@ds-mo/ui/dist/components/ds-calendar.js";
5
+ export const DsCalendar = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-calendar',
7
+ elementClass: DsCalendarElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: { onDsChange: 'dsChange' },
11
+ defineCustomElement: defineDsCalendar
12
+ });
@@ -6,4 +6,4 @@ import type { StencilReactComponent } from './react-runtime.js';
6
6
  import type { Components } from "@ds-mo/ui/dist/components";
7
7
  import { DsField as DsFieldElement } from "@ds-mo/ui/dist/components/ds-field.js";
8
8
  export type DsFieldEvents = NonNullable<unknown>;
9
- export declare const DsField: StencilReactComponent<DsFieldElement, DsFieldEvents, Components.DsField, 'label'>;
9
+ export declare const DsField: StencilReactComponent<DsFieldElement, DsFieldEvents, Components.DsField>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from './react-runtime.js';
6
+ import { type DsInputDateCustomEvent } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsInputDate as DsInputDateElement } from "@ds-mo/ui/dist/components/ds-input-date.js";
9
+ export type DsInputDateEvents = {
10
+ onDsChange: EventName<DsInputDateCustomEvent<string>>;
11
+ };
12
+ export declare const DsInputDate: StencilReactComponent<DsInputDateElement, DsInputDateEvents, Components.DsInputDate>;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsInputDate as DsInputDateElement, defineCustomElement as defineDsInputDate } from "@ds-mo/ui/dist/components/ds-input-date.js";
5
+ export const DsInputDate = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-input-date',
7
+ elementClass: DsInputDateElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: { onDsChange: 'dsChange' },
11
+ defineCustomElement: defineDsInputDate
12
+ });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from './react-runtime.js';
6
+ import { type DsInputTimeCustomEvent } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsInputTime as DsInputTimeElement } from "@ds-mo/ui/dist/components/ds-input-time.js";
9
+ export type DsInputTimeEvents = {
10
+ onDsChange: EventName<DsInputTimeCustomEvent<string>>;
11
+ };
12
+ export declare const DsInputTime: StencilReactComponent<DsInputTimeElement, DsInputTimeEvents, Components.DsInputTime>;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsInputTime as DsInputTimeElement, defineCustomElement as defineDsInputTime } from "@ds-mo/ui/dist/components/ds-input-time.js";
5
+ export const DsInputTime = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-input-time',
7
+ elementClass: DsInputTimeElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: { onDsChange: 'dsChange' },
11
+ defineCustomElement: defineDsInputTime
12
+ });
@@ -0,0 +1,21 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from './react-runtime.js';
6
+ import { type DsTablePreferencesCustomEvent, type FilterMenuChangeDetail, type FilterMenuMatchModeChangeDetail, type PreferencesTab, type TableColumnsConfigChangeDetail, type TableGroupingState, type TableSortChangeDetail } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsTablePreferences as DsTablePreferencesElement } from "@ds-mo/ui/dist/components/ds-table-preferences.js";
9
+ export type DsTablePreferencesEvents = {
10
+ onDsCustomizeOptionChange: EventName<DsTablePreferencesCustomEvent<string>>;
11
+ onDsPreferencesTabChange: EventName<DsTablePreferencesCustomEvent<PreferencesTab>>;
12
+ onDsFilterChange: EventName<DsTablePreferencesCustomEvent<FilterMenuChangeDetail>>;
13
+ onDsFilterMatchModeChange: EventName<DsTablePreferencesCustomEvent<FilterMenuMatchModeChangeDetail>>;
14
+ onDsActiveFilterChange: EventName<DsTablePreferencesCustomEvent<string>>;
15
+ onDsFiltersClear: EventName<DsTablePreferencesCustomEvent<void>>;
16
+ onDsSortChange: EventName<DsTablePreferencesCustomEvent<TableSortChangeDetail>>;
17
+ onDsGroupChange: EventName<DsTablePreferencesCustomEvent<TableGroupingState>>;
18
+ onDsGroupClear: EventName<DsTablePreferencesCustomEvent<void>>;
19
+ onDsColumnsConfigChange: EventName<DsTablePreferencesCustomEvent<TableColumnsConfigChangeDetail>>;
20
+ };
21
+ export declare const DsTablePreferences: StencilReactComponent<DsTablePreferencesElement, DsTablePreferencesEvents, Components.DsTablePreferences>;
@@ -0,0 +1,23 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsTablePreferences as DsTablePreferencesElement, defineCustomElement as defineDsTablePreferences } from "@ds-mo/ui/dist/components/ds-table-preferences.js";
5
+ export const DsTablePreferences = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-table-preferences',
7
+ elementClass: DsTablePreferencesElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: {
11
+ onDsCustomizeOptionChange: 'dsCustomizeOptionChange',
12
+ onDsPreferencesTabChange: 'dsPreferencesTabChange',
13
+ onDsFilterChange: 'dsFilterChange',
14
+ onDsFilterMatchModeChange: 'dsFilterMatchModeChange',
15
+ onDsActiveFilterChange: 'dsActiveFilterChange',
16
+ onDsFiltersClear: 'dsFiltersClear',
17
+ onDsSortChange: 'dsSortChange',
18
+ onDsGroupChange: 'dsGroupChange',
19
+ onDsGroupClear: 'dsGroupClear',
20
+ onDsColumnsConfigChange: 'dsColumnsConfigChange'
21
+ },
22
+ defineCustomElement: defineDsTablePreferences
23
+ });
@@ -7,6 +7,7 @@ import { type DsTableCustomEvent, type PaginationChangeDetail, type TableCellAct
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsTable as DsTableElement } from "@ds-mo/ui/dist/components/ds-table.js";
9
9
  export type DsTableEvents = {
10
+ onDsCustomizeOptionChange: EventName<DsTableCustomEvent<string>>;
10
11
  onDsSortChange: EventName<DsTableCustomEvent<TableSortChangeDetail>>;
11
12
  onDsGroupCollapseChange: EventName<DsTableCustomEvent<TableGroupCollapseChangeDetail>>;
12
13
  onDsSelectionChange: EventName<DsTableCustomEvent<TableSelectionChangeDetail>>;
@@ -8,6 +8,7 @@ export const DsTable = /*@__PURE__*/ createComponent({
8
8
  // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
9
  react: React,
10
10
  events: {
11
+ onDsCustomizeOptionChange: 'dsCustomizeOptionChange',
11
12
  onDsSortChange: 'dsSortChange',
12
13
  onDsGroupCollapseChange: 'dsGroupCollapseChange',
13
14
  onDsSelectionChange: 'dsSelectionChange',
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from './react-runtime.js';
6
+ import { type DsTimePickerCustomEvent } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsTimePicker as DsTimePickerElement } from "@ds-mo/ui/dist/components/ds-time-picker.js";
9
+ export type DsTimePickerEvents = {
10
+ onDsChange: EventName<DsTimePickerCustomEvent<string>>;
11
+ };
12
+ export declare const DsTimePicker: StencilReactComponent<DsTimePickerElement, DsTimePickerEvents, Components.DsTimePicker>;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsTimePicker as DsTimePickerElement, defineCustomElement as defineDsTimePicker } from "@ds-mo/ui/dist/components/ds-time-picker.js";
5
+ export const DsTimePicker = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-time-picker',
7
+ elementClass: DsTimePickerElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: { onDsChange: 'dsChange' },
11
+ defineCustomElement: defineDsTimePicker
12
+ });
@@ -69,6 +69,7 @@ export declare class BarTitle {
69
69
  handleActionsChange(): void;
70
70
  private reportActionIdIssues;
71
71
  private get compact();
72
+ private get menuSideOffset();
72
73
  private get effectiveVariant();
73
74
  private get dividerVisible();
74
75
  private get expandedBreadcrumbItems();