@ds-mo/ui 13.6.1 → 13.7.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 (256) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +1 -1
  3. package/dist/agent.json +106 -368
  4. package/dist/angular/ds-card-chart.d.ts +18 -0
  5. package/dist/angular/{ds-card-data-viz.js → ds-card-chart.js} +10 -10
  6. package/dist/angular/ds-chart.d.ts +19 -0
  7. package/dist/angular/{ds-chart-donut.js → ds-chart.js} +15 -15
  8. package/dist/angular/ds-tooltip-chart.d.ts +12 -0
  9. package/dist/angular/{ds-chart-line.js → ds-tooltip-chart.js} +12 -12
  10. package/dist/angular/index.d.ts +1 -1
  11. package/dist/angular/index.js +3 -5
  12. package/dist/angular/proxies.d.ts +3 -5
  13. package/dist/angular/proxies.js +3 -5
  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-banner.js +1 -1
  21. package/dist/components/ds-banner.js.map +1 -1
  22. package/dist/components/ds-bar-nav.js +1 -1
  23. package/dist/components/ds-bar-title.js +1 -1
  24. package/dist/components/ds-bar-workflow.js +1 -1
  25. package/dist/components/ds-breadcrumb.js +1 -1
  26. package/dist/components/ds-button-filled.js +1 -1
  27. package/dist/components/ds-button-unfilled.js +1 -1
  28. package/dist/components/{ds-chart-line.d.ts → ds-card-chart.d.ts} +4 -4
  29. package/dist/components/ds-card-chart.js +2 -0
  30. package/dist/components/ds-card-chart.js.map +1 -0
  31. package/dist/components/ds-card-overview.js +1 -1
  32. package/dist/components/ds-card-setting.js +1 -1
  33. package/dist/components/ds-card-setting.js.map +1 -1
  34. package/dist/components/ds-chart-legend.js +1 -1
  35. package/dist/components/ds-chart-legend.js.map +1 -1
  36. package/dist/components/{ds-chart-bar.d.ts → ds-chart.d.ts} +4 -4
  37. package/dist/components/ds-chart.js +2 -0
  38. package/dist/components/ds-chart.js.map +1 -0
  39. package/dist/components/ds-checkbox.js +1 -1
  40. package/dist/components/ds-chip.js +1 -1
  41. package/dist/components/ds-code-block.js +1 -1
  42. package/dist/components/ds-conversation-list-item.js +1 -1
  43. package/dist/components/ds-conversation-list-section.js +1 -1
  44. package/dist/components/ds-conversation-list.js +1 -1
  45. package/dist/components/ds-divider.js +1 -1
  46. package/dist/components/ds-empty-state.js +1 -1
  47. package/dist/components/ds-field.js +1 -1
  48. package/dist/components/ds-input.js +1 -1
  49. package/dist/components/ds-markdown.js +1 -1
  50. package/dist/components/ds-menu.js +1 -1
  51. package/dist/components/ds-message-actions.js +1 -1
  52. package/dist/components/ds-message-bubble.js +1 -1
  53. package/dist/components/ds-message-composer.js +1 -1
  54. package/dist/components/ds-message-composer.js.map +1 -1
  55. package/dist/components/ds-message-scroller.js +1 -1
  56. package/dist/components/ds-message.js +1 -1
  57. package/dist/components/ds-mobile-bar-nav.js +1 -1
  58. package/dist/components/ds-mobile-header.js +1 -1
  59. package/dist/components/ds-mobile-section-switcher.js +1 -1
  60. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  61. package/dist/components/ds-modal.js +1 -1
  62. package/dist/components/ds-modal.js.map +1 -1
  63. package/dist/components/ds-panel-nav.js +1 -1
  64. package/dist/components/ds-panel-sub-nav.js +1 -1
  65. package/dist/components/ds-panel-tool-header.js +1 -1
  66. package/dist/components/ds-panel-tool-search.js +1 -1
  67. package/dist/components/ds-panel-tools.js +1 -1
  68. package/dist/components/ds-radio.js +1 -1
  69. package/dist/components/ds-scroll-overlay.js +1 -1
  70. package/dist/components/ds-scroll-overlay.js.map +1 -1
  71. package/dist/components/ds-select.js +1 -1
  72. package/dist/components/ds-select.js.map +1 -1
  73. package/dist/components/ds-shell-app.js +1 -1
  74. package/dist/components/ds-shell-page.js +1 -1
  75. package/dist/components/ds-shell-tools.js +1 -1
  76. package/dist/components/ds-skeleton.js +1 -1
  77. package/dist/components/ds-slider.js +1 -1
  78. package/dist/components/ds-swatch-picker.js +1 -1
  79. package/dist/components/ds-switch.js +1 -1
  80. package/dist/components/ds-tab-group.js +1 -1
  81. package/dist/components/ds-tag.js +1 -1
  82. package/dist/components/ds-text.js +1 -1
  83. package/dist/components/ds-toast.js +1 -1
  84. package/dist/components/ds-toast.js.map +1 -1
  85. package/dist/components/{ds-card-data-viz.d.ts → ds-tooltip-chart.d.ts} +4 -4
  86. package/dist/components/ds-tooltip-chart.js +2 -0
  87. package/dist/components/ds-tooltip.js +1 -1
  88. package/dist/components/ds-typing-indicator.js +1 -1
  89. package/dist/components/{p-IYy-jODg.js → p-1Zbh1MRy.js} +2 -2
  90. package/dist/components/{p-wOOAzVMC.js → p-BVsLc3t5.js} +2 -2
  91. package/dist/components/p-BZCUFHYa.js +2 -0
  92. package/dist/components/{p-D0bM3cKj.js.map → p-BZCUFHYa.js.map} +1 -1
  93. package/dist/components/{p-BBtjABBS.js → p-BjiRqLtB.js} +2 -2
  94. package/dist/components/p-Bk1A9jLm.js +2 -0
  95. package/dist/components/p-Bk1A9jLm.js.map +1 -0
  96. package/dist/components/{p-Bsfpxto1.js → p-BsBw-w1q.js} +2 -2
  97. package/dist/components/p-ByfXC1wu.js +2 -0
  98. package/dist/components/{p-1S9AW2MA.js.map → p-ByfXC1wu.js.map} +1 -1
  99. package/dist/components/{p-B6RrZQqw.js → p-C-ENnZzq.js} +2 -2
  100. package/dist/components/{p-BPyymeuR.js → p-C2U48kDH.js} +2 -2
  101. package/dist/components/{p-CKRJX0Y0.js → p-C7mCjS2t.js} +2 -2
  102. package/dist/components/{p-6B411hQA.js → p-CL8XL1eh.js} +2 -2
  103. package/dist/components/{p-DfvDNcoq.js → p-CMZVPEZ_.js} +2 -2
  104. package/dist/components/{p-CzraIk34.js → p-CWL61nKt.js} +2 -2
  105. package/dist/components/p-CWLrXsDQ.js +2 -0
  106. package/dist/components/{p-D2cjoj2r.js.map → p-CWLrXsDQ.js.map} +1 -1
  107. package/dist/components/{p-Di81y9Q2.js → p-CX7QIytv.js} +2 -2
  108. package/dist/components/p-CXduurfd.js +2 -0
  109. package/dist/components/p-CXduurfd.js.map +1 -0
  110. package/dist/components/p-CbAfTqlb.js +2 -0
  111. package/dist/components/{p-CuJ3J6OJ.js.map → p-CbAfTqlb.js.map} +1 -1
  112. package/dist/components/{p-DVuxzrCC.js → p-CfTThRNX.js} +2 -2
  113. package/dist/components/{p-BmNpPyzf.js → p-CkLffZGn.js} +2 -2
  114. package/dist/components/{p-B4_0Ys4w.js → p-CkyXU1YX.js} +2 -2
  115. package/dist/components/{p-iCjUWcp7.js → p-CywKWfgD.js} +2 -2
  116. package/dist/components/{p-BR_oMaas.js → p-D3UKwTEo.js} +2 -2
  117. package/dist/components/{p-Bl6A5AJq.js → p-D7z9bJ6n.js} +2 -2
  118. package/dist/components/{p-DaqFuVKZ.js → p-DAftUxvL.js} +2 -2
  119. package/dist/components/{p-BFfHIu6y.js → p-DQ94PkZA.js} +2 -2
  120. package/dist/components/{p-B-kRByho.js → p-DSpq7xQF.js} +2 -2
  121. package/dist/components/{p-og48Kh2i.js → p-DzM3TcyQ.js} +2 -2
  122. package/dist/components/p-GbTasczF.js +2 -0
  123. package/dist/components/{p-Ca6s5fLR.js → p-Mmr9b1bB.js} +2 -2
  124. package/dist/components/p-UH2AGfR0.js +2 -0
  125. package/dist/components/{p-DX4c3kZ1.js.map → p-UH2AGfR0.js.map} +1 -1
  126. package/dist/components/{p-CxgMUvqg.js → p-Z2zfShlF.js} +2 -2
  127. package/dist/components/{p-Bmo4T96l.js → p-_mClULFL.js} +2 -2
  128. package/dist/components/{p-Bb4f5SuF.js → p-jf1zCsuw.js} +2 -2
  129. package/dist/components/{p-Eep5mxtv.js → p-oiR4IoH1.js} +2 -2
  130. package/dist/components/{p-DHF5cLzr.js → p-u2OZHaLY.js} +2 -2
  131. package/dist/docs/components.json +180 -662
  132. package/dist/lib/utils/chart-grammar.d.ts +359 -0
  133. package/dist/lib/utils/index.d.ts +2 -0
  134. package/dist/lib/utils/index.js +504 -0
  135. package/dist/lib/utils/index.js.map +4 -4
  136. package/dist/lib/utils/token-defaults.d.ts +3 -0
  137. package/dist/mcp-data/registry/card-chart.json +238 -0
  138. package/dist/mcp-data/registry/card-overview.json +2 -2
  139. package/dist/mcp-data/registry/card-setting.json +2 -2
  140. package/dist/mcp-data/registry/chart-legend.json +11 -18
  141. package/dist/mcp-data/registry/chart.json +258 -0
  142. package/dist/mcp-data/registry/registry.json +105 -373
  143. package/dist/mcp-data/registry/tooltip-chart.json +253 -0
  144. package/dist/mcp-data/registry/tooltip.json +2 -2
  145. package/dist/react/components.d.ts +3 -5
  146. package/dist/react/components.js +3 -5
  147. package/dist/react/ds-card-chart.d.ts +12 -0
  148. package/dist/react/ds-card-chart.js +12 -0
  149. package/dist/react/ds-chart.d.ts +12 -0
  150. package/dist/react/ds-chart.js +12 -0
  151. package/dist/react/{ds-chart-bar.d.ts → ds-tooltip-chart.d.ts} +3 -3
  152. package/dist/react/ds-tooltip-chart.js +12 -0
  153. package/dist/types/components/{CardDataViz/CardDataViz.d.ts → CardChart/CardChart.d.ts} +9 -13
  154. package/dist/types/components/CardChart/index.d.ts +2 -0
  155. package/dist/types/components/Chart/Chart.d.ts +66 -0
  156. package/dist/types/components/Chart/index.d.ts +2 -0
  157. package/dist/types/components/ChartLegend/ChartLegend.d.ts +1 -1
  158. package/dist/types/components/{TooltipDataViz/TooltipDataViz.d.ts → TooltipChart/TooltipChart.d.ts} +15 -6
  159. package/dist/types/components/TooltipChart/index.d.ts +2 -0
  160. package/dist/types/components.d.ts +129 -294
  161. package/dist/types/utils/chart-grammar.d.ts +360 -0
  162. package/dist/types/utils/chart-scene.d.ts +128 -0
  163. package/dist/types/utils/chart-theme.d.ts +27 -0
  164. package/dist/types/utils/chart-types.d.ts +0 -13
  165. package/dist/types/utils/index.d.ts +2 -0
  166. package/dist/types/utils/token-defaults.d.ts +3 -0
  167. package/package.json +1 -1
  168. package/dist/angular/ds-card-data-viz.d.ts +0 -18
  169. package/dist/angular/ds-chart-bar.d.ts +0 -12
  170. package/dist/angular/ds-chart-bar.js +0 -38
  171. package/dist/angular/ds-chart-donut.d.ts +0 -19
  172. package/dist/angular/ds-chart-line.d.ts +0 -12
  173. package/dist/angular/ds-tooltip-data-viz.d.ts +0 -12
  174. package/dist/angular/ds-tooltip-data-viz.js +0 -38
  175. package/dist/components/ds-card-data-viz.js +0 -2
  176. package/dist/components/ds-card-data-viz.js.map +0 -1
  177. package/dist/components/ds-chart-bar.js +0 -2
  178. package/dist/components/ds-chart-bar.js.map +0 -1
  179. package/dist/components/ds-chart-donut.d.ts +0 -11
  180. package/dist/components/ds-chart-donut.js +0 -2
  181. package/dist/components/ds-chart-donut.js.map +0 -1
  182. package/dist/components/ds-chart-line.js +0 -2
  183. package/dist/components/ds-chart-line.js.map +0 -1
  184. package/dist/components/ds-tooltip-data-viz.d.ts +0 -11
  185. package/dist/components/ds-tooltip-data-viz.js +0 -2
  186. package/dist/components/p-1S9AW2MA.js +0 -2
  187. package/dist/components/p-B6Vuayt6.js +0 -2
  188. package/dist/components/p-B6Vuayt6.js.map +0 -1
  189. package/dist/components/p-BBpASejH.js +0 -2
  190. package/dist/components/p-BBpASejH.js.map +0 -1
  191. package/dist/components/p-BybqPD8K.js +0 -2
  192. package/dist/components/p-BybqPD8K.js.map +0 -1
  193. package/dist/components/p-C4uYvyq6.js +0 -2
  194. package/dist/components/p-C4uYvyq6.js.map +0 -1
  195. package/dist/components/p-CbjFUpOj.js +0 -2
  196. package/dist/components/p-CbjFUpOj.js.map +0 -1
  197. package/dist/components/p-CrCGIx8s.js +0 -2
  198. package/dist/components/p-CrCGIx8s.js.map +0 -1
  199. package/dist/components/p-CuJ3J6OJ.js +0 -2
  200. package/dist/components/p-D0bM3cKj.js +0 -2
  201. package/dist/components/p-D2cjoj2r.js +0 -2
  202. package/dist/components/p-DX4c3kZ1.js +0 -2
  203. package/dist/components/p-DXewjzkM.js +0 -2
  204. package/dist/components/p-DXewjzkM.js.map +0 -1
  205. package/dist/components/p-yhj1lIPx.js +0 -2
  206. package/dist/mcp-data/registry/card-data-viz.json +0 -241
  207. package/dist/mcp-data/registry/chart-bar.json +0 -245
  208. package/dist/mcp-data/registry/chart-donut.json +0 -344
  209. package/dist/mcp-data/registry/chart-line.json +0 -223
  210. package/dist/mcp-data/registry/tooltip-data-viz.json +0 -224
  211. package/dist/react/ds-card-data-viz.d.ts +0 -12
  212. package/dist/react/ds-card-data-viz.js +0 -12
  213. package/dist/react/ds-chart-bar.js +0 -12
  214. package/dist/react/ds-chart-donut.d.ts +0 -12
  215. package/dist/react/ds-chart-donut.js +0 -12
  216. package/dist/react/ds-chart-line.d.ts +0 -9
  217. package/dist/react/ds-chart-line.js +0 -12
  218. package/dist/react/ds-tooltip-data-viz.d.ts +0 -9
  219. package/dist/react/ds-tooltip-data-viz.js +0 -12
  220. package/dist/types/components/CardDataViz/index.d.ts +0 -2
  221. package/dist/types/components/ChartBar/ChartBar.d.ts +0 -31
  222. package/dist/types/components/ChartBar/index.d.ts +0 -3
  223. package/dist/types/components/ChartDonut/ChartDonut.d.ts +0 -72
  224. package/dist/types/components/ChartDonut/index.d.ts +0 -2
  225. package/dist/types/components/ChartLine/ChartLine.d.ts +0 -23
  226. package/dist/types/components/ChartLine/index.d.ts +0 -2
  227. package/dist/types/components/TooltipDataViz/index.d.ts +0 -2
  228. /package/dist/components/{ds-tooltip-data-viz.js.map → ds-tooltip-chart.js.map} +0 -0
  229. /package/dist/components/{p-IYy-jODg.js.map → p-1Zbh1MRy.js.map} +0 -0
  230. /package/dist/components/{p-wOOAzVMC.js.map → p-BVsLc3t5.js.map} +0 -0
  231. /package/dist/components/{p-BBtjABBS.js.map → p-BjiRqLtB.js.map} +0 -0
  232. /package/dist/components/{p-Bsfpxto1.js.map → p-BsBw-w1q.js.map} +0 -0
  233. /package/dist/components/{p-B6RrZQqw.js.map → p-C-ENnZzq.js.map} +0 -0
  234. /package/dist/components/{p-BPyymeuR.js.map → p-C2U48kDH.js.map} +0 -0
  235. /package/dist/components/{p-CKRJX0Y0.js.map → p-C7mCjS2t.js.map} +0 -0
  236. /package/dist/components/{p-6B411hQA.js.map → p-CL8XL1eh.js.map} +0 -0
  237. /package/dist/components/{p-DfvDNcoq.js.map → p-CMZVPEZ_.js.map} +0 -0
  238. /package/dist/components/{p-CzraIk34.js.map → p-CWL61nKt.js.map} +0 -0
  239. /package/dist/components/{p-Di81y9Q2.js.map → p-CX7QIytv.js.map} +0 -0
  240. /package/dist/components/{p-DVuxzrCC.js.map → p-CfTThRNX.js.map} +0 -0
  241. /package/dist/components/{p-BmNpPyzf.js.map → p-CkLffZGn.js.map} +0 -0
  242. /package/dist/components/{p-B4_0Ys4w.js.map → p-CkyXU1YX.js.map} +0 -0
  243. /package/dist/components/{p-iCjUWcp7.js.map → p-CywKWfgD.js.map} +0 -0
  244. /package/dist/components/{p-BR_oMaas.js.map → p-D3UKwTEo.js.map} +0 -0
  245. /package/dist/components/{p-Bl6A5AJq.js.map → p-D7z9bJ6n.js.map} +0 -0
  246. /package/dist/components/{p-DaqFuVKZ.js.map → p-DAftUxvL.js.map} +0 -0
  247. /package/dist/components/{p-BFfHIu6y.js.map → p-DQ94PkZA.js.map} +0 -0
  248. /package/dist/components/{p-B-kRByho.js.map → p-DSpq7xQF.js.map} +0 -0
  249. /package/dist/components/{p-og48Kh2i.js.map → p-DzM3TcyQ.js.map} +0 -0
  250. /package/dist/components/{p-yhj1lIPx.js.map → p-GbTasczF.js.map} +0 -0
  251. /package/dist/components/{p-Ca6s5fLR.js.map → p-Mmr9b1bB.js.map} +0 -0
  252. /package/dist/components/{p-CxgMUvqg.js.map → p-Z2zfShlF.js.map} +0 -0
  253. /package/dist/components/{p-Bmo4T96l.js.map → p-_mClULFL.js.map} +0 -0
  254. /package/dist/components/{p-Bb4f5SuF.js.map → p-jf1zCsuw.js.map} +0 -0
  255. /package/dist/components/{p-Eep5mxtv.js.map → p-oiR4IoH1.js.map} +0 -0
  256. /package/dist/components/{p-DHF5cLzr.js.map → p-u2OZHaLY.js.map} +0 -0
package/dist/agent.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "13.6.1",
4
+ "packageVersion": "13.7.0",
5
5
  "kind": "components",
6
6
  "entries": [
7
7
  {
@@ -1822,20 +1822,20 @@
1822
1822
  ]
1823
1823
  },
1824
1824
  {
1825
- "id": "component:ds-card-data-viz",
1826
- "tag": "ds-card-data-viz",
1827
- "name": "card-data-viz",
1828
- "title": "CardDataViz",
1829
- "summary": "Standard data-visualization card chrome with variant-owned chart and legend composition.",
1825
+ "id": "component:ds-card-chart",
1826
+ "tag": "ds-card-chart",
1827
+ "name": "card-chart",
1828
+ "title": "CardChart",
1829
+ "summary": "Standard chart card chrome with variant-owned chart and legend composition.",
1830
1830
  "intentStatus": "complete",
1831
1831
  "intent": {
1832
1832
  "audience": "specialized",
1833
- "status": "experimental",
1834
- "summary": "Standard data-visualization card chrome with variant-owned chart and legend composition.",
1833
+ "status": "stable",
1834
+ "summary": "Standard chart card chrome with variant-owned chart and legend composition.",
1835
1835
  "useWhen": [
1836
- "A chart, legend, metric visualization, or custom data-viz composition needs standard card chrome.",
1837
- "Bar and line legends should remain static, or a donut and legend should cross-highlight without redundant donut tooltips.",
1838
- "A data-viz card needs a visible heading, optional filter action, and application-owned chart data."
1836
+ "A chart, legend, metric visualization, or custom chart composition needs standard card chrome.",
1837
+ "A chart and static external legend need one standard card layout.",
1838
+ "A chart card needs a visible heading, optional filter action, and application-owned chart data."
1839
1839
  ],
1840
1840
  "avoidWhen": [
1841
1841
  "The card contains editable settings; use CardSetting.",
@@ -1850,9 +1850,7 @@
1850
1850
  }
1851
1851
  ],
1852
1852
  "commonlyComposedWith": [
1853
- "component:ds-chart-bar",
1854
- "component:ds-chart-donut",
1855
- "component:ds-chart-line",
1853
+ "component:ds-chart",
1856
1854
  "component:ds-chart-legend",
1857
1855
  "component:ds-button-unfilled"
1858
1856
  ],
@@ -1860,22 +1858,21 @@
1860
1858
  "Provide a concise visible heading; the component renders it as a section heading.",
1861
1859
  "Slotted actions must provide accessible names and controlled-state semantics.",
1862
1860
  "Charts retain their own image names and data summaries.",
1863
- "A visible donut legend owns persistent labels and values, so donut mode suppresses the redundant slice tooltip."
1861
+ "A visible legend provides persistent labels while the chart retains its own accessible name and focus behavior."
1864
1862
  ],
1865
1863
  "states": [
1866
1864
  "Custom mode provides flexible body chrome and does not mutate chart or legend interaction.",
1867
- "Bar and line modes keep a slotted legend static by disabling hover emphasis.",
1868
- "Donut mode synchronizes active labels between chart and legend and shows chart tooltips only when no legend is present.",
1865
+ "Chart mode keeps a slotted external legend static by disabling hover emphasis.",
1869
1866
  "showFilter adds the standard filter action and emits dsFilterClick without owning filter state."
1870
1867
  ],
1871
1868
  "responsiveBehavior": [
1872
1869
  "The sm, md, or lg width sets a matching token-based minimum height and remains constrained by its parent.",
1873
- "The body allocates remaining height to the chart while legends retain content height.",
1870
+ "The body allocates remaining height to an unconfigured ds-chart while legends retain content height; authored chart height and aspectRatio remain authoritative.",
1874
1871
  "Parent layouts own wrapping, stacking, and breakpoint-dependent card width."
1875
1872
  ],
1876
1873
  "frameworkCaveats": {
1877
1874
  "customElements": [
1878
- "Set variant to bar, line, or donut when the component should manage legend interaction; slot chart, legend, actions, and supporting content by name."
1875
+ "Set variant to chart for the standard chart and static legend layout; slot chart, legend, actions, and supporting content by name."
1879
1876
  ],
1880
1877
  "react": [
1881
1878
  "Keep chart data in React and pass chart, legend, and action elements through named slots."
@@ -1887,14 +1884,14 @@
1887
1884
  "references": [
1888
1885
  {
1889
1886
  "label": "Storybook examples",
1890
- "path": "src/wc/components/CardDataViz/CardDataViz.stories.ts"
1887
+ "path": "src/wc/components/CardChart/CardChart.stories.ts"
1891
1888
  }
1892
1889
  ]
1893
1890
  },
1894
1891
  "api": {
1895
1892
  "props": {
1896
1893
  "cardWidth": {
1897
- "type": "CardDataVizWidth",
1894
+ "type": "CardChartWidth",
1898
1895
  "required": false
1899
1896
  },
1900
1897
  "filterLabel": {
@@ -1910,7 +1907,7 @@
1910
1907
  "required": false
1911
1908
  },
1912
1909
  "variant": {
1913
- "type": "CardDataVizVariant",
1910
+ "type": "CardChartVariant",
1914
1911
  "required": false
1915
1912
  }
1916
1913
  },
@@ -1923,9 +1920,9 @@
1923
1920
  "slots": []
1924
1921
  },
1925
1922
  "exports": {
1926
- "customElement": "ds-card-data-viz",
1927
- "react": "DsCardDataViz",
1928
- "angular": "DsCardDataViz"
1923
+ "customElement": "ds-card-chart",
1924
+ "react": "DsCardChart",
1925
+ "angular": "DsCardChart"
1929
1926
  },
1930
1927
  "dependencies": [
1931
1928
  "@ds-mo/ui",
@@ -1961,8 +1958,8 @@
1961
1958
  "alternatives": [
1962
1959
  {
1963
1960
  "when": "A measure needs a chart or other data visualization.",
1964
- "component": "component:ds-card-data-viz",
1965
- "reason": "CardDataViz owns the data-visualization card contract; the overview grid presents values and change only."
1961
+ "component": "component:ds-card-chart",
1962
+ "reason": "CardChart owns the data-visualization card contract; the overview grid presents values and change only."
1966
1963
  },
1967
1964
  {
1968
1965
  "when": "The surface is a settings section with an edit workflow.",
@@ -2131,8 +2128,8 @@
2131
2128
  "alternatives": [
2132
2129
  {
2133
2130
  "when": "The surface contains a chart or specialized data-visualization composition.",
2134
- "component": "component:ds-card-data-viz",
2135
- "reason": "CardDataViz owns the independently evolving data-visualization card contract."
2131
+ "component": "component:ds-card-chart",
2132
+ "reason": "CardChart owns the independently evolving chart-card contract."
2136
2133
  },
2137
2134
  {
2138
2135
  "when": "The task must block the interface for one focused decision or short workflow.",
@@ -2250,265 +2247,118 @@
2250
2247
  ]
2251
2248
  },
2252
2249
  {
2253
- "id": "component:ds-chart-bar",
2254
- "tag": "ds-chart-bar",
2255
- "name": "chart-bar",
2256
- "title": "ChartBar",
2257
- "summary": "Bar chart for single-series magnitude, additive stacked totals, or normalized 0–100% composition across categories.",
2250
+ "id": "component:ds-chart",
2251
+ "tag": "ds-chart",
2252
+ "name": "chart",
2253
+ "title": "Chart",
2254
+ "summary": "Responsive chart grammar for Cartesian, polar, heatmap, and distribution compositions with one keyed scene and centralized focus.",
2258
2255
  "intentStatus": "complete",
2259
2256
  "intent": {
2260
2257
  "audience": "specialized",
2261
- "status": "experimental",
2262
- "summary": "Bar chart for single-series magnitude, additive stacked totals, or normalized 0–100% composition across categories.",
2258
+ "status": "stable",
2259
+ "summary": "Responsive chart grammar for Cartesian, polar, heatmap, and distribution compositions with one keyed scene and centralized focus.",
2263
2260
  "useWhen": [
2264
- "Users need to compare one numeric measure across a small set of categories.",
2265
- "Values are grouped into ordered time buckets such as hours, days, weeks, or months and equal visual spacing is appropriate.",
2266
- "A data-viz card needs a compact magnitude comparison rather than a continuous trend.",
2267
- "Several consistent series contribute to each category total or its normalized composition."
2261
+ "A product needs a responsive line, area, bar, scatter, pie, donut, gauge, radar, heatmap, histogram, density, or boxplot visualization.",
2262
+ "Several mark layers must share scales and semantic interaction points."
2268
2263
  ],
2269
2264
  "avoidWhen": [
2270
- "Timestamp positions must reflect irregular elapsed time; pre-bucket the data or use a future continuous time-scale chart.",
2271
- "The visualization needs grouped bars or precise comparison of each individual series across categories.",
2272
- "The interaction requires selection, drill-down, brushing, or zoom.",
2273
- "The data communicates a part-to-whole relationship."
2274
- ],
2275
- "alternatives": [
2276
- {
2277
- "when": "Users need to follow one or more trends across ordered categories.",
2278
- "component": "component:ds-chart-line",
2279
- "reason": "ChartLine connects ordered observations and supports multiple named series."
2280
- },
2281
- {
2282
- "when": "The data communicates parts of a total.",
2283
- "component": "component:ds-chart-donut",
2284
- "reason": "ChartDonut provides the part-to-whole composition and center aggregate."
2285
- }
2265
+ "The visualization needs maps, networks, brushing, zooming, selection, or Canvas."
2286
2266
  ],
2267
+ "alternatives": [],
2287
2268
  "commonlyComposedWith": [
2288
2269
  "component:ds-chart-legend",
2289
- "component:ds-card-data-viz",
2290
- "component:ds-tooltip-data-viz"
2270
+ "component:ds-card-chart",
2271
+ "component:ds-tooltip-chart"
2291
2272
  ],
2292
2273
  "accessibility": [
2293
- "Keep category labels concise and provide an adjacent textual summary when exact values are critical to completing a task.",
2294
- "Do not rely on bar color alone to communicate category meaning.",
2295
- "A future interactive tooltip must supplement rather than replace the chart's accessible value representation."
2274
+ "Provide the required label and an adjacent exact-value summary when exact values are essential.",
2275
+ "The SVG is one tab stop; arrow keys, Home, End, and Escape control semantic focus.",
2276
+ "Pointer and keyboard input resolve through the same interaction points and polite status output."
2296
2277
  ],
2297
2278
  "states": [
2298
- "The chart is static without hover, selection, loading, or empty-state policy.",
2299
- "Single mode reads data. Stacked and percentage modes read aligned series and categories.",
2300
- "Stacked mode preserves raw totals; percentage mode normalizes every non-empty category to 100%.",
2301
- "An empty dataset renders no bars; the owning card or product supplies meaningful empty-state messaging.",
2302
- "Bars use 2px top corner radii while the lower corners touching the zero axis remain square.",
2303
- "Use one consistent bar color across time buckets when every bar is the same measure at a different interval; categorical color changes are for genuinely distinct categories.",
2304
- "Authored datum colors override the shared categorical palette."
2279
+ "Definition compilation is renderer-independent and regenerates when data, locale, width, or height changes.",
2280
+ "Stable mark and datum keys preserve focus across responsive recompilation and reordered data.",
2281
+ "Tooltip rows are chart-owned while legends remain external and static.",
2282
+ "Pie and donut pointer tooltips require direct slice containment and follow the pointer; keyboard tooltips remain anchored to the semantic slice.",
2283
+ "Polar center content defaults to its authored total and may opt into focused content."
2305
2284
  ],
2306
2285
  "responsiveBehavior": [
2307
- "Width and height provide the standalone intrinsic viewport; container constraints are measured and reflow the plot across the available pixels.",
2308
- "Responsive layout changes bar positions and plot extents without scaling SVG text, strokes, corner radii, or margins.",
2309
- "Limit or pre-format long category labels so they remain legible at the chosen width.",
2310
- "Time labels remain ordered, pre-formatted buckets with equal spacing rather than raw continuous timestamps."
2286
+ "The chart observes its container unless width is fixed and recompiles geometry at CSS pixel dimensions.",
2287
+ "Height uses an authored height or aspectRatio, fills the chart region supplied by CardChart, and otherwise defaults to 320px.",
2288
+ "Measured guide labels reserve margins and thin colliding ticks while retaining boundary ticks."
2311
2289
  ],
2312
2290
  "frameworkCaveats": {
2313
2291
  "customElements": [
2314
- "Assign data, series, and categories as JavaScript properties; arrays are not supported as HTML attributes."
2292
+ "Assign definition as a JavaScript property and import D3 scale factories from granular D3 packages."
2315
2293
  ],
2316
2294
  "react": [
2317
- "Pass stable data or series/category arrays; width and height provide standalone intrinsic dimensions while constrained containers reflow automatically."
2295
+ "Pass the typed definition object as a property; do not serialize it to an attribute."
2318
2296
  ],
2319
2297
  "angular": [
2320
- "Bind data or series/categories as properties; width and height provide standalone intrinsic dimensions while constrained containers reflow automatically."
2298
+ "Bind definition as a property so accessors and D3 factories remain intact."
2321
2299
  ]
2322
2300
  },
2323
2301
  "references": [
2324
2302
  {
2325
2303
  "label": "Storybook examples",
2326
- "path": "src/wc/components/ChartBar/ChartBar.stories.ts"
2327
- }
2328
- ]
2329
- },
2330
- "api": {
2331
- "props": {
2332
- "categories": {
2333
- "type": "string[]",
2334
- "required": false
2335
- },
2336
- "data": {
2337
- "type": "ChartDatum[]",
2338
- "required": false
2339
- },
2340
- "height": {
2341
- "type": "number",
2342
- "required": false
2343
- },
2344
- "series": {
2345
- "type": "ChartSeries[]",
2346
- "required": false
2347
- },
2348
- "variant": {
2349
- "type": "ChartBarVariant",
2350
- "required": false
2304
+ "path": "src/wc/components/Chart/Chart.stories.ts"
2351
2305
  },
2352
- "width": {
2353
- "type": "number",
2354
- "required": false
2355
- }
2356
- },
2357
- "events": [],
2358
- "slots": []
2359
- },
2360
- "exports": {
2361
- "customElement": "ds-chart-bar",
2362
- "react": "DsChartBar",
2363
- "angular": "DsChartBar"
2364
- },
2365
- "dependencies": [
2366
- "@ds-mo/ui",
2367
- "@ds-mo/tokens"
2368
- ],
2369
- "componentDependencies": []
2370
- },
2371
- {
2372
- "id": "component:ds-chart-donut",
2373
- "tag": "ds-chart-donut",
2374
- "name": "chart-donut",
2375
- "title": "ChartDonut",
2376
- "summary": "Part-to-whole donut chart with a center aggregate, responsive fill sizing, local slice tooltip feedback, and externally controlled legend highlighting.",
2377
- "intentStatus": "complete",
2378
- "intent": {
2379
- "audience": "specialized",
2380
- "status": "experimental",
2381
- "summary": "Part-to-whole donut chart with a center aggregate, responsive fill sizing, local slice tooltip feedback, and externally controlled legend highlighting.",
2382
- "useWhen": [
2383
- "Users need to understand a small part-to-whole breakdown with a prominent total or status in the center.",
2384
- "A standalone donut needs pointer and keyboard-focus value feedback through a chart-owned data-viz tooltip.",
2385
- "A donut and visible ChartLegend should cross-highlight by matching stable labels."
2386
- ],
2387
- "avoidWhen": [
2388
- "The data is a trend, time sequence, or independent magnitude comparison.",
2389
- "The category count creates slices too small to understand reliably.",
2390
- "Hover is intended to select, filter, or navigate rather than temporarily highlight data."
2391
- ],
2392
- "alternatives": [
2393
2306
  {
2394
- "when": "The product needs the canonical card, filter action, visible legend, and built-in hover synchronization.",
2395
- "component": "component:ds-card-data-viz",
2396
- "reason": "The donut card variant owns that complete composition and suppresses redundant slice tooltips."
2397
- },
2398
- {
2399
- "when": "Users need to compare independent category magnitudes.",
2400
- "component": "component:ds-chart-bar",
2401
- "reason": "Bars make category magnitude differences easier to compare."
2402
- }
2403
- ],
2404
- "commonlyComposedWith": [
2405
- "component:ds-chart-legend",
2406
- "component:ds-tooltip-data-viz",
2407
- "component:ds-card-data-viz"
2408
- ],
2409
- "accessibility": [
2410
- "Every non-empty slice remains keyboard focusable and exposes its label and value without depending on the visual tooltip.",
2411
- "Use a visible legend when the full set of labels, values, or percentages must remain continuously available.",
2412
- "Provide localized no-data text for the neutral empty ring.",
2413
- "Center text is a visual summary and must not be the only source of essential category detail."
2414
- ],
2415
- "states": [
2416
- "Genuine local pointer or keyboard focus may show a chart-owned tooltip; externally synchronized highlight never opens it.",
2417
- "When a visible legend already owns label and value detail, suppress the redundant donut tooltip. CardDataViz donut mode does this automatically.",
2418
- "Local hover and external highlight remain separate while both may dim non-matching slices.",
2419
- "Zero or negative totals render a neutral empty ring without interactive slices.",
2420
- "Center value and caption truncate when they exceed the safe inner-circle measure."
2421
- ],
2422
- "responsiveBehavior": [
2423
- "Prefer container-fill sizing inside data-viz cards and explicit sizing only in layouts that own a stable diameter.",
2424
- "Fill sizing remains centered and constrained to the shared donut size band.",
2425
- "Changing the measured diameter changes the ring radius without scaling its token-based thickness, typography, focus stroke, or corner treatment.",
2426
- "The owner adapts category count and legend placement for available space."
2427
- ],
2428
- "frameworkCaveats": {
2429
- "customElements": [
2430
- "Assign data as a JavaScript property and wire slice-hover detail to a sibling legend only when not using CardDataViz donut mode."
2431
- ],
2432
- "react": [
2433
- "Keep synchronized highlight controlled by the composition and disable slice tooltips when a sibling legend continuously shows the same details."
2434
- ],
2435
- "angular": [
2436
- "Keep synchronized highlight controlled by the composition and disable slice tooltips when a sibling legend continuously shows the same details."
2437
- ]
2438
- },
2439
- "references": [
2440
- {
2441
- "label": "Storybook examples",
2442
- "path": "src/wc/components/ChartDonut/ChartDonut.stories.ts"
2307
+ "label": "Chart guide",
2308
+ "path": "src/docs/Charts.mdx"
2443
2309
  }
2444
2310
  ]
2445
2311
  },
2446
2312
  "api": {
2447
2313
  "props": {
2448
- "activeLabel": {
2449
- "type": "string | null",
2450
- "required": false
2451
- },
2452
- "centerCaption": {
2453
- "type": "string | undefined",
2454
- "required": false
2455
- },
2456
- "centerValue": {
2457
- "type": "string | undefined",
2314
+ "aspectRatio": {
2315
+ "type": "number",
2458
2316
  "required": false
2459
2317
  },
2460
- "cornerRadius": {
2461
- "type": "number | string",
2462
- "required": false
2318
+ "definition": {
2319
+ "type": "ChartDefinition",
2320
+ "required": true
2463
2321
  },
2464
- "data": {
2465
- "type": "ChartDatum[]",
2322
+ "description": {
2323
+ "type": "string",
2466
2324
  "required": false
2467
2325
  },
2468
- "gap": {
2326
+ "height": {
2469
2327
  "type": "number",
2470
2328
  "required": false
2471
2329
  },
2472
- "locale": {
2473
- "type": "string | undefined",
2474
- "required": false
2475
- },
2476
- "noDataLabel": {
2330
+ "label": {
2477
2331
  "type": "string",
2478
- "required": false
2479
- },
2480
- "showTooltip": {
2481
- "type": "boolean",
2482
- "required": false
2332
+ "required": true
2483
2333
  },
2484
- "size": {
2485
- "type": "number | undefined",
2334
+ "locale": {
2335
+ "type": "string",
2486
2336
  "required": false
2487
2337
  },
2488
- "thickness": {
2489
- "type": "number | string",
2338
+ "width": {
2339
+ "type": "number",
2490
2340
  "required": false
2491
2341
  }
2492
2342
  },
2493
2343
  "events": [
2494
2344
  {
2495
- "name": "dsSliceHover",
2496
- "detail": "ChartDatum | null"
2345
+ "name": "dsChartFocusChange",
2346
+ "detail": "ChartFocusChangeDetail"
2497
2347
  }
2498
2348
  ],
2499
2349
  "slots": []
2500
2350
  },
2501
2351
  "exports": {
2502
- "customElement": "ds-chart-donut",
2503
- "react": "DsChartDonut",
2504
- "angular": "DsChartDonut"
2352
+ "customElement": "ds-chart",
2353
+ "react": "DsChart",
2354
+ "angular": "DsChart"
2505
2355
  },
2506
2356
  "dependencies": [
2507
2357
  "@ds-mo/ui",
2508
2358
  "@ds-mo/tokens"
2509
2359
  ],
2510
2360
  "componentDependencies": [
2511
- "tooltip-data-viz"
2361
+ "tooltip-chart"
2512
2362
  ]
2513
2363
  },
2514
2364
  {
@@ -2516,15 +2366,15 @@
2516
2366
  "tag": "ds-chart-legend",
2517
2367
  "name": "chart-legend",
2518
2368
  "title": "ChartLegend",
2519
- "summary": "Display-first chart legend with swatches, labels, optional values and percentages, explicit deep links, and highlight-only chart synchronization.",
2369
+ "summary": "External chart legend with swatches, labels, optional values and percentages, and explicit deep links.",
2520
2370
  "intentStatus": "complete",
2521
2371
  "intent": {
2522
2372
  "audience": "specialized",
2523
- "status": "experimental",
2524
- "summary": "Display-first chart legend with swatches, labels, optional values and percentages, explicit deep links, and highlight-only chart synchronization.",
2373
+ "status": "stable",
2374
+ "summary": "External chart legend with swatches, labels, optional values and percentages, and explicit deep links.",
2525
2375
  "useWhen": [
2526
2376
  "A chart needs the standard swatch, label, and optional numeric-detail legend.",
2527
- "Donut slices or line series need a continuously visible key beside or below the visualization.",
2377
+ "Polar slices or Cartesian series need a continuously visible key beside or below the visualization.",
2528
2378
  "A category has an explicit deep-link destination and should render as an accessible link."
2529
2379
  ],
2530
2380
  "avoidWhen": [
@@ -2539,25 +2389,18 @@
2539
2389
  "reason": "Compose product-owned semantic markup from the same chart data rather than forcing it into this row recipe."
2540
2390
  },
2541
2391
  {
2542
- "when": "The donut belongs in the canonical dashboard card.",
2543
- "component": "component:ds-card-data-viz",
2544
- "reason": "The donut variant places the legend and handles bidirectional highlight synchronization."
2545
- },
2546
- {
2547
- "when": "A static line chart and series key belong in the canonical dashboard card.",
2548
- "component": "component:ds-card-data-viz",
2549
- "reason": "The line variant places the horizontal legend and disables decorative local hover highlighting."
2392
+ "when": "A chart and static series key belong in the canonical dashboard card.",
2393
+ "component": "component:ds-card-chart",
2394
+ "reason": "The chart variant places the external legend and disables decorative local hover highlighting."
2550
2395
  }
2551
2396
  ],
2552
2397
  "commonlyComposedWith": [
2553
- "component:ds-chart-donut",
2554
- "component:ds-chart-bar",
2555
- "component:ds-chart-line",
2556
- "component:ds-card-data-viz"
2398
+ "component:ds-chart",
2399
+ "component:ds-card-chart"
2557
2400
  ],
2558
2401
  "accessibility": [
2559
2402
  "Rows remain non-interactive unless the item supplies an actual link destination.",
2560
- "Synced highlight changes opacity only and never moves focus or announces selection.",
2403
+ "Optional highlight changes opacity only and never moves focus or announces selection.",
2561
2404
  "Keep full labels available when visible text truncates, and retain stable tabular numeric columns.",
2562
2405
  "Do not rely on swatch color alone; every entry requires a meaningful visible label."
2563
2406
  ],
@@ -2651,117 +2494,6 @@
2651
2494
  "text"
2652
2495
  ]
2653
2496
  },
2654
- {
2655
- "id": "component:ds-chart-line",
2656
- "tag": "ds-chart-line",
2657
- "name": "chart-line",
2658
- "title": "ChartLine",
2659
- "summary": "Static single- or multi-series line chart for trends across ordered, evenly spaced categories, including preformatted time-period labels.",
2660
- "intentStatus": "complete",
2661
- "intent": {
2662
- "audience": "specialized",
2663
- "status": "experimental",
2664
- "summary": "Static single- or multi-series line chart for trends across ordered, evenly spaced categories, including preformatted time-period labels.",
2665
- "useWhen": [
2666
- "Users need to follow one or more numeric trends across a shared ordered x-axis.",
2667
- "Time periods are already grouped into equally spaced labels such as months, weeks, or days.",
2668
- "A horizontal ChartLegend should identify multiple series."
2669
- ],
2670
- "avoidWhen": [
2671
- "Pixel position must reflect irregular elapsed time or continuous timestamps.",
2672
- "The primary task is comparing unrelated category magnitudes rather than following a trend.",
2673
- "The chart needs built-in zoom, brushing, selection, or drill-down.",
2674
- "Series lengths do not align with the shared category list."
2675
- ],
2676
- "alternatives": [
2677
- {
2678
- "when": "Users need to compare one measure across discrete categories or time buckets.",
2679
- "component": "component:ds-chart-bar",
2680
- "reason": "Bars emphasize independent bucket magnitudes."
2681
- },
2682
- {
2683
- "when": "The data communicates parts of a total.",
2684
- "component": "component:ds-chart-donut",
2685
- "reason": "Donut provides the part-to-whole and center-summary treatment."
2686
- }
2687
- ],
2688
- "commonlyComposedWith": [
2689
- "component:ds-chart-legend",
2690
- "component:ds-card-data-viz",
2691
- "component:ds-tooltip-data-viz"
2692
- ],
2693
- "accessibility": [
2694
- "Provide a visible legend or adjacent textual summary when exact series values are important; the chart image name alone is not a complete data table.",
2695
- "Do not rely on series color alone to communicate meaning.",
2696
- "A future point tooltip must supplement rather than replace accessible series and value context."
2697
- ],
2698
- "states": [
2699
- "The chart is currently static and does not own hover, selection, loading, or empty-state policy.",
2700
- "Its standard horizontal legend is a static key with local hover highlighting disabled.",
2701
- "Point markers may be shown or hidden without changing the underlying series meaning.",
2702
- "Authored series colors override the shared categorical palette."
2703
- ],
2704
- "responsiveBehavior": [
2705
- "Width and height provide the standalone intrinsic viewport; constrained card regions are measured and reflow both axes to their rendered pixel dimensions.",
2706
- "Responsive layout changes point positions and plot extents without scaling SVG text, line strokes, point markers, or margins.",
2707
- "Category positions are always equally spaced, even when labels represent time.",
2708
- "Reduce or pre-format dense labels before passing them; the chart renders authored labels without a continuous time scale."
2709
- ],
2710
- "frameworkCaveats": {
2711
- "customElements": [
2712
- "Assign series and categories as JavaScript properties and keep every series aligned to the category count."
2713
- ],
2714
- "react": [
2715
- "Pass stable series and category arrays; width and height provide standalone intrinsic dimensions while constrained containers reflow automatically."
2716
- ],
2717
- "angular": [
2718
- "Bind series and categories as properties; width and height provide standalone intrinsic dimensions while constrained containers reflow automatically."
2719
- ]
2720
- },
2721
- "references": [
2722
- {
2723
- "label": "Storybook examples",
2724
- "path": "src/wc/components/ChartLine/ChartLine.stories.ts"
2725
- }
2726
- ]
2727
- },
2728
- "api": {
2729
- "props": {
2730
- "categories": {
2731
- "type": "string[]",
2732
- "required": false
2733
- },
2734
- "height": {
2735
- "type": "number",
2736
- "required": false
2737
- },
2738
- "series": {
2739
- "type": "ChartSeries[]",
2740
- "required": false
2741
- },
2742
- "showPoints": {
2743
- "type": "boolean",
2744
- "required": false
2745
- },
2746
- "width": {
2747
- "type": "number",
2748
- "required": false
2749
- }
2750
- },
2751
- "events": [],
2752
- "slots": []
2753
- },
2754
- "exports": {
2755
- "customElement": "ds-chart-line",
2756
- "react": "DsChartLine",
2757
- "angular": "DsChartLine"
2758
- },
2759
- "dependencies": [
2760
- "@ds-mo/ui",
2761
- "@ds-mo/tokens"
2762
- ],
2763
- "componentDependencies": []
2764
- },
2765
2497
  {
2766
2498
  "id": "component:ds-checkbox",
2767
2499
  "tag": "ds-checkbox",
@@ -8579,8 +8311,8 @@
8579
8311
  },
8580
8312
  {
8581
8313
  "when": "A chart needs a cursor- or data-point-positioned value callout.",
8582
- "component": "component:ds-tooltip-data-viz",
8583
- "reason": "TooltipDataViz accepts chart coordinates and is designed for data visualization hover feedback."
8314
+ "component": "component:ds-tooltip-chart",
8315
+ "reason": "TooltipChart accepts chart coordinates and is designed for data visualization hover feedback."
8584
8316
  }
8585
8317
  ],
8586
8318
  "commonlyComposedWith": [
@@ -8691,15 +8423,15 @@
8691
8423
  ]
8692
8424
  },
8693
8425
  {
8694
- "id": "component:ds-tooltip-data-viz",
8695
- "tag": "ds-tooltip-data-viz",
8696
- "name": "tooltip-data-viz",
8697
- "title": "TooltipDataViz",
8426
+ "id": "component:ds-tooltip-chart",
8427
+ "tag": "ds-tooltip-chart",
8428
+ "name": "tooltip-chart",
8429
+ "title": "TooltipChart",
8698
8430
  "summary": "Chart-owned, non-interactive label and value callout positioned from pointer or focused-mark coordinates inside a visualization wrapper.",
8699
8431
  "intentStatus": "complete",
8700
8432
  "intent": {
8701
8433
  "audience": "specialized",
8702
- "status": "experimental",
8434
+ "status": "stable",
8703
8435
  "summary": "Chart-owned, non-interactive label and value callout positioned from pointer or focused-mark coordinates inside a visualization wrapper.",
8704
8436
  "useWhen": [
8705
8437
  "A chart needs immediate visual value feedback for a genuinely hovered or keyboard-focused mark.",
@@ -8725,9 +8457,7 @@
8725
8457
  }
8726
8458
  ],
8727
8459
  "commonlyComposedWith": [
8728
- "component:ds-chart-bar",
8729
- "component:ds-chart-line",
8730
- "component:ds-chart-donut"
8460
+ "component:ds-chart"
8731
8461
  ],
8732
8462
  "accessibility": [
8733
8463
  "The callout is presentation-only and never replaces the owning chart mark's accessible label or an adjacent data summary.",
@@ -8760,7 +8490,7 @@
8760
8490
  "references": [
8761
8491
  {
8762
8492
  "label": "Storybook example",
8763
- "path": "src/wc/components/TooltipDataViz/TooltipDataViz.stories.ts"
8493
+ "path": "src/wc/components/TooltipChart/TooltipChart.stories.ts"
8764
8494
  }
8765
8495
  ]
8766
8496
  },
@@ -8770,6 +8500,14 @@
8770
8500
  "type": "number | string",
8771
8501
  "required": false
8772
8502
  },
8503
+ "heading": {
8504
+ "type": "string",
8505
+ "required": false
8506
+ },
8507
+ "items": {
8508
+ "type": "TooltipChartItem[]",
8509
+ "required": false
8510
+ },
8773
8511
  "label": {
8774
8512
  "type": "string",
8775
8513
  "required": false
@@ -8791,9 +8529,9 @@
8791
8529
  "slots": []
8792
8530
  },
8793
8531
  "exports": {
8794
- "customElement": "ds-tooltip-data-viz",
8795
- "react": "DsTooltipDataViz",
8796
- "angular": "DsTooltipDataViz"
8532
+ "customElement": "ds-tooltip-chart",
8533
+ "react": "DsTooltipChart",
8534
+ "angular": "DsTooltipChart"
8797
8535
  },
8798
8536
  "dependencies": [
8799
8537
  "@ds-mo/ui",