@ds-mo/ui 15.1.1 → 15.3.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 (414) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +4 -4
  3. package/dist/agent.json +711 -48
  4. package/dist/angular/ds-card-setting.d.ts +1 -1
  5. package/dist/angular/ds-card-setting.js +3 -3
  6. package/dist/angular/ds-input-time.d.ts +1 -1
  7. package/dist/angular/ds-input-time.js +3 -3
  8. package/dist/angular/ds-input.d.ts +5 -1
  9. package/dist/angular/ds-input.js +10 -4
  10. package/dist/angular/ds-map-cluster-marker.d.ts +18 -0
  11. package/dist/angular/ds-map-cluster-marker.js +43 -0
  12. package/dist/angular/ds-map-entity-marker.d.ts +18 -0
  13. package/dist/angular/ds-map-entity-marker.js +43 -0
  14. package/dist/angular/ds-radio-tile.d.ts +15 -0
  15. package/dist/angular/ds-radio-tile.js +43 -0
  16. package/dist/angular/ds-setting-row.d.ts +18 -0
  17. package/dist/angular/ds-setting-row.js +42 -0
  18. package/dist/angular/ds-slider.d.ts +1 -1
  19. package/dist/angular/ds-slider.js +3 -3
  20. package/dist/angular/ds-textarea.d.ts +1 -1
  21. package/dist/angular/ds-textarea.js +3 -3
  22. package/dist/angular/ds-time-picker.d.ts +1 -1
  23. package/dist/angular/ds-time-picker.js +3 -3
  24. package/dist/angular/index.d.ts +1 -1
  25. package/dist/angular/index.js +4 -0
  26. package/dist/angular/number-value-accessor.d.ts +9 -0
  27. package/dist/angular/number-value-accessor.js +39 -0
  28. package/dist/angular/proxies.d.ts +4 -0
  29. package/dist/angular/proxies.js +4 -0
  30. package/dist/angular/radio-value-accessor.d.ts +1 -1
  31. package/dist/angular/radio-value-accessor.js +2 -2
  32. package/dist/angular/select-value-accessor.d.ts +1 -1
  33. package/dist/angular/select-value-accessor.js +2 -2
  34. package/dist/angular/text-value-accessor.d.ts +1 -1
  35. package/dist/angular/text-value-accessor.js +2 -2
  36. package/dist/components/ds-agent-activity.js +1 -1
  37. package/dist/components/ds-agent-questionnaire.js +1 -1
  38. package/dist/components/ds-agent-response.js +1 -1
  39. package/dist/components/ds-agent-source-list.js +1 -1
  40. package/dist/components/ds-agent-tool-call.js +1 -1
  41. package/dist/components/ds-attachment-list.js +1 -1
  42. package/dist/components/ds-badge.js +1 -1
  43. package/dist/components/ds-banner.js +1 -1
  44. package/dist/components/ds-bar-action.js +1 -1
  45. package/dist/components/ds-bar-nav.js +1 -1
  46. package/dist/components/ds-bar-page-title.js +1 -1
  47. package/dist/components/ds-bar-title.js +1 -1
  48. package/dist/components/ds-bar-workflow.js +1 -1
  49. package/dist/components/ds-breadcrumb.js +1 -1
  50. package/dist/components/ds-button-filled.js +1 -1
  51. package/dist/components/ds-button-inverted.js +1 -1
  52. package/dist/components/ds-button-unfilled.js +1 -1
  53. package/dist/components/ds-calendar.js +1 -1
  54. package/dist/components/ds-card-action-center.js +1 -1
  55. package/dist/components/ds-card-chart.js +1 -1
  56. package/dist/components/ds-card-navigation.js +1 -1
  57. package/dist/components/ds-card-overview.js +1 -1
  58. package/dist/components/ds-card-setting.js +1 -1
  59. package/dist/components/ds-card-setting.js.map +1 -1
  60. package/dist/components/ds-card-settings-scope.js +1 -1
  61. package/dist/components/ds-chart-legend.js +1 -1
  62. package/dist/components/ds-chart.js +1 -1
  63. package/dist/components/ds-checkbox.js +1 -1
  64. package/dist/components/ds-chip.js +1 -1
  65. package/dist/components/ds-code-block.js +1 -1
  66. package/dist/components/ds-conversation-list-item.js +1 -1
  67. package/dist/components/ds-conversation-list-section.js +1 -1
  68. package/dist/components/ds-conversation-list.js +1 -1
  69. package/dist/components/ds-data-customize.js +1 -1
  70. package/dist/components/ds-data-customize.js.map +1 -1
  71. package/dist/components/ds-data-filter.js +1 -1
  72. package/dist/components/ds-data-filter.js.map +1 -1
  73. package/dist/components/ds-data-group.js +1 -1
  74. package/dist/components/ds-data-preferences.js +1 -1
  75. package/dist/components/ds-data-preferences.js.map +1 -1
  76. package/dist/components/ds-data-saved-views.js +1 -1
  77. package/dist/components/ds-data-saved-views.js.map +1 -1
  78. package/dist/components/ds-data-search.js +1 -1
  79. package/dist/components/ds-data-search.js.map +1 -1
  80. package/dist/components/ds-data-sort.js +1 -1
  81. package/dist/components/ds-data-toolbar.js +1 -1
  82. package/dist/components/ds-empty-state.js +1 -1
  83. package/dist/components/ds-field.js +1 -1
  84. package/dist/components/ds-filter-menu.js +1 -1
  85. package/dist/components/ds-input-date.js +1 -1
  86. package/dist/components/ds-input-date.js.map +1 -1
  87. package/dist/components/ds-input-time.js +1 -1
  88. package/dist/components/ds-input-time.js.map +1 -1
  89. package/dist/components/ds-input.js +1 -1
  90. package/dist/components/ds-map-cluster-marker.d.ts +11 -0
  91. package/dist/components/ds-map-cluster-marker.js +2 -0
  92. package/dist/components/ds-map-cluster-marker.js.map +1 -0
  93. package/dist/components/ds-map-entity-marker.d.ts +11 -0
  94. package/dist/components/ds-map-entity-marker.js +2 -0
  95. package/dist/components/ds-map-entity-marker.js.map +1 -0
  96. package/dist/components/ds-markdown.js +1 -1
  97. package/dist/components/ds-menu.js +1 -1
  98. package/dist/components/ds-message-actions.js +1 -1
  99. package/dist/components/ds-message-bubble.js +1 -1
  100. package/dist/components/ds-message-bubble.js.map +1 -1
  101. package/dist/components/ds-message-composer.js +1 -1
  102. package/dist/components/ds-message-scroller.js +1 -1
  103. package/dist/components/ds-message.js +1 -1
  104. package/dist/components/ds-mobile-bar-nav.js +1 -1
  105. package/dist/components/ds-mobile-header.js +1 -1
  106. package/dist/components/ds-mobile-section-switcher.js +1 -1
  107. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  108. package/dist/components/ds-modal.js +1 -1
  109. package/dist/components/ds-pagination.js +1 -1
  110. package/dist/components/ds-panel-nav.js +1 -1
  111. package/dist/components/ds-panel-sub-nav.js +1 -1
  112. package/dist/components/ds-panel-tool-header.js +1 -1
  113. package/dist/components/ds-panel-tool-search.js +1 -1
  114. package/dist/components/ds-panel-tool-search.js.map +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-tile.d.ts +11 -0
  118. package/dist/components/ds-radio-tile.js +2 -0
  119. package/dist/components/ds-radio-tile.js.map +1 -0
  120. package/dist/components/ds-radio.js +1 -1
  121. package/dist/components/ds-score.js +1 -1
  122. package/dist/components/ds-scroll-overlay.js +1 -1
  123. package/dist/components/ds-select.js +1 -1
  124. package/dist/components/ds-setting-row.d.ts +11 -0
  125. package/dist/components/ds-setting-row.js +2 -0
  126. package/dist/components/ds-setting-row.js.map +1 -0
  127. package/dist/components/ds-shell-app.js +1 -1
  128. package/dist/components/ds-shell-page.js +1 -1
  129. package/dist/components/ds-shell-tools.js +1 -1
  130. package/dist/components/ds-skeleton.js +1 -1
  131. package/dist/components/ds-slider.js +1 -1
  132. package/dist/components/ds-slider.js.map +1 -1
  133. package/dist/components/ds-swatch-picker.js +1 -1
  134. package/dist/components/ds-switch.js +1 -1
  135. package/dist/components/ds-tab-group.js +1 -1
  136. package/dist/components/ds-table.js +1 -1
  137. package/dist/components/ds-table.js.map +1 -1
  138. package/dist/components/ds-tag.js +1 -1
  139. package/dist/components/ds-text.js +1 -1
  140. package/dist/components/ds-textarea.js +1 -1
  141. package/dist/components/ds-textarea.js.map +1 -1
  142. package/dist/components/ds-time-picker.js +1 -1
  143. package/dist/components/ds-toast.js +1 -1
  144. package/dist/components/ds-tooltip-chart.js +1 -1
  145. package/dist/components/ds-tooltip.js +1 -1
  146. package/dist/components/ds-typing-indicator.js +1 -1
  147. package/dist/components/{p-etifxiDc.js → p-3bsypMrY.js} +2 -2
  148. package/dist/components/{p-Bm7rqs3C.js → p-AM_ht6Im.js} +2 -2
  149. package/dist/components/{p-Bm7rqs3C.js.map → p-AM_ht6Im.js.map} +1 -1
  150. package/dist/components/{p-Bn8I7iw6.js → p-AmT4GlhM.js} +2 -2
  151. package/dist/components/{p-FIBCluwV.js → p-B-HOVYoH.js} +2 -2
  152. package/dist/components/{p-CmexIVnE.js → p-B7QEpaMe.js} +2 -2
  153. package/dist/components/{p-CUcUHwI3.js → p-B7bXN-vf.js} +2 -2
  154. package/dist/components/p-BHI4LcGK.js +2 -0
  155. package/dist/components/p-BHI4LcGK.js.map +1 -0
  156. package/dist/components/{p-BhJXmuRA.js → p-BSuMDPaV.js} +2 -2
  157. package/dist/components/{p-0FYD2bev.js → p-BU1B6NW8.js} +2 -2
  158. package/dist/components/{p-Do2FJd1y.js → p-BVwg5XVz.js} +2 -2
  159. package/dist/components/{p-CYzFfFcH.js → p-BXSHN1OK.js} +2 -2
  160. package/dist/components/{p-ljbw3UMZ.js → p-BYJtvRQm.js} +2 -2
  161. package/dist/components/{p-CzIpquvw.js → p-Bh1Fx0aW.js} +2 -2
  162. package/dist/components/{p-CiJ1WR11.js → p-Bm3KWMe4.js} +2 -2
  163. package/dist/components/{p-DVINzOoK.js → p-Bo7GxFBh.js} +2 -2
  164. package/dist/components/{p-8yBdCXCn.js → p-BsM37Prt.js} +2 -2
  165. package/dist/components/p-Bu4OmhKK.js +2 -0
  166. package/dist/components/{p-CdGXzRP8.js.map → p-Bu4OmhKK.js.map} +1 -1
  167. package/dist/components/{p-DpoTwJAR.js → p-BugKaVWc.js} +2 -2
  168. package/dist/components/p-C-c8SJ00.js +2 -0
  169. package/dist/components/p-C-c8SJ00.js.map +1 -0
  170. package/dist/components/{p-Bpd6YCo4.js → p-C3-dcROG.js} +2 -2
  171. package/dist/components/p-C4VeD49U.js +2 -0
  172. package/dist/components/{p-BKZdqJQB.js.map → p-C4VeD49U.js.map} +1 -1
  173. package/dist/components/{p-CNxvnQ6A.js → p-CCpJT31M.js} +2 -2
  174. package/dist/components/p-CCpJT31M.js.map +1 -0
  175. package/dist/components/{p-Dzndkdx5.js → p-CI7c9kp-.js} +2 -2
  176. package/dist/components/{p-CdgOLWX9.js → p-CJD0kLeV.js} +2 -2
  177. package/dist/components/{p-BeNa6tw5.js → p-C_gJD8l3.js} +2 -2
  178. package/dist/components/{p-DwbcNDJF.js → p-Cihjy4WY.js} +2 -2
  179. package/dist/components/{p-BgQMEHRa.js → p-Co5MiPNa.js} +2 -2
  180. package/dist/components/{p-CD4DZPy_.js → p-CrL9wxZg.js} +2 -2
  181. package/dist/components/{p-CGidq1iC.js → p-CuwopElg.js} +2 -2
  182. package/dist/components/p-CwUXroLs.js +2 -0
  183. package/dist/components/{p-etg-Uk1u.js.map → p-CwUXroLs.js.map} +1 -1
  184. package/dist/components/{p-Cqc2U1ZQ.js → p-CzQ_JF6A.js} +2 -2
  185. package/dist/components/{p-BciTtTwx.js → p-CztB8Pbq.js} +2 -2
  186. package/dist/components/{p-BciTtTwx.js.map → p-CztB8Pbq.js.map} +1 -1
  187. package/dist/components/{p-ZhP2tVmM.js → p-D0KD-Nr_.js} +2 -2
  188. package/dist/components/{p-DOAybCp0.js → p-DCLRAH5i.js} +2 -2
  189. package/dist/components/{p-Dn9QHL4O.js → p-DFkw6wrS.js} +2 -2
  190. package/dist/components/{p-D1vQGJzc.js → p-DHapI2sf.js} +2 -2
  191. package/dist/components/p-DQPzqcYR.js +2 -0
  192. package/dist/components/p-DQPzqcYR.js.map +1 -0
  193. package/dist/components/{p-DHICPS4n.js → p-DWmYCOKz.js} +2 -2
  194. package/dist/components/p-DX2RyZba.js +2 -0
  195. package/dist/components/{p-C-3YqeTb.js.map → p-DX2RyZba.js.map} +1 -1
  196. package/dist/components/{p-vfCu7XSc.js → p-DZ58Sg5a.js} +2 -2
  197. package/dist/components/{p-D0y7Sja6.js → p-Dcn1eDVt.js} +2 -2
  198. package/dist/components/{p-E5W27Fu_.js → p-DcrdyDRw.js} +2 -2
  199. package/dist/components/p-DhKvqh5G.js +2 -0
  200. package/dist/components/p-DhKvqh5G.js.map +1 -0
  201. package/dist/components/p-Fkkd3gMB.js +2 -0
  202. package/dist/components/{p-DEW7r0U9.js.map → p-Fkkd3gMB.js.map} +1 -1
  203. package/dist/components/{p-xdmJCPCg.js → p-Gb-vTuXr.js} +2 -2
  204. package/dist/components/p-TVkFIMXz.js +2 -0
  205. package/dist/components/p-TVkFIMXz.js.map +1 -0
  206. package/dist/components/p-cuZva5tl.js +2 -0
  207. package/dist/components/{p-Dw9sE6Iw.js.map → p-cuZva5tl.js.map} +1 -1
  208. package/dist/components/p-fYZK3zqM.js +2 -0
  209. package/dist/components/{p-C6xVxqOn.js.map → p-fYZK3zqM.js.map} +1 -1
  210. package/dist/components/{p-CiH4GG6r.js → p-iGNHXFZA.js} +2 -2
  211. package/dist/components/{p-5URekSny.js → p-lADW-TI8.js} +2 -2
  212. package/dist/components/{p-D922f6Tb.js → p-p_MwknM3.js} +2 -2
  213. package/dist/components/{p-Dfs98tpL.js → p-tJaC01aE.js} +2 -2
  214. package/dist/components/{p-B_jdoM7e.js → p-z8L-YMi3.js} +2 -2
  215. package/dist/docs/components.json +1909 -44
  216. package/dist/framework/angular.d.ts +1 -0
  217. package/dist/framework/angular.js +1 -0
  218. package/dist/lint/index.js +1 -1
  219. package/dist/mcp-data/registry/agent-activity.json +2 -2
  220. package/dist/mcp-data/registry/agent-questionnaire.json +2 -2
  221. package/dist/mcp-data/registry/agent-response.json +2 -2
  222. package/dist/mcp-data/registry/agent-source-list.json +2 -2
  223. package/dist/mcp-data/registry/agent-tool-call.json +2 -2
  224. package/dist/mcp-data/registry/attachment-list.json +2 -2
  225. package/dist/mcp-data/registry/avatar.json +2 -2
  226. package/dist/mcp-data/registry/badge.json +2 -2
  227. package/dist/mcp-data/registry/banner.json +2 -2
  228. package/dist/mcp-data/registry/bar-action.json +2 -2
  229. package/dist/mcp-data/registry/bar-nav.json +2 -2
  230. package/dist/mcp-data/registry/bar-page-title.json +2 -2
  231. package/dist/mcp-data/registry/bar-title.json +4 -4
  232. package/dist/mcp-data/registry/bar-workflow.json +2 -2
  233. package/dist/mcp-data/registry/breadcrumb.json +2 -2
  234. package/dist/mcp-data/registry/button-filled.json +2 -2
  235. package/dist/mcp-data/registry/button-inverted.json +2 -2
  236. package/dist/mcp-data/registry/button-unfilled.json +2 -2
  237. package/dist/mcp-data/registry/calendar.json +2 -2
  238. package/dist/mcp-data/registry/card-action-center.json +2 -2
  239. package/dist/mcp-data/registry/card-chart.json +2 -2
  240. package/dist/mcp-data/registry/card-navigation.json +2 -2
  241. package/dist/mcp-data/registry/card-overview.json +2 -2
  242. package/dist/mcp-data/registry/card-setting.json +36 -15
  243. package/dist/mcp-data/registry/card-settings-scope.json +2 -2
  244. package/dist/mcp-data/registry/chart-legend.json +2 -2
  245. package/dist/mcp-data/registry/chart.json +2 -2
  246. package/dist/mcp-data/registry/checkbox.json +2 -2
  247. package/dist/mcp-data/registry/chip.json +2 -2
  248. package/dist/mcp-data/registry/code-block.json +2 -2
  249. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  250. package/dist/mcp-data/registry/conversation-list-section.json +2 -2
  251. package/dist/mcp-data/registry/conversation-list.json +2 -2
  252. package/dist/mcp-data/registry/data-customize.json +3 -3
  253. package/dist/mcp-data/registry/data-filter.json +2 -2
  254. package/dist/mcp-data/registry/data-group.json +2 -2
  255. package/dist/mcp-data/registry/data-preferences.json +2 -2
  256. package/dist/mcp-data/registry/data-saved-views.json +2 -2
  257. package/dist/mcp-data/registry/data-search.json +2 -2
  258. package/dist/mcp-data/registry/data-sort.json +2 -2
  259. package/dist/mcp-data/registry/data-toolbar.json +2 -2
  260. package/dist/mcp-data/registry/divider.json +2 -2
  261. package/dist/mcp-data/registry/empty-state.json +27 -14
  262. package/dist/mcp-data/registry/field.json +6 -5
  263. package/dist/mcp-data/registry/filter-menu.json +2 -2
  264. package/dist/mcp-data/registry/icon.json +2 -2
  265. package/dist/mcp-data/registry/input-date.json +2 -2
  266. package/dist/mcp-data/registry/input-time.json +26 -7
  267. package/dist/mcp-data/registry/input.json +265 -15
  268. package/dist/mcp-data/registry/loader.json +2 -2
  269. package/dist/mcp-data/registry/map-cluster-marker.json +263 -0
  270. package/dist/mcp-data/registry/map-entity-marker.json +321 -0
  271. package/dist/mcp-data/registry/markdown.json +2 -2
  272. package/dist/mcp-data/registry/menu.json +2 -2
  273. package/dist/mcp-data/registry/message-actions.json +2 -2
  274. package/dist/mcp-data/registry/message-bubble.json +2 -2
  275. package/dist/mcp-data/registry/message-composer.json +2 -2
  276. package/dist/mcp-data/registry/message-scroller.json +2 -2
  277. package/dist/mcp-data/registry/message.json +2 -2
  278. package/dist/mcp-data/registry/mobile-bar-nav.json +2 -2
  279. package/dist/mcp-data/registry/mobile-header.json +2 -2
  280. package/dist/mcp-data/registry/mobile-section-switcher.json +2 -2
  281. package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
  282. package/dist/mcp-data/registry/modal.json +2 -2
  283. package/dist/mcp-data/registry/pagination.json +2 -2
  284. package/dist/mcp-data/registry/panel-nav.json +2 -2
  285. package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
  286. package/dist/mcp-data/registry/panel-tool-header.json +2 -2
  287. package/dist/mcp-data/registry/panel-tool-search.json +2 -2
  288. package/dist/mcp-data/registry/panel-tools.json +2 -2
  289. package/dist/mcp-data/registry/paper-texture.json +2 -2
  290. package/dist/mcp-data/registry/radio-tile.json +398 -0
  291. package/dist/mcp-data/registry/radio.json +2 -2
  292. package/dist/mcp-data/registry/registry.json +724 -49
  293. package/dist/mcp-data/registry/score.json +2 -2
  294. package/dist/mcp-data/registry/scroll-overlay.json +2 -2
  295. package/dist/mcp-data/registry/select.json +2 -2
  296. package/dist/mcp-data/registry/setting-row.json +213 -0
  297. package/dist/mcp-data/registry/shell-app.json +3 -3
  298. package/dist/mcp-data/registry/shell-page.json +5 -5
  299. package/dist/mcp-data/registry/shell-tools.json +2 -2
  300. package/dist/mcp-data/registry/skeleton.json +2 -2
  301. package/dist/mcp-data/registry/slider.json +32 -12
  302. package/dist/mcp-data/registry/swatch-picker.json +2 -2
  303. package/dist/mcp-data/registry/switch.json +2 -2
  304. package/dist/mcp-data/registry/tab-group.json +2 -2
  305. package/dist/mcp-data/registry/table.json +5 -5
  306. package/dist/mcp-data/registry/tag.json +2 -2
  307. package/dist/mcp-data/registry/text.json +2 -2
  308. package/dist/mcp-data/registry/textarea.json +72 -5
  309. package/dist/mcp-data/registry/time-picker.json +28 -9
  310. package/dist/mcp-data/registry/toast.json +2 -2
  311. package/dist/mcp-data/registry/tooltip-chart.json +2 -2
  312. package/dist/mcp-data/registry/tooltip.json +2 -2
  313. package/dist/mcp-data/registry/typing-indicator.json +2 -2
  314. package/dist/react/components.d.ts +4 -0
  315. package/dist/react/components.js +4 -0
  316. package/dist/react/ds-input.d.ts +2 -0
  317. package/dist/react/ds-input.js +2 -0
  318. package/dist/react/ds-map-cluster-marker.d.ts +12 -0
  319. package/dist/react/ds-map-cluster-marker.js +12 -0
  320. package/dist/react/ds-map-entity-marker.d.ts +12 -0
  321. package/dist/react/ds-map-entity-marker.js +12 -0
  322. package/dist/react/ds-radio-tile.d.ts +12 -0
  323. package/dist/react/ds-radio-tile.js +12 -0
  324. package/dist/react/ds-setting-row.d.ts +12 -0
  325. package/dist/react/ds-setting-row.js +12 -0
  326. package/dist/types/components/CardSetting/CardSetting.d.ts +5 -3
  327. package/dist/types/components/CardSetting/index.d.ts +1 -1
  328. package/dist/types/components/EmptyState/EmptyState.d.ts +3 -0
  329. package/dist/types/components/Field/Field.d.ts +4 -0
  330. package/dist/types/components/Input/Input.d.ts +50 -1
  331. package/dist/types/components/InputTime/InputTime.d.ts +3 -0
  332. package/dist/types/components/MapClusterMarker/MapClusterMarker.d.ts +19 -0
  333. package/dist/types/components/MapEntityMarker/MapEntityMarker.d.ts +26 -0
  334. package/dist/types/components/RadioTile/RadioTile.d.ts +40 -0
  335. package/dist/types/components/RadioTile/index.d.ts +2 -0
  336. package/dist/types/components/SettingRow/SettingRow.d.ts +18 -0
  337. package/dist/types/components/Slider/Slider.d.ts +8 -1
  338. package/dist/types/components/Slider/index.d.ts +1 -1
  339. package/dist/types/components/Textarea/Textarea.d.ts +12 -0
  340. package/dist/types/components/TimePicker/TimePicker.d.ts +4 -0
  341. package/dist/types/components.d.ts +627 -11
  342. package/dist/types/utils/text-constraints.d.ts +20 -0
  343. package/dist/vue/components.d.ts +4 -0
  344. package/dist/vue/components.js +4 -0
  345. package/dist/vue/ds-card-setting.js +1 -0
  346. package/dist/vue/ds-input-time.js +1 -0
  347. package/dist/vue/ds-input.js +17 -0
  348. package/dist/vue/ds-map-cluster-marker.d.ts +3 -0
  349. package/dist/vue/ds-map-cluster-marker.js +14 -0
  350. package/dist/vue/ds-map-entity-marker.d.ts +3 -0
  351. package/dist/vue/ds-map-entity-marker.js +17 -0
  352. package/dist/vue/ds-radio-tile.d.ts +3 -0
  353. package/dist/vue/ds-radio-tile.js +24 -0
  354. package/dist/vue/ds-setting-row.d.ts +3 -0
  355. package/dist/vue/ds-setting-row.js +14 -0
  356. package/dist/vue/ds-slider.d.ts +1 -1
  357. package/dist/vue/ds-slider.js +2 -1
  358. package/dist/vue/ds-textarea.js +4 -0
  359. package/dist/vue/ds-time-picker.js +1 -0
  360. package/package.json +5 -5
  361. package/dist/components/p-0qY_HDId.js +0 -2
  362. package/dist/components/p-0qY_HDId.js.map +0 -1
  363. package/dist/components/p-BKZdqJQB.js +0 -2
  364. package/dist/components/p-C-3YqeTb.js +0 -2
  365. package/dist/components/p-C6xVxqOn.js +0 -2
  366. package/dist/components/p-CNxvnQ6A.js.map +0 -1
  367. package/dist/components/p-CdGXzRP8.js +0 -2
  368. package/dist/components/p-DEW7r0U9.js +0 -2
  369. package/dist/components/p-DVOjjuXc.js +0 -2
  370. package/dist/components/p-DVOjjuXc.js.map +0 -1
  371. package/dist/components/p-Di5FH7eh.js +0 -2
  372. package/dist/components/p-Di5FH7eh.js.map +0 -1
  373. package/dist/components/p-Dw9sE6Iw.js +0 -2
  374. package/dist/components/p-etg-Uk1u.js +0 -2
  375. package/dist/components/p-xtGGIZmU.js +0 -2
  376. package/dist/components/p-xtGGIZmU.js.map +0 -1
  377. /package/dist/components/{p-etifxiDc.js.map → p-3bsypMrY.js.map} +0 -0
  378. /package/dist/components/{p-Bn8I7iw6.js.map → p-AmT4GlhM.js.map} +0 -0
  379. /package/dist/components/{p-FIBCluwV.js.map → p-B-HOVYoH.js.map} +0 -0
  380. /package/dist/components/{p-CmexIVnE.js.map → p-B7QEpaMe.js.map} +0 -0
  381. /package/dist/components/{p-CUcUHwI3.js.map → p-B7bXN-vf.js.map} +0 -0
  382. /package/dist/components/{p-BhJXmuRA.js.map → p-BSuMDPaV.js.map} +0 -0
  383. /package/dist/components/{p-0FYD2bev.js.map → p-BU1B6NW8.js.map} +0 -0
  384. /package/dist/components/{p-Do2FJd1y.js.map → p-BVwg5XVz.js.map} +0 -0
  385. /package/dist/components/{p-CYzFfFcH.js.map → p-BXSHN1OK.js.map} +0 -0
  386. /package/dist/components/{p-ljbw3UMZ.js.map → p-BYJtvRQm.js.map} +0 -0
  387. /package/dist/components/{p-CzIpquvw.js.map → p-Bh1Fx0aW.js.map} +0 -0
  388. /package/dist/components/{p-CiJ1WR11.js.map → p-Bm3KWMe4.js.map} +0 -0
  389. /package/dist/components/{p-DVINzOoK.js.map → p-Bo7GxFBh.js.map} +0 -0
  390. /package/dist/components/{p-8yBdCXCn.js.map → p-BsM37Prt.js.map} +0 -0
  391. /package/dist/components/{p-DpoTwJAR.js.map → p-BugKaVWc.js.map} +0 -0
  392. /package/dist/components/{p-Bpd6YCo4.js.map → p-C3-dcROG.js.map} +0 -0
  393. /package/dist/components/{p-Dzndkdx5.js.map → p-CI7c9kp-.js.map} +0 -0
  394. /package/dist/components/{p-CdgOLWX9.js.map → p-CJD0kLeV.js.map} +0 -0
  395. /package/dist/components/{p-BeNa6tw5.js.map → p-C_gJD8l3.js.map} +0 -0
  396. /package/dist/components/{p-DwbcNDJF.js.map → p-Cihjy4WY.js.map} +0 -0
  397. /package/dist/components/{p-BgQMEHRa.js.map → p-Co5MiPNa.js.map} +0 -0
  398. /package/dist/components/{p-CD4DZPy_.js.map → p-CrL9wxZg.js.map} +0 -0
  399. /package/dist/components/{p-CGidq1iC.js.map → p-CuwopElg.js.map} +0 -0
  400. /package/dist/components/{p-Cqc2U1ZQ.js.map → p-CzQ_JF6A.js.map} +0 -0
  401. /package/dist/components/{p-ZhP2tVmM.js.map → p-D0KD-Nr_.js.map} +0 -0
  402. /package/dist/components/{p-DOAybCp0.js.map → p-DCLRAH5i.js.map} +0 -0
  403. /package/dist/components/{p-Dn9QHL4O.js.map → p-DFkw6wrS.js.map} +0 -0
  404. /package/dist/components/{p-D1vQGJzc.js.map → p-DHapI2sf.js.map} +0 -0
  405. /package/dist/components/{p-DHICPS4n.js.map → p-DWmYCOKz.js.map} +0 -0
  406. /package/dist/components/{p-vfCu7XSc.js.map → p-DZ58Sg5a.js.map} +0 -0
  407. /package/dist/components/{p-D0y7Sja6.js.map → p-Dcn1eDVt.js.map} +0 -0
  408. /package/dist/components/{p-E5W27Fu_.js.map → p-DcrdyDRw.js.map} +0 -0
  409. /package/dist/components/{p-xdmJCPCg.js.map → p-Gb-vTuXr.js.map} +0 -0
  410. /package/dist/components/{p-CiH4GG6r.js.map → p-iGNHXFZA.js.map} +0 -0
  411. /package/dist/components/{p-5URekSny.js.map → p-lADW-TI8.js.map} +0 -0
  412. /package/dist/components/{p-D922f6Tb.js.map → p-p_MwknM3.js.map} +0 -0
  413. /package/dist/components/{p-Dfs98tpL.js.map → p-tJaC01aE.js.map} +0 -0
  414. /package/dist/components/{p-B_jdoM7e.js.map → p-z8L-YMi3.js.map} +0 -0
@@ -285,8 +285,8 @@
285
285
  },
286
286
  "peerDependencies": {
287
287
  "required": [
288
- "@ds-mo/tokens ^6.5.1",
289
- "@ds-mo/icons ^8.1.0"
288
+ "@ds-mo/tokens ^6.5.2",
289
+ "@ds-mo/icons ^8.1.1"
290
290
  ],
291
291
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
292
292
  }
@@ -212,8 +212,8 @@
212
212
  },
213
213
  "peerDependencies": {
214
214
  "required": [
215
- "@ds-mo/tokens ^6.5.1",
216
- "@ds-mo/icons ^8.1.0"
215
+ "@ds-mo/tokens ^6.5.2",
216
+ "@ds-mo/icons ^8.1.1"
217
217
  ],
218
218
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
219
219
  }
@@ -259,8 +259,8 @@
259
259
  },
260
260
  "peerDependencies": {
261
261
  "required": [
262
- "@ds-mo/tokens ^6.5.1",
263
- "@ds-mo/icons ^8.1.0"
262
+ "@ds-mo/tokens ^6.5.2",
263
+ "@ds-mo/icons ^8.1.1"
264
264
  ],
265
265
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
266
266
  }
@@ -429,8 +429,8 @@
429
429
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: currentArea.",
430
430
  "peerDependencies": {
431
431
  "required": [
432
- "@ds-mo/tokens ^6.5.1",
433
- "@ds-mo/icons ^8.1.0"
432
+ "@ds-mo/tokens ^6.5.2",
433
+ "@ds-mo/icons ^8.1.1"
434
434
  ],
435
435
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
436
436
  }
@@ -368,8 +368,8 @@
368
368
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: sections, subsections.",
369
369
  "peerDependencies": {
370
370
  "required": [
371
- "@ds-mo/tokens ^6.5.1",
372
- "@ds-mo/icons ^8.1.0"
371
+ "@ds-mo/tokens ^6.5.2",
372
+ "@ds-mo/icons ^8.1.1"
373
373
  ],
374
374
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
375
375
  }
@@ -228,8 +228,8 @@
228
228
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: sections.",
229
229
  "peerDependencies": {
230
230
  "required": [
231
- "@ds-mo/tokens ^6.5.1",
232
- "@ds-mo/icons ^8.1.0"
231
+ "@ds-mo/tokens ^6.5.2",
232
+ "@ds-mo/icons ^8.1.1"
233
233
  ],
234
234
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
235
235
  }
@@ -390,8 +390,8 @@
390
390
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: dashboardGroups, settingsGroups.",
391
391
  "peerDependencies": {
392
392
  "required": [
393
- "@ds-mo/tokens ^6.5.1",
394
- "@ds-mo/icons ^8.1.0"
393
+ "@ds-mo/tokens ^6.5.2",
394
+ "@ds-mo/icons ^8.1.1"
395
395
  ],
396
396
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
397
397
  }
@@ -298,8 +298,8 @@
298
298
  },
299
299
  "peerDependencies": {
300
300
  "required": [
301
- "@ds-mo/tokens ^6.5.1",
302
- "@ds-mo/icons ^8.1.0"
301
+ "@ds-mo/tokens ^6.5.2",
302
+ "@ds-mo/icons ^8.1.1"
303
303
  ],
304
304
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
305
305
  }
@@ -410,8 +410,8 @@
410
410
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: pageSizeOptions.",
411
411
  "peerDependencies": {
412
412
  "required": [
413
- "@ds-mo/tokens ^6.5.1",
414
- "@ds-mo/icons ^8.1.0"
413
+ "@ds-mo/tokens ^6.5.2",
414
+ "@ds-mo/icons ^8.1.1"
415
415
  ],
416
416
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
417
417
  }
@@ -711,8 +711,8 @@
711
711
  },
712
712
  "peerDependencies": {
713
713
  "required": [
714
- "@ds-mo/tokens ^6.5.1",
715
- "@ds-mo/icons ^8.1.0"
714
+ "@ds-mo/tokens ^6.5.2",
715
+ "@ds-mo/icons ^8.1.1"
716
716
  ],
717
717
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
718
718
  }
@@ -245,8 +245,8 @@
245
245
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: items.",
246
246
  "peerDependencies": {
247
247
  "required": [
248
- "@ds-mo/tokens ^6.5.1",
249
- "@ds-mo/icons ^8.1.0"
248
+ "@ds-mo/tokens ^6.5.2",
249
+ "@ds-mo/icons ^8.1.1"
250
250
  ],
251
251
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
252
252
  }
@@ -361,8 +361,8 @@
361
361
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: actions.",
362
362
  "peerDependencies": {
363
363
  "required": [
364
- "@ds-mo/tokens ^6.5.1",
365
- "@ds-mo/icons ^8.1.0"
364
+ "@ds-mo/tokens ^6.5.2",
365
+ "@ds-mo/icons ^8.1.1"
366
366
  ],
367
367
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
368
368
  }
@@ -403,8 +403,8 @@
403
403
  },
404
404
  "peerDependencies": {
405
405
  "required": [
406
- "@ds-mo/tokens ^6.5.1",
407
- "@ds-mo/icons ^8.1.0"
406
+ "@ds-mo/tokens ^6.5.2",
407
+ "@ds-mo/icons ^8.1.1"
408
408
  ],
409
409
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
410
410
  }
@@ -518,8 +518,8 @@
518
518
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: accessories, headers, items.",
519
519
  "peerDependencies": {
520
520
  "required": [
521
- "@ds-mo/tokens ^6.5.1",
522
- "@ds-mo/icons ^8.1.0"
521
+ "@ds-mo/tokens ^6.5.2",
522
+ "@ds-mo/icons ^8.1.1"
523
523
  ],
524
524
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
525
525
  }
@@ -119,8 +119,8 @@
119
119
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: config.",
120
120
  "peerDependencies": {
121
121
  "required": [
122
- "@ds-mo/tokens ^6.5.1",
123
- "@ds-mo/icons ^8.1.0"
122
+ "@ds-mo/tokens ^6.5.2",
123
+ "@ds-mo/icons ^8.1.1"
124
124
  ],
125
125
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
126
126
  }
@@ -0,0 +1,398 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "radio-tile",
4
+ "title": "RadioTile",
5
+ "description": "A form-associated group of fully clickable radio tiles with labels and optional descriptions.",
6
+ "type": "registry:ui",
7
+ "meta": {
8
+ "library": "@ds-mo/ui",
9
+ "distribution": "npm",
10
+ "storybook": "https://zainadeel.github.io/compomo/?path=/story/radio-tile",
11
+ "source": "src/wc/components/RadioTile/RadioTile.tsx",
12
+ "intentStatus": "complete",
13
+ "intent": {
14
+ "audience": "general",
15
+ "status": "experimental",
16
+ "summary": "A form-associated group of fully clickable radio tiles with labels and optional descriptions.",
17
+ "useWhen": [
18
+ "A small set of mutually exclusive choices benefits from descriptive cards and large click targets."
19
+ ],
20
+ "avoidWhen": [
21
+ "The choices are brief and compact; use Radio.",
22
+ "More than one value may be chosen."
23
+ ],
24
+ "alternatives": [
25
+ {
26
+ "when": "A user may select zero or multiple independent choices.",
27
+ "component": "component:ds-checkbox",
28
+ "reason": "Checkbox communicates independent selection rather than one-of-many choice."
29
+ },
30
+ {
31
+ "when": "A binary setting applies immediately.",
32
+ "component": "component:ds-switch",
33
+ "reason": "Switch communicates an immediately applied on/off setting."
34
+ },
35
+ {
36
+ "when": "The option list is long or the available space is constrained.",
37
+ "component": "component:ds-select",
38
+ "reason": "Select keeps a larger one-of-many choice set compact."
39
+ }
40
+ ],
41
+ "commonlyComposedWith": [
42
+ "component:ds-field",
43
+ "component:ds-text"
44
+ ],
45
+ "accessibility": [
46
+ "Native radio inputs own keyboard selection, focus, and checked semantics; the complete tile activates its input.",
47
+ "Label the group with Field or an accessible name. Descriptions name each option separately."
48
+ ],
49
+ "states": [
50
+ "Selection is shown by the radio indicator while the tile keeps its neutral border. Error retains the negative border, and keyboard focus keeps the focus-token outline. Inactive options cannot be selected.",
51
+ "The component owns form values, required validation, reset, and disabled-fieldset behavior."
52
+ ],
53
+ "responsiveBehavior": [
54
+ "Horizontal tiles wrap to available space; use a vertical group when descriptions need more room."
55
+ ],
56
+ "frameworkCaveats": {
57
+ "angular": [
58
+ "Use the generated radio value accessor with the standalone adapter."
59
+ ],
60
+ "vue": [
61
+ "Bind value with v-model."
62
+ ]
63
+ },
64
+ "references": [
65
+ {
66
+ "label": "Storybook review",
67
+ "path": "src/wc/components/RadioTile/RadioTile.stories.ts"
68
+ }
69
+ ],
70
+ "styling": {
71
+ "rationale": "Tile anatomy and radio treatment belong to the component; the owner controls group width.",
72
+ "protected": [
73
+ {
74
+ "properties": [
75
+ "padding",
76
+ "gap",
77
+ "border-radius",
78
+ "background",
79
+ "border",
80
+ "box-shadow",
81
+ "color"
82
+ ],
83
+ "reason": "Use the supported group direction and state instead of replacing tile internals.",
84
+ "props": [
85
+ "direction"
86
+ ]
87
+ }
88
+ ],
89
+ "customProperties": []
90
+ }
91
+ },
92
+ "api": {
93
+ "props": {
94
+ "ariaDescribedby": {
95
+ "type": "string | undefined",
96
+ "resolvedType": "string | undefined",
97
+ "attribute": "aria-describedby",
98
+ "required": false,
99
+ "mutable": false
100
+ },
101
+ "ariaLabel": {
102
+ "type": "string | null",
103
+ "resolvedType": "null | string",
104
+ "attribute": "aria-label",
105
+ "default": "null",
106
+ "required": false,
107
+ "mutable": false
108
+ },
109
+ "ariaLabelledby": {
110
+ "type": "string | undefined",
111
+ "resolvedType": "string | undefined",
112
+ "attribute": "aria-labelledby",
113
+ "required": false,
114
+ "mutable": false
115
+ },
116
+ "direction": {
117
+ "type": "'horizontal' | 'vertical'",
118
+ "resolvedType": "\"horizontal\" | \"vertical\"",
119
+ "attribute": "direction",
120
+ "default": "'vertical'",
121
+ "required": false,
122
+ "mutable": false
123
+ },
124
+ "disabled": {
125
+ "type": "boolean",
126
+ "resolvedType": "boolean",
127
+ "attribute": "disabled",
128
+ "default": "false",
129
+ "required": false,
130
+ "mutable": false
131
+ },
132
+ "error": {
133
+ "type": "boolean",
134
+ "resolvedType": "boolean",
135
+ "attribute": "error",
136
+ "default": "false",
137
+ "required": false,
138
+ "mutable": false
139
+ },
140
+ "form": {
141
+ "type": "string | undefined",
142
+ "resolvedType": "string | undefined",
143
+ "attribute": "form",
144
+ "required": false,
145
+ "mutable": false
146
+ },
147
+ "inputId": {
148
+ "type": "string | undefined",
149
+ "resolvedType": "string | undefined",
150
+ "attribute": "input-id",
151
+ "required": false,
152
+ "mutable": false
153
+ },
154
+ "isInactive": {
155
+ "type": "boolean",
156
+ "resolvedType": "boolean",
157
+ "attribute": "is-inactive",
158
+ "default": "false",
159
+ "required": false,
160
+ "mutable": false
161
+ },
162
+ "name": {
163
+ "type": "string | undefined",
164
+ "resolvedType": "string | undefined",
165
+ "attribute": "name",
166
+ "required": false,
167
+ "mutable": false
168
+ },
169
+ "options": {
170
+ "type": "RadioTileOption[]",
171
+ "resolvedType": "RadioTileOption[]",
172
+ "default": "[]",
173
+ "required": false,
174
+ "mutable": false,
175
+ "description": "One-of-many choices displayed as fully clickable tiles."
176
+ },
177
+ "required": {
178
+ "type": "boolean",
179
+ "resolvedType": "boolean",
180
+ "attribute": "required",
181
+ "default": "false",
182
+ "required": false,
183
+ "mutable": false
184
+ },
185
+ "requiredMessage": {
186
+ "type": "string",
187
+ "resolvedType": "string",
188
+ "attribute": "required-message",
189
+ "default": "'This field is required.'",
190
+ "required": false,
191
+ "mutable": false
192
+ },
193
+ "value": {
194
+ "type": "string",
195
+ "resolvedType": "string",
196
+ "attribute": "value",
197
+ "default": "''",
198
+ "required": false,
199
+ "mutable": true
200
+ }
201
+ },
202
+ "events": [
203
+ {
204
+ "name": "dsChange",
205
+ "detail": "string",
206
+ "bubbles": true,
207
+ "cancelable": true,
208
+ "composed": true
209
+ }
210
+ ],
211
+ "methods": [
212
+ {
213
+ "name": "setFocus",
214
+ "signature": "setFocus() => Promise<void>"
215
+ }
216
+ ],
217
+ "slots": []
218
+ },
219
+ "props": {
220
+ "ariaDescribedby": {
221
+ "type": "string | undefined",
222
+ "resolvedType": "string | undefined",
223
+ "attribute": "aria-describedby",
224
+ "required": false,
225
+ "mutable": false
226
+ },
227
+ "ariaLabel": {
228
+ "type": "string | null",
229
+ "resolvedType": "null | string",
230
+ "attribute": "aria-label",
231
+ "default": "null",
232
+ "required": false,
233
+ "mutable": false
234
+ },
235
+ "ariaLabelledby": {
236
+ "type": "string | undefined",
237
+ "resolvedType": "string | undefined",
238
+ "attribute": "aria-labelledby",
239
+ "required": false,
240
+ "mutable": false
241
+ },
242
+ "direction": {
243
+ "type": "'horizontal' | 'vertical'",
244
+ "resolvedType": "\"horizontal\" | \"vertical\"",
245
+ "attribute": "direction",
246
+ "default": "'vertical'",
247
+ "required": false,
248
+ "mutable": false
249
+ },
250
+ "disabled": {
251
+ "type": "boolean",
252
+ "resolvedType": "boolean",
253
+ "attribute": "disabled",
254
+ "default": "false",
255
+ "required": false,
256
+ "mutable": false
257
+ },
258
+ "error": {
259
+ "type": "boolean",
260
+ "resolvedType": "boolean",
261
+ "attribute": "error",
262
+ "default": "false",
263
+ "required": false,
264
+ "mutable": false
265
+ },
266
+ "form": {
267
+ "type": "string | undefined",
268
+ "resolvedType": "string | undefined",
269
+ "attribute": "form",
270
+ "required": false,
271
+ "mutable": false
272
+ },
273
+ "inputId": {
274
+ "type": "string | undefined",
275
+ "resolvedType": "string | undefined",
276
+ "attribute": "input-id",
277
+ "required": false,
278
+ "mutable": false
279
+ },
280
+ "isInactive": {
281
+ "type": "boolean",
282
+ "resolvedType": "boolean",
283
+ "attribute": "is-inactive",
284
+ "default": "false",
285
+ "required": false,
286
+ "mutable": false
287
+ },
288
+ "name": {
289
+ "type": "string | undefined",
290
+ "resolvedType": "string | undefined",
291
+ "attribute": "name",
292
+ "required": false,
293
+ "mutable": false
294
+ },
295
+ "options": {
296
+ "type": "RadioTileOption[]",
297
+ "resolvedType": "RadioTileOption[]",
298
+ "default": "[]",
299
+ "required": false,
300
+ "mutable": false,
301
+ "description": "One-of-many choices displayed as fully clickable tiles."
302
+ },
303
+ "required": {
304
+ "type": "boolean",
305
+ "resolvedType": "boolean",
306
+ "attribute": "required",
307
+ "default": "false",
308
+ "required": false,
309
+ "mutable": false
310
+ },
311
+ "requiredMessage": {
312
+ "type": "string",
313
+ "resolvedType": "string",
314
+ "attribute": "required-message",
315
+ "default": "'This field is required.'",
316
+ "required": false,
317
+ "mutable": false
318
+ },
319
+ "value": {
320
+ "type": "string",
321
+ "resolvedType": "string",
322
+ "attribute": "value",
323
+ "default": "''",
324
+ "required": false,
325
+ "mutable": true
326
+ }
327
+ },
328
+ "events": [
329
+ {
330
+ "name": "dsChange",
331
+ "detail": "string",
332
+ "bubbles": true,
333
+ "cancelable": true,
334
+ "composed": true
335
+ }
336
+ ],
337
+ "methods": [
338
+ {
339
+ "name": "setFocus",
340
+ "signature": "setFocus() => Promise<void>"
341
+ }
342
+ ],
343
+ "slots": [],
344
+ "exports": {
345
+ "customElement": "ds-radio-tile",
346
+ "react": "DsRadioTile",
347
+ "vue": "DsRadioTile",
348
+ "angular": "DsRadioTile"
349
+ },
350
+ "consumption": {
351
+ "install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
352
+ "cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
353
+ "customElements": {
354
+ "import": "import '@ds-mo/ui/dist/components/ds-radio-tile.js';",
355
+ "example": "<ds-radio-tile></ds-radio-tile>"
356
+ },
357
+ "react": {
358
+ "import": "import { DsRadioTile } from '@ds-mo/ui/react';",
359
+ "example": "<DsRadioTile />"
360
+ },
361
+ "vue": {
362
+ "import": "import { DsRadioTile } from '@ds-mo/ui/vue';",
363
+ "example": "<DsRadioTile />"
364
+ },
365
+ "angular": {
366
+ "import": "import { DsRadioTile } from '@ds-mo/ui/angular/ds-radio-tile';",
367
+ "example": "<ds-radio-tile></ds-radio-tile>"
368
+ },
369
+ "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: options.",
370
+ "peerDependencies": {
371
+ "required": [
372
+ "@ds-mo/tokens ^6.5.2",
373
+ "@ds-mo/icons ^8.1.1"
374
+ ],
375
+ "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
376
+ }
377
+ }
378
+ },
379
+ "dependencies": [
380
+ "@ds-mo/ui",
381
+ "@ds-mo/tokens"
382
+ ],
383
+ "registryDependencies": [
384
+ "text"
385
+ ],
386
+ "files": [
387
+ {
388
+ "path": "src/wc/components/RadioTile/RadioTile.css",
389
+ "content": "@import '../../utils/interaction-fill.css';\n@import '../../utils/control-inactive.css';\n@import '../../utils/forced-colors.css';\n:host {\n display: flex;\n flex-direction: column;\n gap: var(--dimension-space-100);\n}\n:host(.radio-tiles--horizontal) {\n flex-direction: row;\n flex-wrap: wrap;\n}\n:host(.radio-tiles--horizontal) .radio-tile {\n flex-basis: var(--dimension-menu-width-xs);\n}\n.radio-tile {\n display: flex;\n position: relative;\n align-items: flex-start;\n flex: 1;\n box-sizing: border-box;\n gap: var(--dimension-space-100);\n padding: var(--dimension-space-200);\n min-width: 0;\n border-radius: var(--dimension-radius-050);\n background: var(--color-background-primary);\n cursor: pointer;\n user-select: none;\n}\n.radio-tile__outline {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n box-shadow: inset 0 0 0 var(--dimension-stroke-width-012) var(--color-border-secondary);\n pointer-events: none;\n}\n:host([aria-invalid='true']) .radio-tile__outline {\n box-shadow: inset 0 0 0 var(--dimension-stroke-width-025) var(--color-border-bold-negative);\n}\n.radio-tile__input {\n position: absolute;\n inset: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n cursor: inherit;\n z-index: 3;\n}\n.radio-tile__input:disabled {\n cursor: not-allowed;\n}\n.radio-tile__input:focus-visible + .radio-tile__outline {\n outline: var(--dimension-stroke-width-025) solid var(--color-interaction-focus);\n outline-offset: var(--dimension-space-025);\n}\n.radio-tile__indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: none;\n box-sizing: border-box;\n width: var(--dimension-size-200);\n height: var(--dimension-size-200);\n margin-top: calc((var(--typography-lineheight-md) - var(--dimension-size-200)) / 2);\n border-radius: var(--dimension-radius-half);\n box-shadow: inset 0 0 0 var(--dimension-stroke-width-015) var(--color-foreground-tertiary);\n}\n.radio-tile--selected .radio-tile__indicator {\n background: var(--color-background-bold-brand);\n box-shadow: none;\n}\n.radio-tile__indicator > span {\n width: var(--dimension-size-100);\n height: var(--dimension-size-100);\n border-radius: var(--dimension-radius-half);\n background: var(--color-foreground-on-bold-background-primary);\n}\n.radio-tile__copy {\n display: grid;\n gap: var(--dimension-space-050);\n min-width: 0;\n padding-inline: var(--dimension-space-025);\n}\n\n@media (forced-colors: active) {\n .radio-tile__outline,\n .radio-tile__indicator {\n border: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n box-shadow: none;\n }\n .radio-tile--selected .radio-tile__indicator {\n background: var(--ds-forced-color-selected);\n }\n .radio-tile__indicator > span {\n background: var(--ds-forced-color-on-selected);\n }\n}\n",
390
+ "type": "registry:ui"
391
+ },
392
+ {
393
+ "path": "src/wc/components/RadioTile/RadioTile.tsx",
394
+ "content": "import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Prop,\n State,\n Watch,\n Method,\n h,\n Host,\n} from '@stencil/core';\nimport {\n DEFAULT_REQUIRED_MESSAGE,\n restoreStringFormState,\n setFormControlValue,\n setRequiredValidity,\n} from '../../utils';\n\nexport interface RadioTileOption {\n value: string;\n label: string;\n description?: string;\n isInactive?: boolean;\n}\nlet tileId = 0;\n\n@Component({ tag: 'ds-radio-tile', styleUrl: 'RadioTile.css', scoped: true, formAssociated: true })\nexport class RadioTile {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n /** One-of-many choices displayed as fully clickable tiles. */\n @Prop() options: RadioTileOption[] = [];\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 @Prop() isInactive: boolean = false;\n @Prop({ reflect: true }) required: boolean = false;\n @Prop() requiredMessage: string = DEFAULT_REQUIRED_MESSAGE;\n @Prop() direction: 'horizontal' | 'vertical' = 'vertical';\n @Prop() inputId: string | undefined;\n @Prop() error: boolean = false;\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 @Event() dsChange!: EventEmitter<string>;\n @State() private formDisabled = false;\n private readonly generatedId = `ds-radio-tile-${++tileId}`;\n private initialValue = '';\n private get inactive() {\n return this.disabled || this.isInactive || this.formDisabled;\n }\n componentWillLoad() {\n this.initialValue = this.value;\n this.syncFormValue();\n }\n @Watch('value')\n @Watch('options')\n @Watch('disabled')\n @Watch('isInactive')\n @Watch('required')\n @Watch('requiredMessage')\n syncFormValue() {\n const selected = this.options.some(option => option.value === this.value && !option.isInactive);\n setFormControlValue(this.internals, selected ? this.value : '', { inactive: this.inactive });\n setRequiredValidity(\n this.internals,\n this.required && !this.inactive && !selected,\n this.requiredMessage\n );\n }\n formDisabledCallback(disabled: boolean) {\n this.formDisabled = disabled;\n this.syncFormValue();\n }\n formResetCallback() {\n this.value = this.initialValue;\n }\n formStateRestoreCallback(state: string | File | FormData | null) {\n this.value = restoreStringFormState(state);\n }\n @Method()\n async setFocus() {\n (\n this.el.querySelector<HTMLInputElement>('input:checked:not(:disabled)') ??\n this.el.querySelector<HTMLInputElement>('input:not(:disabled)')\n )?.focus();\n }\n private select(value: string) {\n if (this.inactive || value === this.value) return;\n this.value = value;\n this.dsChange.emit(value);\n }\n render() {\n return (\n <Host\n role=\"radiogroup\"\n aria-label={this.ariaLabel}\n aria-labelledby={this.ariaLabelledby}\n aria-describedby={this.ariaDescribedby}\n aria-required={this.required ? 'true' : undefined}\n aria-invalid={this.error ? 'true' : undefined}\n class={{ 'radio-tiles': true, 'radio-tiles--horizontal': this.direction === 'horizontal' }}\n >\n {this.options.map((option, index) => {\n const selected = option.value === this.value;\n const inactive = this.inactive || Boolean(option.isInactive);\n return (\n <label\n class={{\n 'radio-tile': true,\n 'radio-tile--selected': selected,\n 'ds-interaction-fill': !inactive,\n 'ds-control-inactive': inactive,\n }}\n key={option.value}\n >\n <input\n type=\"radio\"\n class=\"radio-tile__input\"\n id={index === 0 ? this.inputId : undefined}\n name={this.generatedId}\n form=\"\"\n value={option.value}\n checked={selected}\n disabled={inactive}\n aria-labelledby={`${this.generatedId}-label-${index}`}\n aria-describedby={\n option.description ? `${this.generatedId}-description-${index}` : undefined\n }\n onChange={() => this.select(option.value)}\n />\n <span class=\"radio-tile__outline\" aria-hidden=\"true\" />\n <span class=\"radio-tile__indicator ds-interaction-fill__content\" aria-hidden=\"true\">\n {selected && <span />}\n </span>\n <span class=\"radio-tile__copy ds-interaction-fill__content\">\n <ds-text\n as=\"span\"\n variant=\"text-body-medium\"\n emphasis\n textId={`${this.generatedId}-label-${index}`}\n >\n {option.label}\n </ds-text>\n {option.description && (\n <ds-text\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"secondary\"\n textId={`${this.generatedId}-description-${index}`}\n >\n {option.description}\n </ds-text>\n )}\n </span>\n </label>\n );\n })}\n </Host>\n );\n }\n}\n",
395
+ "type": "registry:ui"
396
+ }
397
+ ]
398
+ }
@@ -400,8 +400,8 @@
400
400
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: options.",
401
401
  "peerDependencies": {
402
402
  "required": [
403
- "@ds-mo/tokens ^6.5.1",
404
- "@ds-mo/icons ^8.1.0"
403
+ "@ds-mo/tokens ^6.5.2",
404
+ "@ds-mo/icons ^8.1.1"
405
405
  ],
406
406
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
407
407
  }