@ds-mo/ui 12.7.0 → 12.9.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 (313) hide show
  1. package/dist/.build-stamp +1 -1
  2. package/dist/agent-patterns.json +22 -9
  3. package/dist/agent.json +246 -19
  4. package/dist/angular/ds-button-filled.d.ts +1 -1
  5. package/dist/angular/ds-button-filled.js +3 -3
  6. package/dist/angular/ds-button-unfilled.d.ts +1 -1
  7. package/dist/angular/ds-button-unfilled.js +3 -3
  8. package/dist/angular/ds-card-overview.d.ts +19 -0
  9. package/dist/angular/ds-card-overview.js +42 -0
  10. package/dist/angular/index.d.ts +1 -1
  11. package/dist/angular/index.js +1 -0
  12. package/dist/angular/proxies.d.ts +1 -0
  13. package/dist/angular/proxies.js +1 -0
  14. package/dist/components/ds-agent-activity.js +1 -1
  15. package/dist/components/ds-agent-response.js +1 -1
  16. package/dist/components/ds-agent-source-list.js +1 -1
  17. package/dist/components/ds-agent-tool-call.js +1 -1
  18. package/dist/components/ds-attachment-list.js +1 -1
  19. package/dist/components/ds-badge.js +1 -1
  20. package/dist/components/ds-bar-nav.js +1 -1
  21. package/dist/components/ds-bar-title.js +1 -1
  22. package/dist/components/ds-bar-title.js.map +1 -1
  23. package/dist/components/ds-bar-workflow.js +1 -1
  24. package/dist/components/ds-breadcrumb.js +1 -1
  25. package/dist/components/ds-button-filled.js +1 -1
  26. package/dist/components/ds-button-unfilled.js +1 -1
  27. package/dist/components/ds-card-data-viz-bar.js +1 -1
  28. package/dist/components/ds-card-data-viz-bar.js.map +1 -1
  29. package/dist/components/ds-card-data-viz-donut.js +1 -1
  30. package/dist/components/ds-card-data-viz-donut.js.map +1 -1
  31. package/dist/components/ds-card-data-viz-line.js +1 -1
  32. package/dist/components/ds-card-data-viz-line.js.map +1 -1
  33. package/dist/components/ds-card-overview.d.ts +11 -0
  34. package/dist/components/ds-card-overview.js +2 -0
  35. package/dist/components/ds-card-overview.js.map +1 -0
  36. package/dist/components/ds-card-setting.js +1 -1
  37. package/dist/components/ds-card-shell-data-viz.js +1 -1
  38. package/dist/components/ds-chart-bar-stacked.js +1 -1
  39. package/dist/components/ds-chart-bar-stacked.js.map +1 -1
  40. package/dist/components/ds-chart-bar.js +1 -1
  41. package/dist/components/ds-chart-bar.js.map +1 -1
  42. package/dist/components/ds-chart-donut.js +1 -1
  43. package/dist/components/ds-chart-donut.js.map +1 -1
  44. package/dist/components/ds-chart-legend.js +1 -1
  45. package/dist/components/ds-chart-line.js +1 -1
  46. package/dist/components/ds-chart-line.js.map +1 -1
  47. package/dist/components/ds-checkbox.js +1 -1
  48. package/dist/components/ds-chip.js +1 -1
  49. package/dist/components/ds-code-block.js +1 -1
  50. package/dist/components/ds-conversation-list-item.js +1 -1
  51. package/dist/components/ds-conversation-list-item.js.map +1 -1
  52. package/dist/components/ds-conversation-list-section.js +1 -1
  53. package/dist/components/ds-conversation-list.js +1 -1
  54. package/dist/components/ds-conversation-list.js.map +1 -1
  55. package/dist/components/ds-divider.js +1 -1
  56. package/dist/components/ds-empty-state.js +1 -1
  57. package/dist/components/ds-field.js +1 -1
  58. package/dist/components/ds-input.js +1 -1
  59. package/dist/components/ds-markdown.js +1 -1
  60. package/dist/components/ds-menu.js +1 -1
  61. package/dist/components/ds-message-bubble.js +1 -1
  62. package/dist/components/ds-message-composer.js +1 -1
  63. package/dist/components/ds-message-scroller.js +1 -1
  64. package/dist/components/ds-message-scroller.js.map +1 -1
  65. package/dist/components/ds-message.js +1 -1
  66. package/dist/components/ds-mobile-bar-nav.js +1 -1
  67. package/dist/components/ds-mobile-header.js +1 -1
  68. package/dist/components/ds-mobile-section-switcher.js +1 -1
  69. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  70. package/dist/components/ds-modal.js +1 -1
  71. package/dist/components/ds-modal.js.map +1 -1
  72. package/dist/components/ds-panel-nav.js +1 -1
  73. package/dist/components/ds-panel-nav.js.map +1 -1
  74. package/dist/components/ds-panel-sub-nav.js +1 -1
  75. package/dist/components/ds-panel-tool-header.js +1 -1
  76. package/dist/components/ds-panel-tool-search.js +1 -1
  77. package/dist/components/ds-panel-tools.js +1 -1
  78. package/dist/components/ds-radio.js +1 -1
  79. package/dist/components/ds-scroll-overlay.js +1 -1
  80. package/dist/components/ds-scroll-overlay.js.map +1 -1
  81. package/dist/components/ds-select-multi.js +1 -1
  82. package/dist/components/ds-select-multi.js.map +1 -1
  83. package/dist/components/ds-select.js +1 -1
  84. package/dist/components/ds-select.js.map +1 -1
  85. package/dist/components/ds-shell-app.js +1 -1
  86. package/dist/components/ds-shell-gradient-picker.js +1 -1
  87. package/dist/components/ds-shell-gradient-picker.js.map +1 -1
  88. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  89. package/dist/components/ds-shell-page.js +1 -1
  90. package/dist/components/ds-shell-page.js.map +1 -1
  91. package/dist/components/ds-shell-tools.js +1 -1
  92. package/dist/components/ds-skeleton.js +1 -1
  93. package/dist/components/ds-skeleton.js.map +1 -1
  94. package/dist/components/ds-slider.js +1 -1
  95. package/dist/components/ds-slider.js.map +1 -1
  96. package/dist/components/ds-swatch-picker.js +1 -1
  97. package/dist/components/ds-switch.js +1 -1
  98. package/dist/components/ds-tab-group.js +1 -1
  99. package/dist/components/ds-tag.js +1 -1
  100. package/dist/components/ds-text.js +1 -1
  101. package/dist/components/ds-toast.js +1 -1
  102. package/dist/components/ds-toast.js.map +1 -1
  103. package/dist/components/ds-tooltip-data-viz.js +1 -1
  104. package/dist/components/ds-tooltip.js +1 -1
  105. package/dist/components/ds-typing-indicator.js +1 -1
  106. package/dist/components/p-2foAUsDN.js +2 -0
  107. package/dist/components/p-2foAUsDN.js.map +1 -0
  108. package/dist/components/{p-BuiZcSga.js → p-8GK7B7K4.js} +2 -2
  109. package/dist/components/p-8GK7B7K4.js.map +1 -0
  110. package/dist/components/p-B5tMlca-.js +2 -0
  111. package/dist/components/p-B5tMlca-.js.map +1 -0
  112. package/dist/components/p-B6Vuayt6.js +2 -0
  113. package/dist/components/p-B6Vuayt6.js.map +1 -0
  114. package/dist/components/{p-B-9A0e_0.js → p-B88n0pO3.js} +2 -2
  115. package/dist/components/p-BBePKRHC.js +2 -0
  116. package/dist/components/p-BBePKRHC.js.map +1 -0
  117. package/dist/components/p-BBxcMVqk.js +2 -0
  118. package/dist/components/p-BBxcMVqk.js.map +1 -0
  119. package/dist/components/p-BDKtu6Wb.js +2 -0
  120. package/dist/components/{p-Bl001G0Y.js.map → p-BDKtu6Wb.js.map} +1 -1
  121. package/dist/components/p-BKOlvCGS.js +2 -0
  122. package/dist/components/p-BKOlvCGS.js.map +1 -0
  123. package/dist/components/{p-C7bZ-jiU.js → p-BO5aqZcf.js} +2 -2
  124. package/dist/components/{p-guQ7hv6W.js → p-BOCfICln.js} +2 -2
  125. package/dist/components/p-BX0BMhgz.js +2 -0
  126. package/dist/components/p-BX0BMhgz.js.map +1 -0
  127. package/dist/components/p-BhV5e6vF.js +2 -0
  128. package/dist/components/{p-1darPzys.js.map → p-BhV5e6vF.js.map} +1 -1
  129. package/dist/components/p-C8HU4W8q.js +2 -0
  130. package/dist/components/{p-pgxlkvUy.js.map → p-C8HU4W8q.js.map} +1 -1
  131. package/dist/components/{p-CvyTZ4Mg.js → p-CChcuL04.js} +2 -2
  132. package/dist/components/{p-Crsn82rz.js → p-CCzG5xDD.js} +2 -2
  133. package/dist/components/p-CGVXbXv9.js +2 -0
  134. package/dist/components/p-CGVXbXv9.js.map +1 -0
  135. package/dist/components/{p-BT5hgg5i.js → p-CIiBpjCn.js} +2 -2
  136. package/dist/components/{p-B_5nxOeB.js → p-CgEYdMee.js} +2 -2
  137. package/dist/components/{p-k0Hmj1KV.js → p-Cr3tEx7o.js} +2 -2
  138. package/dist/components/p-Cr3tEx7o.js.map +1 -0
  139. package/dist/components/{p-5-QAFB4j.js → p-Cuih680v.js} +2 -2
  140. package/dist/components/{p-C_9ZH0A3.js → p-Cuqxh-Tq.js} +2 -2
  141. package/dist/components/{p--eKXTylf.js → p-DCvA3Dc9.js} +2 -2
  142. package/dist/components/{p-DNFd4Ao-.js → p-DLZm_-sU.js} +2 -2
  143. package/dist/components/{p-C9h13YnX.js → p-DRnIuCiT.js} +2 -2
  144. package/dist/components/p-DhKvqh5G.js +2 -0
  145. package/dist/components/p-DhKvqh5G.js.map +1 -0
  146. package/dist/components/p-DjKkSqrG.js +2 -0
  147. package/dist/components/p-DjKkSqrG.js.map +1 -0
  148. package/dist/components/{p-CUAYsK44.js → p-DlscFn2m.js} +2 -2
  149. package/dist/components/{p-BcfC6phQ.js → p-DxkEC0hR.js} +2 -2
  150. package/dist/components/p-DxkEC0hR.js.map +1 -0
  151. package/dist/components/{p-C6xC48hG.js → p-Re2kPrXm.js} +2 -2
  152. package/dist/components/{p-DIa73GJP.js → p-XMZCaXs7.js} +2 -2
  153. package/dist/components/p-YR1XeuZf.js +2 -0
  154. package/dist/components/p-YR1XeuZf.js.map +1 -0
  155. package/dist/components/{p-CqWV4Hl_.js → p-dyUp3Adm.js} +2 -2
  156. package/dist/components/{p-CnAkobDW.js → p-nkYN0Bub.js} +2 -2
  157. package/dist/components/p-yhj1lIPx.js +2 -0
  158. package/dist/docs/components.json +847 -167
  159. package/dist/lib/components/Menu/menu-position.d.ts +6 -6
  160. package/dist/lib/toast/toast-types.d.ts +3 -3
  161. package/dist/lib/utils/anchored-position.d.ts +34 -0
  162. package/dist/lib/utils/choice-popup-alignment.d.ts +2 -2
  163. package/dist/lib/utils/index.d.ts +2 -0
  164. package/dist/lib/utils/index.js +31 -0
  165. package/dist/lib/utils/index.js.map +3 -3
  166. package/dist/lib/utils/metric-change.d.ts +52 -0
  167. package/dist/lib/utils/token-defaults.d.ts +3 -0
  168. package/dist/mcp-data/registry/agent-activity.json +1 -1
  169. package/dist/mcp-data/registry/agent-response.json +1 -1
  170. package/dist/mcp-data/registry/agent-source-list.json +1 -1
  171. package/dist/mcp-data/registry/agent-tool-call.json +1 -1
  172. package/dist/mcp-data/registry/attachment-list.json +1 -1
  173. package/dist/mcp-data/registry/avatar.json +1 -1
  174. package/dist/mcp-data/registry/badge.json +1 -1
  175. package/dist/mcp-data/registry/bar-nav.json +1 -1
  176. package/dist/mcp-data/registry/bar-title.json +2 -2
  177. package/dist/mcp-data/registry/bar-workflow.json +1 -1
  178. package/dist/mcp-data/registry/breadcrumb.json +1 -1
  179. package/dist/mcp-data/registry/button-filled.json +122 -6
  180. package/dist/mcp-data/registry/button-unfilled.json +49 -5
  181. package/dist/mcp-data/registry/card-data-viz-bar.json +2 -2
  182. package/dist/mcp-data/registry/card-data-viz-donut.json +2 -1
  183. package/dist/mcp-data/registry/card-data-viz-line.json +2 -2
  184. package/dist/mcp-data/registry/card-overview.json +360 -0
  185. package/dist/mcp-data/registry/card-setting.json +1 -1
  186. package/dist/mcp-data/registry/card-shell-data-viz.json +1 -1
  187. package/dist/mcp-data/registry/chart-bar-stacked.json +14 -9
  188. package/dist/mcp-data/registry/chart-bar.json +15 -10
  189. package/dist/mcp-data/registry/chart-donut.json +3 -2
  190. package/dist/mcp-data/registry/chart-legend.json +1 -1
  191. package/dist/mcp-data/registry/chart-line.json +15 -10
  192. package/dist/mcp-data/registry/checkbox.json +1 -1
  193. package/dist/mcp-data/registry/chip.json +1 -1
  194. package/dist/mcp-data/registry/code-block.json +1 -1
  195. package/dist/mcp-data/registry/conversation-list-item.json +1 -1
  196. package/dist/mcp-data/registry/conversation-list-section.json +1 -1
  197. package/dist/mcp-data/registry/conversation-list.json +1 -1
  198. package/dist/mcp-data/registry/divider.json +1 -1
  199. package/dist/mcp-data/registry/empty-state.json +1 -1
  200. package/dist/mcp-data/registry/field.json +1 -1
  201. package/dist/mcp-data/registry/icon.json +1 -1
  202. package/dist/mcp-data/registry/input.json +1 -1
  203. package/dist/mcp-data/registry/loader.json +1 -1
  204. package/dist/mcp-data/registry/markdown.json +1 -1
  205. package/dist/mcp-data/registry/menu.json +3 -3
  206. package/dist/mcp-data/registry/message-bubble.json +1 -1
  207. package/dist/mcp-data/registry/message-composer.json +1 -1
  208. package/dist/mcp-data/registry/message-scroller.json +1 -1
  209. package/dist/mcp-data/registry/message.json +1 -1
  210. package/dist/mcp-data/registry/mobile-bar-nav.json +1 -1
  211. package/dist/mcp-data/registry/mobile-header.json +1 -1
  212. package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
  213. package/dist/mcp-data/registry/mobile-sheet-nav.json +1 -1
  214. package/dist/mcp-data/registry/modal.json +1 -1
  215. package/dist/mcp-data/registry/panel-nav.json +1 -1
  216. package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
  217. package/dist/mcp-data/registry/panel-tool-header.json +1 -1
  218. package/dist/mcp-data/registry/panel-tool-search.json +1 -1
  219. package/dist/mcp-data/registry/panel-tools.json +3 -2
  220. package/dist/mcp-data/registry/radio.json +1 -1
  221. package/dist/mcp-data/registry/registry.json +249 -19
  222. package/dist/mcp-data/registry/scroll-overlay.json +1 -1
  223. package/dist/mcp-data/registry/select-multi.json +2 -2
  224. package/dist/mcp-data/registry/select.json +2 -2
  225. package/dist/mcp-data/registry/shell-app.json +1 -1
  226. package/dist/mcp-data/registry/shell-gradient-picker.json +1 -1
  227. package/dist/mcp-data/registry/shell-gradient-swatch.json +1 -1
  228. package/dist/mcp-data/registry/shell-page.json +5 -4
  229. package/dist/mcp-data/registry/shell-tools.json +1 -1
  230. package/dist/mcp-data/registry/skeleton.json +1 -1
  231. package/dist/mcp-data/registry/slider.json +1 -1
  232. package/dist/mcp-data/registry/swatch-picker.json +1 -1
  233. package/dist/mcp-data/registry/switch.json +1 -1
  234. package/dist/mcp-data/registry/tab-group.json +1 -1
  235. package/dist/mcp-data/registry/tag.json +1 -1
  236. package/dist/mcp-data/registry/text.json +3 -3
  237. package/dist/mcp-data/registry/toast.json +2 -2
  238. package/dist/mcp-data/registry/tooltip-data-viz.json +3 -1
  239. package/dist/mcp-data/registry/tooltip.json +3 -8
  240. package/dist/mcp-data/registry/typing-indicator.json +1 -1
  241. package/dist/react/components.d.ts +1 -0
  242. package/dist/react/components.js +1 -0
  243. package/dist/react/ds-card-overview.d.ts +12 -0
  244. package/dist/react/ds-card-overview.js +12 -0
  245. package/dist/styles/control-elevation.css +11 -0
  246. package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +32 -0
  247. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +20 -0
  248. package/dist/types/components/CardOverview/CardOverview.d.ts +64 -0
  249. package/dist/types/components/CardOverview/card-overview-types.d.ts +34 -0
  250. package/dist/types/components/CardOverview/index.d.ts +2 -0
  251. package/dist/types/components/ChartBar/ChartBar.d.ts +11 -0
  252. package/dist/types/components/ChartBarStacked/ChartBarStacked.d.ts +11 -0
  253. package/dist/types/components/ChartLine/ChartLine.d.ts +11 -0
  254. package/dist/types/components/Menu/Menu.d.ts +7 -5
  255. package/dist/types/components/Menu/menu-position.d.ts +6 -6
  256. package/dist/types/components/ShellPage/ShellPage.d.ts +1 -0
  257. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -4
  258. package/dist/types/components.d.ts +234 -2
  259. package/dist/types/toast/toast-types.d.ts +3 -3
  260. package/dist/types/utils/anchored-position-controller.d.ts +105 -0
  261. package/dist/types/utils/anchored-position.d.ts +35 -0
  262. package/dist/types/utils/cartesian-chart-layout.d.ts +13 -0
  263. package/dist/types/utils/chart-viewport-controller.d.ts +21 -0
  264. package/dist/types/utils/choice-popup-alignment.d.ts +2 -2
  265. package/dist/types/utils/index.d.ts +2 -0
  266. package/dist/types/utils/metric-change.d.ts +53 -0
  267. package/dist/types/utils/select-controller.d.ts +3 -3
  268. package/dist/types/utils/token-defaults.d.ts +3 -0
  269. package/package.json +3 -3
  270. package/dist/components/p-1darPzys.js +0 -2
  271. package/dist/components/p-B8C_yfLQ.js +0 -2
  272. package/dist/components/p-B8C_yfLQ.js.map +0 -1
  273. package/dist/components/p-BcfC6phQ.js.map +0 -1
  274. package/dist/components/p-Bl001G0Y.js +0 -2
  275. package/dist/components/p-BuiZcSga.js.map +0 -1
  276. package/dist/components/p-Bv9frkvW.js +0 -2
  277. package/dist/components/p-Bv9frkvW.js.map +0 -1
  278. package/dist/components/p-C0-K8vnW.js +0 -2
  279. package/dist/components/p-C0-K8vnW.js.map +0 -1
  280. package/dist/components/p-C2ym_Ich.js +0 -2
  281. package/dist/components/p-C_ewSXTT.js +0 -2
  282. package/dist/components/p-C_ewSXTT.js.map +0 -1
  283. package/dist/components/p-Ca9-fnFl.js +0 -2
  284. package/dist/components/p-Ca9-fnFl.js.map +0 -1
  285. package/dist/components/p-CydY-v7X.js +0 -2
  286. package/dist/components/p-CydY-v7X.js.map +0 -1
  287. package/dist/components/p-De7NquTI.js +0 -2
  288. package/dist/components/p-De7NquTI.js.map +0 -1
  289. package/dist/components/p-Dg3xLna0.js +0 -2
  290. package/dist/components/p-Dg3xLna0.js.map +0 -1
  291. package/dist/components/p-k0Hmj1KV.js.map +0 -1
  292. package/dist/components/p-pgxlkvUy.js +0 -2
  293. package/dist/lib/utils/anchored-popup.d.ts +0 -23
  294. package/dist/types/components/Tooltip/tooltip-position.d.ts +0 -21
  295. package/dist/types/utils/anchored-popup.d.ts +0 -24
  296. /package/dist/components/{p-B-9A0e_0.js.map → p-B88n0pO3.js.map} +0 -0
  297. /package/dist/components/{p-C7bZ-jiU.js.map → p-BO5aqZcf.js.map} +0 -0
  298. /package/dist/components/{p-guQ7hv6W.js.map → p-BOCfICln.js.map} +0 -0
  299. /package/dist/components/{p-CvyTZ4Mg.js.map → p-CChcuL04.js.map} +0 -0
  300. /package/dist/components/{p-Crsn82rz.js.map → p-CCzG5xDD.js.map} +0 -0
  301. /package/dist/components/{p-BT5hgg5i.js.map → p-CIiBpjCn.js.map} +0 -0
  302. /package/dist/components/{p-B_5nxOeB.js.map → p-CgEYdMee.js.map} +0 -0
  303. /package/dist/components/{p-5-QAFB4j.js.map → p-Cuih680v.js.map} +0 -0
  304. /package/dist/components/{p-C_9ZH0A3.js.map → p-Cuqxh-Tq.js.map} +0 -0
  305. /package/dist/components/{p--eKXTylf.js.map → p-DCvA3Dc9.js.map} +0 -0
  306. /package/dist/components/{p-DNFd4Ao-.js.map → p-DLZm_-sU.js.map} +0 -0
  307. /package/dist/components/{p-C9h13YnX.js.map → p-DRnIuCiT.js.map} +0 -0
  308. /package/dist/components/{p-CUAYsK44.js.map → p-DlscFn2m.js.map} +0 -0
  309. /package/dist/components/{p-C6xC48hG.js.map → p-Re2kPrXm.js.map} +0 -0
  310. /package/dist/components/{p-DIa73GJP.js.map → p-XMZCaXs7.js.map} +0 -0
  311. /package/dist/components/{p-CqWV4Hl_.js.map → p-dyUp3Adm.js.map} +0 -0
  312. /package/dist/components/{p-CnAkobDW.js.map → p-nkYN0Bub.js.map} +0 -0
  313. /package/dist/components/{p-C2ym_Ich.js.map → p-yhj1lIPx.js.map} +0 -0
@@ -15,11 +15,12 @@ import { BreadcrumbItem, BreadcrumbSelectDetail } from "./components/Breadcrumb/
15
15
  import { BarTitleActionItem, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types";
16
16
  import { BarWorkflowStep, BarWorkflowSubmitAction } from "./components/BarWorkflow/bar-workflow-types";
17
17
  import { MobileDestination, ShellResponsiveMode } from "./shell/shell-responsive";
18
- import { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled";
18
+ import { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledPopup, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled";
19
19
  import { ButtonUnfilledBackground, ButtonUnfilledPopup, ButtonUnfilledSize, ButtonUnfilledVariant, ButtonUnfilledWidth } from "./components/ButtonUnfilled/ButtonUnfilled";
20
20
  import { CardDataVizBarWidth } from "./components/CardDataVizBar/CardDataVizBar";
21
21
  import { CardDataVizDonutWidth } from "./components/CardDataVizDonut/CardDataVizDonut";
22
22
  import { CardDataVizLineWidth } from "./components/CardDataVizLine/CardDataVizLine";
23
+ import { CardOverviewLayout, CardOverviewVariant, OverviewMetric, OverviewScore } from "./components/CardOverview/card-overview-types";
23
24
  import { CardSettingActionDetail, CardSettingWidth } from "./components/CardSetting/CardSetting";
24
25
  import { CardShellDataVizWidth } from "./components/CardShellDataViz/CardShellDataViz";
25
26
  import { ChartDatum, ChartLegendItem, ChartSeries } from "./utils/chart-types";
@@ -74,11 +75,12 @@ export { BreadcrumbItem, BreadcrumbSelectDetail } from "./components/Breadcrumb/
74
75
  export { BarTitleActionItem, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types";
75
76
  export { BarWorkflowStep, BarWorkflowSubmitAction } from "./components/BarWorkflow/bar-workflow-types";
76
77
  export { MobileDestination, ShellResponsiveMode } from "./shell/shell-responsive";
77
- export { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled";
78
+ export { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledPopup, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled";
78
79
  export { ButtonUnfilledBackground, ButtonUnfilledPopup, ButtonUnfilledSize, ButtonUnfilledVariant, ButtonUnfilledWidth } from "./components/ButtonUnfilled/ButtonUnfilled";
79
80
  export { CardDataVizBarWidth } from "./components/CardDataVizBar/CardDataVizBar";
80
81
  export { CardDataVizDonutWidth } from "./components/CardDataVizDonut/CardDataVizDonut";
81
82
  export { CardDataVizLineWidth } from "./components/CardDataVizLine/CardDataVizLine";
83
+ export { CardOverviewLayout, CardOverviewVariant, OverviewMetric, OverviewScore } from "./components/CardOverview/card-overview-types";
82
84
  export { CardSettingActionDetail, CardSettingWidth } from "./components/CardSetting/CardSetting";
83
85
  export { CardShellDataVizWidth } from "./components/CardShellDataViz/CardShellDataViz";
84
86
  export { ChartDatum, ChartLegendItem, ChartSeries } from "./utils/chart-types";
@@ -459,11 +461,28 @@ export namespace Components {
459
461
  * @default 'bold'
460
462
  */
461
463
  "contrast": ButtonFilledContrast;
464
+ /**
465
+ * ID of the popup this button controls.
466
+ */
467
+ "controls": string | undefined;
468
+ /**
469
+ * Controlled open state of the popup this button triggers. Holds the pressed wash for the popup's rendered lifecycle. ButtonFilled has no selected state, so an open popup never promotes to an active treatment.
470
+ */
471
+ "expanded": boolean | undefined;
462
472
  /**
463
473
  * Show a 1px secondary inset border.
464
474
  * @default false
465
475
  */
466
476
  "hasBorder": boolean;
477
+ /**
478
+ * This action *has* a menu: implies `aria-haspopup="menu"` and adds the trailing chevron that carries the affordance. Only `label` and `icon-label` are supported. A filled button is never the overflow / more-options control — that role belongs to ButtonUnfilled with an `Ellipses` glyph, which conveys the menu without a chevron. Use `haspopup` directly for non-menu popups.
479
+ * @default false
480
+ */
481
+ "hasMenu": boolean;
482
+ /**
483
+ * Popup type exposed to assistive technology.
484
+ */
485
+ "haspopup": ButtonFilledPopup | undefined;
467
486
  /**
468
487
  * Icon name passed to <ds-icon> for `icon` / `icon-label` variants.
469
488
  * @default ''
@@ -489,6 +508,15 @@ export namespace Components {
489
508
  * @default ''
490
509
  */
491
510
  "label": string;
511
+ /**
512
+ * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
513
+ * @default true
514
+ */
515
+ "pressScale": boolean;
516
+ /**
517
+ * Pressed semantics for a toggle command that reports state elsewhere.
518
+ */
519
+ "pressed": boolean | undefined;
492
520
  /**
493
521
  * Use the half-radius treatment instead of the default control radius.
494
522
  * @default false
@@ -547,6 +575,11 @@ export namespace Components {
547
575
  * @default true
548
576
  */
549
577
  "hasBorder": boolean;
578
+ /**
579
+ * Mark the button as a Menu trigger. Implies `aria-haspopup="menu"` and covers both menu-button shapes: - `label` / `icon-label` — the action *has* a menu; a trailing chevron carries the affordance. - `icon` — the button *is* a menu, i.e. the overflow / more-options control. No chevron is added, so the glyph must convey it on its own; use `Ellipses`. Use `haspopup` directly for non-menu popups.
580
+ * @default false
581
+ */
582
+ "hasMenu": boolean;
550
583
  "haspopup": ButtonUnfilledPopup | undefined;
551
584
  /**
552
585
  * Icon name passed to <ds-icon> for `icon` / `icon-label` variants.
@@ -573,6 +606,11 @@ export namespace Components {
573
606
  * @default ''
574
607
  */
575
608
  "label": string;
609
+ /**
610
+ * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
611
+ * @default true
612
+ */
613
+ "pressScale": boolean;
576
614
  "pressed": boolean | undefined;
577
615
  /**
578
616
  * Use the half-radius treatment instead of the default control radius.
@@ -658,6 +696,56 @@ export namespace Components {
658
696
  */
659
697
  "heading": string;
660
698
  }
699
+ interface DsCardOverview {
700
+ /**
701
+ * Comparison caption, for example `vs Previous period`.
702
+ * @default ''
703
+ */
704
+ "comparisonLabel": string;
705
+ /**
706
+ * Replace the score and metrics with skeletons while data resolves.
707
+ * @default false
708
+ */
709
+ "isLoading": boolean;
710
+ /**
711
+ * Intrinsic responsive layout, or a page-owned single-column stack.
712
+ * @default 'auto'
713
+ */
714
+ "layout": CardOverviewLayout;
715
+ /**
716
+ * Width a metric cell may shrink to before the grid drops a column. The grid reflows and then stacks from this alone, so no measurement is required.
717
+ * @default 'var(--dimension-menu-width-xs)'
718
+ */
719
+ "metricMinWidth": string;
720
+ /**
721
+ * Measures rendered in the responsive grid. Only the first six are shown.
722
+ * @default []
723
+ */
724
+ "metrics": OverviewMetric[];
725
+ /**
726
+ * Accessible name for the region.
727
+ * @default 'Overview'
728
+ */
729
+ "overviewLabel": string;
730
+ /**
731
+ * Current reporting period, for example `Jun 29, 2026 – Jul 26, 2026`.
732
+ * @default ''
733
+ */
734
+ "periodLabel": string;
735
+ /**
736
+ * Leading summary block. Omit to render the bar without a headline figure.
737
+ */
738
+ "score": OverviewScore | undefined;
739
+ /**
740
+ * Message shown in place of the score when its figure cannot be resolved.
741
+ */
742
+ "scoreErrorMessage": string | undefined;
743
+ /**
744
+ * Full summary card, or the condensed 48px summary bar.
745
+ * @default 'default'
746
+ */
747
+ "variant": CardOverviewVariant;
748
+ }
661
749
  interface DsCardSetting {
662
750
  /**
663
751
  * @default 'Cancel'
@@ -708,10 +796,12 @@ export namespace Components {
708
796
  */
709
797
  "data": ChartDatum[];
710
798
  /**
799
+ * Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size.
711
800
  * @default 240
712
801
  */
713
802
  "height": number;
714
803
  /**
804
+ * Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size.
715
805
  * @default 480
716
806
  */
717
807
  "width": number;
@@ -723,6 +813,7 @@ export namespace Components {
723
813
  */
724
814
  "categories": string[];
725
815
  /**
816
+ * Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size.
726
817
  * @default 240
727
818
  */
728
819
  "height": number;
@@ -736,6 +827,7 @@ export namespace Components {
736
827
  */
737
828
  "variant": ChartBarStackedVariant;
738
829
  /**
830
+ * Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size.
739
831
  * @default 480
740
832
  */
741
833
  "width": number;
@@ -835,6 +927,7 @@ export namespace Components {
835
927
  */
836
928
  "categories": string[];
837
929
  /**
930
+ * Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size.
838
931
  * @default 240
839
932
  */
840
933
  "height": number;
@@ -848,6 +941,7 @@ export namespace Components {
848
941
  */
849
942
  "showPoints": boolean;
850
943
  /**
944
+ * Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size.
851
945
  * @default 480
852
946
  */
853
947
  "width": number;
@@ -2880,6 +2974,10 @@ export interface DsCardDataVizLineCustomEvent<T> extends CustomEvent<T> {
2880
2974
  detail: T;
2881
2975
  target: HTMLDsCardDataVizLineElement;
2882
2976
  }
2977
+ export interface DsCardOverviewCustomEvent<T> extends CustomEvent<T> {
2978
+ detail: T;
2979
+ target: HTMLDsCardOverviewElement;
2980
+ }
2883
2981
  export interface DsCardSettingCustomEvent<T> extends CustomEvent<T> {
2884
2982
  detail: T;
2885
2983
  target: HTMLDsCardSettingElement;
@@ -3230,6 +3328,23 @@ declare global {
3230
3328
  prototype: HTMLDsCardDataVizLineElement;
3231
3329
  new (): HTMLDsCardDataVizLineElement;
3232
3330
  };
3331
+ interface HTMLDsCardOverviewElementEventMap {
3332
+ "dsMetricSelect": OverviewMetric;
3333
+ }
3334
+ interface HTMLDsCardOverviewElement extends Components.DsCardOverview, HTMLStencilElement {
3335
+ addEventListener<K extends keyof HTMLDsCardOverviewElementEventMap>(type: K, listener: (this: HTMLDsCardOverviewElement, ev: DsCardOverviewCustomEvent<HTMLDsCardOverviewElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3336
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3337
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3338
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3339
+ removeEventListener<K extends keyof HTMLDsCardOverviewElementEventMap>(type: K, listener: (this: HTMLDsCardOverviewElement, ev: DsCardOverviewCustomEvent<HTMLDsCardOverviewElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3340
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3341
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3342
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3343
+ }
3344
+ var HTMLDsCardOverviewElement: {
3345
+ prototype: HTMLDsCardOverviewElement;
3346
+ new (): HTMLDsCardOverviewElement;
3347
+ };
3233
3348
  interface HTMLDsCardSettingElementEventMap {
3234
3349
  "dsAction": CardSettingActionDetail;
3235
3350
  }
@@ -4050,6 +4165,7 @@ declare global {
4050
4165
  "ds-card-data-viz-bar": HTMLDsCardDataVizBarElement;
4051
4166
  "ds-card-data-viz-donut": HTMLDsCardDataVizDonutElement;
4052
4167
  "ds-card-data-viz-line": HTMLDsCardDataVizLineElement;
4168
+ "ds-card-overview": HTMLDsCardOverviewElement;
4053
4169
  "ds-card-setting": HTMLDsCardSettingElement;
4054
4170
  "ds-card-shell-data-viz": HTMLDsCardShellDataVizElement;
4055
4171
  "ds-chart-bar": HTMLDsChartBarElement;
@@ -4481,11 +4597,28 @@ declare namespace LocalJSX {
4481
4597
  * @default 'bold'
4482
4598
  */
4483
4599
  "contrast"?: ButtonFilledContrast;
4600
+ /**
4601
+ * ID of the popup this button controls.
4602
+ */
4603
+ "controls"?: string | undefined;
4604
+ /**
4605
+ * Controlled open state of the popup this button triggers. Holds the pressed wash for the popup's rendered lifecycle. ButtonFilled has no selected state, so an open popup never promotes to an active treatment.
4606
+ */
4607
+ "expanded"?: boolean | undefined;
4484
4608
  /**
4485
4609
  * Show a 1px secondary inset border.
4486
4610
  * @default false
4487
4611
  */
4488
4612
  "hasBorder"?: boolean;
4613
+ /**
4614
+ * This action *has* a menu: implies `aria-haspopup="menu"` and adds the trailing chevron that carries the affordance. Only `label` and `icon-label` are supported. A filled button is never the overflow / more-options control — that role belongs to ButtonUnfilled with an `Ellipses` glyph, which conveys the menu without a chevron. Use `haspopup` directly for non-menu popups.
4615
+ * @default false
4616
+ */
4617
+ "hasMenu"?: boolean;
4618
+ /**
4619
+ * Popup type exposed to assistive technology.
4620
+ */
4621
+ "haspopup"?: ButtonFilledPopup | undefined;
4489
4622
  /**
4490
4623
  * Icon name passed to <ds-icon> for `icon` / `icon-label` variants.
4491
4624
  * @default ''
@@ -4512,6 +4645,15 @@ declare namespace LocalJSX {
4512
4645
  */
4513
4646
  "label"?: string;
4514
4647
  "onDsClick"?: (event: DsButtonFilledCustomEvent<MouseEvent>) => void;
4648
+ /**
4649
+ * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
4650
+ * @default true
4651
+ */
4652
+ "pressScale"?: boolean;
4653
+ /**
4654
+ * Pressed semantics for a toggle command that reports state elsewhere.
4655
+ */
4656
+ "pressed"?: boolean | undefined;
4515
4657
  /**
4516
4658
  * Use the half-radius treatment instead of the default control radius.
4517
4659
  * @default false
@@ -4569,6 +4711,11 @@ declare namespace LocalJSX {
4569
4711
  * @default true
4570
4712
  */
4571
4713
  "hasBorder"?: boolean;
4714
+ /**
4715
+ * Mark the button as a Menu trigger. Implies `aria-haspopup="menu"` and covers both menu-button shapes: - `label` / `icon-label` — the action *has* a menu; a trailing chevron carries the affordance. - `icon` — the button *is* a menu, i.e. the overflow / more-options control. No chevron is added, so the glyph must convey it on its own; use `Ellipses`. Use `haspopup` directly for non-menu popups.
4716
+ * @default false
4717
+ */
4718
+ "hasMenu"?: boolean;
4572
4719
  "haspopup"?: ButtonUnfilledPopup | undefined;
4573
4720
  /**
4574
4721
  * Icon name passed to <ds-icon> for `icon` / `icon-label` variants.
@@ -4597,6 +4744,11 @@ declare namespace LocalJSX {
4597
4744
  "label"?: string;
4598
4745
  "onDsChange"?: (event: DsButtonUnfilledCustomEvent<boolean>) => void;
4599
4746
  "onDsClick"?: (event: DsButtonUnfilledCustomEvent<MouseEvent>) => void;
4747
+ /**
4748
+ * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
4749
+ * @default true
4750
+ */
4751
+ "pressScale"?: boolean;
4600
4752
  "pressed"?: boolean | undefined;
4601
4753
  /**
4602
4754
  * Use the half-radius treatment instead of the default control radius.
@@ -4693,6 +4845,60 @@ declare namespace LocalJSX {
4693
4845
  */
4694
4846
  "onDsFilterClick"?: (event: DsCardDataVizLineCustomEvent<void>) => void;
4695
4847
  }
4848
+ interface DsCardOverview {
4849
+ /**
4850
+ * Comparison caption, for example `vs Previous period`.
4851
+ * @default ''
4852
+ */
4853
+ "comparisonLabel"?: string;
4854
+ /**
4855
+ * Replace the score and metrics with skeletons while data resolves.
4856
+ * @default false
4857
+ */
4858
+ "isLoading"?: boolean;
4859
+ /**
4860
+ * Intrinsic responsive layout, or a page-owned single-column stack.
4861
+ * @default 'auto'
4862
+ */
4863
+ "layout"?: CardOverviewLayout;
4864
+ /**
4865
+ * Width a metric cell may shrink to before the grid drops a column. The grid reflows and then stacks from this alone, so no measurement is required.
4866
+ * @default 'var(--dimension-menu-width-xs)'
4867
+ */
4868
+ "metricMinWidth"?: string;
4869
+ /**
4870
+ * Measures rendered in the responsive grid. Only the first six are shown.
4871
+ * @default []
4872
+ */
4873
+ "metrics"?: OverviewMetric[];
4874
+ /**
4875
+ * Emitted when a metric that is not inactive is activated.
4876
+ */
4877
+ "onDsMetricSelect"?: (event: DsCardOverviewCustomEvent<OverviewMetric>) => void;
4878
+ /**
4879
+ * Accessible name for the region.
4880
+ * @default 'Overview'
4881
+ */
4882
+ "overviewLabel"?: string;
4883
+ /**
4884
+ * Current reporting period, for example `Jun 29, 2026 – Jul 26, 2026`.
4885
+ * @default ''
4886
+ */
4887
+ "periodLabel"?: string;
4888
+ /**
4889
+ * Leading summary block. Omit to render the bar without a headline figure.
4890
+ */
4891
+ "score"?: OverviewScore | undefined;
4892
+ /**
4893
+ * Message shown in place of the score when its figure cannot be resolved.
4894
+ */
4895
+ "scoreErrorMessage"?: string | undefined;
4896
+ /**
4897
+ * Full summary card, or the condensed 48px summary bar.
4898
+ * @default 'default'
4899
+ */
4900
+ "variant"?: CardOverviewVariant;
4901
+ }
4696
4902
  interface DsCardSetting {
4697
4903
  /**
4698
4904
  * @default 'Cancel'
@@ -4747,10 +4953,12 @@ declare namespace LocalJSX {
4747
4953
  */
4748
4954
  "data"?: ChartDatum[];
4749
4955
  /**
4956
+ * Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size.
4750
4957
  * @default 240
4751
4958
  */
4752
4959
  "height"?: number;
4753
4960
  /**
4961
+ * Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size.
4754
4962
  * @default 480
4755
4963
  */
4756
4964
  "width"?: number;
@@ -4762,6 +4970,7 @@ declare namespace LocalJSX {
4762
4970
  */
4763
4971
  "categories"?: string[];
4764
4972
  /**
4973
+ * Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size.
4765
4974
  * @default 240
4766
4975
  */
4767
4976
  "height"?: number;
@@ -4775,6 +4984,7 @@ declare namespace LocalJSX {
4775
4984
  */
4776
4985
  "variant"?: ChartBarStackedVariant;
4777
4986
  /**
4987
+ * Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size.
4778
4988
  * @default 480
4779
4989
  */
4780
4990
  "width"?: number;
@@ -4886,6 +5096,7 @@ declare namespace LocalJSX {
4886
5096
  */
4887
5097
  "categories"?: string[];
4888
5098
  /**
5099
+ * Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size.
4889
5100
  * @default 240
4890
5101
  */
4891
5102
  "height"?: number;
@@ -4899,6 +5110,7 @@ declare namespace LocalJSX {
4899
5110
  */
4900
5111
  "showPoints"?: boolean;
4901
5112
  /**
5113
+ * Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size.
4902
5114
  * @default 480
4903
5115
  */
4904
5116
  "width"?: number;
@@ -7124,10 +7336,16 @@ declare namespace LocalJSX {
7124
7336
  "hasBorder": boolean;
7125
7337
  "background": ButtonFilledBackground | undefined;
7126
7338
  "rounded": boolean;
7339
+ "pressScale": boolean;
7127
7340
  "isInactive": boolean;
7128
7341
  "isLoading": boolean;
7129
7342
  "type": 'button' | 'submit' | 'reset';
7130
7343
  "ariaLabel": string | null;
7344
+ "controls": string | undefined;
7345
+ "expanded": boolean | undefined;
7346
+ "haspopup": ButtonFilledPopup | undefined;
7347
+ "pressed": boolean | undefined;
7348
+ "hasMenu": boolean;
7131
7349
  }
7132
7350
  interface DsButtonUnfilledAttributes {
7133
7351
  "variant": ButtonUnfilledVariant;
@@ -7139,6 +7357,7 @@ declare namespace LocalJSX {
7139
7357
  "activeFill": boolean;
7140
7358
  "hasBorder": boolean;
7141
7359
  "rounded": boolean;
7360
+ "pressScale": boolean;
7142
7361
  "dot": boolean;
7143
7362
  "isInactive": boolean;
7144
7363
  "isLoading": boolean;
@@ -7149,6 +7368,7 @@ declare namespace LocalJSX {
7149
7368
  "expanded": boolean | undefined;
7150
7369
  "haspopup": ButtonUnfilledPopup | undefined;
7151
7370
  "pressed": boolean | undefined;
7371
+ "hasMenu": boolean;
7152
7372
  "focusTabIndex": number;
7153
7373
  }
7154
7374
  interface DsCardDataVizBarAttributes {
@@ -7166,6 +7386,16 @@ declare namespace LocalJSX {
7166
7386
  "cardWidth": CardDataVizLineWidth;
7167
7387
  "filterLabel": string;
7168
7388
  }
7389
+ interface DsCardOverviewAttributes {
7390
+ "variant": CardOverviewVariant;
7391
+ "layout": CardOverviewLayout;
7392
+ "periodLabel": string;
7393
+ "comparisonLabel": string;
7394
+ "metricMinWidth": string;
7395
+ "isLoading": boolean;
7396
+ "scoreErrorMessage": string | undefined;
7397
+ "overviewLabel": string;
7398
+ }
7169
7399
  interface DsCardSettingAttributes {
7170
7400
  "heading": string;
7171
7401
  "cardWidth": CardSettingWidth;
@@ -7716,6 +7946,7 @@ declare namespace LocalJSX {
7716
7946
  "ds-card-data-viz-bar": Omit<DsCardDataVizBar, keyof DsCardDataVizBarAttributes> & { [K in keyof DsCardDataVizBar & keyof DsCardDataVizBarAttributes]?: DsCardDataVizBar[K] } & { [K in keyof DsCardDataVizBar & keyof DsCardDataVizBarAttributes as `attr:${K}`]?: DsCardDataVizBarAttributes[K] } & { [K in keyof DsCardDataVizBar & keyof DsCardDataVizBarAttributes as `prop:${K}`]?: DsCardDataVizBar[K] } & OneOf<"heading", DsCardDataVizBar["heading"], DsCardDataVizBarAttributes["heading"]>;
7717
7947
  "ds-card-data-viz-donut": Omit<DsCardDataVizDonut, keyof DsCardDataVizDonutAttributes> & { [K in keyof DsCardDataVizDonut & keyof DsCardDataVizDonutAttributes]?: DsCardDataVizDonut[K] } & { [K in keyof DsCardDataVizDonut & keyof DsCardDataVizDonutAttributes as `attr:${K}`]?: DsCardDataVizDonutAttributes[K] } & { [K in keyof DsCardDataVizDonut & keyof DsCardDataVizDonutAttributes as `prop:${K}`]?: DsCardDataVizDonut[K] } & OneOf<"heading", DsCardDataVizDonut["heading"], DsCardDataVizDonutAttributes["heading"]>;
7718
7948
  "ds-card-data-viz-line": Omit<DsCardDataVizLine, keyof DsCardDataVizLineAttributes> & { [K in keyof DsCardDataVizLine & keyof DsCardDataVizLineAttributes]?: DsCardDataVizLine[K] } & { [K in keyof DsCardDataVizLine & keyof DsCardDataVizLineAttributes as `attr:${K}`]?: DsCardDataVizLineAttributes[K] } & { [K in keyof DsCardDataVizLine & keyof DsCardDataVizLineAttributes as `prop:${K}`]?: DsCardDataVizLine[K] } & OneOf<"heading", DsCardDataVizLine["heading"], DsCardDataVizLineAttributes["heading"]>;
7949
+ "ds-card-overview": Omit<DsCardOverview, keyof DsCardOverviewAttributes> & { [K in keyof DsCardOverview & keyof DsCardOverviewAttributes]?: DsCardOverview[K] } & { [K in keyof DsCardOverview & keyof DsCardOverviewAttributes as `attr:${K}`]?: DsCardOverviewAttributes[K] } & { [K in keyof DsCardOverview & keyof DsCardOverviewAttributes as `prop:${K}`]?: DsCardOverview[K] };
7719
7950
  "ds-card-setting": Omit<DsCardSetting, keyof DsCardSettingAttributes> & { [K in keyof DsCardSetting & keyof DsCardSettingAttributes]?: DsCardSetting[K] } & { [K in keyof DsCardSetting & keyof DsCardSettingAttributes as `attr:${K}`]?: DsCardSettingAttributes[K] } & { [K in keyof DsCardSetting & keyof DsCardSettingAttributes as `prop:${K}`]?: DsCardSetting[K] } & OneOf<"heading", DsCardSetting["heading"], DsCardSettingAttributes["heading"]>;
7720
7951
  "ds-card-shell-data-viz": Omit<DsCardShellDataViz, keyof DsCardShellDataVizAttributes> & { [K in keyof DsCardShellDataViz & keyof DsCardShellDataVizAttributes]?: DsCardShellDataViz[K] } & { [K in keyof DsCardShellDataViz & keyof DsCardShellDataVizAttributes as `attr:${K}`]?: DsCardShellDataVizAttributes[K] } & { [K in keyof DsCardShellDataViz & keyof DsCardShellDataVizAttributes as `prop:${K}`]?: DsCardShellDataViz[K] } & OneOf<"heading", DsCardShellDataViz["heading"], DsCardShellDataVizAttributes["heading"]>;
7721
7952
  "ds-chart-bar": Omit<DsChartBar, keyof DsChartBarAttributes> & { [K in keyof DsChartBar & keyof DsChartBarAttributes]?: DsChartBar[K] } & { [K in keyof DsChartBar & keyof DsChartBarAttributes as `attr:${K}`]?: DsChartBarAttributes[K] } & { [K in keyof DsChartBar & keyof DsChartBarAttributes as `prop:${K}`]?: DsChartBar[K] };
@@ -7805,6 +8036,7 @@ declare module "@stencil/core" {
7805
8036
  * region and a content-sized, static legend.
7806
8037
  */
7807
8038
  "ds-card-data-viz-line": LocalJSX.IntrinsicElements["ds-card-data-viz-line"] & JSXBase.HTMLAttributes<HTMLDsCardDataVizLineElement>;
8039
+ "ds-card-overview": LocalJSX.IntrinsicElements["ds-card-overview"] & JSXBase.HTMLAttributes<HTMLDsCardOverviewElement>;
7808
8040
  "ds-card-setting": LocalJSX.IntrinsicElements["ds-card-setting"] & JSXBase.HTMLAttributes<HTMLDsCardSettingElement>;
7809
8041
  /**
7810
8042
  * Dedicated shell chrome for data-visualization cards. Chart-specific layout,
@@ -1,4 +1,4 @@
1
- import type { AnchoredPopupAlign, AnchoredPopupSide } from '../utils/anchored-popup';
1
+ import type { AnchoredAlign, AnchoredSide } from '../utils/anchored-position';
2
2
  export type ToastPriority = 'low' | 'high';
3
3
  export type ToastTransitionStatus = 'starting' | 'active' | 'ending';
4
4
  export type ToastSwipeDirection = 'up' | 'down' | 'left' | 'right';
@@ -6,8 +6,8 @@ export type ToastCloseReason = 'timeout' | 'close-button' | 'swipe' | 'escape' |
6
6
  export interface ToastPositionerOptions {
7
7
  /** Element or document id used to position this toast outside the global stack. */
8
8
  anchor: HTMLElement | string;
9
- side?: AnchoredPopupSide;
10
- align?: AnchoredPopupAlign;
9
+ side?: AnchoredSide;
10
+ align?: AnchoredAlign;
11
11
  sideOffset?: number | string;
12
12
  alignOffset?: number | string;
13
13
  }
@@ -0,0 +1,105 @@
1
+ import { type AnchoredPosition, type AnchoredPositionInput } from './anchored-position';
2
+ /**
3
+ * How the scroll/resize path reschedules. Each consumer family measured
4
+ * differently before consolidation, and the differences are preserved verbatim
5
+ * so placement timing is unchanged.
6
+ *
7
+ * - `sync` — measure inside the listener. Selects.
8
+ * - `frame` — coalesce and measure on the next frame. Tooltips.
9
+ * - `double-frame` — coalesce, measure next frame, then measure once more the
10
+ * frame after. Scroll-driven owners such as ShellPage commit a compact-header
11
+ * render in the frame after the scroll event, so a single frame reads a stale
12
+ * anchor rect. Menus.
13
+ */
14
+ export type AnchoredLiveUpdateMode = 'sync' | 'frame' | 'double-frame';
15
+ export interface AnchoredPositionControllerOptions {
16
+ /** Resolve the anchor at measure time; positioning retries while this is null. */
17
+ getAnchor: () => HTMLElement | null;
18
+ /** Resolve the popup at measure time; positioning retries while this is null. */
19
+ getPopup: () => HTMLElement | null;
20
+ /**
21
+ * Build the layout input for one measurement pass.
22
+ *
23
+ * The owning component keeps its own anchor semantics here — inner-cell align
24
+ * offsets, minimum widths, and token resolution stay with the component rather
25
+ * than moving into this controller. Return `null` when the component's own
26
+ * guards say the popup is not measurable yet, which schedules a retry.
27
+ */
28
+ measure: (anchor: HTMLElement, popup: HTMLElement) => AnchoredPositionInput | null;
29
+ /** Commit a changed position. Not called when the result is unchanged. */
30
+ apply: (position: AnchoredPosition) => void;
31
+ /**
32
+ * Move a `popover="manual"` popup into the native top layer before measuring.
33
+ *
34
+ * Use this for popups that remain in their owner's DOM tree. The top layer
35
+ * gives `position: fixed` viewport coordinates even when an application
36
+ * ancestor establishes a fixed-position containing block through containment,
37
+ * transforms, or filters.
38
+ */
39
+ topLayer?: boolean;
40
+ /** Fired once per `start()` when the first measurement succeeds. */
41
+ onReady?: () => void;
42
+ /** Scroll/resize behavior. Defaults to `sync`. */
43
+ liveUpdate?: AnchoredLiveUpdateMode;
44
+ /**
45
+ * Re-measure when the popup or anchor resizes. Tooltips need this because the
46
+ * label's `ds-text` upgrade changes the measured width after mount.
47
+ */
48
+ observeResize?: boolean;
49
+ retryBudget?: number;
50
+ }
51
+ /**
52
+ * Lifecycle owner for an element-anchored popup: listener binding, measurement
53
+ * retries, frame coalescing, and teardown.
54
+ *
55
+ * Pairs with `computeAnchoredPosition`, which owns the geometry. Split this way
56
+ * because the geometry is pure and exhaustively testable while the lifecycle is
57
+ * timing-dependent; keeping them separate means the risky half lives in exactly
58
+ * one place.
59
+ *
60
+ * Not suitable for overlays that place several popups in one shared pass — Toast
61
+ * positions N anchored records inside a single layout commit and keeps its own
62
+ * scheduler, using only the geometry function.
63
+ */
64
+ export declare class AnchoredPositionController {
65
+ private readonly options;
66
+ private scrollResizeHandler;
67
+ private resizeObserver;
68
+ private retryRaf;
69
+ private liveRaf;
70
+ private last;
71
+ private isReady;
72
+ constructor(options: AnchoredPositionControllerOptions);
73
+ /** `true` once a measurement has succeeded, for gating popup reveal. */
74
+ get ready(): boolean;
75
+ /**
76
+ * Bind scroll/resize tracking for an opening popup.
77
+ *
78
+ * Deliberately does not schedule placement: every consumer binds listeners and
79
+ * then schedules in its own order, and folding both into one call produced two
80
+ * overlapping retry loops. Call `schedule()` or `update()` separately.
81
+ */
82
+ observe(): void;
83
+ /** Unbind tracking, cancel pending frames, and clear the cached position. */
84
+ unobserve(): void;
85
+ /**
86
+ * Retry measurement each frame until it succeeds or the budget runs out, so a
87
+ * popup is never revealed at 0,0 after a failed first pass.
88
+ */
89
+ schedule(onReady?: () => void): void;
90
+ /** Measure and commit once. @returns `false` when the popup is not measurable. */
91
+ update(): boolean;
92
+ /** Reposition an already-open popup without hiding it. */
93
+ scheduleLiveUpdate(): void;
94
+ /** Cancel pending retry and live frames without unbinding listeners. */
95
+ cancel(): void;
96
+ private cancelRetry;
97
+ private bindListeners;
98
+ private unbindListeners;
99
+ /**
100
+ * Re-attach the resize observer after the popup remounts. Safe to call
101
+ * repeatedly; `ResizeObserver.observe` ignores duplicate targets.
102
+ */
103
+ observeResizeTargets(): void;
104
+ }
105
+ //# sourceMappingURL=anchored-position-controller.d.ts.map
@@ -0,0 +1,35 @@
1
+ export type AnchoredSide = 'top' | 'right' | 'bottom' | 'left';
2
+ export type AnchoredAlign = 'start' | 'center' | 'end';
3
+ export interface AnchoredPositionInput {
4
+ anchorRect: Pick<DOMRectReadOnly, 'top' | 'left' | 'right' | 'bottom' | 'width' | 'height'>;
5
+ popupWidth: number;
6
+ popupHeight: number;
7
+ side: AnchoredSide;
8
+ align: AnchoredAlign;
9
+ sideOffsetPx: number;
10
+ alignOffsetPx: number;
11
+ viewportPadPx: number;
12
+ viewportWidth: number;
13
+ viewportHeight: number;
14
+ }
15
+ export interface AnchoredPosition {
16
+ x: number;
17
+ y: number;
18
+ /** Side actually used, which differs from the request when placement flipped. */
19
+ resolvedSide: AnchoredSide;
20
+ }
21
+ /**
22
+ * Pure viewport-fixed anchored-popup layout math shared by every element-anchored
23
+ * overlay: menus, selects, tooltips, and anchored toasts.
24
+ *
25
+ * `side` is preferred. When the popup spills past the padded viewport there and
26
+ * the opposite side spills less, placement flips on the main axis; the result is
27
+ * then clamped into the viewport on both axes. Cross-axis `align` is applied
28
+ * before clamping so `alignOffsetPx` stays an additive nudge.
29
+ *
30
+ * Callers own their own anchor semantics — inner-cell alignment offsets and
31
+ * minimum widths belong to the calling component, not here.
32
+ * @see choice-popup-alignment.ts for the choice-cell alignment transform.
33
+ */
34
+ export declare function computeAnchoredPosition(input: AnchoredPositionInput): AnchoredPosition;
35
+ //# sourceMappingURL=anchored-position.d.ts.map
@@ -0,0 +1,13 @@
1
+ export interface CartesianChartLayout {
2
+ margin: {
3
+ top: number;
4
+ right: number;
5
+ bottom: number;
6
+ left: number;
7
+ };
8
+ axisLabelGap: number;
9
+ categoryLabelOffset: number;
10
+ }
11
+ /** Resolve shared Cartesian chart geometry from TokoMo dimension tokens. */
12
+ export declare function resolveCartesianChartLayout(): CartesianChartLayout;
13
+ //# sourceMappingURL=cartesian-chart-layout.d.ts.map
@@ -0,0 +1,21 @@
1
+ export interface ChartViewportSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ /**
6
+ * Keeps SVG chart geometry matched to the rendered SVG viewport.
7
+ *
8
+ * Cartesian charts intentionally render without a viewBox: changing the host
9
+ * reflows plot geometry instead of scaling its strokes, text, radii, or points.
10
+ */
11
+ export declare class ChartViewportController {
12
+ private readonly target;
13
+ private readonly onResize;
14
+ private resizeObserver;
15
+ constructor(target: Element, onResize: (size: ChartViewportSize) => void);
16
+ connect(): void;
17
+ measure(): void;
18
+ disconnect(): void;
19
+ private update;
20
+ }
21
+ //# sourceMappingURL=chart-viewport-controller.d.ts.map