@ds-mo/ui 14.36.0 → 15.1.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 (496) hide show
  1. package/NOTICE +6 -0
  2. package/README.md +7 -0
  3. package/dist/.package-ready.json +1 -1
  4. package/dist/agent-patterns.json +1 -1
  5. package/dist/agent.json +7485 -5096
  6. package/dist/angular/ds-conversation-list.d.ts +1 -1
  7. package/dist/angular/ds-conversation-list.js +3 -4
  8. package/dist/angular/ds-data-customize.d.ts +18 -0
  9. package/dist/angular/ds-data-customize.js +46 -0
  10. package/dist/angular/ds-data-filter.d.ts +50 -0
  11. package/dist/angular/{ds-table-filter.js → ds-data-filter.js} +10 -10
  12. package/dist/angular/ds-data-group.d.ts +29 -0
  13. package/dist/angular/{ds-table-group.js → ds-data-group.js} +10 -10
  14. package/dist/angular/ds-data-preferences.d.ts +39 -0
  15. package/dist/angular/{ds-table-preferences.js → ds-data-preferences.js} +15 -15
  16. package/dist/angular/ds-data-saved-views.d.ts +49 -0
  17. package/dist/angular/{ds-table-saved-views.js → ds-data-saved-views.js} +10 -10
  18. package/dist/angular/ds-data-search.d.ts +20 -0
  19. package/dist/angular/{ds-table-search.js → ds-data-search.js} +12 -12
  20. package/dist/angular/ds-data-sort.d.ts +16 -0
  21. package/dist/angular/{ds-table-sort.js → ds-data-sort.js} +12 -12
  22. package/dist/angular/ds-data-toolbar.d.ts +12 -0
  23. package/dist/angular/{ds-table-toolbar.js → ds-data-toolbar.js} +10 -10
  24. package/dist/angular/ds-table.d.ts +7 -7
  25. package/dist/angular/ds-table.js +6 -6
  26. package/dist/angular/index.d.ts +1 -1
  27. package/dist/angular/index.js +8 -7
  28. package/dist/angular/proxies.d.ts +8 -7
  29. package/dist/angular/proxies.js +8 -7
  30. package/dist/components/ds-agent-activity.js +1 -1
  31. package/dist/components/ds-agent-questionnaire.js +1 -1
  32. package/dist/components/ds-agent-response.js +1 -1
  33. package/dist/components/ds-agent-source-list.js +1 -1
  34. package/dist/components/ds-agent-tool-call.js +1 -1
  35. package/dist/components/ds-attachment-list.js +1 -1
  36. package/dist/components/ds-avatar.js +1 -1
  37. package/dist/components/ds-badge.js +1 -1
  38. package/dist/components/ds-banner.js +1 -1
  39. package/dist/components/ds-banner.js.map +1 -1
  40. package/dist/components/ds-bar-action.js +1 -1
  41. package/dist/components/ds-bar-nav.js +1 -1
  42. package/dist/components/ds-bar-page-title.js +1 -1
  43. package/dist/components/ds-bar-title.js +1 -1
  44. package/dist/components/ds-bar-workflow.js +1 -1
  45. package/dist/components/ds-breadcrumb.js +1 -1
  46. package/dist/components/ds-button-filled.js +1 -1
  47. package/dist/components/ds-button-inverted.js +1 -1
  48. package/dist/components/ds-button-unfilled.js +1 -1
  49. package/dist/components/ds-calendar.js +1 -1
  50. package/dist/components/ds-card-action-center.js +1 -1
  51. package/dist/components/ds-card-chart.js +1 -1
  52. package/dist/components/ds-card-chart.js.map +1 -1
  53. package/dist/components/ds-card-navigation.js +1 -1
  54. package/dist/components/ds-card-overview.js +1 -1
  55. package/dist/components/ds-card-overview.js.map +1 -1
  56. package/dist/components/ds-card-setting.js +1 -1
  57. package/dist/components/ds-card-setting.js.map +1 -1
  58. package/dist/components/ds-card-settings-scope.js +1 -1
  59. package/dist/components/ds-chart-legend.js +1 -1
  60. package/dist/components/ds-chart.js +1 -1
  61. package/dist/components/ds-chart.js.map +1 -1
  62. package/dist/components/ds-checkbox.js +1 -1
  63. package/dist/components/ds-chip.js +1 -1
  64. package/dist/components/ds-code-block.js +1 -1
  65. package/dist/components/ds-conversation-list-item.js +1 -1
  66. package/dist/components/ds-conversation-list-item.js.map +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-conversation-list.js.map +1 -1
  70. package/dist/components/ds-data-customize.d.ts +11 -0
  71. package/dist/components/ds-data-customize.js +2 -0
  72. package/dist/components/ds-data-customize.js.map +1 -0
  73. package/dist/components/{ds-table-group.d.ts → ds-data-filter.d.ts} +4 -4
  74. package/dist/components/ds-data-filter.js +2 -0
  75. package/dist/components/ds-data-filter.js.map +1 -0
  76. package/dist/components/{ds-table-sort.d.ts → ds-data-group.d.ts} +4 -4
  77. package/dist/components/ds-data-group.js +2 -0
  78. package/dist/components/{ds-table-saved-views.d.ts → ds-data-preferences.d.ts} +4 -4
  79. package/dist/components/ds-data-preferences.js +2 -0
  80. package/dist/components/ds-data-preferences.js.map +1 -0
  81. package/dist/components/ds-data-saved-views.d.ts +11 -0
  82. package/dist/components/ds-data-saved-views.js +2 -0
  83. package/dist/components/ds-data-saved-views.js.map +1 -0
  84. package/dist/components/{ds-table-search.d.ts → ds-data-search.d.ts} +4 -4
  85. package/dist/components/ds-data-search.js +2 -0
  86. package/dist/components/ds-data-search.js.map +1 -0
  87. package/dist/components/ds-data-sort.d.ts +11 -0
  88. package/dist/components/ds-data-sort.js +2 -0
  89. package/dist/components/ds-data-sort.js.map +1 -0
  90. package/dist/components/{ds-table-filter.d.ts → ds-data-toolbar.d.ts} +4 -4
  91. package/dist/components/ds-data-toolbar.js +2 -0
  92. package/dist/components/ds-data-toolbar.js.map +1 -0
  93. package/dist/components/ds-divider.js +1 -1
  94. package/dist/components/ds-empty-state.js +1 -1
  95. package/dist/components/ds-field.js +1 -1
  96. package/dist/components/ds-filter-menu.js +1 -1
  97. package/dist/components/ds-icon.js +1 -1
  98. package/dist/components/ds-input-date.js +1 -1
  99. package/dist/components/ds-input-time.js +1 -1
  100. package/dist/components/ds-input-time.js.map +1 -1
  101. package/dist/components/ds-input.js +1 -1
  102. package/dist/components/ds-markdown.js +1 -1
  103. package/dist/components/ds-menu.js +1 -1
  104. package/dist/components/ds-message-actions.js +1 -1
  105. package/dist/components/ds-message-bubble.js +1 -1
  106. package/dist/components/ds-message-composer.js +1 -1
  107. package/dist/components/ds-message-composer.js.map +1 -1
  108. package/dist/components/ds-message-scroller.js +1 -1
  109. package/dist/components/ds-message-scroller.js.map +1 -1
  110. package/dist/components/ds-message.js +1 -1
  111. package/dist/components/ds-mobile-bar-nav.js +1 -1
  112. package/dist/components/ds-mobile-header.js +1 -1
  113. package/dist/components/ds-mobile-section-switcher.js +1 -1
  114. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  115. package/dist/components/ds-modal.js +1 -1
  116. package/dist/components/ds-pagination.js +1 -1
  117. package/dist/components/ds-panel-nav.js +1 -1
  118. package/dist/components/ds-panel-sub-nav.js +1 -1
  119. package/dist/components/ds-panel-tool-header.js +1 -1
  120. package/dist/components/ds-panel-tool-search.js +1 -1
  121. package/dist/components/ds-panel-tools.js +1 -1
  122. package/dist/components/ds-paper-texture.js +1 -1
  123. package/dist/components/ds-radio.js +1 -1
  124. package/dist/components/ds-score.js +1 -1
  125. package/dist/components/ds-scroll-overlay.js +1 -1
  126. package/dist/components/ds-scroll-overlay.js.map +1 -1
  127. package/dist/components/ds-select.js +1 -1
  128. package/dist/components/ds-shell-app.js +1 -1
  129. package/dist/components/ds-shell-page.js +1 -1
  130. package/dist/components/ds-shell-tools.js +1 -1
  131. package/dist/components/ds-skeleton.js +1 -1
  132. package/dist/components/ds-slider.js +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-time-picker.js +1 -1
  142. package/dist/components/ds-toast.js +1 -1
  143. package/dist/components/ds-tooltip-chart.js +1 -1
  144. package/dist/components/ds-tooltip.js +1 -1
  145. package/dist/components/ds-typing-indicator.js +1 -1
  146. package/dist/components/index.d.ts +5 -5
  147. package/dist/components/{p-D8rpKod8.js → p-0FYD2bev.js} +2 -2
  148. package/dist/components/p-0qY_HDId.js +2 -0
  149. package/dist/components/{p-C0CE2v5D.js.map → p-0qY_HDId.js.map} +1 -1
  150. package/dist/components/{p-DK9Ex3aY.js → p-5URekSny.js} +2 -2
  151. package/dist/components/{p-Ds51RgCi.js → p-7V1AhetH.js} +2 -2
  152. package/dist/components/{p-C2JnoaWI.js → p-8yBdCXCn.js} +2 -2
  153. package/dist/components/{p-CQIh2yRP.js → p-BKZdqJQB.js} +2 -2
  154. package/dist/components/p-BKZdqJQB.js.map +1 -0
  155. package/dist/components/p-BYrBU_U9.js +2 -0
  156. package/dist/components/p-BYrBU_U9.js.map +1 -0
  157. package/dist/components/{p-ClJhuG5Y.js → p-B_jdoM7e.js} +2 -2
  158. package/dist/components/{p-ClJhuG5Y.js.map → p-B_jdoM7e.js.map} +1 -1
  159. package/dist/components/{p-su6y4hLK.js → p-BciTtTwx.js} +2 -2
  160. package/dist/components/{p-DgG9W9N4.js → p-BeNa6tw5.js} +2 -2
  161. package/dist/components/{p-DgG9W9N4.js.map → p-BeNa6tw5.js.map} +1 -1
  162. package/dist/components/p-BgQMEHRa.js +2 -0
  163. package/dist/components/{p-D7yBIPB6.js.map → p-BgQMEHRa.js.map} +1 -1
  164. package/dist/components/{p-CQ5RwY2C.js → p-BhJXmuRA.js} +2 -2
  165. package/dist/components/{p-neWTRxmf.js → p-Bm7rqs3C.js} +2 -2
  166. package/dist/components/{p-BV5T1hzN.js → p-Bn8I7iw6.js} +2 -2
  167. package/dist/components/{p-PmcUwTQ_.js → p-Bpd6YCo4.js} +2 -2
  168. package/dist/components/p-C-3YqeTb.js +2 -0
  169. package/dist/components/{p-TjXGRPik.js.map → p-C-3YqeTb.js.map} +1 -1
  170. package/dist/components/{p-B27_chI7.js → p-C6xVxqOn.js} +2 -2
  171. package/dist/components/{p-C4m8y9ki.js → p-CD4DZPy_.js} +2 -2
  172. package/dist/components/{p-CuwopElg.js → p-CGidq1iC.js} +2 -2
  173. package/dist/components/{p-CWog26I_.js → p-CNxvnQ6A.js} +2 -2
  174. package/dist/components/{p-2GVGhrh0.js → p-CUcUHwI3.js} +2 -2
  175. package/dist/components/{p-CbSUyv5B.js → p-CYzFfFcH.js} +2 -2
  176. package/dist/components/{p-8oRkhvjy.js → p-CdGXzRP8.js} +2 -2
  177. package/dist/components/p-CdgOLWX9.js +2 -0
  178. package/dist/components/p-CdgOLWX9.js.map +1 -0
  179. package/dist/components/{p-Jaqdfw4E.js → p-CiH4GG6r.js} +2 -2
  180. package/dist/components/{p-Cl9phSf0.js → p-CiJ1WR11.js} +2 -2
  181. package/dist/components/{p-Cus1Sigh.js → p-CmexIVnE.js} +2 -2
  182. package/dist/components/{p-Dryt3COt.js → p-Cqc2U1ZQ.js} +2 -2
  183. package/dist/components/{p-Dryt3COt.js.map → p-Cqc2U1ZQ.js.map} +1 -1
  184. package/dist/components/{p-DLXXGgmf.js → p-CzIpquvw.js} +2 -2
  185. package/dist/components/{p-tNQ0YulU.js → p-D0y7Sja6.js} +2 -2
  186. package/dist/components/{p-x1wf38q3.js → p-D1vQGJzc.js} +2 -2
  187. package/dist/components/{p-x1wf38q3.js.map → p-D1vQGJzc.js.map} +1 -1
  188. package/dist/components/{p-ji09W9el.js → p-D922f6Tb.js} +2 -2
  189. package/dist/components/{p-DtkLtKY0.js → p-DEW7r0U9.js} +2 -2
  190. package/dist/components/p-DEW7r0U9.js.map +1 -0
  191. package/dist/components/{p-CaNCGKEJ.js → p-DHICPS4n.js} +2 -2
  192. package/dist/components/{p-Cga6Ex0E.js → p-DOAybCp0.js} +2 -2
  193. package/dist/components/{p-CWPT3aOB.js → p-DVINzOoK.js} +2 -2
  194. package/dist/components/{p-CWPT3aOB.js.map → p-DVINzOoK.js.map} +1 -1
  195. package/dist/components/{p-7O-2D29W.js → p-DVOjjuXc.js} +2 -2
  196. package/dist/components/{p-CMQUuGvl.js → p-Dfs98tpL.js} +2 -2
  197. package/dist/components/{p-CMQUuGvl.js.map → p-Dfs98tpL.js.map} +1 -1
  198. package/dist/components/{p-DkikNSSO.js → p-Di5FH7eh.js} +2 -2
  199. package/dist/components/{p-DkikNSSO.js.map → p-Di5FH7eh.js.map} +1 -1
  200. package/dist/components/p-DjkUFlDW.js +2 -0
  201. package/dist/components/p-DjkUFlDW.js.map +1 -0
  202. package/dist/components/{p-DVd1TIxi.js → p-Dn9QHL4O.js} +2 -2
  203. package/dist/components/{p-C-dHtQMi.js → p-Do2FJd1y.js} +2 -2
  204. package/dist/components/{p-BWfzaSc3.js → p-DpoTwJAR.js} +2 -2
  205. package/dist/components/p-Dw9sE6Iw.js +2 -0
  206. package/dist/components/p-Dw9sE6Iw.js.map +1 -0
  207. package/dist/components/{p-BgLI9JoT.js → p-DwbcNDJF.js} +2 -2
  208. package/dist/components/p-Dzndkdx5.js +2 -0
  209. package/dist/components/{p-BOhpMUwO.js.map → p-Dzndkdx5.js.map} +1 -1
  210. package/dist/components/{p-DvzI2A_M.js → p-E5W27Fu_.js} +2 -2
  211. package/dist/components/{p-DkfM55x8.js → p-FIBCluwV.js} +2 -2
  212. package/dist/components/{p-DBwa1OXP.js → p-ZhP2tVmM.js} +2 -2
  213. package/dist/components/p-ZhP2tVmM.js.map +1 -0
  214. package/dist/components/p-aD5cw_m2.js +2 -0
  215. package/dist/components/p-aD5cw_m2.js.map +1 -0
  216. package/dist/components/{p-J5x-QtlD.js → p-etifxiDc.js} +2 -2
  217. package/dist/components/p-etifxiDc.js.map +1 -0
  218. package/dist/components/p-kDZ0sEII.js +2 -0
  219. package/dist/components/p-kDZ0sEII.js.map +1 -0
  220. package/dist/components/{p-rYePOPbJ.js → p-ljbw3UMZ.js} +2 -2
  221. package/dist/components/{p-DZ58Sg5a.js → p-vfCu7XSc.js} +2 -2
  222. package/dist/components/{p-Ce4zy8q1.js → p-xdmJCPCg.js} +2 -2
  223. package/dist/components/{p-CDJ2Ntcq.js → p-xtGGIZmU.js} +2 -2
  224. package/dist/docs/components.json +13115 -12615
  225. package/dist/lib/components/Icon/flag-icon-catalog.d.ts +2 -0
  226. package/dist/lib/components/Icon/icon-cache.d.ts +36 -4
  227. package/dist/lib/components/Icon/map-icon-catalog.d.ts +2 -0
  228. package/dist/lib/shell/index.js +2 -2
  229. package/dist/lib/shell/index.js.map +1 -1
  230. package/dist/lib/utils/index.js +68 -5
  231. package/dist/lib/utils/index.js.map +3 -3
  232. package/dist/lint/STYLELINT-LICENSE +20 -0
  233. package/dist/lint/THIRD-PARTY-NOTICES +553 -0
  234. package/dist/lint/index.d.ts +7 -0
  235. package/dist/lint/index.js +51385 -0
  236. package/dist/lint/types.d.ts +13 -0
  237. package/dist/mcp-data/registry/agent-activity.json +8 -3
  238. package/dist/mcp-data/registry/agent-questionnaire.json +8 -3
  239. package/dist/mcp-data/registry/agent-response.json +13 -2
  240. package/dist/mcp-data/registry/agent-source-list.json +7 -2
  241. package/dist/mcp-data/registry/agent-tool-call.json +8 -3
  242. package/dist/mcp-data/registry/attachment-list.json +7 -2
  243. package/dist/mcp-data/registry/avatar.json +22 -2
  244. package/dist/mcp-data/registry/badge.json +31 -3
  245. package/dist/mcp-data/registry/banner.json +29 -3
  246. package/dist/mcp-data/registry/bar-action.json +25 -2
  247. package/dist/mcp-data/registry/bar-nav.json +7 -2
  248. package/dist/mcp-data/registry/bar-page-title.json +25 -2
  249. package/dist/mcp-data/registry/bar-title.json +27 -2
  250. package/dist/mcp-data/registry/bar-workflow.json +25 -2
  251. package/dist/mcp-data/registry/breadcrumb.json +7 -2
  252. package/dist/mcp-data/registry/button-filled.json +69 -2
  253. package/dist/mcp-data/registry/button-inverted.json +65 -2
  254. package/dist/mcp-data/registry/button-unfilled.json +67 -2
  255. package/dist/mcp-data/registry/calendar.json +15 -2
  256. package/dist/mcp-data/registry/card-action-center.json +25 -2
  257. package/dist/mcp-data/registry/card-chart.json +38 -3
  258. package/dist/mcp-data/registry/card-navigation.json +37 -2
  259. package/dist/mcp-data/registry/card-overview.json +28 -3
  260. package/dist/mcp-data/registry/card-setting.json +36 -3
  261. package/dist/mcp-data/registry/card-settings-scope.json +25 -2
  262. package/dist/mcp-data/registry/chart-legend.json +7 -2
  263. package/dist/mcp-data/registry/chart.json +8 -3
  264. package/dist/mcp-data/registry/checkbox.json +39 -3
  265. package/dist/mcp-data/registry/chip.json +51 -2
  266. package/dist/mcp-data/registry/code-block.json +31 -2
  267. package/dist/mcp-data/registry/conversation-list-item.json +26 -3
  268. package/dist/mcp-data/registry/conversation-list-section.json +15 -2
  269. package/dist/mcp-data/registry/conversation-list.json +16 -33
  270. package/dist/mcp-data/registry/data-customize.json +399 -0
  271. package/dist/mcp-data/registry/{table-filter.json → data-filter.json} +59 -34
  272. package/dist/mcp-data/registry/data-group.json +383 -0
  273. package/dist/mcp-data/registry/data-preferences.json +591 -0
  274. package/dist/mcp-data/registry/data-saved-views.json +458 -0
  275. package/dist/mcp-data/registry/data-search.json +392 -0
  276. package/dist/mcp-data/registry/data-sort.json +279 -0
  277. package/dist/mcp-data/registry/data-toolbar.json +194 -0
  278. package/dist/mcp-data/registry/divider.json +7 -2
  279. package/dist/mcp-data/registry/empty-state.json +7 -2
  280. package/dist/mcp-data/registry/field.json +15 -2
  281. package/dist/mcp-data/registry/filter-menu.json +51 -4
  282. package/dist/mcp-data/registry/icon.json +34 -8
  283. package/dist/mcp-data/registry/input-date.json +49 -2
  284. package/dist/mcp-data/registry/input-time.json +49 -2
  285. package/dist/mcp-data/registry/input.json +50 -3
  286. package/dist/mcp-data/registry/loader.json +22 -2
  287. package/dist/mcp-data/registry/markdown.json +18 -2
  288. package/dist/mcp-data/registry/menu.json +29 -4
  289. package/dist/mcp-data/registry/message-actions.json +7 -2
  290. package/dist/mcp-data/registry/message-bubble.json +27 -2
  291. package/dist/mcp-data/registry/message-composer.json +26 -3
  292. package/dist/mcp-data/registry/message-scroller.json +13 -2
  293. package/dist/mcp-data/registry/message.json +7 -2
  294. package/dist/mcp-data/registry/mobile-bar-nav.json +26 -3
  295. package/dist/mcp-data/registry/mobile-header.json +27 -2
  296. package/dist/mcp-data/registry/mobile-section-switcher.json +27 -2
  297. package/dist/mcp-data/registry/mobile-sheet-nav.json +28 -3
  298. package/dist/mcp-data/registry/modal.json +25 -2
  299. package/dist/mcp-data/registry/pagination.json +7 -2
  300. package/dist/mcp-data/registry/panel-nav.json +29 -3
  301. package/dist/mcp-data/registry/panel-sub-nav.json +26 -1
  302. package/dist/mcp-data/registry/panel-tool-header.json +25 -2
  303. package/dist/mcp-data/registry/panel-tool-search.json +25 -2
  304. package/dist/mcp-data/registry/panel-tools.json +28 -4
  305. package/dist/mcp-data/registry/paper-texture.json +7 -2
  306. package/dist/mcp-data/registry/radio.json +36 -2
  307. package/dist/mcp-data/registry/registry.json +7465 -5073
  308. package/dist/mcp-data/registry/score.json +39 -2
  309. package/dist/mcp-data/registry/scroll-overlay.json +7 -2
  310. package/dist/mcp-data/registry/select.json +53 -2
  311. package/dist/mcp-data/registry/shell-app.json +27 -2
  312. package/dist/mcp-data/registry/shell-page.json +7 -2
  313. package/dist/mcp-data/registry/shell-tools.json +26 -2
  314. package/dist/mcp-data/registry/skeleton.json +42 -2
  315. package/dist/mcp-data/registry/slider.json +43 -2
  316. package/dist/mcp-data/registry/swatch-picker.json +25 -2
  317. package/dist/mcp-data/registry/switch.json +38 -2
  318. package/dist/mcp-data/registry/tab-group.json +50 -2
  319. package/dist/mcp-data/registry/table.json +173 -72
  320. package/dist/mcp-data/registry/tag.json +53 -2
  321. package/dist/mcp-data/registry/text.json +23 -2
  322. package/dist/mcp-data/registry/textarea.json +39 -2
  323. package/dist/mcp-data/registry/time-picker.json +15 -2
  324. package/dist/mcp-data/registry/toast.json +25 -2
  325. package/dist/mcp-data/registry/tooltip-chart.json +25 -2
  326. package/dist/mcp-data/registry/tooltip.json +27 -2
  327. package/dist/mcp-data/registry/typing-indicator.json +7 -2
  328. package/dist/react/components.d.ts +8 -7
  329. package/dist/react/components.js +8 -7
  330. package/dist/react/ds-data-customize.d.ts +13 -0
  331. package/dist/react/ds-data-customize.js +15 -0
  332. package/dist/react/ds-data-filter.d.ts +18 -0
  333. package/dist/react/{ds-table-filter.js → ds-data-filter.js} +5 -5
  334. package/dist/react/ds-data-group.d.ts +14 -0
  335. package/dist/react/{ds-table-group.js → ds-data-group.js} +5 -5
  336. package/dist/react/ds-data-preferences.d.ts +21 -0
  337. package/dist/react/{ds-table-preferences.js → ds-data-preferences.js} +6 -6
  338. package/dist/react/ds-data-saved-views.d.ts +17 -0
  339. package/dist/react/{ds-table-saved-views.js → ds-data-saved-views.js} +5 -5
  340. package/dist/react/ds-data-search.d.ts +14 -0
  341. package/dist/react/{ds-table-search.js → ds-data-search.js} +5 -5
  342. package/dist/react/ds-data-sort.d.ts +12 -0
  343. package/dist/react/ds-data-sort.js +12 -0
  344. package/dist/react/{ds-table-toolbar.d.ts → ds-data-toolbar.d.ts} +3 -3
  345. package/dist/react/ds-data-toolbar.js +12 -0
  346. package/dist/react/ds-table.d.ts +3 -3
  347. package/dist/react/ds-table.js +1 -1
  348. package/dist/styles/table.css +11 -11
  349. package/dist/types/components/ConversationList/ConversationList.d.ts +0 -7
  350. package/dist/types/components/DataCustomize/DataCustomize.d.ts +67 -0
  351. package/dist/types/components/{TableFilter/TableFilter.d.ts → DataFilter/DataFilter.d.ts} +2 -2
  352. package/dist/types/components/{TableGroup/TableGroup.d.ts → DataGroup/DataGroup.d.ts} +8 -8
  353. package/dist/types/components/{TablePreferences/TablePreferences.d.ts → DataPreferences/DataPreferences.d.ts} +29 -13
  354. package/dist/types/components/{TableSavedViews/TableSavedViews.d.ts → DataSavedViews/DataSavedViews.d.ts} +10 -10
  355. package/dist/types/components/DataSavedViews/data-saved-views-types.d.ts +24 -0
  356. package/dist/types/components/DataSavedViews/index.d.ts +2 -0
  357. package/dist/types/components/{TableSearch/TableSearch.d.ts → DataSearch/DataSearch.d.ts} +6 -6
  358. package/dist/types/components/{TableSearch/table-search-model.d.ts → DataSearch/data-search-model.d.ts} +6 -6
  359. package/dist/types/components/{TableSearch/table-search-types.d.ts → DataSearch/data-search-types.d.ts} +3 -3
  360. package/dist/types/components/{TableSort/TableSort.d.ts → DataSort/DataSort.d.ts} +7 -6
  361. package/dist/types/components/DataSort/data-sort-menu.d.ts +15 -0
  362. package/dist/types/components/{TableToolbar/TableToolbar.d.ts → DataToolbar/DataToolbar.d.ts} +3 -3
  363. package/dist/types/components/Icon/icon-cache.d.ts +36 -4
  364. package/dist/types/components/Icon/map-icon-catalog.d.ts +3 -0
  365. package/dist/types/components/PanelTools/PanelTools.d.ts +1 -1
  366. package/dist/types/components/Table/Table.d.ts +9 -9
  367. package/dist/types/components/Table/index.d.ts +1 -1
  368. package/dist/types/components/Table/table-action-menu.d.ts +1 -1
  369. package/dist/types/components/Table/table-body-renderer.d.ts +2 -2
  370. package/dist/types/components/Table/table-column-customizer.d.ts +9 -9
  371. package/dist/types/components/Table/table-group-load-controller.d.ts +2 -2
  372. package/dist/types/components/Table/table-model.d.ts +7 -7
  373. package/dist/types/components/Table/table-render-model.d.ts +3 -3
  374. package/dist/types/components/Table/table-types.d.ts +17 -36
  375. package/dist/types/components/Table/table-virtual-model.d.ts +2 -2
  376. package/dist/types/components.d.ts +3837 -3640
  377. package/dist/types/utils/data-field.d.ts +38 -0
  378. package/dist/types/utils/list-customizer.d.ts +38 -0
  379. package/dist/types/utils/table-caption-compact.d.ts +1 -1
  380. package/dist/vue/components.d.ts +8 -7
  381. package/dist/vue/components.js +8 -7
  382. package/dist/vue/ds-conversation-list.js +1 -3
  383. package/dist/vue/ds-data-customize.d.ts +3 -0
  384. package/dist/vue/ds-data-customize.js +23 -0
  385. package/dist/vue/{ds-table-group.d.ts → ds-data-filter.d.ts} +1 -1
  386. package/dist/vue/{ds-table-filter.js → ds-data-filter.js} +2 -2
  387. package/dist/vue/{ds-table-sort.d.ts → ds-data-group.d.ts} +1 -1
  388. package/dist/vue/{ds-table-group.js → ds-data-group.js} +2 -2
  389. package/dist/vue/{ds-table-saved-views.d.ts → ds-data-preferences.d.ts} +1 -1
  390. package/dist/vue/{ds-table-preferences.js → ds-data-preferences.js} +10 -7
  391. package/dist/vue/ds-data-saved-views.d.ts +3 -0
  392. package/dist/vue/{ds-table-saved-views.js → ds-data-saved-views.js} +2 -2
  393. package/dist/vue/{ds-table-filter.d.ts → ds-data-search.d.ts} +1 -1
  394. package/dist/vue/{ds-table-search.js → ds-data-search.js} +3 -3
  395. package/dist/vue/{ds-table-search.d.ts → ds-data-sort.d.ts} +1 -1
  396. package/dist/vue/{ds-table-sort.js → ds-data-sort.js} +3 -3
  397. package/dist/vue/ds-data-toolbar.d.ts +3 -0
  398. package/dist/vue/ds-data-toolbar.js +9 -0
  399. package/dist/vue/ds-table.js +4 -4
  400. package/package.json +34 -9
  401. package/dist/angular/ds-table-filter.d.ts +0 -50
  402. package/dist/angular/ds-table-group.d.ts +0 -29
  403. package/dist/angular/ds-table-preferences.d.ts +0 -39
  404. package/dist/angular/ds-table-saved-views.d.ts +0 -49
  405. package/dist/angular/ds-table-search.d.ts +0 -20
  406. package/dist/angular/ds-table-sort.d.ts +0 -16
  407. package/dist/angular/ds-table-toolbar.d.ts +0 -12
  408. package/dist/components/ds-table-filter.js +0 -2
  409. package/dist/components/ds-table-filter.js.map +0 -1
  410. package/dist/components/ds-table-group.js +0 -2
  411. package/dist/components/ds-table-preferences.d.ts +0 -11
  412. package/dist/components/ds-table-preferences.js +0 -2
  413. package/dist/components/ds-table-preferences.js.map +0 -1
  414. package/dist/components/ds-table-saved-views.js +0 -2
  415. package/dist/components/ds-table-saved-views.js.map +0 -1
  416. package/dist/components/ds-table-search.js +0 -2
  417. package/dist/components/ds-table-search.js.map +0 -1
  418. package/dist/components/ds-table-sort.js +0 -2
  419. package/dist/components/ds-table-sort.js.map +0 -1
  420. package/dist/components/ds-table-toolbar.d.ts +0 -11
  421. package/dist/components/ds-table-toolbar.js +0 -2
  422. package/dist/components/ds-table-toolbar.js.map +0 -1
  423. package/dist/components/p-BOhpMUwO.js +0 -2
  424. package/dist/components/p-C0CE2v5D.js +0 -2
  425. package/dist/components/p-CKarsuR2.js +0 -2
  426. package/dist/components/p-CKarsuR2.js.map +0 -1
  427. package/dist/components/p-CQIh2yRP.js.map +0 -1
  428. package/dist/components/p-Cea7rROU.js +0 -2
  429. package/dist/components/p-Cea7rROU.js.map +0 -1
  430. package/dist/components/p-D7yBIPB6.js +0 -2
  431. package/dist/components/p-DBwa1OXP.js.map +0 -1
  432. package/dist/components/p-DtkLtKY0.js.map +0 -1
  433. package/dist/components/p-J5x-QtlD.js.map +0 -1
  434. package/dist/components/p-KBrC9IG4.js +0 -2
  435. package/dist/components/p-KBrC9IG4.js.map +0 -1
  436. package/dist/components/p-MQ36mEgn.js +0 -2
  437. package/dist/components/p-MQ36mEgn.js.map +0 -1
  438. package/dist/components/p-TjXGRPik.js +0 -2
  439. package/dist/components/p-bM3LH3kc.js +0 -2
  440. package/dist/components/p-bM3LH3kc.js.map +0 -1
  441. package/dist/mcp-data/registry/table-group.json +0 -358
  442. package/dist/mcp-data/registry/table-preferences.json +0 -511
  443. package/dist/mcp-data/registry/table-saved-views.json +0 -433
  444. package/dist/mcp-data/registry/table-search.json +0 -366
  445. package/dist/mcp-data/registry/table-sort.json +0 -253
  446. package/dist/mcp-data/registry/table-toolbar.json +0 -180
  447. package/dist/react/ds-table-filter.d.ts +0 -18
  448. package/dist/react/ds-table-group.d.ts +0 -14
  449. package/dist/react/ds-table-preferences.d.ts +0 -21
  450. package/dist/react/ds-table-saved-views.d.ts +0 -17
  451. package/dist/react/ds-table-search.d.ts +0 -14
  452. package/dist/react/ds-table-sort.d.ts +0 -12
  453. package/dist/react/ds-table-sort.js +0 -12
  454. package/dist/react/ds-table-toolbar.js +0 -12
  455. package/dist/types/components/TableSavedViews/index.d.ts +0 -2
  456. package/dist/types/components/TableSavedViews/table-saved-views-types.d.ts +0 -24
  457. package/dist/types/components/TableSort/table-sort-menu.d.ts +0 -15
  458. package/dist/vue/ds-table-preferences.d.ts +0 -3
  459. package/dist/vue/ds-table-toolbar.d.ts +0 -3
  460. package/dist/vue/ds-table-toolbar.js +0 -9
  461. /package/dist/components/{ds-table-group.js.map → ds-data-group.js.map} +0 -0
  462. /package/dist/components/{p-D8rpKod8.js.map → p-0FYD2bev.js.map} +0 -0
  463. /package/dist/components/{p-DK9Ex3aY.js.map → p-5URekSny.js.map} +0 -0
  464. /package/dist/components/{p-Ds51RgCi.js.map → p-7V1AhetH.js.map} +0 -0
  465. /package/dist/components/{p-C2JnoaWI.js.map → p-8yBdCXCn.js.map} +0 -0
  466. /package/dist/components/{p-su6y4hLK.js.map → p-BciTtTwx.js.map} +0 -0
  467. /package/dist/components/{p-CQ5RwY2C.js.map → p-BhJXmuRA.js.map} +0 -0
  468. /package/dist/components/{p-neWTRxmf.js.map → p-Bm7rqs3C.js.map} +0 -0
  469. /package/dist/components/{p-BV5T1hzN.js.map → p-Bn8I7iw6.js.map} +0 -0
  470. /package/dist/components/{p-PmcUwTQ_.js.map → p-Bpd6YCo4.js.map} +0 -0
  471. /package/dist/components/{p-B27_chI7.js.map → p-C6xVxqOn.js.map} +0 -0
  472. /package/dist/components/{p-C4m8y9ki.js.map → p-CD4DZPy_.js.map} +0 -0
  473. /package/dist/components/{p-CuwopElg.js.map → p-CGidq1iC.js.map} +0 -0
  474. /package/dist/components/{p-CWog26I_.js.map → p-CNxvnQ6A.js.map} +0 -0
  475. /package/dist/components/{p-2GVGhrh0.js.map → p-CUcUHwI3.js.map} +0 -0
  476. /package/dist/components/{p-CbSUyv5B.js.map → p-CYzFfFcH.js.map} +0 -0
  477. /package/dist/components/{p-8oRkhvjy.js.map → p-CdGXzRP8.js.map} +0 -0
  478. /package/dist/components/{p-Jaqdfw4E.js.map → p-CiH4GG6r.js.map} +0 -0
  479. /package/dist/components/{p-Cl9phSf0.js.map → p-CiJ1WR11.js.map} +0 -0
  480. /package/dist/components/{p-Cus1Sigh.js.map → p-CmexIVnE.js.map} +0 -0
  481. /package/dist/components/{p-DLXXGgmf.js.map → p-CzIpquvw.js.map} +0 -0
  482. /package/dist/components/{p-tNQ0YulU.js.map → p-D0y7Sja6.js.map} +0 -0
  483. /package/dist/components/{p-ji09W9el.js.map → p-D922f6Tb.js.map} +0 -0
  484. /package/dist/components/{p-CaNCGKEJ.js.map → p-DHICPS4n.js.map} +0 -0
  485. /package/dist/components/{p-Cga6Ex0E.js.map → p-DOAybCp0.js.map} +0 -0
  486. /package/dist/components/{p-7O-2D29W.js.map → p-DVOjjuXc.js.map} +0 -0
  487. /package/dist/components/{p-DVd1TIxi.js.map → p-Dn9QHL4O.js.map} +0 -0
  488. /package/dist/components/{p-C-dHtQMi.js.map → p-Do2FJd1y.js.map} +0 -0
  489. /package/dist/components/{p-BWfzaSc3.js.map → p-DpoTwJAR.js.map} +0 -0
  490. /package/dist/components/{p-BgLI9JoT.js.map → p-DwbcNDJF.js.map} +0 -0
  491. /package/dist/components/{p-DvzI2A_M.js.map → p-E5W27Fu_.js.map} +0 -0
  492. /package/dist/components/{p-DkfM55x8.js.map → p-FIBCluwV.js.map} +0 -0
  493. /package/dist/components/{p-rYePOPbJ.js.map → p-ljbw3UMZ.js.map} +0 -0
  494. /package/dist/components/{p-DZ58Sg5a.js.map → p-vfCu7XSc.js.map} +0 -0
  495. /package/dist/components/{p-Ce4zy8q1.js.map → p-xdmJCPCg.js.map} +0 -0
  496. /package/dist/components/{p-CDJ2Ntcq.js.map → p-xtGGIZmU.js.map} +0 -0
@@ -123,7 +123,32 @@
123
123
  "label": "Surface ownership and trigger state",
124
124
  "path": "src/docs/SurfaceOwnership.mdx"
125
125
  }
126
- ]
126
+ ],
127
+ "styling": {
128
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
129
+ "protected": [
130
+ {
131
+ "properties": [
132
+ "background",
133
+ "border",
134
+ "box-shadow",
135
+ "color"
136
+ ],
137
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
138
+ "props": [
139
+ "variant"
140
+ ]
141
+ },
142
+ {
143
+ "properties": [
144
+ "border-radius"
145
+ ],
146
+ "reason": "The component owns its surface radius; retain the shared recipe and customize an outer wrapper when needed.",
147
+ "props": []
148
+ }
149
+ ],
150
+ "customProperties": []
151
+ }
127
152
  },
128
153
  "api": {
129
154
  "props": {
@@ -540,7 +565,7 @@
540
565
  "peerDependencies": {
541
566
  "required": [
542
567
  "@ds-mo/tokens ^6.5.1",
543
- "@ds-mo/icons ^7.0.0"
568
+ "@ds-mo/icons ^8.1.0"
544
569
  ],
545
570
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
546
571
  }
@@ -90,7 +90,30 @@
90
90
  "label": "Cross-browser workflow behavior",
91
91
  "path": "tests/e2e/bar-workflow.spec.ts"
92
92
  }
93
- ]
93
+ ],
94
+ "styling": {
95
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
96
+ "protected": [
97
+ {
98
+ "properties": [
99
+ "background",
100
+ "border",
101
+ "box-shadow",
102
+ "color"
103
+ ],
104
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
105
+ "props": []
106
+ },
107
+ {
108
+ "properties": [
109
+ "border-radius"
110
+ ],
111
+ "reason": "The component owns its surface radius; retain the shared recipe and customize an outer wrapper when needed.",
112
+ "props": []
113
+ }
114
+ ],
115
+ "customProperties": []
116
+ }
94
117
  },
95
118
  "api": {
96
119
  "props": {
@@ -357,7 +380,7 @@
357
380
  "peerDependencies": {
358
381
  "required": [
359
382
  "@ds-mo/tokens ^6.5.1",
360
- "@ds-mo/icons ^7.0.0"
383
+ "@ds-mo/icons ^8.1.0"
361
384
  ],
362
385
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
363
386
  }
@@ -82,7 +82,12 @@
82
82
  "label": "Expanded page-header composition",
83
83
  "path": "src/wc/components/BarTitle/BarTitle.tsx"
84
84
  }
85
- ]
85
+ ],
86
+ "styling": {
87
+ "rationale": "The breadcrumb owns internal truncation; the application supplies the host width and placement.",
88
+ "protected": [],
89
+ "customProperties": []
90
+ }
86
91
  },
87
92
  "api": {
88
93
  "props": {
@@ -177,7 +182,7 @@
177
182
  "peerDependencies": {
178
183
  "required": [
179
184
  "@ds-mo/tokens ^6.5.1",
180
- "@ds-mo/icons ^7.0.0"
185
+ "@ds-mo/icons ^8.1.0"
181
186
  ],
182
187
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
183
188
  }
@@ -107,7 +107,74 @@
107
107
  "label": "Surface ownership and trigger state",
108
108
  "path": "src/docs/SurfaceOwnership.mdx"
109
109
  }
110
- ]
110
+ ],
111
+ "styling": {
112
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
113
+ "protected": [
114
+ {
115
+ "properties": [
116
+ "font",
117
+ "font-size",
118
+ "font-weight",
119
+ "font-family",
120
+ "line-height",
121
+ "letter-spacing",
122
+ "height",
123
+ "min-height",
124
+ "max-height",
125
+ "padding",
126
+ "gap"
127
+ ],
128
+ "reason": "The control density is one atomic recipe; use the size and inset props instead of replacing internal metrics.",
129
+ "props": [
130
+ "size",
131
+ "isInset",
132
+ "insetDepth",
133
+ "labelEmphasis"
134
+ ]
135
+ },
136
+ {
137
+ "properties": [
138
+ "border-radius"
139
+ ],
140
+ "reason": "The component owns its corner treatment; select the supported radius treatment.",
141
+ "props": [
142
+ "rounded",
143
+ "size"
144
+ ]
145
+ },
146
+ {
147
+ "properties": [
148
+ "width",
149
+ "min-width",
150
+ "max-width"
151
+ ],
152
+ "reason": "The button owns hug/fill sizing and its minimum square geometry; use width and constrain the surrounding layout.",
153
+ "props": [
154
+ "width",
155
+ "size"
156
+ ]
157
+ },
158
+ {
159
+ "properties": [
160
+ "background",
161
+ "border",
162
+ "box-shadow",
163
+ "color"
164
+ ],
165
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
166
+ "props": [
167
+ "intent",
168
+ "contrast",
169
+ "background",
170
+ "variant",
171
+ "hasBorder",
172
+ "size"
173
+ ]
174
+ }
175
+ ],
176
+ "customProperties": []
177
+ }
111
178
  },
112
179
  "api": {
113
180
  "props": {
@@ -629,7 +696,7 @@
629
696
  "peerDependencies": {
630
697
  "required": [
631
698
  "@ds-mo/tokens ^6.5.1",
632
- "@ds-mo/icons ^7.0.0"
699
+ "@ds-mo/icons ^8.1.0"
633
700
  ],
634
701
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
635
702
  }
@@ -96,7 +96,70 @@
96
96
  "label": "Surface ownership and trigger state",
97
97
  "path": "src/docs/SurfaceOwnership.mdx"
98
98
  }
99
- ]
99
+ ],
100
+ "styling": {
101
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
102
+ "protected": [
103
+ {
104
+ "properties": [
105
+ "font",
106
+ "font-size",
107
+ "font-weight",
108
+ "font-family",
109
+ "line-height",
110
+ "letter-spacing",
111
+ "height",
112
+ "min-height",
113
+ "max-height",
114
+ "padding",
115
+ "gap"
116
+ ],
117
+ "reason": "The control density is one atomic recipe; use the size and inset props instead of replacing internal metrics.",
118
+ "props": [
119
+ "size",
120
+ "isInset",
121
+ "insetDepth",
122
+ "labelEmphasis"
123
+ ]
124
+ },
125
+ {
126
+ "properties": [
127
+ "border-radius"
128
+ ],
129
+ "reason": "The component owns its corner treatment; select the supported radius treatment.",
130
+ "props": [
131
+ "rounded",
132
+ "size"
133
+ ]
134
+ },
135
+ {
136
+ "properties": [
137
+ "width",
138
+ "min-width",
139
+ "max-width"
140
+ ],
141
+ "reason": "The button owns hug/fill sizing and its minimum square geometry; use width and constrain the surrounding layout.",
142
+ "props": [
143
+ "width",
144
+ "size"
145
+ ]
146
+ },
147
+ {
148
+ "properties": [
149
+ "background",
150
+ "border",
151
+ "box-shadow",
152
+ "color"
153
+ ],
154
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
155
+ "props": [
156
+ "variant",
157
+ "size"
158
+ ]
159
+ }
160
+ ],
161
+ "customProperties": []
162
+ }
100
163
  },
101
164
  "api": {
102
165
  "props": {
@@ -548,7 +611,7 @@
548
611
  "peerDependencies": {
549
612
  "required": [
550
613
  "@ds-mo/tokens ^6.5.1",
551
- "@ds-mo/icons ^7.0.0"
614
+ "@ds-mo/icons ^8.1.0"
552
615
  ],
553
616
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
554
617
  }
@@ -111,7 +111,72 @@
111
111
  "label": "Surface ownership and trigger state",
112
112
  "path": "src/docs/SurfaceOwnership.mdx"
113
113
  }
114
- ]
114
+ ],
115
+ "styling": {
116
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
117
+ "protected": [
118
+ {
119
+ "properties": [
120
+ "font",
121
+ "font-size",
122
+ "font-weight",
123
+ "font-family",
124
+ "line-height",
125
+ "letter-spacing",
126
+ "height",
127
+ "min-height",
128
+ "max-height",
129
+ "padding",
130
+ "gap"
131
+ ],
132
+ "reason": "The control density is one atomic recipe; use the size and inset props instead of replacing internal metrics.",
133
+ "props": [
134
+ "size",
135
+ "isInset",
136
+ "insetDepth",
137
+ "labelEmphasis"
138
+ ]
139
+ },
140
+ {
141
+ "properties": [
142
+ "border-radius"
143
+ ],
144
+ "reason": "The component owns its corner treatment; select the supported radius treatment.",
145
+ "props": [
146
+ "rounded",
147
+ "size"
148
+ ]
149
+ },
150
+ {
151
+ "properties": [
152
+ "width",
153
+ "min-width",
154
+ "max-width"
155
+ ],
156
+ "reason": "The button owns hug/fill sizing and its minimum square geometry; use width and constrain the surrounding layout.",
157
+ "props": [
158
+ "width",
159
+ "size"
160
+ ]
161
+ },
162
+ {
163
+ "properties": [
164
+ "background",
165
+ "border",
166
+ "box-shadow",
167
+ "color"
168
+ ],
169
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
170
+ "props": [
171
+ "background",
172
+ "variant",
173
+ "hasBorder",
174
+ "size"
175
+ ]
176
+ }
177
+ ],
178
+ "customProperties": []
179
+ }
115
180
  },
116
181
  "api": {
117
182
  "props": {
@@ -711,7 +776,7 @@
711
776
  "peerDependencies": {
712
777
  "required": [
713
778
  "@ds-mo/tokens ^6.5.1",
714
- "@ds-mo/icons ^7.0.0"
779
+ "@ds-mo/icons ^8.1.0"
715
780
  ],
716
781
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
717
782
  }
@@ -75,7 +75,20 @@
75
75
  "label": "Storybook examples",
76
76
  "path": "src/wc/components/Calendar/Calendar.stories.ts"
77
77
  }
78
- ]
78
+ ],
79
+ "styling": {
80
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
81
+ "protected": [
82
+ {
83
+ "properties": [
84
+ "gap"
85
+ ],
86
+ "reason": "The component owns spacing between its immediate content regions; the application controls surrounding margins and placement.",
87
+ "props": []
88
+ }
89
+ ],
90
+ "customProperties": []
91
+ }
79
92
  },
80
93
  "api": {
81
94
  "props": {
@@ -239,7 +252,7 @@
239
252
  "peerDependencies": {
240
253
  "required": [
241
254
  "@ds-mo/tokens ^6.5.1",
242
- "@ds-mo/icons ^7.0.0"
255
+ "@ds-mo/icons ^8.1.0"
243
256
  ],
244
257
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
245
258
  }
@@ -81,7 +81,30 @@
81
81
  "label": "Rendered semantics, interaction, and geometry coverage",
82
82
  "path": "tests/e2e/card-action-center.spec.ts"
83
83
  }
84
- ]
84
+ ],
85
+ "styling": {
86
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
87
+ "protected": [
88
+ {
89
+ "properties": [
90
+ "background",
91
+ "border",
92
+ "box-shadow",
93
+ "color"
94
+ ],
95
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
96
+ "props": []
97
+ },
98
+ {
99
+ "properties": [
100
+ "border-radius"
101
+ ],
102
+ "reason": "The component owns its surface radius; retain the shared recipe and customize an outer wrapper when needed.",
103
+ "props": []
104
+ }
105
+ ],
106
+ "customProperties": []
107
+ }
85
108
  },
86
109
  "api": {
87
110
  "props": {
@@ -176,7 +199,7 @@
176
199
  "peerDependencies": {
177
200
  "required": [
178
201
  "@ds-mo/tokens ^6.5.1",
179
- "@ds-mo/icons ^7.0.0"
202
+ "@ds-mo/icons ^8.1.0"
180
203
  ],
181
204
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
182
205
  }
@@ -68,7 +68,42 @@
68
68
  "label": "Storybook examples",
69
69
  "path": "src/wc/components/CardChart/CardChart.stories.ts"
70
70
  }
71
- ]
71
+ ],
72
+ "styling": {
73
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
74
+ "protected": [
75
+ {
76
+ "properties": [
77
+ "background",
78
+ "border",
79
+ "box-shadow",
80
+ "color"
81
+ ],
82
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
83
+ "props": [
84
+ "variant"
85
+ ]
86
+ },
87
+ {
88
+ "properties": [
89
+ "border-radius"
90
+ ],
91
+ "reason": "The component owns its surface radius; retain the shared recipe and customize an outer wrapper when needed.",
92
+ "props": []
93
+ },
94
+ {
95
+ "properties": [
96
+ "width",
97
+ "min-height"
98
+ ],
99
+ "reason": "Card width selects the component geometry; use cardWidth and let the parent constrain available space.",
100
+ "props": [
101
+ "cardWidth"
102
+ ]
103
+ }
104
+ ],
105
+ "customProperties": []
106
+ }
72
107
  },
73
108
  "api": {
74
109
  "props": {
@@ -214,7 +249,7 @@
214
249
  "peerDependencies": {
215
250
  "required": [
216
251
  "@ds-mo/tokens ^6.5.1",
217
- "@ds-mo/icons ^7.0.0"
252
+ "@ds-mo/icons ^8.1.0"
218
253
  ],
219
254
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
220
255
  }
@@ -236,7 +271,7 @@
236
271
  },
237
272
  {
238
273
  "path": "src/wc/components/CardChart/CardChart.tsx",
239
- "content": "import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\n\nexport type CardChartWidth = 'sm' | 'md' | 'lg';\nexport type CardChartVariant = 'custom' | 'chart';\n\ntype LegendSlot = HTMLElement & {\n activeLabel?: string | null;\n highlightOnHover?: boolean;\n};\n\nconst CARD_WIDTH_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-width-sm)',\n md: 'var(--dimension-card-width-md)',\n lg: 'var(--dimension-card-width-lg)',\n};\n\nconst CARD_HEIGHT_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-height-sm)',\n md: 'var(--dimension-card-height-md)',\n lg: 'var(--dimension-card-height-lg)',\n};\n\n/**\n * Standard chart card chrome and composition. The variant owns\n * only the chart/legend relationship; applications continue to own data.\n */\n@Component({\n tag: 'ds-card-chart',\n styleUrl: 'CardChart.css',\n scoped: true,\n})\nexport class CardChart {\n @Element() el!: HTMLElement;\n\n /** Chart heading shown in the card header. */\n @Prop() heading!: string;\n /** Chart composition behavior. */\n @Prop() variant: CardChartVariant = 'custom';\n /** Width token with the matching chart-card min-height. */\n @Prop() cardWidth: CardChartWidth = 'md';\n /** Renders the standard filter action before custom actions. */\n @Prop() showFilter: boolean = false;\n @Prop() filterLabel: string = 'Filter';\n\n /** Emits when the standard header filter control is activated. */\n @Event() dsFilterClick!: EventEmitter<void>;\n\n @State() private hasChartSlot = false;\n @State() private hasLegendSlot = false;\n\n componentWillRender() {\n this.hasChartSlot = !!this.el.querySelector('[slot=\"chart\"]');\n this.hasLegendSlot = !!this.el.querySelector('[slot=\"legend\"]');\n }\n\n componentDidRender() {\n const legend = this.el.querySelector('ds-chart-legend[slot=\"legend\"]') as LegendSlot | null;\n if (this.variant === 'chart' && legend) {\n legend.setAttribute('highlight-on-hover', 'false');\n if ('highlightOnHover' in legend) legend.highlightOnHover = false;\n }\n }\n\n private handleFilterClick = () => {\n this.dsFilterClick.emit();\n };\n\n render() {\n const usesChartLayout = this.variant !== 'custom' || this.hasChartSlot;\n return (\n <Host\n class={{\n 'card-chart': true,\n [`card-chart--${this.variant}`]: true,\n }}\n style={{\n '--_card-chart-width': CARD_WIDTH_VARS[this.cardWidth],\n '--_card-chart-min-height': CARD_HEIGHT_VARS[this.cardWidth],\n }}\n >\n <header class=\"card-chart__header ds-chrome-header\">\n {/* eslint-disable-next-line local/prefer-direct-ds-text -- Shared header copy owns the control-density geometry around the semantic heading. */}\n <div class=\"card-chart__copy ds-chrome-header__copy ds-control--md\">\n <ds-text\n class=\"card-chart__title ds-chrome-header__heading\"\n variant=\"text-title-small\"\n emphasis\n color=\"primary\"\n as=\"h2\"\n >\n {this.heading}\n </ds-text>\n </div>\n <div class=\"card-chart__actions ds-chrome-header__trailing\">\n {this.showFilter ? (\n <ds-button-unfilled\n variant=\"icon\"\n type=\"button\"\n icon=\"Filters\"\n aria-label={this.filterLabel}\n onDsClick={this.handleFilterClick}\n />\n ) : null}\n <slot name=\"actions\" />\n </div>\n </header>\n <div class=\"card-chart__body\">\n {usesChartLayout ? (\n <div class=\"card-chart__layout\">\n {this.hasChartSlot ? (\n <div\n class={{\n 'card-chart__chart': true,\n }}\n >\n <slot name=\"chart\" />\n </div>\n ) : null}\n {this.hasLegendSlot ? (\n <div class=\"card-chart__legend\">\n <slot name=\"legend\" />\n </div>\n ) : null}\n <slot />\n </div>\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n",
274
+ "content": "import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\n\nexport type CardChartWidth = 'sm' | 'md' | 'lg';\nexport type CardChartVariant = 'custom' | 'chart';\n\ntype LegendSlot = HTMLElement & {\n activeLabel?: string | null;\n highlightOnHover?: boolean;\n};\n\nconst CARD_WIDTH_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-width-sm)',\n md: 'var(--dimension-card-width-md)',\n lg: 'var(--dimension-card-width-lg)',\n};\n\nconst CARD_HEIGHT_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-height-sm)',\n md: 'var(--dimension-card-height-md)',\n lg: 'var(--dimension-card-height-lg)',\n};\n\n/**\n * Standard chart card chrome and composition. The variant owns\n * only the chart/legend relationship; applications continue to own data.\n */\n@Component({\n tag: 'ds-card-chart',\n styleUrl: 'CardChart.css',\n scoped: true,\n})\nexport class CardChart {\n @Element() el!: HTMLElement;\n\n /** Chart heading shown in the card header. */\n @Prop() heading!: string;\n /** Chart composition behavior. */\n @Prop() variant: CardChartVariant = 'custom';\n /** Width token with the matching chart-card min-height. */\n @Prop() cardWidth: CardChartWidth = 'md';\n /** Renders the standard filter action before custom actions. */\n @Prop() showFilter: boolean = false;\n @Prop() filterLabel: string = 'Filter';\n\n /** Emits when the standard header filter control is activated. */\n @Event() dsFilterClick!: EventEmitter<void>;\n\n @State() private hasChartSlot = false;\n @State() private hasLegendSlot = false;\n\n componentWillRender() {\n this.hasChartSlot = !!this.el.querySelector('[slot=\"chart\"]');\n this.hasLegendSlot = !!this.el.querySelector('[slot=\"legend\"]');\n }\n\n componentDidRender() {\n const legend = this.el.querySelector('ds-chart-legend[slot=\"legend\"]') as LegendSlot | null;\n if (this.variant === 'chart' && legend) {\n legend.setAttribute('highlight-on-hover', 'false');\n if ('highlightOnHover' in legend) legend.highlightOnHover = false;\n }\n }\n\n private handleFilterClick = () => {\n this.dsFilterClick.emit();\n };\n\n render() {\n const usesChartLayout = this.variant !== 'custom' || this.hasChartSlot;\n return (\n <Host\n class={{\n 'card-chart': true,\n [`card-chart--${this.variant}`]: true,\n }}\n style={{\n '--_card-chart-width': CARD_WIDTH_VARS[this.cardWidth],\n '--_card-chart-min-height': CARD_HEIGHT_VARS[this.cardWidth],\n }}\n >\n <header class=\"card-chart__header ds-chrome-header\">\n {/* eslint-disable-next-line compomo/prefer-direct-ds-text -- Shared header copy owns the control-density geometry around the semantic heading. */}\n <div class=\"card-chart__copy ds-chrome-header__copy ds-control--md\">\n <ds-text\n class=\"card-chart__title ds-chrome-header__heading\"\n variant=\"text-title-small\"\n emphasis\n color=\"primary\"\n as=\"h2\"\n >\n {this.heading}\n </ds-text>\n </div>\n <div class=\"card-chart__actions ds-chrome-header__trailing\">\n {this.showFilter ? (\n <ds-button-unfilled\n variant=\"icon\"\n type=\"button\"\n icon=\"Filters\"\n aria-label={this.filterLabel}\n onDsClick={this.handleFilterClick}\n />\n ) : null}\n <slot name=\"actions\" />\n </div>\n </header>\n <div class=\"card-chart__body\">\n {usesChartLayout ? (\n <div class=\"card-chart__layout\">\n {this.hasChartSlot ? (\n <div\n class={{\n 'card-chart__chart': true,\n }}\n >\n <slot name=\"chart\" />\n </div>\n ) : null}\n {this.hasLegendSlot ? (\n <div class=\"card-chart__legend\">\n <slot name=\"legend\" />\n </div>\n ) : null}\n <slot />\n </div>\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n",
240
275
  "type": "registry:ui"
241
276
  }
242
277
  ]
@@ -83,7 +83,42 @@
83
83
  "label": "Rendered navigation and interaction coverage",
84
84
  "path": "tests/e2e/card-navigation.spec.ts"
85
85
  }
86
- ]
86
+ ],
87
+ "styling": {
88
+ "rationale": "The component owns the protected recipes below; unspecified host properties and application layout remain customizable.",
89
+ "protected": [
90
+ {
91
+ "properties": [
92
+ "background",
93
+ "border",
94
+ "box-shadow",
95
+ "color"
96
+ ],
97
+ "reason": "The component owns its surface and interaction treatment; use its semantic presentation props or compose an application-owned surrounding surface.",
98
+ "props": [
99
+ "variant"
100
+ ]
101
+ },
102
+ {
103
+ "properties": [
104
+ "border-radius"
105
+ ],
106
+ "reason": "The component owns its surface radius; retain the shared recipe and customize an outer wrapper when needed.",
107
+ "props": []
108
+ },
109
+ {
110
+ "properties": [
111
+ "width",
112
+ "min-height"
113
+ ],
114
+ "reason": "Card width selects the component geometry; use cardWidth and let the parent constrain available space.",
115
+ "props": [
116
+ "cardWidth"
117
+ ]
118
+ }
119
+ ],
120
+ "customProperties": []
121
+ }
87
122
  },
88
123
  "api": {
89
124
  "props": {
@@ -227,7 +262,7 @@
227
262
  "peerDependencies": {
228
263
  "required": [
229
264
  "@ds-mo/tokens ^6.5.1",
230
- "@ds-mo/icons ^7.0.0"
265
+ "@ds-mo/icons ^8.1.0"
231
266
  ],
232
267
  "frameworks": "Custom Elements; React 18/19 wrappers; Vue 3 wrappers; Angular 19-22 standalone adapters."
233
268
  }