@ds-mo/ui 15.4.0 → 15.5.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 (477) hide show
  1. package/NOTICE +7 -1
  2. package/dist/.package-ready.json +1 -1
  3. package/dist/agent-patterns.json +1 -1
  4. package/dist/agent.json +64 -8
  5. package/dist/angular/boolean-value-accessor.js +3 -3
  6. package/dist/angular/ds-agent-activity.js +3 -3
  7. package/dist/angular/ds-agent-questionnaire.js +3 -3
  8. package/dist/angular/ds-agent-response.js +3 -3
  9. package/dist/angular/ds-agent-source-list.js +3 -3
  10. package/dist/angular/ds-agent-tool-call.js +3 -3
  11. package/dist/angular/ds-attachment-list.js +3 -3
  12. package/dist/angular/ds-avatar.js +3 -3
  13. package/dist/angular/ds-badge.js +3 -3
  14. package/dist/angular/ds-banner.js +3 -3
  15. package/dist/angular/ds-bar-action.js +3 -3
  16. package/dist/angular/ds-bar-nav.js +3 -3
  17. package/dist/angular/ds-bar-page-title.js +3 -3
  18. package/dist/angular/ds-bar-title.js +3 -3
  19. package/dist/angular/ds-bar-workflow.js +3 -3
  20. package/dist/angular/ds-breadcrumb.js +3 -3
  21. package/dist/angular/ds-button-filled.js +3 -3
  22. package/dist/angular/ds-button-inverted.js +3 -3
  23. package/dist/angular/ds-button-unfilled.js +3 -3
  24. package/dist/angular/ds-calendar.js +3 -3
  25. package/dist/angular/ds-card-action-center.js +3 -3
  26. package/dist/angular/ds-card-chart.js +3 -3
  27. package/dist/angular/ds-card-navigation.js +3 -3
  28. package/dist/angular/ds-card-overview.js +3 -3
  29. package/dist/angular/ds-card-setting.js +3 -3
  30. package/dist/angular/ds-card-settings-scope.js +3 -3
  31. package/dist/angular/ds-chart-legend.js +3 -3
  32. package/dist/angular/ds-chart.js +3 -3
  33. package/dist/angular/ds-checkbox-group.js +3 -3
  34. package/dist/angular/ds-checkbox.d.ts +1 -1
  35. package/dist/angular/ds-checkbox.js +5 -5
  36. package/dist/angular/ds-chip.js +3 -3
  37. package/dist/angular/ds-code-block.js +3 -3
  38. package/dist/angular/ds-conversation-list-item.js +3 -3
  39. package/dist/angular/ds-conversation-list-section.js +3 -3
  40. package/dist/angular/ds-conversation-list.js +3 -3
  41. package/dist/angular/ds-data-customize.js +3 -3
  42. package/dist/angular/ds-data-filter.js +3 -3
  43. package/dist/angular/ds-data-group.js +3 -3
  44. package/dist/angular/ds-data-preferences.js +3 -3
  45. package/dist/angular/ds-data-saved-views.js +3 -3
  46. package/dist/angular/ds-data-search.js +3 -3
  47. package/dist/angular/ds-data-sort.js +3 -3
  48. package/dist/angular/ds-data-toolbar.js +3 -3
  49. package/dist/angular/ds-divider.js +3 -3
  50. package/dist/angular/ds-empty-state.js +3 -3
  51. package/dist/angular/ds-field.js +3 -3
  52. package/dist/angular/ds-filter-menu.js +3 -3
  53. package/dist/angular/ds-icon.js +3 -3
  54. package/dist/angular/ds-inline-banner-settings.js +3 -3
  55. package/dist/angular/ds-input-date.js +3 -3
  56. package/dist/angular/ds-input-time.js +3 -3
  57. package/dist/angular/ds-input.js +3 -3
  58. package/dist/angular/ds-loader.js +3 -3
  59. package/dist/angular/ds-map-cluster-marker.js +3 -3
  60. package/dist/angular/ds-map-entity-marker.js +3 -3
  61. package/dist/angular/ds-markdown.js +3 -3
  62. package/dist/angular/ds-menu.js +3 -3
  63. package/dist/angular/ds-message-actions.js +3 -3
  64. package/dist/angular/ds-message-bubble.js +3 -3
  65. package/dist/angular/ds-message-composer.js +3 -3
  66. package/dist/angular/ds-message-scroller.js +3 -3
  67. package/dist/angular/ds-message.js +3 -3
  68. package/dist/angular/ds-mobile-bar-nav.js +3 -3
  69. package/dist/angular/ds-mobile-header.js +3 -3
  70. package/dist/angular/ds-mobile-section-switcher.js +3 -3
  71. package/dist/angular/ds-mobile-sheet-nav.js +3 -3
  72. package/dist/angular/ds-modal.js +3 -3
  73. package/dist/angular/ds-pagination.js +3 -3
  74. package/dist/angular/ds-panel-nav.js +3 -3
  75. package/dist/angular/ds-panel-sub-nav.js +3 -3
  76. package/dist/angular/ds-panel-tool-header.js +3 -3
  77. package/dist/angular/ds-panel-tool-search.js +3 -3
  78. package/dist/angular/ds-panel-tools.js +3 -3
  79. package/dist/angular/ds-paper-texture.js +3 -3
  80. package/dist/angular/ds-radio-tile.js +3 -3
  81. package/dist/angular/ds-radio.js +3 -3
  82. package/dist/angular/ds-score.js +3 -3
  83. package/dist/angular/ds-scroll-overlay.js +3 -3
  84. package/dist/angular/ds-select.d.ts +1 -1
  85. package/dist/angular/ds-select.js +5 -5
  86. package/dist/angular/ds-setting-row-checkbox.js +3 -3
  87. package/dist/angular/ds-setting-row-radio.js +3 -3
  88. package/dist/angular/ds-setting-row-toggle.js +3 -3
  89. package/dist/angular/ds-shell-app.js +3 -3
  90. package/dist/angular/ds-shell-page.js +3 -3
  91. package/dist/angular/ds-shell-tools.js +3 -3
  92. package/dist/angular/ds-skeleton.js +3 -3
  93. package/dist/angular/ds-slider.js +3 -3
  94. package/dist/angular/ds-swatch-picker.js +3 -3
  95. package/dist/angular/ds-switch.js +3 -3
  96. package/dist/angular/ds-tab-group.js +3 -3
  97. package/dist/angular/ds-table.d.ts +7 -1
  98. package/dist/angular/ds-table.js +13 -7
  99. package/dist/angular/ds-tag.js +3 -3
  100. package/dist/angular/ds-text.js +3 -3
  101. package/dist/angular/ds-textarea.js +3 -3
  102. package/dist/angular/ds-time-picker.js +3 -3
  103. package/dist/angular/ds-toast.js +3 -3
  104. package/dist/angular/ds-tooltip-chart.js +3 -3
  105. package/dist/angular/ds-tooltip.js +3 -3
  106. package/dist/angular/ds-typing-indicator.js +3 -3
  107. package/dist/angular/number-value-accessor.js +3 -3
  108. package/dist/angular/radio-value-accessor.js +3 -3
  109. package/dist/angular/select-value-accessor.js +3 -3
  110. package/dist/angular/text-value-accessor.js +3 -3
  111. package/dist/angular/value-accessor.js +3 -3
  112. package/dist/components/THIRD-PARTY-NOTICES +1791 -0
  113. package/dist/components/bundled-dependencies.json +478 -0
  114. package/dist/components/ds-agent-activity.js +1 -1
  115. package/dist/components/ds-agent-questionnaire.js +1 -1
  116. package/dist/components/ds-agent-response.js +1 -1
  117. package/dist/components/ds-agent-source-list.js +1 -1
  118. package/dist/components/ds-agent-tool-call.js +1 -1
  119. package/dist/components/ds-attachment-list.js +1 -1
  120. package/dist/components/ds-avatar.js +1 -1
  121. package/dist/components/ds-banner.js +1 -1
  122. package/dist/components/ds-banner.js.map +1 -1
  123. package/dist/components/ds-bar-nav.js +1 -1
  124. package/dist/components/ds-bar-page-title.js +1 -1
  125. package/dist/components/ds-bar-title.js +1 -1
  126. package/dist/components/ds-bar-workflow.js +1 -1
  127. package/dist/components/ds-breadcrumb.js +1 -1
  128. package/dist/components/ds-button-filled.js +1 -1
  129. package/dist/components/ds-button-inverted.js +1 -1
  130. package/dist/components/ds-button-unfilled.js +1 -1
  131. package/dist/components/ds-calendar.js +1 -1
  132. package/dist/components/ds-card-action-center.js +1 -1
  133. package/dist/components/ds-card-chart.js +1 -1
  134. package/dist/components/ds-card-navigation.js +1 -1
  135. package/dist/components/ds-card-overview.js +1 -1
  136. package/dist/components/ds-card-overview.js.map +1 -1
  137. package/dist/components/ds-card-setting.js +1 -1
  138. package/dist/components/ds-chart-legend.js +1 -1
  139. package/dist/components/ds-chart-legend.js.map +1 -1
  140. package/dist/components/ds-chart.js +1 -1
  141. package/dist/components/ds-chart.js.map +1 -1
  142. package/dist/components/ds-checkbox.js +1 -1
  143. package/dist/components/ds-chip.js +1 -1
  144. package/dist/components/ds-code-block.js +1 -1
  145. package/dist/components/ds-conversation-list.js +1 -1
  146. package/dist/components/ds-conversation-list.js.map +1 -1
  147. package/dist/components/ds-data-customize.js +1 -1
  148. package/dist/components/ds-data-filter.js +1 -1
  149. package/dist/components/ds-data-group.js +1 -1
  150. package/dist/components/ds-data-preferences.js +1 -1
  151. package/dist/components/ds-data-preferences.js.map +1 -1
  152. package/dist/components/ds-data-saved-views.js +1 -1
  153. package/dist/components/ds-data-search.js +1 -1
  154. package/dist/components/ds-data-sort.js +1 -1
  155. package/dist/components/ds-data-toolbar.js +1 -1
  156. package/dist/components/ds-divider.js +1 -1
  157. package/dist/components/ds-empty-state.js +1 -1
  158. package/dist/components/ds-filter-menu.js +1 -1
  159. package/dist/components/ds-icon.js +1 -1
  160. package/dist/components/ds-input-date.js +1 -1
  161. package/dist/components/ds-input-date.js.map +1 -1
  162. package/dist/components/ds-input-time.js +1 -1
  163. package/dist/components/ds-input-time.js.map +1 -1
  164. package/dist/components/ds-input.js +1 -1
  165. package/dist/components/ds-map-entity-marker.js +1 -1
  166. package/dist/components/ds-markdown.js +1 -1
  167. package/dist/components/ds-menu.js +1 -1
  168. package/dist/components/ds-message-actions.js +1 -1
  169. package/dist/components/ds-message-bubble.js +1 -1
  170. package/dist/components/ds-message-composer.js +1 -1
  171. package/dist/components/ds-message-scroller.js +1 -1
  172. package/dist/components/ds-message.js +1 -1
  173. package/dist/components/ds-mobile-bar-nav.js +1 -1
  174. package/dist/components/ds-mobile-header.js +1 -1
  175. package/dist/components/ds-mobile-section-switcher.js +1 -1
  176. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  177. package/dist/components/ds-modal.js +1 -1
  178. package/dist/components/ds-pagination.js +1 -1
  179. package/dist/components/ds-panel-nav.js +1 -1
  180. package/dist/components/ds-panel-sub-nav.js +1 -1
  181. package/dist/components/ds-panel-tool-header.js +1 -1
  182. package/dist/components/ds-panel-tool-search.js +1 -1
  183. package/dist/components/ds-panel-tools.js +1 -1
  184. package/dist/components/ds-radio-tile.js +1 -1
  185. package/dist/components/ds-radio-tile.js.map +1 -1
  186. package/dist/components/ds-radio.js +1 -1
  187. package/dist/components/ds-scroll-overlay.js +1 -1
  188. package/dist/components/ds-scroll-overlay.js.map +1 -1
  189. package/dist/components/ds-select.js +1 -1
  190. package/dist/components/ds-setting-row-toggle.js +1 -1
  191. package/dist/components/ds-shell-app.js +1 -1
  192. package/dist/components/ds-shell-app.js.map +1 -1
  193. package/dist/components/ds-shell-page.js +1 -1
  194. package/dist/components/ds-shell-tools.js +1 -1
  195. package/dist/components/ds-slider.js +1 -1
  196. package/dist/components/ds-slider.js.map +1 -1
  197. package/dist/components/ds-switch.js +1 -1
  198. package/dist/components/ds-tab-group.js +1 -1
  199. package/dist/components/ds-table.js +1 -1
  200. package/dist/components/ds-table.js.map +1 -1
  201. package/dist/components/ds-tag.js +1 -1
  202. package/dist/components/ds-textarea.js +1 -1
  203. package/dist/components/ds-textarea.js.map +1 -1
  204. package/dist/components/ds-time-picker.js +1 -1
  205. package/dist/components/ds-toast.js +1 -1
  206. package/dist/components/ds-tooltip-chart.js +1 -1
  207. package/dist/components/ds-tooltip.js +1 -1
  208. package/dist/components/p--STJbKuN.js +2 -0
  209. package/dist/components/p--STJbKuN.js.map +1 -0
  210. package/dist/components/{p-Co1rUdOR.js → p--pJyciTI.js} +2 -2
  211. package/dist/components/p--pJyciTI.js.map +1 -0
  212. package/dist/components/p-02k7d7BH.js +2 -0
  213. package/dist/components/p-02k7d7BH.js.map +1 -0
  214. package/dist/components/{p-CZNZTcYS.js → p-5-gQbIIz.js} +2 -2
  215. package/dist/components/{p-DRdoGSGX.js → p-7MwoWtTJ.js} +2 -2
  216. package/dist/components/p-B0uO3-Dp.js +2 -0
  217. package/dist/components/p-B0uO3-Dp.js.map +1 -0
  218. package/dist/components/p-B6TX55c5.js +2 -0
  219. package/dist/components/p-B6TX55c5.js.map +1 -0
  220. package/dist/components/p-B95UP66y.js +2 -0
  221. package/dist/components/p-B95UP66y.js.map +1 -0
  222. package/dist/components/p-BGSG6xIS.js +2 -0
  223. package/dist/components/p-BGSG6xIS.js.map +1 -0
  224. package/dist/components/p-BNarCFJZ.js +2 -0
  225. package/dist/components/p-BNarCFJZ.js.map +1 -0
  226. package/dist/components/{p-DJDbskZf.js → p-BO5URdZF.js} +2 -2
  227. package/dist/components/{p-DmSnHVW6.js → p-BVxK8ce0.js} +2 -2
  228. package/dist/components/{p-B0EpvBDs.js → p-BYeG0b5N.js} +2 -2
  229. package/dist/components/p-BcpIK9S6.js +2 -0
  230. package/dist/components/p-BcpIK9S6.js.map +1 -0
  231. package/dist/components/p-Bf-BphXP.js +2 -0
  232. package/dist/components/p-Bf-BphXP.js.map +1 -0
  233. package/dist/components/{p-Bk3poU91.js → p-BmIllmq2.js} +2 -2
  234. package/dist/components/p-BmIllmq2.js.map +1 -0
  235. package/dist/components/p-Bq_ypMSy.js +2 -0
  236. package/dist/components/p-Bq_ypMSy.js.map +1 -0
  237. package/dist/components/p-ByLH5RAD.js +2 -0
  238. package/dist/components/p-ByLH5RAD.js.map +1 -0
  239. package/dist/components/{p-DzvTC27M.js → p-C1ZfBbJ_.js} +2 -2
  240. package/dist/components/p-C1ZfBbJ_.js.map +1 -0
  241. package/dist/components/p-C1oczmAc.js +2 -0
  242. package/dist/components/p-C1oczmAc.js.map +1 -0
  243. package/dist/components/p-C5BBIDVm.js +2 -0
  244. package/dist/components/p-C5BBIDVm.js.map +1 -0
  245. package/dist/components/{p-CJ1NnOEW.js → p-CA3iQ1ME.js} +2 -2
  246. package/dist/components/p-CE6MaXBg.js +2 -0
  247. package/dist/components/p-CE6MaXBg.js.map +1 -0
  248. package/dist/components/p-CXGjCWSh.js +2 -0
  249. package/dist/components/p-CXGjCWSh.js.map +1 -0
  250. package/dist/components/{p-DYQa1DVF.js → p-C_9VGgPf.js} +2 -2
  251. package/dist/components/p-CbrDF2gA.js +2 -0
  252. package/dist/components/p-CbrDF2gA.js.map +1 -0
  253. package/dist/components/{p-7TVdPhGR.js → p-CgQB8Ct5.js} +2 -2
  254. package/dist/components/{p-D6FRqNhN.js → p-D-J7GgjY.js} +2 -2
  255. package/dist/components/{p-DSZPO06T.js → p-D9_iDlkT.js} +2 -2
  256. package/dist/components/{p-BwdnVqAY.js → p-DEYCF-oJ.js} +2 -2
  257. package/dist/components/p-DGVZhrMd.js +2 -0
  258. package/dist/components/p-DGVZhrMd.js.map +1 -0
  259. package/dist/components/{p-C8V4lkVy.js → p-DKGW3gRa.js} +2 -2
  260. package/dist/components/p-DPFg5d4_.js +2 -0
  261. package/dist/components/p-DPFg5d4_.js.map +1 -0
  262. package/dist/components/{p-C4huuwed.js → p-DR_8IPn9.js} +2 -2
  263. package/dist/components/p-DXL5D30P.js +2 -0
  264. package/dist/components/p-DXL5D30P.js.map +1 -0
  265. package/dist/components/{p-B0BQCVkq.js → p-D_iZPukF.js} +2 -2
  266. package/dist/components/{p-JBki_jyY.js → p-DfMTDFcE.js} +2 -2
  267. package/dist/components/{p-MOJmB6vX.js → p-Dg6hnCc2.js} +2 -2
  268. package/dist/components/{p-DXk1eml1.js → p-DjbT9kKm.js} +2 -2
  269. package/dist/components/p-Dka0lUI_.js +2 -0
  270. package/dist/components/p-Dka0lUI_.js.map +1 -0
  271. package/dist/components/p-DlsjHRU3.js +2 -0
  272. package/dist/components/p-DlsjHRU3.js.map +1 -0
  273. package/dist/components/{p-_IqSPt5V.js → p-Dr5rkAhe.js} +2 -2
  274. package/dist/components/p-DuCCuJKI.js +2 -0
  275. package/dist/components/p-DuCCuJKI.js.map +1 -0
  276. package/dist/components/{p-DIQiHX0q.js → p-DvGrsLgt.js} +2 -2
  277. package/dist/components/{p-Doa2blZT.js → p-PtxCwf5S.js} +2 -2
  278. package/dist/components/p-PzYJqN8B.js +2 -0
  279. package/dist/components/p-PzYJqN8B.js.map +1 -0
  280. package/dist/components/p-S1Ct3FJV.js +2 -0
  281. package/dist/components/p-S1Ct3FJV.js.map +1 -0
  282. package/dist/components/p-YC7UM4jH.js +2 -0
  283. package/dist/components/p-YC7UM4jH.js.map +1 -0
  284. package/dist/components/{p-B9TM6FqC.js → p-d76Ry5nh.js} +2 -2
  285. package/dist/components/p-ioGH5SoA.js +2 -0
  286. package/dist/components/p-ioGH5SoA.js.map +1 -0
  287. package/dist/components/p-jp7hwRtC.js +2 -0
  288. package/dist/components/p-jp7hwRtC.js.map +1 -0
  289. package/dist/components/{p-BFHpU-uU.js → p-kwS-vkau.js} +2 -2
  290. package/dist/components/{p-DjkUFlDW.js → p-pPtjNRqC.js} +3 -2
  291. package/dist/components/p-pPtjNRqC.js.map +1 -0
  292. package/dist/components/{p-B39iJO8F.js → p-rmPIcWED.js} +2 -2
  293. package/dist/components/p-t2Ebn8si.js +2 -0
  294. package/dist/components/p-t2Ebn8si.js.map +1 -0
  295. package/dist/components/p-wRhYxngW.js +2 -0
  296. package/dist/components/p-wRhYxngW.js.map +1 -0
  297. package/dist/docs/components.json +477 -82
  298. package/dist/lib/components/Icon/icon-cache.d.ts +6 -0
  299. package/dist/lib/utils/clock-time.d.ts +1 -0
  300. package/dist/lib/utils/date-filter-value.d.ts +2 -0
  301. package/dist/lib/utils/form-association.d.ts +2 -1
  302. package/dist/lib/utils/format-percentage.d.ts +1 -1
  303. package/dist/lib/utils/index.js +113 -93
  304. package/dist/lib/utils/index.js.map +4 -4
  305. package/dist/lib/utils/intl-formatters.d.ts +3 -0
  306. package/dist/lib/utils/resolve-css-length-px.d.ts +4 -3
  307. package/dist/lint/THIRD-PARTY-NOTICES +97 -40
  308. package/dist/lint/bundled-dependencies.json +162 -0
  309. package/dist/lint/index.js +1341 -1333
  310. package/dist/mcp/THIRD-PARTY-NOTICES +470 -0
  311. package/dist/mcp/bundled-dependencies.json +29 -0
  312. package/dist/mcp-data/registry/agent-tool-call.json +1 -1
  313. package/dist/mcp-data/registry/banner.json +1 -1
  314. package/dist/mcp-data/registry/bar-nav.json +1 -1
  315. package/dist/mcp-data/registry/bar-page-title.json +1 -1
  316. package/dist/mcp-data/registry/breadcrumb.json +1 -1
  317. package/dist/mcp-data/registry/calendar.json +4 -4
  318. package/dist/mcp-data/registry/card-overview.json +1 -1
  319. package/dist/mcp-data/registry/chart.json +3 -3
  320. package/dist/mcp-data/registry/checkbox.json +17 -1
  321. package/dist/mcp-data/registry/conversation-list.json +1 -1
  322. package/dist/mcp-data/registry/data-group.json +1 -1
  323. package/dist/mcp-data/registry/data-preferences.json +1 -1
  324. package/dist/mcp-data/registry/filter-menu.json +1 -1
  325. package/dist/mcp-data/registry/icon.json +6 -5
  326. package/dist/mcp-data/registry/input-date.json +1 -1
  327. package/dist/mcp-data/registry/input-time.json +1 -1
  328. package/dist/mcp-data/registry/markdown.json +1 -1
  329. package/dist/mcp-data/registry/menu.json +1 -1
  330. package/dist/mcp-data/registry/message.json +4 -4
  331. package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
  332. package/dist/mcp-data/registry/modal.json +1 -1
  333. package/dist/mcp-data/registry/panel-nav.json +1 -1
  334. package/dist/mcp-data/registry/radio-tile.json +1 -1
  335. package/dist/mcp-data/registry/radio.json +1 -1
  336. package/dist/mcp-data/registry/registry.json +63 -7
  337. package/dist/mcp-data/registry/scroll-overlay.json +1 -1
  338. package/dist/mcp-data/registry/select.json +70 -3
  339. package/dist/mcp-data/registry/shell-app.json +1 -1
  340. package/dist/mcp-data/registry/slider.json +3 -3
  341. package/dist/mcp-data/registry/switch.json +1 -1
  342. package/dist/mcp-data/registry/table.json +140 -14
  343. package/dist/mcp-data/registry/tooltip-chart.json +1 -1
  344. package/dist/react/ds-table.d.ts +3 -1
  345. package/dist/react/ds-table.js +2 -0
  346. package/dist/styles/table.css +405 -8
  347. package/dist/types/components/AgentToolCall/AgentToolCall.d.ts +3 -0
  348. package/dist/types/components/Banner/Banner.d.ts +1 -0
  349. package/dist/types/components/BarNav/BarNav.d.ts +4 -0
  350. package/dist/types/components/BarPageTitle/BarPageTitle.d.ts +4 -0
  351. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +5 -0
  352. package/dist/types/components/Calendar/Calendar.d.ts +2 -0
  353. package/dist/types/components/CardOverview/CardOverview.d.ts +3 -0
  354. package/dist/types/components/Chart/Chart.d.ts +7 -1
  355. package/dist/types/components/Checkbox/Checkbox.d.ts +3 -0
  356. package/dist/types/components/ConversationList/ConversationList.d.ts +3 -0
  357. package/dist/types/components/DataGroup/DataGroup.d.ts +3 -0
  358. package/dist/types/components/DataPreferences/DataPreferences.d.ts +1 -0
  359. package/dist/types/components/FilterMenu/FilterMenu.d.ts +1 -0
  360. package/dist/types/components/Icon/icon-cache.d.ts +6 -0
  361. package/dist/types/components/Icon/icon-svg.d.ts +10 -24
  362. package/dist/types/components/Markdown/Markdown.d.ts +4 -0
  363. package/dist/types/components/Menu/Menu.d.ts +3 -0
  364. package/dist/types/components/Message/Message.d.ts +1 -1
  365. package/dist/types/components/MobileSectionSwitcher/MobileSectionSwitcher.d.ts +5 -0
  366. package/dist/types/components/Modal/Modal.d.ts +3 -0
  367. package/dist/types/components/PanelNav/PanelNav.d.ts +8 -1
  368. package/dist/types/components/Radio/Radio.d.ts +1 -0
  369. package/dist/types/components/ScrollOverlay/ScrollOverlay.d.ts +1 -0
  370. package/dist/types/components/Select/Select.d.ts +8 -0
  371. package/dist/types/components/ShellApp/ShellApp.d.ts +3 -0
  372. package/dist/types/components/Slider/Slider.d.ts +1 -1
  373. package/dist/types/components/Switch/Switch.d.ts +2 -0
  374. package/dist/types/components/Table/Table.d.ts +35 -0
  375. package/dist/types/components/Table/index.d.ts +1 -1
  376. package/dist/types/components/Table/table-body-renderer.d.ts +1 -0
  377. package/dist/types/components/Table/table-cell-editor.d.ts +4 -0
  378. package/dist/types/components/Table/table-grid-model.d.ts +23 -0
  379. package/dist/types/components/Table/table-layout-controller.d.ts +1 -0
  380. package/dist/types/components/Table/table-model.d.ts +1 -1
  381. package/dist/types/components/Table/table-review-fixtures.d.ts +10 -0
  382. package/dist/types/components/Table/table-row-view.d.ts +11 -2
  383. package/dist/types/components/Table/table-skeleton-view.d.ts +3 -1
  384. package/dist/types/components/Table/table-structure.d.ts +38 -0
  385. package/dist/types/components/Table/table-types.d.ts +71 -1
  386. package/dist/types/components/Table/table-virtual-controller.d.ts +1 -0
  387. package/dist/types/components/TooltipChart/TooltipChart.d.ts +4 -0
  388. package/dist/types/components.d.ts +98 -12
  389. package/dist/types/shell/chrome-transition.d.ts +1 -0
  390. package/dist/types/utils/anchored-position-controller.d.ts +2 -0
  391. package/dist/types/utils/clock-time.d.ts +1 -0
  392. package/dist/types/utils/connection-tasks.d.ts +13 -0
  393. package/dist/types/utils/date-filter-value.d.ts +2 -0
  394. package/dist/types/utils/form-association.d.ts +2 -1
  395. package/dist/types/utils/format-percentage.d.ts +1 -1
  396. package/dist/types/utils/intl-formatters.d.ts +4 -0
  397. package/dist/types/utils/resolve-css-length-px.d.ts +4 -3
  398. package/dist/types/utils/select-controller.d.ts +1 -0
  399. package/dist/vue/THIRD-PARTY-NOTICES +14 -0
  400. package/dist/vue/bundled-dependencies.json +13 -0
  401. package/dist/vue/ds-checkbox.js +1 -0
  402. package/dist/vue/ds-select.js +4 -0
  403. package/dist/vue/ds-table.js +8 -0
  404. package/package.json +16 -11
  405. package/dist/components/p-B8ZonS3S.js +0 -2
  406. package/dist/components/p-B8ZonS3S.js.map +0 -1
  407. package/dist/components/p-BDdlJZyL.js +0 -2
  408. package/dist/components/p-BDdlJZyL.js.map +0 -1
  409. package/dist/components/p-BERXvOCf.js +0 -2
  410. package/dist/components/p-BERXvOCf.js.map +0 -1
  411. package/dist/components/p-BQspV5U7.js +0 -2
  412. package/dist/components/p-BQspV5U7.js.map +0 -1
  413. package/dist/components/p-BhjqYTiY.js +0 -2
  414. package/dist/components/p-BhjqYTiY.js.map +0 -1
  415. package/dist/components/p-BjtXYFhw.js +0 -2
  416. package/dist/components/p-BjtXYFhw.js.map +0 -1
  417. package/dist/components/p-Bk3poU91.js.map +0 -1
  418. package/dist/components/p-BxduVc5g.js +0 -2
  419. package/dist/components/p-BxduVc5g.js.map +0 -1
  420. package/dist/components/p-C0qN3PSb.js +0 -2
  421. package/dist/components/p-C0qN3PSb.js.map +0 -1
  422. package/dist/components/p-CPamUzaj.js +0 -2
  423. package/dist/components/p-CPamUzaj.js.map +0 -1
  424. package/dist/components/p-CUDocY23.js +0 -2
  425. package/dist/components/p-CUDocY23.js.map +0 -1
  426. package/dist/components/p-CX6ZxUQT.js +0 -2
  427. package/dist/components/p-CX6ZxUQT.js.map +0 -1
  428. package/dist/components/p-Cgn-BORA.js +0 -2
  429. package/dist/components/p-Cgn-BORA.js.map +0 -1
  430. package/dist/components/p-Ck1hgD6g.js +0 -2
  431. package/dist/components/p-Ck1hgD6g.js.map +0 -1
  432. package/dist/components/p-Co1rUdOR.js.map +0 -1
  433. package/dist/components/p-CochmPyg.js +0 -2
  434. package/dist/components/p-CochmPyg.js.map +0 -1
  435. package/dist/components/p-DCyJ3_PL.js +0 -2
  436. package/dist/components/p-DCyJ3_PL.js.map +0 -1
  437. package/dist/components/p-DVEx-Xg9.js +0 -2
  438. package/dist/components/p-DVEx-Xg9.js.map +0 -1
  439. package/dist/components/p-DYsE6HLk.js +0 -2
  440. package/dist/components/p-DYsE6HLk.js.map +0 -1
  441. package/dist/components/p-DebLYW7A.js +0 -2
  442. package/dist/components/p-DebLYW7A.js.map +0 -1
  443. package/dist/components/p-DjkUFlDW.js.map +0 -1
  444. package/dist/components/p-Dnt5xUBD.js +0 -2
  445. package/dist/components/p-Dnt5xUBD.js.map +0 -1
  446. package/dist/components/p-Dyqd-cub.js +0 -2
  447. package/dist/components/p-Dyqd-cub.js.map +0 -1
  448. package/dist/components/p-DzvTC27M.js.map +0 -1
  449. package/dist/components/p-g0jsfEXz.js +0 -2
  450. package/dist/components/p-g0jsfEXz.js.map +0 -1
  451. package/dist/components/p-pp1IQN4Z.js +0 -2
  452. package/dist/components/p-pp1IQN4Z.js.map +0 -1
  453. package/dist/components/p-rCeztgVn.js +0 -2
  454. package/dist/components/p-rCeztgVn.js.map +0 -1
  455. /package/dist/components/{p-CZNZTcYS.js.map → p-5-gQbIIz.js.map} +0 -0
  456. /package/dist/components/{p-DRdoGSGX.js.map → p-7MwoWtTJ.js.map} +0 -0
  457. /package/dist/components/{p-DJDbskZf.js.map → p-BO5URdZF.js.map} +0 -0
  458. /package/dist/components/{p-DmSnHVW6.js.map → p-BVxK8ce0.js.map} +0 -0
  459. /package/dist/components/{p-B0EpvBDs.js.map → p-BYeG0b5N.js.map} +0 -0
  460. /package/dist/components/{p-CJ1NnOEW.js.map → p-CA3iQ1ME.js.map} +0 -0
  461. /package/dist/components/{p-DYQa1DVF.js.map → p-C_9VGgPf.js.map} +0 -0
  462. /package/dist/components/{p-7TVdPhGR.js.map → p-CgQB8Ct5.js.map} +0 -0
  463. /package/dist/components/{p-D6FRqNhN.js.map → p-D-J7GgjY.js.map} +0 -0
  464. /package/dist/components/{p-DSZPO06T.js.map → p-D9_iDlkT.js.map} +0 -0
  465. /package/dist/components/{p-BwdnVqAY.js.map → p-DEYCF-oJ.js.map} +0 -0
  466. /package/dist/components/{p-C8V4lkVy.js.map → p-DKGW3gRa.js.map} +0 -0
  467. /package/dist/components/{p-C4huuwed.js.map → p-DR_8IPn9.js.map} +0 -0
  468. /package/dist/components/{p-B0BQCVkq.js.map → p-D_iZPukF.js.map} +0 -0
  469. /package/dist/components/{p-JBki_jyY.js.map → p-DfMTDFcE.js.map} +0 -0
  470. /package/dist/components/{p-MOJmB6vX.js.map → p-Dg6hnCc2.js.map} +0 -0
  471. /package/dist/components/{p-DXk1eml1.js.map → p-DjbT9kKm.js.map} +0 -0
  472. /package/dist/components/{p-_IqSPt5V.js.map → p-Dr5rkAhe.js.map} +0 -0
  473. /package/dist/components/{p-DIQiHX0q.js.map → p-DvGrsLgt.js.map} +0 -0
  474. /package/dist/components/{p-Doa2blZT.js.map → p-PtxCwf5S.js.map} +0 -0
  475. /package/dist/components/{p-B9TM6FqC.js.map → p-d76Ry5nh.js.map} +0 -0
  476. /package/dist/components/{p-BFHpU-uU.js.map → p-kwS-vkau.js.map} +0 -0
  477. /package/dist/components/{p-B39iJO8F.js.map → p-rmPIcWED.js.map} +0 -0
@@ -276,7 +276,7 @@
276
276
  },
277
277
  {
278
278
  "path": "src/wc/components/TooltipChart/TooltipChart.tsx",
279
- "content": "import { Component, Prop, State, Element, Watch, h, Host } from '@stencil/core';\nimport {\n CONTROL_SUPPORTING_TEXT_VARIANT,\n CONTROL_TEXT_VARIANT,\n resolveCssTimeMs,\n TOKEN_DEFAULTS,\n} from '../../utils';\n\nconst CURSOR_OFFSET_PX = 12;\nconst VIEWPORT_PAD_PX = 8;\n\nexport type TooltipChartSide = 'left' | 'right';\nexport type TooltipChartAlign = 'top' | 'bottom';\n\nexport interface TooltipChartItem {\n label: string;\n value: string | number;\n color?: string;\n}\n\n/**\n * Positioned value/label callout for chart hover interactions (bar, line point,\n * polar arc, …). A composition may suppress it when a visible legend already\n * surfaces the same value.\n * Unlike `ds-tooltip`, this doesn't bind to a slotted anchor element —\n * charts hover-highlight data that lives inside an SVG, so the chart itself computes\n * the anchor point (e.g. the cursor position while hovering) and passes it in as `x`/`y`.\n *\n * Renders `position: absolute` — place inside a `position: relative` chart wrapper,\n * with `x`/`y` as pixel coordinates within that wrapper. Defaults to sitting below-right\n * of the anchor (matching cursor-following tooltips), flipping to whichever side/edge\n * keeps it on-screen.\n *\n * Mount (or remount) when a hover session starts so `delay` applies once per hover;\n * keep the instance mounted while the cursor moves so tracking stays instant.\n */\n@Component({\n tag: 'ds-tooltip-chart',\n styleUrl: 'TooltipChart.css',\n scoped: true,\n})\nexport class TooltipChart {\n @Element() el!: HTMLElement;\n\n @Prop() value: string | number = '';\n @Prop() label: string = '';\n /** Optional heading for grouped chart focus. */\n @Prop() heading?: string;\n /** Multi-row content. When supplied, this replaces the legacy label/value row. */\n @Prop() items?: TooltipChartItem[];\n /** Anchor point in px, relative to the nearest `position: relative` ancestor — e.g. the cursor. */\n @Prop() x: number = 0;\n @Prop() y: number = 0;\n\n /**\n * Show delay after mount before the callout appears.\n * Default: `--effect-animation-delay-instant` (0ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Charts need\n * immediate feedback while scrubbing; prefer the default. Mount once per\n * hover session so any non-zero delay runs once, then track `x`/`y` instantly.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayInstant;\n\n @State() private side: TooltipChartSide = 'right';\n @State() private align: TooltipChartAlign = 'bottom';\n @State() private visible: boolean = false;\n\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n\n componentDidLoad() {\n this.scheduleShow();\n this.calculatePlacement();\n }\n\n disconnectedCallback() {\n this.clearDelayTimer();\n }\n\n @Watch('x')\n @Watch('y')\n onAnchorChange() {\n requestAnimationFrame(() => this.calculatePlacement());\n }\n\n @Watch('delay')\n onDelayChange() {\n if (!this.visible) this.scheduleShow();\n }\n\n private get showDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayInstant);\n }\n\n private clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n\n private scheduleShow() {\n this.clearDelayTimer();\n this.visible = false;\n const ms = this.showDelayMs;\n if (ms <= 0) {\n this.visible = true;\n return;\n }\n this.delayTimer = setTimeout(() => {\n this.delayTimer = null;\n this.visible = true;\n requestAnimationFrame(() => this.calculatePlacement());\n }, ms);\n }\n\n private calculatePlacement() {\n const rect = this.el.getBoundingClientRect();\n if (!rect.width || !rect.height) return;\n\n const nextSide: TooltipChartSide =\n rect.right > window.innerWidth - VIEWPORT_PAD_PX ? 'left' : 'right';\n const nextAlign: TooltipChartAlign =\n rect.bottom > window.innerHeight - VIEWPORT_PAD_PX ? 'top' : 'bottom';\n\n if (nextSide !== this.side) this.side = nextSide;\n if (nextAlign !== this.align) this.align = nextAlign;\n }\n\n render() {\n const translateX =\n this.side === 'right' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n const translateY =\n this.align === 'bottom' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n const rows = this.items ?? [{ label: this.label, value: this.value }];\n const usesSwatches = rows.some(item => Boolean(item.color));\n\n return (\n <Host\n class={{\n 'tooltip-chart': true,\n 'tooltip-chart--visible': this.visible,\n 'ds-chrome-column': true,\n 'ds-chrome-space--sm': true,\n }}\n style={{\n left: `${this.x}px`,\n top: `${this.y}px`,\n transform: `translate(${translateX}, ${translateY})`,\n }}\n >\n {this.heading && (\n <ds-text\n class=\"tooltip-chart__heading ds-control-section-heading ds-control--md\"\n as=\"span\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT.md}\n emphasis\n color=\"var(--color-foreground-primary)\"\n >\n {this.heading}\n </ds-text>\n )}\n <div class=\"tooltip-chart__items\">\n {rows.map((item, index) => (\n <div\n class=\"tooltip-chart__item ds-control-frame ds-control--md\"\n key={`${item.label}-${index}`}\n >\n {usesSwatches && (\n <span class=\"tooltip-chart__swatch-box ds-control-icon-box\" aria-hidden=\"true\">\n {item.color && (\n <span\n class=\"tooltip-chart__swatch\"\n style={{ '--ds-tooltip-chart-swatch': item.color }}\n />\n )}\n </span>\n )}\n <ds-text\n class=\"tooltip-chart__label ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT.md}\n color=\"var(--color-foreground-secondary)\"\n >\n {item.label}\n </ds-text>\n <ds-text\n class=\"tooltip-chart__value ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT.md}\n emphasis\n color=\"var(--color-foreground-primary)\"\n >\n {item.value}\n </ds-text>\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n",
279
+ "content": "import { Component, Prop, State, Element, Watch, h, Host } from '@stencil/core';\nimport {\n CONTROL_SUPPORTING_TEXT_VARIANT,\n CONTROL_TEXT_VARIANT,\n resolveCssTimeMs,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\n\nconst CURSOR_OFFSET_PX = 12;\nconst VIEWPORT_PAD_PX = 8;\n\nexport type TooltipChartSide = 'left' | 'right';\nexport type TooltipChartAlign = 'top' | 'bottom';\n\nexport interface TooltipChartItem {\n label: string;\n value: string | number;\n color?: string;\n}\n\n/**\n * Positioned value/label callout for chart hover interactions (bar, line point,\n * polar arc, …). A composition may suppress it when a visible legend already\n * surfaces the same value.\n * Unlike `ds-tooltip`, this doesn't bind to a slotted anchor element —\n * charts hover-highlight data that lives inside an SVG, so the chart itself computes\n * the anchor point (e.g. the cursor position while hovering) and passes it in as `x`/`y`.\n *\n * Renders `position: absolute` — place inside a `position: relative` chart wrapper,\n * with `x`/`y` as pixel coordinates within that wrapper. Defaults to sitting below-right\n * of the anchor (matching cursor-following tooltips), flipping to whichever side/edge\n * keeps it on-screen.\n *\n * Mount (or remount) when a hover session starts so `delay` applies once per hover;\n * keep the instance mounted while the cursor moves so tracking stays instant.\n */\n@Component({\n tag: 'ds-tooltip-chart',\n styleUrl: 'TooltipChart.css',\n scoped: true,\n})\nexport class TooltipChart {\n @Element() el!: HTMLElement;\n\n @Prop() value: string | number = '';\n @Prop() label: string = '';\n /** Optional heading for grouped chart focus. */\n @Prop() heading?: string;\n /** Multi-row content. When supplied, this replaces the legacy label/value row. */\n @Prop() items?: TooltipChartItem[];\n /** Anchor point in px, relative to the nearest `position: relative` ancestor — e.g. the cursor. */\n @Prop() x: number = 0;\n @Prop() y: number = 0;\n\n /**\n * Show delay after mount before the callout appears.\n * Default: `--effect-animation-delay-instant` (0ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Charts need\n * immediate feedback while scrubbing; prefer the default. Mount once per\n * hover session so any non-zero delay runs once, then track `x`/`y` instantly.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayInstant;\n\n @State() private side: TooltipChartSide = 'right';\n @State() private align: TooltipChartAlign = 'bottom';\n @State() private visible: boolean = false;\n\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n private loaded = false;\n private placementFrame?: number;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n\n connectedCallback() {\n if (!this.loaded) return;\n this.scheduleShow();\n this.onAnchorChange();\n }\n\n componentDidLoad() {\n this.loaded = true;\n this.scheduleShow();\n this.calculatePlacement();\n }\n\n disconnectedCallback() {\n this.clearDelayTimer();\n this.tasks.cancel();\n this.placementFrame = undefined;\n this.visible = false;\n }\n\n @Watch('x')\n @Watch('y')\n onAnchorChange() {\n this.tasks.cancelFrame(this.placementFrame);\n this.placementFrame = this.tasks.frame(() => {\n this.placementFrame = undefined;\n this.calculatePlacement();\n });\n }\n\n @Watch('delay')\n onDelayChange() {\n if (!this.visible) this.scheduleShow();\n }\n\n private get showDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayInstant);\n }\n\n private clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n\n private scheduleShow() {\n this.clearDelayTimer();\n this.visible = false;\n if (!this.el.isConnected) return;\n const ms = this.showDelayMs;\n if (ms <= 0) {\n this.visible = true;\n return;\n }\n this.delayTimer = setTimeout(\n this.tasks.guard(() => {\n this.delayTimer = null;\n this.visible = true;\n this.onAnchorChange();\n }),\n ms\n );\n }\n\n private calculatePlacement() {\n if (!this.el.isConnected) return;\n const rect = this.el.getBoundingClientRect();\n if (!rect.width || !rect.height) return;\n\n const nextSide: TooltipChartSide =\n rect.right > window.innerWidth - VIEWPORT_PAD_PX ? 'left' : 'right';\n const nextAlign: TooltipChartAlign =\n rect.bottom > window.innerHeight - VIEWPORT_PAD_PX ? 'top' : 'bottom';\n\n if (nextSide !== this.side) this.side = nextSide;\n if (nextAlign !== this.align) this.align = nextAlign;\n }\n\n render() {\n const translateX =\n this.side === 'right' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n const translateY =\n this.align === 'bottom' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n const rows = this.items ?? [{ label: this.label, value: this.value }];\n const usesSwatches = rows.some(item => Boolean(item.color));\n\n return (\n <Host\n class={{\n 'tooltip-chart': true,\n 'tooltip-chart--visible': this.visible,\n 'ds-chrome-column': true,\n 'ds-chrome-space--sm': true,\n }}\n style={{\n left: `${this.x}px`,\n top: `${this.y}px`,\n transform: `translate(${translateX}, ${translateY})`,\n }}\n >\n {this.heading && (\n <ds-text\n class=\"tooltip-chart__heading ds-control-section-heading ds-control--md\"\n as=\"span\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT.md}\n emphasis\n color=\"var(--color-foreground-primary)\"\n >\n {this.heading}\n </ds-text>\n )}\n <div class=\"tooltip-chart__items\">\n {rows.map((item, index) => (\n <div\n class=\"tooltip-chart__item ds-control-frame ds-control--md\"\n key={`${item.label}-${index}`}\n >\n {usesSwatches && (\n <span class=\"tooltip-chart__swatch-box ds-control-icon-box\" aria-hidden=\"true\">\n {item.color && (\n <span\n class=\"tooltip-chart__swatch\"\n style={{ '--ds-tooltip-chart-swatch': item.color }}\n />\n )}\n </span>\n )}\n <ds-text\n class=\"tooltip-chart__label ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT.md}\n color=\"var(--color-foreground-secondary)\"\n >\n {item.label}\n </ds-text>\n <ds-text\n class=\"tooltip-chart__value ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT.md}\n emphasis\n color=\"var(--color-foreground-primary)\"\n >\n {item.value}\n </ds-text>\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n",
280
280
  "type": "registry:ui"
281
281
  }
282
282
  ]
@@ -3,10 +3,12 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type DataFieldsConfigChangeDetail, type DataSortChangeDetail, type DsTableCustomEvent, type PaginationChangeDetail, type TableCellActionDetail, type TableDataModeChangeDetail, type TableGroupCollapseChangeDetail, type TableGroupLoadMoreDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail } from "@ds-mo/ui";
6
+ import { type DataFieldsConfigChangeDetail, type DataSortChangeDetail, type DsTableCustomEvent, type PaginationChangeDetail, type TableCellActionDetail, type TableCellRange, type TableCellsChangeDetail, type TableDataModeChangeDetail, type TableGroupCollapseChangeDetail, type TableGroupLoadMoreDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsTable as DsTableElement } from "@ds-mo/ui/dist/components/ds-table.js";
9
9
  export type DsTableEvents = {
10
+ onDsCellRangeChange: EventName<DsTableCustomEvent<TableCellRange>>;
11
+ onDsCellsChange: EventName<DsTableCustomEvent<TableCellsChangeDetail>>;
10
12
  onDsCustomizeOptionChange: EventName<DsTableCustomEvent<string>>;
11
13
  onDsSortChange: EventName<DsTableCustomEvent<DataSortChangeDetail>>;
12
14
  onDsGroupCollapseChange: EventName<DsTableCustomEvent<TableGroupCollapseChangeDetail>>;
@@ -8,6 +8,8 @@ export const DsTable = /*@__PURE__*/ createComponent({
8
8
  // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
9
  react: React,
10
10
  events: {
11
+ onDsCellRangeChange: 'dsCellRangeChange',
12
+ onDsCellsChange: 'dsCellsChange',
11
13
  onDsCustomizeOptionChange: 'dsCustomizeOptionChange',
12
14
  onDsSortChange: 'dsSortChange',
13
15
  onDsGroupCollapseChange: 'dsGroupCollapseChange',
@@ -45,6 +45,7 @@
45
45
  --_table-border-strong: var(--ds-table-border-strong, var(--color-border-secondary));
46
46
  --_table-radius: var(--ds-table-radius, var(--ds-radius-table, var(--dimension-radius-050)));
47
47
  --_table-header-min-block-size: var(--ds-table-header-min-block-size, var(--dimension-size-400));
48
+ --_table-head-block-size: var(--_table-header-min-block-size);
48
49
  --_table-row-min-block-size: var(--ds-table-row-min-block-size, var(--dimension-size-500));
49
50
  --_table-cell-padding-block: var(--ds-table-cell-padding-block, var(--dimension-space-100));
50
51
  --_table-cell-padding-inline: var(--ds-table-cell-padding-inline, var(--dimension-space-100));
@@ -126,6 +127,12 @@
126
127
  outline: none;
127
128
  }
128
129
 
130
+ /* The virtual controller owns anchoring while row identities recycle in place.
131
+ * Native anchoring can otherwise move the viewport back to a recycled row's old position. */
132
+ :where(.ds-table__viewport:has(> .ds-table__table--windowed)) {
133
+ overflow-anchor: none;
134
+ }
135
+
129
136
  :where(.ds-table--document-sticky-header .ds-table__viewport) {
130
137
  scrollbar-gutter: auto;
131
138
  }
@@ -453,8 +460,8 @@
453
460
  position: sticky;
454
461
  inset-block-start: var(--ds-table-sticky-header-offset, 0);
455
462
  z-index: 6;
456
- block-size: var(--_table-header-min-block-size);
457
- margin-block-end: calc(-1 * var(--_table-header-min-block-size));
463
+ block-size: var(--_table-head-block-size);
464
+ margin-block-end: calc(-1 * var(--_table-head-block-size));
458
465
  max-inline-size: 100%;
459
466
  overflow: hidden;
460
467
  border-radius: var(--_table-radius) var(--_table-radius) 0 0;
@@ -491,7 +498,7 @@
491
498
  }
492
499
 
493
500
  :where(.ds-table--contained-sticky-header .ds-table__sticky-group) {
494
- inset-block-start: var(--_table-header-min-block-size);
501
+ inset-block-start: var(--_table-head-block-size);
495
502
  transform: translateY(var(--_table-sticky-group-push, 0));
496
503
  will-change: transform;
497
504
  }
@@ -505,7 +512,7 @@
505
512
  }
506
513
 
507
514
  :where(.ds-table__sticky-header-table) {
508
- block-size: var(--_table-header-min-block-size);
515
+ block-size: var(--_table-head-block-size);
509
516
  transform: translate3d(calc(-1 * var(--ds-table-inline-scroll-offset, 0px)), 0, 0);
510
517
  will-change: transform;
511
518
  }
@@ -655,7 +662,9 @@
655
662
  border-inline-start: 0;
656
663
  }
657
664
 
658
- :where(.ds-table__header-cell + .ds-table__header-cell)::before {
665
+ /* Row-spanned lanes break DOM adjacency; pinned edges below still own their divider. */
666
+ :where(.ds-table__header-cell + .ds-table__header-cell)::before,
667
+ :where(.ds-table__header-cell--after-rowspan)::before {
659
668
  content: '';
660
669
  position: absolute;
661
670
  inset: 0;
@@ -1238,6 +1247,10 @@
1238
1247
 
1239
1248
  :where(.ds-table__row--disabled) {
1240
1249
  color: var(--color-foreground-tertiary);
1250
+ }
1251
+
1252
+ :where(.ds-table__row--disabled .ds-table__cell-content),
1253
+ :where(.ds-table__cell[data-cell-editable='false'] .ds-table__cell-content) {
1241
1254
  opacity: var(--effect-opacity-medium);
1242
1255
  }
1243
1256
 
@@ -1260,11 +1273,11 @@
1260
1273
  }
1261
1274
 
1262
1275
  :where(.ds-table__cell--sticky-start) {
1263
- inset-inline-start: 0;
1276
+ inset-inline-start: var(--_table-pin-offset, 0);
1264
1277
  }
1265
1278
 
1266
1279
  :where(.ds-table__cell--sticky-end) {
1267
- inset-inline-end: 0;
1280
+ inset-inline-end: var(--_table-pin-offset, 0);
1268
1281
  }
1269
1282
 
1270
1283
  :where(.ds-table__header-cell.ds-table__cell--sticky-start),
@@ -1385,7 +1398,7 @@
1385
1398
  /* Each real section owns one sticky row and its own push-off boundary. */
1386
1399
  :where(.ds-table--contained-sticky-header .ds-table__group-row--native-sticky) {
1387
1400
  position: sticky;
1388
- inset-block-start: var(--_table-header-min-block-size);
1401
+ inset-block-start: var(--_table-head-block-size);
1389
1402
  z-index: 5;
1390
1403
  }
1391
1404
 
@@ -1831,3 +1844,387 @@
1831
1844
  :where(.ds-table__cell-tag-separator) {
1832
1845
  flex: none;
1833
1846
  }
1847
+
1848
+ :where(.ds-table--super-headers) {
1849
+ --_table-head-block-size: calc(2 * var(--_table-header-min-block-size));
1850
+ }
1851
+
1852
+ :where(.ds-table__super-header-cell)::after {
1853
+ background: var(--_table-column-border);
1854
+ }
1855
+
1856
+ :where(.ds-table__header-cell--rowspan) {
1857
+ vertical-align: bottom;
1858
+ }
1859
+
1860
+ /* Share the body tracks across both header rows, including real row spans. */
1861
+ :where(.ds-table__table--native-group-sticky > .ds-table__head--multirow) {
1862
+ display: grid;
1863
+ grid-template-columns: var(--_table-grid-template-columns);
1864
+ grid-template-rows: repeat(2, var(--_table-header-min-block-size));
1865
+ }
1866
+ :where(.ds-table__table--native-group-sticky .ds-table__head--multirow > .ds-table__header-row) {
1867
+ display: contents;
1868
+ }
1869
+ :where(.ds-table__table--native-group-sticky .ds-table__header-cell--rowspan) {
1870
+ display: flex;
1871
+ flex-direction: column;
1872
+ justify-content: flex-end;
1873
+ }
1874
+
1875
+ :where(.ds-table__sticky-edge--internal)::after {
1876
+ display: none;
1877
+ }
1878
+
1879
+ /* A covered body lane breaks DOM adjacency with the preceding pinned checkbox. */
1880
+ :where(.ds-table__cell--after-covered) {
1881
+ --ds-interaction-group-divider-inline-start-width: var(--dimension-stroke-width-012);
1882
+ --ds-interaction-group-divider-inline-start-color: var(--_table-column-border);
1883
+ }
1884
+
1885
+ /* Move the complete content stack, never individual text, icon, tag or action tracks. */
1886
+ :where(.ds-table__cell[data-vertical-align='middle']) {
1887
+ vertical-align: middle;
1888
+ }
1889
+ :where(.ds-table__cell[data-vertical-align='bottom']) {
1890
+ vertical-align: bottom;
1891
+ }
1892
+ :where(.ds-table__table--native-group-sticky .ds-table__cell[data-vertical-align]) {
1893
+ display: flex;
1894
+ flex-direction: column;
1895
+ justify-content: flex-start;
1896
+ }
1897
+ :where(.ds-table__table--native-group-sticky .ds-table__cell[data-vertical-align='middle']) {
1898
+ justify-content: center;
1899
+ }
1900
+ :where(.ds-table__table--native-group-sticky .ds-table__cell[data-vertical-align='bottom']) {
1901
+ justify-content: flex-end;
1902
+ }
1903
+ :where(.ds-table__cell-highlight) {
1904
+ position: absolute;
1905
+ inset: 0;
1906
+ z-index: 3;
1907
+ pointer-events: none;
1908
+ outline: var(--dimension-stroke-width-050) solid
1909
+ var(--_table-cell-intent, var(--color-border-secondary));
1910
+ outline-offset: calc(-1 * var(--dimension-stroke-width-050));
1911
+ /* Clip only this decorative layer: a left-only outline without affecting
1912
+ * the cell's content, layout, keyboard focus ring, or pinned borders. */
1913
+ clip-path: inset(0 calc(100% - var(--dimension-stroke-width-050)) 0 0);
1914
+ }
1915
+ :where(.ds-table__cell[data-cell-highlight='brand']) {
1916
+ --_table-cell-intent: var(--color-border-bold-brand);
1917
+ }
1918
+ :where(.ds-table__cell[data-cell-highlight='negative']) {
1919
+ --_table-cell-intent: var(--color-border-bold-negative);
1920
+ }
1921
+ :where(.ds-table__cell[data-cell-highlight='positive']) {
1922
+ --_table-cell-intent: var(--color-border-bold-positive);
1923
+ }
1924
+ :where(.ds-table__cell[data-cell-highlight='warning']) {
1925
+ --_table-cell-intent: var(--color-border-bold-warning);
1926
+ }
1927
+ :where(.ds-table__cell[data-cell-highlight='caution']) {
1928
+ --_table-cell-intent: var(--color-border-bold-caution);
1929
+ }
1930
+ :where(.ds-table__cell[data-cell-borders~='start']) {
1931
+ border-inline-start: var(--dimension-stroke-width-012) solid var(--_table-border-strong);
1932
+ }
1933
+ :where(.ds-table__cell[data-cell-borders~='end']) {
1934
+ border-inline-end: var(--dimension-stroke-width-012) solid var(--_table-border-strong);
1935
+ }
1936
+ :where(.ds-table__cell[data-cell-borders~='top']) {
1937
+ border-block-start: var(--dimension-stroke-width-012) solid var(--_table-border-strong);
1938
+ }
1939
+ :where(.ds-table__cell[data-cell-borders~='bottom']) {
1940
+ border-block-end: var(--dimension-stroke-width-012) solid var(--_table-border-strong);
1941
+ }
1942
+ :where(.ds-table__cell-flag) {
1943
+ display: flex;
1944
+ align-items: center;
1945
+ justify-content: center;
1946
+ flex: none;
1947
+ min-block-size: var(--_table-cell-track-min-block-size);
1948
+ inline-size: var(--_table-cell-track-min-block-size);
1949
+ margin-inline-start: var(--dimension-space-050);
1950
+ }
1951
+ :where(.ds-table__card-label) {
1952
+ display: none;
1953
+ }
1954
+ :where(.ds-table__card-field-divider),
1955
+ :where(.ds-table__card-action-divider) {
1956
+ display: none;
1957
+ }
1958
+
1959
+ /* Keep every field reachable when pinned lanes consume the complete viewport. */
1960
+ :where(.ds-table__frame[data-pins-crowded='true'] .ds-table__cell--sticky-start),
1961
+ :where(.ds-table__frame[data-pins-crowded='true'] .ds-table__cell--sticky-end) {
1962
+ --ds-interaction-position: relative;
1963
+ position: relative;
1964
+ inset-inline: auto;
1965
+ transform: none;
1966
+ animation: none;
1967
+ }
1968
+ :where(.ds-table__frame[data-pins-crowded='true'] .ds-table__sticky-edge)::after {
1969
+ display: none;
1970
+ }
1971
+
1972
+ /* A single semantic table and the same controls survive the layout switch. */
1973
+ :where(.ds-table--cards-active > .ds-table__caption-bar),
1974
+ :where(.ds-table--cards-active > .ds-table__footer),
1975
+ :where(.ds-table--cards-active .ds-table__frame),
1976
+ :where(.ds-table--cards-active .ds-table__viewport) {
1977
+ border-radius: 0;
1978
+ }
1979
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__table) {
1980
+ display: block;
1981
+ box-sizing: border-box;
1982
+ min-inline-size: 0;
1983
+ padding: var(--dimension-space-200) var(--dimension-space-200) 0;
1984
+ }
1985
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__head),
1986
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__body) {
1987
+ display: block;
1988
+ }
1989
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__head) {
1990
+ /* Keep static semantic column labels, but no visible or focusable header UI. */
1991
+ position: absolute;
1992
+ inline-size: var(--dimension-stroke-width-012);
1993
+ block-size: var(--dimension-stroke-width-012);
1994
+ overflow: hidden;
1995
+ clip-path: inset(50%);
1996
+ pointer-events: none;
1997
+ }
1998
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__row) {
1999
+ display: grid;
2000
+ position: relative;
2001
+ /* WebKit can retain the table-row intrinsic size after changing to a card,
2002
+ * clipping visible fields and skipping the absolutely positioned checkbox.
2003
+ * Bounded datasets still use the existing recycled row window. */
2004
+ content-visibility: visible;
2005
+ contain-intrinsic-block-size: none;
2006
+ box-sizing: border-box;
2007
+ grid-template-columns: minmax(0, 1fr);
2008
+ margin-block-end: var(--dimension-space-200);
2009
+ padding: var(--dimension-space-100) var(--dimension-space-050);
2010
+ border: var(--dimension-stroke-width-012) solid var(--_table-column-border);
2011
+ border-radius: var(--ds-radius-card);
2012
+ isolation: isolate;
2013
+ }
2014
+ :where(.ds-table--cards-active .ds-table__row)::before,
2015
+ :where(.ds-table--cards-active .ds-table__row)::after {
2016
+ content: '';
2017
+ position: absolute;
2018
+ inset: 0;
2019
+ border-radius: inherit;
2020
+ pointer-events: none;
2021
+ }
2022
+ :where(.ds-table--cards-active .ds-table__row)::before {
2023
+ z-index: 0;
2024
+ }
2025
+ :where(.ds-table--cards-active .ds-table__row)::after {
2026
+ z-index: 3;
2027
+ }
2028
+ :where(.ds-table--cards-active .ds-table__row--selected)::before {
2029
+ background: var(--_table-row-selected);
2030
+ }
2031
+ :where(.ds-table--cards-active .ds-table__row[data-surface-open='true'])::before {
2032
+ background: var(--_table-row-pressed);
2033
+ }
2034
+
2035
+ @media (hover: hover) and (pointer: fine) {
2036
+ :where(.ds-table--cards-active .ds-table__row--interactive:hover)::after {
2037
+ background: var(--_table-row-hover);
2038
+ }
2039
+ }
2040
+ :where(.ds-table--cards-active .ds-table__row--interactive:active)::after {
2041
+ background: var(--_table-row-pressed);
2042
+ }
2043
+ :where(.ds-table--cards-active .ds-table__cell)::before,
2044
+ :where(.ds-table--cards-active .ds-table__cell)::after {
2045
+ display: none;
2046
+ }
2047
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__cell),
2048
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__header-cell) {
2049
+ --ds-interaction-position: relative;
2050
+ display: block;
2051
+ position: relative;
2052
+ inset-inline: auto;
2053
+ inline-size: auto;
2054
+ max-inline-size: none;
2055
+ width: auto;
2056
+ max-width: none;
2057
+ block-size: auto;
2058
+ }
2059
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__card-label) {
2060
+ display: block;
2061
+ padding-inline: var(--_table-cell-track-padding-inline);
2062
+ margin-block-end: var(--dimension-space-100);
2063
+ }
2064
+ :where(.ds-table--cards-active .ds-table__selection-cell),
2065
+ :where(.ds-table--cards-active .ds-table__cell--card-action) {
2066
+ --ds-interaction-position: absolute;
2067
+ --ds-interaction-z-index: 3;
2068
+ --ds-interaction-group-divider-width: 0;
2069
+ position: absolute;
2070
+ z-index: 3;
2071
+ inset-block-start: var(--dimension-space-100);
2072
+ inline-size: var(--_table-selection-column-inline-size);
2073
+ border: 0;
2074
+ background: transparent;
2075
+ }
2076
+ :where(.ds-table--cards-active .ds-table__selection-cell) {
2077
+ inset-inline-end: calc(
2078
+ var(--dimension-space-100) + var(--_table-card-action-count, 0) *
2079
+ var(--_table-selection-column-inline-size)
2080
+ );
2081
+ }
2082
+ :where(.ds-table--cards-active .ds-table__cell--card-action) {
2083
+ inset-inline-end: calc(
2084
+ var(--dimension-space-100) +
2085
+ (var(--_table-card-action-count, 1) - var(--_table-card-action-index, 0) - 1) *
2086
+ var(--_table-selection-column-inline-size)
2087
+ );
2088
+ }
2089
+ :where(.ds-table--cards-active .ds-table__cell--card-first) {
2090
+ padding-inline-end: calc(
2091
+ var(--dimension-space-100) + var(--_table-card-control-count, 0) *
2092
+ var(--_table-selection-column-inline-size)
2093
+ );
2094
+ }
2095
+ :where(.ds-table--cards-active .ds-table__card-field-divider) {
2096
+ display: block;
2097
+ position: absolute;
2098
+ inset-block-start: 0;
2099
+ inset-inline: calc(var(--_table-cell-padding-inline) + var(--_table-cell-track-padding-inline));
2100
+ block-size: var(--dimension-stroke-width-012);
2101
+ background: var(--_table-column-border);
2102
+ pointer-events: none;
2103
+ }
2104
+ :where(.ds-table--cards-active .ds-table__card-action-divider) {
2105
+ display: block;
2106
+ position: absolute;
2107
+ inset-inline-start: 0;
2108
+ inset-block-start: calc(var(--dimension-space-100) + var(--dimension-space-025));
2109
+ block-size: var(--dimension-size-250);
2110
+ inline-size: var(--dimension-stroke-width-012);
2111
+ background: var(--_table-column-border);
2112
+ pointer-events: none;
2113
+ }
2114
+ :where(.ds-table--cards-active .ds-table__cell--tag > .ds-table__cell-content),
2115
+ :where(.ds-table--cards-active .ds-table__cell--tags > .ds-table__cell-content),
2116
+ :where(.ds-table--cards-active .ds-table__cell--icon > .ds-table__cell-content),
2117
+ :where(.ds-table--cards-active .ds-table__cell--image > .ds-table__cell-content) {
2118
+ padding-inline: var(--_table-cell-track-padding-inline);
2119
+ }
2120
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__cell) {
2121
+ --ds-interaction-group-divider-inline-start-width: 0;
2122
+ --ds-interaction-group-divider-width: 0;
2123
+ border: 0;
2124
+ background: transparent;
2125
+ }
2126
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] colgroup),
2127
+ :where(
2128
+ .ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__elastic-spacer-cell
2129
+ ),
2130
+ :where(.ds-table--responsive-cards .ds-table__frame[data-narrow='true'] .ds-table__sticky-edge) {
2131
+ display: none;
2132
+ }
2133
+ :where(.ds-table__cell[role='gridcell']:not([aria-selected='true']):focus) {
2134
+ outline: var(--dimension-stroke-width-025) solid var(--color-interaction-focus);
2135
+ outline-offset: calc(-1 * var(--dimension-stroke-width-025));
2136
+ }
2137
+
2138
+ @media (hover: hover) and (pointer: fine) {
2139
+ :where(
2140
+ .ds-table__cell[role='gridcell'][data-cell-editable='true']:not([aria-selected='true']):not(
2141
+ [data-cell-editing='true']
2142
+ ):hover
2143
+ ) {
2144
+ --ds-interaction-group-fill: var(--_table-row-hover);
2145
+ }
2146
+ }
2147
+ :where(
2148
+ .ds-table__cell[role='gridcell'][data-cell-editable='true']:not([aria-selected='true']):not(
2149
+ [data-cell-editing='true']
2150
+ ):active
2151
+ ) {
2152
+ --ds-interaction-group-fill: var(--_table-row-pressed);
2153
+ }
2154
+ :where(.ds-table__cell[data-cell-editable='false']) {
2155
+ --ds-interaction-group-fill: transparent;
2156
+ }
2157
+ :where(.ds-table__edit-trigger) {
2158
+ position: absolute;
2159
+ inset-block-start: var(--dimension-space-100);
2160
+ inset-inline-end: var(--dimension-space-100);
2161
+ z-index: 4;
2162
+ background: var(--_table-surface);
2163
+ border-radius: var(--ds-radius-control);
2164
+ opacity: 0;
2165
+ pointer-events: none;
2166
+ }
2167
+ :where(.ds-table__cell:focus-within .ds-table__edit-trigger) {
2168
+ opacity: 1;
2169
+ pointer-events: auto;
2170
+ }
2171
+
2172
+ @media (hover: hover) and (pointer: fine) {
2173
+ :where(.ds-table__cell:hover .ds-table__edit-trigger) {
2174
+ opacity: 1;
2175
+ pointer-events: auto;
2176
+ }
2177
+ }
2178
+
2179
+ @media (hover: none) {
2180
+ :where(.ds-table__edit-trigger) {
2181
+ opacity: 1;
2182
+ pointer-events: auto;
2183
+ }
2184
+ }
2185
+ :where(.ds-table__cell-editor) {
2186
+ box-sizing: border-box;
2187
+ flex: 1 0 auto;
2188
+ inline-size: calc(100% + var(--dimension-space-100));
2189
+ min-inline-size: 0;
2190
+ /* md control text starts 8px in; cancel 4px to preserve the table's 4px track inset.
2191
+ Its 32px frame similarly occupies the existing 24px track without growing the row. */
2192
+ margin: calc(-1 * var(--dimension-space-050));
2193
+ }
2194
+ :where(.ds-table__select-indicator) {
2195
+ flex: 0 0 auto;
2196
+ align-self: center;
2197
+ margin-inline-start: var(--dimension-space-050);
2198
+ margin-inline-end: var(--dimension-space-025);
2199
+ }
2200
+ /* Paint above the cell's interaction layers so the outline cannot be covered by dividers. */
2201
+ :where(.ds-table__cell[aria-selected='true'])::after,
2202
+ :where(.ds-table__cell[data-cell-editing='true'])::after {
2203
+ outline: var(--dimension-stroke-width-018) solid var(--color-border-bold-brand);
2204
+ outline-offset: calc(-1 * var(--dimension-stroke-width-018));
2205
+ }
2206
+
2207
+ @media (forced-colors: active) {
2208
+ :where(.ds-table__row--disabled .ds-table__cell-content),
2209
+ :where(.ds-table__cell[data-cell-editable='false'] .ds-table__cell-content) {
2210
+ opacity: 1;
2211
+ color: var(--ds-forced-color-disabled);
2212
+ }
2213
+ :where(.ds-table__card-field-divider) {
2214
+ border-block-start: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);
2215
+ }
2216
+ :where(.ds-table__card-action-divider) {
2217
+ border-inline-start: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);
2218
+ }
2219
+ :where(.ds-table__cell-highlight) {
2220
+ outline-color: var(--ds-forced-color-content);
2221
+ }
2222
+ :where(.ds-table__cell[role='gridcell']:focus) {
2223
+ outline-color: var(--ds-forced-color-selected);
2224
+ }
2225
+ :where(.ds-table__cell[aria-selected='true'])::after,
2226
+ :where(.ds-table__cell[data-cell-editing='true'])::after {
2227
+ outline: var(--dimension-stroke-width-018) solid var(--ds-forced-color-selected);
2228
+ outline-offset: calc(-1 * var(--dimension-stroke-width-018));
2229
+ }
2230
+ }
@@ -18,8 +18,11 @@ export declare class AgentToolCall {
18
18
  private hasPlainTextResult;
19
19
  private hasDetails;
20
20
  private slotObserver?;
21
+ private hasLoaded;
21
22
  componentWillLoad(): void;
23
+ connectedCallback(): void;
22
24
  componentDidLoad(): void;
25
+ private observeSlots;
23
26
  disconnectedCallback(): void;
24
27
  private syncSlots;
25
28
  private serialize;
@@ -31,6 +31,7 @@ export declare class Banner {
31
31
  private loaded;
32
32
  private transitionTimer;
33
33
  private closePending;
34
+ connectedCallback(): void;
34
35
  componentWillLoad(): void;
35
36
  componentDidLoad(): void;
36
37
  disconnectedCallback(): void;
@@ -47,6 +47,8 @@ export declare class BarNav {
47
47
  private visibleTabListEl;
48
48
  private probeTabListEl;
49
49
  private resizeObserver;
50
+ private hasLoaded;
51
+ private readonly connectionTasks;
50
52
  private intrinsicWidthRetryCount;
51
53
  private tabLayoutPendingFrames;
52
54
  private readonly panelNavTransition;
@@ -68,7 +70,9 @@ export declare class BarNav {
68
70
  onMenuOpenChange(open: boolean): void;
69
71
  onTabsCollapsedChange(collapsed: boolean, prevCollapsed: boolean | undefined): void;
70
72
  componentWillLoad(): void;
73
+ connectedCallback(): void;
71
74
  componentDidLoad(): void;
75
+ private connectResources;
72
76
  componentDidRender(): void;
73
77
  disconnectedCallback(): void;
74
78
  private bindChromeTransitionListeners;
@@ -60,6 +60,8 @@ export declare class BarPageTitle {
60
60
  private probeRowEl;
61
61
  private visibleTabListEl;
62
62
  private resizeObserver;
63
+ private hasLoaded;
64
+ private readonly connectionTasks;
63
65
  private intrinsicWidthRetryCount;
64
66
  private tabLayoutPendingFrames;
65
67
  private readonly panelNavTransition;
@@ -67,7 +69,9 @@ export declare class BarPageTitle {
67
69
  private readonly overflowCoalescer;
68
70
  private chromeTransitionShell;
69
71
  componentWillLoad(): void;
72
+ connectedCallback(): void;
70
73
  componentDidLoad(): void;
74
+ private connectResources;
71
75
  componentDidRender(): void;
72
76
  disconnectedCallback(): void;
73
77
  handleSectionsChange(next: BarTitleSectionItem[], prev: BarTitleSectionItem[]): void;
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { BreadcrumbItem, BreadcrumbSelectDetail } from './breadcrumb-types';
3
3
  export declare class Breadcrumb {
4
+ el: HTMLElement;
4
5
  /** Ordered path from the broadest ancestor to the nearest page. */
5
6
  items: BreadcrumbItem[];
6
7
  /** Accessible name for the breadcrumb navigation landmark. */
@@ -17,7 +18,11 @@ export declare class Breadcrumb {
17
18
  private resizeObserver?;
18
19
  private observedElement?;
19
20
  private measurementFrame?;
21
+ private hasLoaded;
22
+ private readonly connectionTasks;
23
+ connectedCallback(): void;
20
24
  componentDidLoad(): void;
25
+ private connectResources;
21
26
  componentDidRender(): void;
22
27
  disconnectedCallback(): void;
23
28
  handleItemsChange(): void;
@@ -12,6 +12,7 @@ export declare class Calendar {
12
12
  autoFocus: boolean;
13
13
  dsChange: EventEmitter<string>;
14
14
  private month;
15
+ private focusedDay;
15
16
  private pendingStart;
16
17
  private previewEnd;
17
18
  private heldRange;
@@ -20,6 +21,7 @@ export declare class Calendar {
20
21
  onValueChange(): void;
21
22
  setFocus(): Promise<void>;
22
23
  private anchorDate;
24
+ private isUnavailable;
23
25
  private isDisabled;
24
26
  private moveMonth;
25
27
  private selectDate;
@@ -41,8 +41,11 @@ export declare class CardOverview {
41
41
  private layoutEl?;
42
42
  private layoutResizeObserver;
43
43
  private layoutResizeFrame;
44
+ private hasLoaded;
45
+ private readonly connectionTasks;
44
46
  /** The node the observer is bound to, which a later render can replace. */
45
47
  private observedLayoutEl?;
48
+ connectedCallback(): void;
46
49
  componentDidLoad(): void;
47
50
  componentDidRender(): void;
48
51
  disconnectedCallback(): void;