@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.
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +106 -368
- package/dist/angular/ds-card-chart.d.ts +18 -0
- package/dist/angular/{ds-card-data-viz.js → ds-card-chart.js} +10 -10
- package/dist/angular/ds-chart.d.ts +19 -0
- package/dist/angular/{ds-chart-donut.js → ds-chart.js} +15 -15
- package/dist/angular/ds-tooltip-chart.d.ts +12 -0
- package/dist/angular/{ds-chart-line.js → ds-tooltip-chart.js} +12 -12
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +3 -5
- package/dist/angular/proxies.d.ts +3 -5
- package/dist/angular/proxies.js +3 -5
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-banner.js.map +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-workflow.js +1 -1
- package/dist/components/ds-breadcrumb.js +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/{ds-chart-line.d.ts → ds-card-chart.d.ts} +4 -4
- package/dist/components/ds-card-chart.js +2 -0
- package/dist/components/ds-card-chart.js.map +1 -0
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-card-setting.js.map +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-legend.js.map +1 -1
- package/dist/components/{ds-chart-bar.d.ts → ds-chart.d.ts} +4 -4
- package/dist/components/ds-chart.js +2 -0
- package/dist/components/ds-chart.js.map +1 -0
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-composer.js.map +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-mobile-bar-nav.js +1 -1
- package/dist/components/ds-mobile-header.js +1 -1
- package/dist/components/ds-mobile-section-switcher.js +1 -1
- package/dist/components/ds-mobile-sheet-nav.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-modal.js.map +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-scroll-overlay.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-select.js.map +1 -1
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-toast.js.map +1 -1
- package/dist/components/{ds-card-data-viz.d.ts → ds-tooltip-chart.d.ts} +4 -4
- package/dist/components/ds-tooltip-chart.js +2 -0
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/{p-IYy-jODg.js → p-1Zbh1MRy.js} +2 -2
- package/dist/components/{p-wOOAzVMC.js → p-BVsLc3t5.js} +2 -2
- package/dist/components/p-BZCUFHYa.js +2 -0
- package/dist/components/{p-D0bM3cKj.js.map → p-BZCUFHYa.js.map} +1 -1
- package/dist/components/{p-BBtjABBS.js → p-BjiRqLtB.js} +2 -2
- package/dist/components/p-Bk1A9jLm.js +2 -0
- package/dist/components/p-Bk1A9jLm.js.map +1 -0
- package/dist/components/{p-Bsfpxto1.js → p-BsBw-w1q.js} +2 -2
- package/dist/components/p-ByfXC1wu.js +2 -0
- package/dist/components/{p-1S9AW2MA.js.map → p-ByfXC1wu.js.map} +1 -1
- package/dist/components/{p-B6RrZQqw.js → p-C-ENnZzq.js} +2 -2
- package/dist/components/{p-BPyymeuR.js → p-C2U48kDH.js} +2 -2
- package/dist/components/{p-CKRJX0Y0.js → p-C7mCjS2t.js} +2 -2
- package/dist/components/{p-6B411hQA.js → p-CL8XL1eh.js} +2 -2
- package/dist/components/{p-DfvDNcoq.js → p-CMZVPEZ_.js} +2 -2
- package/dist/components/{p-CzraIk34.js → p-CWL61nKt.js} +2 -2
- package/dist/components/p-CWLrXsDQ.js +2 -0
- package/dist/components/{p-D2cjoj2r.js.map → p-CWLrXsDQ.js.map} +1 -1
- package/dist/components/{p-Di81y9Q2.js → p-CX7QIytv.js} +2 -2
- package/dist/components/p-CXduurfd.js +2 -0
- package/dist/components/p-CXduurfd.js.map +1 -0
- package/dist/components/p-CbAfTqlb.js +2 -0
- package/dist/components/{p-CuJ3J6OJ.js.map → p-CbAfTqlb.js.map} +1 -1
- package/dist/components/{p-DVuxzrCC.js → p-CfTThRNX.js} +2 -2
- package/dist/components/{p-BmNpPyzf.js → p-CkLffZGn.js} +2 -2
- package/dist/components/{p-B4_0Ys4w.js → p-CkyXU1YX.js} +2 -2
- package/dist/components/{p-iCjUWcp7.js → p-CywKWfgD.js} +2 -2
- package/dist/components/{p-BR_oMaas.js → p-D3UKwTEo.js} +2 -2
- package/dist/components/{p-Bl6A5AJq.js → p-D7z9bJ6n.js} +2 -2
- package/dist/components/{p-DaqFuVKZ.js → p-DAftUxvL.js} +2 -2
- package/dist/components/{p-BFfHIu6y.js → p-DQ94PkZA.js} +2 -2
- package/dist/components/{p-B-kRByho.js → p-DSpq7xQF.js} +2 -2
- package/dist/components/{p-og48Kh2i.js → p-DzM3TcyQ.js} +2 -2
- package/dist/components/p-GbTasczF.js +2 -0
- package/dist/components/{p-Ca6s5fLR.js → p-Mmr9b1bB.js} +2 -2
- package/dist/components/p-UH2AGfR0.js +2 -0
- package/dist/components/{p-DX4c3kZ1.js.map → p-UH2AGfR0.js.map} +1 -1
- package/dist/components/{p-CxgMUvqg.js → p-Z2zfShlF.js} +2 -2
- package/dist/components/{p-Bmo4T96l.js → p-_mClULFL.js} +2 -2
- package/dist/components/{p-Bb4f5SuF.js → p-jf1zCsuw.js} +2 -2
- package/dist/components/{p-Eep5mxtv.js → p-oiR4IoH1.js} +2 -2
- package/dist/components/{p-DHF5cLzr.js → p-u2OZHaLY.js} +2 -2
- package/dist/docs/components.json +180 -662
- package/dist/lib/utils/chart-grammar.d.ts +359 -0
- package/dist/lib/utils/index.d.ts +2 -0
- package/dist/lib/utils/index.js +504 -0
- package/dist/lib/utils/index.js.map +4 -4
- package/dist/lib/utils/token-defaults.d.ts +3 -0
- package/dist/mcp-data/registry/card-chart.json +238 -0
- package/dist/mcp-data/registry/card-overview.json +2 -2
- package/dist/mcp-data/registry/card-setting.json +2 -2
- package/dist/mcp-data/registry/chart-legend.json +11 -18
- package/dist/mcp-data/registry/chart.json +258 -0
- package/dist/mcp-data/registry/registry.json +105 -373
- package/dist/mcp-data/registry/tooltip-chart.json +253 -0
- package/dist/mcp-data/registry/tooltip.json +2 -2
- package/dist/react/components.d.ts +3 -5
- package/dist/react/components.js +3 -5
- package/dist/react/ds-card-chart.d.ts +12 -0
- package/dist/react/ds-card-chart.js +12 -0
- package/dist/react/ds-chart.d.ts +12 -0
- package/dist/react/ds-chart.js +12 -0
- package/dist/react/{ds-chart-bar.d.ts → ds-tooltip-chart.d.ts} +3 -3
- package/dist/react/ds-tooltip-chart.js +12 -0
- package/dist/types/components/{CardDataViz/CardDataViz.d.ts → CardChart/CardChart.d.ts} +9 -13
- package/dist/types/components/CardChart/index.d.ts +2 -0
- package/dist/types/components/Chart/Chart.d.ts +66 -0
- package/dist/types/components/Chart/index.d.ts +2 -0
- package/dist/types/components/ChartLegend/ChartLegend.d.ts +1 -1
- package/dist/types/components/{TooltipDataViz/TooltipDataViz.d.ts → TooltipChart/TooltipChart.d.ts} +15 -6
- package/dist/types/components/TooltipChart/index.d.ts +2 -0
- package/dist/types/components.d.ts +129 -294
- package/dist/types/utils/chart-grammar.d.ts +360 -0
- package/dist/types/utils/chart-scene.d.ts +128 -0
- package/dist/types/utils/chart-theme.d.ts +27 -0
- package/dist/types/utils/chart-types.d.ts +0 -13
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/token-defaults.d.ts +3 -0
- package/package.json +1 -1
- package/dist/angular/ds-card-data-viz.d.ts +0 -18
- package/dist/angular/ds-chart-bar.d.ts +0 -12
- package/dist/angular/ds-chart-bar.js +0 -38
- package/dist/angular/ds-chart-donut.d.ts +0 -19
- package/dist/angular/ds-chart-line.d.ts +0 -12
- package/dist/angular/ds-tooltip-data-viz.d.ts +0 -12
- package/dist/angular/ds-tooltip-data-viz.js +0 -38
- package/dist/components/ds-card-data-viz.js +0 -2
- package/dist/components/ds-card-data-viz.js.map +0 -1
- package/dist/components/ds-chart-bar.js +0 -2
- package/dist/components/ds-chart-bar.js.map +0 -1
- package/dist/components/ds-chart-donut.d.ts +0 -11
- package/dist/components/ds-chart-donut.js +0 -2
- package/dist/components/ds-chart-donut.js.map +0 -1
- package/dist/components/ds-chart-line.js +0 -2
- package/dist/components/ds-chart-line.js.map +0 -1
- package/dist/components/ds-tooltip-data-viz.d.ts +0 -11
- package/dist/components/ds-tooltip-data-viz.js +0 -2
- package/dist/components/p-1S9AW2MA.js +0 -2
- package/dist/components/p-B6Vuayt6.js +0 -2
- package/dist/components/p-B6Vuayt6.js.map +0 -1
- package/dist/components/p-BBpASejH.js +0 -2
- package/dist/components/p-BBpASejH.js.map +0 -1
- package/dist/components/p-BybqPD8K.js +0 -2
- package/dist/components/p-BybqPD8K.js.map +0 -1
- package/dist/components/p-C4uYvyq6.js +0 -2
- package/dist/components/p-C4uYvyq6.js.map +0 -1
- package/dist/components/p-CbjFUpOj.js +0 -2
- package/dist/components/p-CbjFUpOj.js.map +0 -1
- package/dist/components/p-CrCGIx8s.js +0 -2
- package/dist/components/p-CrCGIx8s.js.map +0 -1
- package/dist/components/p-CuJ3J6OJ.js +0 -2
- package/dist/components/p-D0bM3cKj.js +0 -2
- package/dist/components/p-D2cjoj2r.js +0 -2
- package/dist/components/p-DX4c3kZ1.js +0 -2
- package/dist/components/p-DXewjzkM.js +0 -2
- package/dist/components/p-DXewjzkM.js.map +0 -1
- package/dist/components/p-yhj1lIPx.js +0 -2
- package/dist/mcp-data/registry/card-data-viz.json +0 -241
- package/dist/mcp-data/registry/chart-bar.json +0 -245
- package/dist/mcp-data/registry/chart-donut.json +0 -344
- package/dist/mcp-data/registry/chart-line.json +0 -223
- package/dist/mcp-data/registry/tooltip-data-viz.json +0 -224
- package/dist/react/ds-card-data-viz.d.ts +0 -12
- package/dist/react/ds-card-data-viz.js +0 -12
- package/dist/react/ds-chart-bar.js +0 -12
- package/dist/react/ds-chart-donut.d.ts +0 -12
- package/dist/react/ds-chart-donut.js +0 -12
- package/dist/react/ds-chart-line.d.ts +0 -9
- package/dist/react/ds-chart-line.js +0 -12
- package/dist/react/ds-tooltip-data-viz.d.ts +0 -9
- package/dist/react/ds-tooltip-data-viz.js +0 -12
- package/dist/types/components/CardDataViz/index.d.ts +0 -2
- package/dist/types/components/ChartBar/ChartBar.d.ts +0 -31
- package/dist/types/components/ChartBar/index.d.ts +0 -3
- package/dist/types/components/ChartDonut/ChartDonut.d.ts +0 -72
- package/dist/types/components/ChartDonut/index.d.ts +0 -2
- package/dist/types/components/ChartLine/ChartLine.d.ts +0 -23
- package/dist/types/components/ChartLine/index.d.ts +0 -2
- package/dist/types/components/TooltipDataViz/index.d.ts +0 -2
- /package/dist/components/{ds-tooltip-data-viz.js.map → ds-tooltip-chart.js.map} +0 -0
- /package/dist/components/{p-IYy-jODg.js.map → p-1Zbh1MRy.js.map} +0 -0
- /package/dist/components/{p-wOOAzVMC.js.map → p-BVsLc3t5.js.map} +0 -0
- /package/dist/components/{p-BBtjABBS.js.map → p-BjiRqLtB.js.map} +0 -0
- /package/dist/components/{p-Bsfpxto1.js.map → p-BsBw-w1q.js.map} +0 -0
- /package/dist/components/{p-B6RrZQqw.js.map → p-C-ENnZzq.js.map} +0 -0
- /package/dist/components/{p-BPyymeuR.js.map → p-C2U48kDH.js.map} +0 -0
- /package/dist/components/{p-CKRJX0Y0.js.map → p-C7mCjS2t.js.map} +0 -0
- /package/dist/components/{p-6B411hQA.js.map → p-CL8XL1eh.js.map} +0 -0
- /package/dist/components/{p-DfvDNcoq.js.map → p-CMZVPEZ_.js.map} +0 -0
- /package/dist/components/{p-CzraIk34.js.map → p-CWL61nKt.js.map} +0 -0
- /package/dist/components/{p-Di81y9Q2.js.map → p-CX7QIytv.js.map} +0 -0
- /package/dist/components/{p-DVuxzrCC.js.map → p-CfTThRNX.js.map} +0 -0
- /package/dist/components/{p-BmNpPyzf.js.map → p-CkLffZGn.js.map} +0 -0
- /package/dist/components/{p-B4_0Ys4w.js.map → p-CkyXU1YX.js.map} +0 -0
- /package/dist/components/{p-iCjUWcp7.js.map → p-CywKWfgD.js.map} +0 -0
- /package/dist/components/{p-BR_oMaas.js.map → p-D3UKwTEo.js.map} +0 -0
- /package/dist/components/{p-Bl6A5AJq.js.map → p-D7z9bJ6n.js.map} +0 -0
- /package/dist/components/{p-DaqFuVKZ.js.map → p-DAftUxvL.js.map} +0 -0
- /package/dist/components/{p-BFfHIu6y.js.map → p-DQ94PkZA.js.map} +0 -0
- /package/dist/components/{p-B-kRByho.js.map → p-DSpq7xQF.js.map} +0 -0
- /package/dist/components/{p-og48Kh2i.js.map → p-DzM3TcyQ.js.map} +0 -0
- /package/dist/components/{p-yhj1lIPx.js.map → p-GbTasczF.js.map} +0 -0
- /package/dist/components/{p-Ca6s5fLR.js.map → p-Mmr9b1bB.js.map} +0 -0
- /package/dist/components/{p-CxgMUvqg.js.map → p-Z2zfShlF.js.map} +0 -0
- /package/dist/components/{p-Bmo4T96l.js.map → p-_mClULFL.js.map} +0 -0
- /package/dist/components/{p-Bb4f5SuF.js.map → p-jf1zCsuw.js.map} +0 -0
- /package/dist/components/{p-Eep5mxtv.js.map → p-oiR4IoH1.js.map} +0 -0
- /package/dist/components/{p-DHF5cLzr.js.map → p-u2OZHaLY.js.map} +0 -0
|
@@ -1880,24 +1880,24 @@
|
|
|
1880
1880
|
]
|
|
1881
1881
|
},
|
|
1882
1882
|
{
|
|
1883
|
-
"name": "card-
|
|
1884
|
-
"title": "
|
|
1885
|
-
"description": "Standard
|
|
1883
|
+
"name": "card-chart",
|
|
1884
|
+
"title": "CardChart",
|
|
1885
|
+
"description": "Standard chart card chrome with variant-owned chart and legend composition.",
|
|
1886
1886
|
"type": "registry:ui",
|
|
1887
1887
|
"meta": {
|
|
1888
1888
|
"library": "@ds-mo/ui",
|
|
1889
1889
|
"distribution": "npm",
|
|
1890
|
-
"storybook": "https://zainadeel.github.io/compomo/?path=/story/card-
|
|
1891
|
-
"source": "src/wc/components/
|
|
1890
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/card-chart",
|
|
1891
|
+
"source": "src/wc/components/CardChart/CardChart.tsx",
|
|
1892
1892
|
"intentStatus": "complete",
|
|
1893
1893
|
"intent": {
|
|
1894
1894
|
"audience": "specialized",
|
|
1895
|
-
"status": "
|
|
1896
|
-
"summary": "Standard
|
|
1895
|
+
"status": "stable",
|
|
1896
|
+
"summary": "Standard chart card chrome with variant-owned chart and legend composition.",
|
|
1897
1897
|
"useWhen": [
|
|
1898
|
-
"A chart, legend, metric visualization, or custom
|
|
1899
|
-
"
|
|
1900
|
-
"A
|
|
1898
|
+
"A chart, legend, metric visualization, or custom chart composition needs standard card chrome.",
|
|
1899
|
+
"A chart and static external legend need one standard card layout.",
|
|
1900
|
+
"A chart card needs a visible heading, optional filter action, and application-owned chart data."
|
|
1901
1901
|
],
|
|
1902
1902
|
"avoidWhen": [
|
|
1903
1903
|
"The card contains editable settings; use CardSetting.",
|
|
@@ -1912,9 +1912,7 @@
|
|
|
1912
1912
|
}
|
|
1913
1913
|
],
|
|
1914
1914
|
"commonlyComposedWith": [
|
|
1915
|
-
"component:ds-chart
|
|
1916
|
-
"component:ds-chart-donut",
|
|
1917
|
-
"component:ds-chart-line",
|
|
1915
|
+
"component:ds-chart",
|
|
1918
1916
|
"component:ds-chart-legend",
|
|
1919
1917
|
"component:ds-button-unfilled"
|
|
1920
1918
|
],
|
|
@@ -1922,22 +1920,21 @@
|
|
|
1922
1920
|
"Provide a concise visible heading; the component renders it as a section heading.",
|
|
1923
1921
|
"Slotted actions must provide accessible names and controlled-state semantics.",
|
|
1924
1922
|
"Charts retain their own image names and data summaries.",
|
|
1925
|
-
"A visible
|
|
1923
|
+
"A visible legend provides persistent labels while the chart retains its own accessible name and focus behavior."
|
|
1926
1924
|
],
|
|
1927
1925
|
"states": [
|
|
1928
1926
|
"Custom mode provides flexible body chrome and does not mutate chart or legend interaction.",
|
|
1929
|
-
"
|
|
1930
|
-
"Donut mode synchronizes active labels between chart and legend and shows chart tooltips only when no legend is present.",
|
|
1927
|
+
"Chart mode keeps a slotted external legend static by disabling hover emphasis.",
|
|
1931
1928
|
"showFilter adds the standard filter action and emits dsFilterClick without owning filter state."
|
|
1932
1929
|
],
|
|
1933
1930
|
"responsiveBehavior": [
|
|
1934
1931
|
"The sm, md, or lg width sets a matching token-based minimum height and remains constrained by its parent.",
|
|
1935
|
-
"The body allocates remaining height to
|
|
1932
|
+
"The body allocates remaining height to an unconfigured ds-chart while legends retain content height; authored chart height and aspectRatio remain authoritative.",
|
|
1936
1933
|
"Parent layouts own wrapping, stacking, and breakpoint-dependent card width."
|
|
1937
1934
|
],
|
|
1938
1935
|
"frameworkCaveats": {
|
|
1939
1936
|
"customElements": [
|
|
1940
|
-
"Set variant to
|
|
1937
|
+
"Set variant to chart for the standard chart and static legend layout; slot chart, legend, actions, and supporting content by name."
|
|
1941
1938
|
],
|
|
1942
1939
|
"react": [
|
|
1943
1940
|
"Keep chart data in React and pass chart, legend, and action elements through named slots."
|
|
@@ -1949,13 +1946,13 @@
|
|
|
1949
1946
|
"references": [
|
|
1950
1947
|
{
|
|
1951
1948
|
"label": "Storybook examples",
|
|
1952
|
-
"path": "src/wc/components/
|
|
1949
|
+
"path": "src/wc/components/CardChart/CardChart.stories.ts"
|
|
1953
1950
|
}
|
|
1954
1951
|
]
|
|
1955
1952
|
},
|
|
1956
1953
|
"props": {
|
|
1957
1954
|
"cardWidth": {
|
|
1958
|
-
"type": "
|
|
1955
|
+
"type": "CardChartWidth",
|
|
1959
1956
|
"required": false
|
|
1960
1957
|
},
|
|
1961
1958
|
"filterLabel": {
|
|
@@ -1971,7 +1968,7 @@
|
|
|
1971
1968
|
"required": false
|
|
1972
1969
|
},
|
|
1973
1970
|
"variant": {
|
|
1974
|
-
"type": "
|
|
1971
|
+
"type": "CardChartVariant",
|
|
1975
1972
|
"required": false
|
|
1976
1973
|
}
|
|
1977
1974
|
},
|
|
@@ -1983,9 +1980,9 @@
|
|
|
1983
1980
|
],
|
|
1984
1981
|
"slots": [],
|
|
1985
1982
|
"exports": {
|
|
1986
|
-
"customElement": "ds-card-
|
|
1987
|
-
"react": "
|
|
1988
|
-
"angular": "
|
|
1983
|
+
"customElement": "ds-card-chart",
|
|
1984
|
+
"react": "DsCardChart",
|
|
1985
|
+
"angular": "DsCardChart"
|
|
1989
1986
|
}
|
|
1990
1987
|
},
|
|
1991
1988
|
"dependencies": [
|
|
@@ -2026,8 +2023,8 @@
|
|
|
2026
2023
|
"alternatives": [
|
|
2027
2024
|
{
|
|
2028
2025
|
"when": "A measure needs a chart or other data visualization.",
|
|
2029
|
-
"component": "component:ds-card-
|
|
2030
|
-
"reason": "
|
|
2026
|
+
"component": "component:ds-card-chart",
|
|
2027
|
+
"reason": "CardChart owns the data-visualization card contract; the overview grid presents values and change only."
|
|
2031
2028
|
},
|
|
2032
2029
|
{
|
|
2033
2030
|
"when": "The surface is a settings section with an edit workflow.",
|
|
@@ -2199,8 +2196,8 @@
|
|
|
2199
2196
|
"alternatives": [
|
|
2200
2197
|
{
|
|
2201
2198
|
"when": "The surface contains a chart or specialized data-visualization composition.",
|
|
2202
|
-
"component": "component:ds-card-
|
|
2203
|
-
"reason": "
|
|
2199
|
+
"component": "component:ds-card-chart",
|
|
2200
|
+
"reason": "CardChart owns the independently evolving chart-card contract."
|
|
2204
2201
|
},
|
|
2205
2202
|
{
|
|
2206
2203
|
"when": "The task must block the interface for one focused decision or short workflow.",
|
|
@@ -2317,263 +2314,113 @@
|
|
|
2317
2314
|
]
|
|
2318
2315
|
},
|
|
2319
2316
|
{
|
|
2320
|
-
"name": "chart
|
|
2321
|
-
"title": "
|
|
2322
|
-
"description": "
|
|
2317
|
+
"name": "chart",
|
|
2318
|
+
"title": "Chart",
|
|
2319
|
+
"description": "Responsive chart grammar for Cartesian, polar, heatmap, and distribution compositions with one keyed scene and centralized focus.",
|
|
2323
2320
|
"type": "registry:ui",
|
|
2324
2321
|
"meta": {
|
|
2325
2322
|
"library": "@ds-mo/ui",
|
|
2326
2323
|
"distribution": "npm",
|
|
2327
|
-
"storybook": "https://zainadeel.github.io/compomo/?path=/story/chart
|
|
2328
|
-
"source": "src/wc/components/
|
|
2324
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/chart",
|
|
2325
|
+
"source": "src/wc/components/Chart/Chart.tsx",
|
|
2329
2326
|
"intentStatus": "complete",
|
|
2330
2327
|
"intent": {
|
|
2331
2328
|
"audience": "specialized",
|
|
2332
|
-
"status": "
|
|
2333
|
-
"summary": "
|
|
2329
|
+
"status": "stable",
|
|
2330
|
+
"summary": "Responsive chart grammar for Cartesian, polar, heatmap, and distribution compositions with one keyed scene and centralized focus.",
|
|
2334
2331
|
"useWhen": [
|
|
2335
|
-
"
|
|
2336
|
-
"
|
|
2337
|
-
"A data-viz card needs a compact magnitude comparison rather than a continuous trend.",
|
|
2338
|
-
"Several consistent series contribute to each category total or its normalized composition."
|
|
2332
|
+
"A product needs a responsive line, area, bar, scatter, pie, donut, gauge, radar, heatmap, histogram, density, or boxplot visualization.",
|
|
2333
|
+
"Several mark layers must share scales and semantic interaction points."
|
|
2339
2334
|
],
|
|
2340
2335
|
"avoidWhen": [
|
|
2341
|
-
"
|
|
2342
|
-
"The visualization needs grouped bars or precise comparison of each individual series across categories.",
|
|
2343
|
-
"The interaction requires selection, drill-down, brushing, or zoom.",
|
|
2344
|
-
"The data communicates a part-to-whole relationship."
|
|
2345
|
-
],
|
|
2346
|
-
"alternatives": [
|
|
2347
|
-
{
|
|
2348
|
-
"when": "Users need to follow one or more trends across ordered categories.",
|
|
2349
|
-
"component": "component:ds-chart-line",
|
|
2350
|
-
"reason": "ChartLine connects ordered observations and supports multiple named series."
|
|
2351
|
-
},
|
|
2352
|
-
{
|
|
2353
|
-
"when": "The data communicates parts of a total.",
|
|
2354
|
-
"component": "component:ds-chart-donut",
|
|
2355
|
-
"reason": "ChartDonut provides the part-to-whole composition and center aggregate."
|
|
2356
|
-
}
|
|
2336
|
+
"The visualization needs maps, networks, brushing, zooming, selection, or Canvas."
|
|
2357
2337
|
],
|
|
2338
|
+
"alternatives": [],
|
|
2358
2339
|
"commonlyComposedWith": [
|
|
2359
2340
|
"component:ds-chart-legend",
|
|
2360
|
-
"component:ds-card-
|
|
2361
|
-
"component:ds-tooltip-
|
|
2341
|
+
"component:ds-card-chart",
|
|
2342
|
+
"component:ds-tooltip-chart"
|
|
2362
2343
|
],
|
|
2363
2344
|
"accessibility": [
|
|
2364
|
-
"
|
|
2365
|
-
"
|
|
2366
|
-
"
|
|
2345
|
+
"Provide the required label and an adjacent exact-value summary when exact values are essential.",
|
|
2346
|
+
"The SVG is one tab stop; arrow keys, Home, End, and Escape control semantic focus.",
|
|
2347
|
+
"Pointer and keyboard input resolve through the same interaction points and polite status output."
|
|
2367
2348
|
],
|
|
2368
2349
|
"states": [
|
|
2369
|
-
"
|
|
2370
|
-
"
|
|
2371
|
-
"
|
|
2372
|
-
"
|
|
2373
|
-
"
|
|
2374
|
-
"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.",
|
|
2375
|
-
"Authored datum colors override the shared categorical palette."
|
|
2350
|
+
"Definition compilation is renderer-independent and regenerates when data, locale, width, or height changes.",
|
|
2351
|
+
"Stable mark and datum keys preserve focus across responsive recompilation and reordered data.",
|
|
2352
|
+
"Tooltip rows are chart-owned while legends remain external and static.",
|
|
2353
|
+
"Pie and donut pointer tooltips require direct slice containment and follow the pointer; keyboard tooltips remain anchored to the semantic slice.",
|
|
2354
|
+
"Polar center content defaults to its authored total and may opt into focused content."
|
|
2376
2355
|
],
|
|
2377
2356
|
"responsiveBehavior": [
|
|
2378
|
-
"
|
|
2379
|
-
"
|
|
2380
|
-
"
|
|
2381
|
-
"Time labels remain ordered, pre-formatted buckets with equal spacing rather than raw continuous timestamps."
|
|
2357
|
+
"The chart observes its container unless width is fixed and recompiles geometry at CSS pixel dimensions.",
|
|
2358
|
+
"Height uses an authored height or aspectRatio, fills the chart region supplied by CardChart, and otherwise defaults to 320px.",
|
|
2359
|
+
"Measured guide labels reserve margins and thin colliding ticks while retaining boundary ticks."
|
|
2382
2360
|
],
|
|
2383
2361
|
"frameworkCaveats": {
|
|
2384
2362
|
"customElements": [
|
|
2385
|
-
"Assign
|
|
2363
|
+
"Assign definition as a JavaScript property and import D3 scale factories from granular D3 packages."
|
|
2386
2364
|
],
|
|
2387
2365
|
"react": [
|
|
2388
|
-
"Pass
|
|
2366
|
+
"Pass the typed definition object as a property; do not serialize it to an attribute."
|
|
2389
2367
|
],
|
|
2390
2368
|
"angular": [
|
|
2391
|
-
"Bind
|
|
2369
|
+
"Bind definition as a property so accessors and D3 factories remain intact."
|
|
2392
2370
|
]
|
|
2393
2371
|
},
|
|
2394
2372
|
"references": [
|
|
2395
2373
|
{
|
|
2396
2374
|
"label": "Storybook examples",
|
|
2397
|
-
"path": "src/wc/components/
|
|
2398
|
-
}
|
|
2399
|
-
]
|
|
2400
|
-
},
|
|
2401
|
-
"props": {
|
|
2402
|
-
"categories": {
|
|
2403
|
-
"type": "string[]",
|
|
2404
|
-
"required": false
|
|
2405
|
-
},
|
|
2406
|
-
"data": {
|
|
2407
|
-
"type": "ChartDatum[]",
|
|
2408
|
-
"required": false
|
|
2409
|
-
},
|
|
2410
|
-
"height": {
|
|
2411
|
-
"type": "number",
|
|
2412
|
-
"required": false
|
|
2413
|
-
},
|
|
2414
|
-
"series": {
|
|
2415
|
-
"type": "ChartSeries[]",
|
|
2416
|
-
"required": false
|
|
2417
|
-
},
|
|
2418
|
-
"variant": {
|
|
2419
|
-
"type": "ChartBarVariant",
|
|
2420
|
-
"required": false
|
|
2421
|
-
},
|
|
2422
|
-
"width": {
|
|
2423
|
-
"type": "number",
|
|
2424
|
-
"required": false
|
|
2425
|
-
}
|
|
2426
|
-
},
|
|
2427
|
-
"events": [],
|
|
2428
|
-
"slots": [],
|
|
2429
|
-
"exports": {
|
|
2430
|
-
"customElement": "ds-chart-bar",
|
|
2431
|
-
"react": "DsChartBar",
|
|
2432
|
-
"angular": "DsChartBar"
|
|
2433
|
-
}
|
|
2434
|
-
},
|
|
2435
|
-
"dependencies": [
|
|
2436
|
-
"@ds-mo/ui",
|
|
2437
|
-
"@ds-mo/tokens"
|
|
2438
|
-
],
|
|
2439
|
-
"registryDependencies": []
|
|
2440
|
-
},
|
|
2441
|
-
{
|
|
2442
|
-
"name": "chart-donut",
|
|
2443
|
-
"title": "ChartDonut",
|
|
2444
|
-
"description": "Part-to-whole donut chart with a center aggregate, responsive fill sizing, local slice tooltip feedback, and externally controlled legend highlighting.",
|
|
2445
|
-
"type": "registry:ui",
|
|
2446
|
-
"meta": {
|
|
2447
|
-
"library": "@ds-mo/ui",
|
|
2448
|
-
"distribution": "npm",
|
|
2449
|
-
"storybook": "https://zainadeel.github.io/compomo/?path=/story/chart-donut",
|
|
2450
|
-
"source": "src/wc/components/ChartDonut/ChartDonut.tsx",
|
|
2451
|
-
"intentStatus": "complete",
|
|
2452
|
-
"intent": {
|
|
2453
|
-
"audience": "specialized",
|
|
2454
|
-
"status": "experimental",
|
|
2455
|
-
"summary": "Part-to-whole donut chart with a center aggregate, responsive fill sizing, local slice tooltip feedback, and externally controlled legend highlighting.",
|
|
2456
|
-
"useWhen": [
|
|
2457
|
-
"Users need to understand a small part-to-whole breakdown with a prominent total or status in the center.",
|
|
2458
|
-
"A standalone donut needs pointer and keyboard-focus value feedback through a chart-owned data-viz tooltip.",
|
|
2459
|
-
"A donut and visible ChartLegend should cross-highlight by matching stable labels."
|
|
2460
|
-
],
|
|
2461
|
-
"avoidWhen": [
|
|
2462
|
-
"The data is a trend, time sequence, or independent magnitude comparison.",
|
|
2463
|
-
"The category count creates slices too small to understand reliably.",
|
|
2464
|
-
"Hover is intended to select, filter, or navigate rather than temporarily highlight data."
|
|
2465
|
-
],
|
|
2466
|
-
"alternatives": [
|
|
2467
|
-
{
|
|
2468
|
-
"when": "The product needs the canonical card, filter action, visible legend, and built-in hover synchronization.",
|
|
2469
|
-
"component": "component:ds-card-data-viz",
|
|
2470
|
-
"reason": "The donut card variant owns that complete composition and suppresses redundant slice tooltips."
|
|
2375
|
+
"path": "src/wc/components/Chart/Chart.stories.ts"
|
|
2471
2376
|
},
|
|
2472
2377
|
{
|
|
2473
|
-
"
|
|
2474
|
-
"
|
|
2475
|
-
"reason": "Bars make category magnitude differences easier to compare."
|
|
2476
|
-
}
|
|
2477
|
-
],
|
|
2478
|
-
"commonlyComposedWith": [
|
|
2479
|
-
"component:ds-chart-legend",
|
|
2480
|
-
"component:ds-tooltip-data-viz",
|
|
2481
|
-
"component:ds-card-data-viz"
|
|
2482
|
-
],
|
|
2483
|
-
"accessibility": [
|
|
2484
|
-
"Every non-empty slice remains keyboard focusable and exposes its label and value without depending on the visual tooltip.",
|
|
2485
|
-
"Use a visible legend when the full set of labels, values, or percentages must remain continuously available.",
|
|
2486
|
-
"Provide localized no-data text for the neutral empty ring.",
|
|
2487
|
-
"Center text is a visual summary and must not be the only source of essential category detail."
|
|
2488
|
-
],
|
|
2489
|
-
"states": [
|
|
2490
|
-
"Genuine local pointer or keyboard focus may show a chart-owned tooltip; externally synchronized highlight never opens it.",
|
|
2491
|
-
"When a visible legend already owns label and value detail, suppress the redundant donut tooltip. CardDataViz donut mode does this automatically.",
|
|
2492
|
-
"Local hover and external highlight remain separate while both may dim non-matching slices.",
|
|
2493
|
-
"Zero or negative totals render a neutral empty ring without interactive slices.",
|
|
2494
|
-
"Center value and caption truncate when they exceed the safe inner-circle measure."
|
|
2495
|
-
],
|
|
2496
|
-
"responsiveBehavior": [
|
|
2497
|
-
"Prefer container-fill sizing inside data-viz cards and explicit sizing only in layouts that own a stable diameter.",
|
|
2498
|
-
"Fill sizing remains centered and constrained to the shared donut size band.",
|
|
2499
|
-
"Changing the measured diameter changes the ring radius without scaling its token-based thickness, typography, focus stroke, or corner treatment.",
|
|
2500
|
-
"The owner adapts category count and legend placement for available space."
|
|
2501
|
-
],
|
|
2502
|
-
"frameworkCaveats": {
|
|
2503
|
-
"customElements": [
|
|
2504
|
-
"Assign data as a JavaScript property and wire slice-hover detail to a sibling legend only when not using CardDataViz donut mode."
|
|
2505
|
-
],
|
|
2506
|
-
"react": [
|
|
2507
|
-
"Keep synchronized highlight controlled by the composition and disable slice tooltips when a sibling legend continuously shows the same details."
|
|
2508
|
-
],
|
|
2509
|
-
"angular": [
|
|
2510
|
-
"Keep synchronized highlight controlled by the composition and disable slice tooltips when a sibling legend continuously shows the same details."
|
|
2511
|
-
]
|
|
2512
|
-
},
|
|
2513
|
-
"references": [
|
|
2514
|
-
{
|
|
2515
|
-
"label": "Storybook examples",
|
|
2516
|
-
"path": "src/wc/components/ChartDonut/ChartDonut.stories.ts"
|
|
2378
|
+
"label": "Chart guide",
|
|
2379
|
+
"path": "src/docs/Charts.mdx"
|
|
2517
2380
|
}
|
|
2518
2381
|
]
|
|
2519
2382
|
},
|
|
2520
2383
|
"props": {
|
|
2521
|
-
"
|
|
2522
|
-
"type": "
|
|
2523
|
-
"required": false
|
|
2524
|
-
},
|
|
2525
|
-
"centerCaption": {
|
|
2526
|
-
"type": "string | undefined",
|
|
2527
|
-
"required": false
|
|
2528
|
-
},
|
|
2529
|
-
"centerValue": {
|
|
2530
|
-
"type": "string | undefined",
|
|
2384
|
+
"aspectRatio": {
|
|
2385
|
+
"type": "number",
|
|
2531
2386
|
"required": false
|
|
2532
2387
|
},
|
|
2533
|
-
"
|
|
2534
|
-
"type": "
|
|
2535
|
-
"required":
|
|
2388
|
+
"definition": {
|
|
2389
|
+
"type": "ChartDefinition",
|
|
2390
|
+
"required": true
|
|
2536
2391
|
},
|
|
2537
|
-
"
|
|
2538
|
-
"type": "
|
|
2392
|
+
"description": {
|
|
2393
|
+
"type": "string",
|
|
2539
2394
|
"required": false
|
|
2540
2395
|
},
|
|
2541
|
-
"
|
|
2396
|
+
"height": {
|
|
2542
2397
|
"type": "number",
|
|
2543
2398
|
"required": false
|
|
2544
2399
|
},
|
|
2545
|
-
"
|
|
2546
|
-
"type": "string | undefined",
|
|
2547
|
-
"required": false
|
|
2548
|
-
},
|
|
2549
|
-
"noDataLabel": {
|
|
2400
|
+
"label": {
|
|
2550
2401
|
"type": "string",
|
|
2551
|
-
"required":
|
|
2552
|
-
},
|
|
2553
|
-
"showTooltip": {
|
|
2554
|
-
"type": "boolean",
|
|
2555
|
-
"required": false
|
|
2402
|
+
"required": true
|
|
2556
2403
|
},
|
|
2557
|
-
"
|
|
2558
|
-
"type": "
|
|
2404
|
+
"locale": {
|
|
2405
|
+
"type": "string",
|
|
2559
2406
|
"required": false
|
|
2560
2407
|
},
|
|
2561
|
-
"
|
|
2562
|
-
"type": "number
|
|
2408
|
+
"width": {
|
|
2409
|
+
"type": "number",
|
|
2563
2410
|
"required": false
|
|
2564
2411
|
}
|
|
2565
2412
|
},
|
|
2566
2413
|
"events": [
|
|
2567
2414
|
{
|
|
2568
|
-
"name": "
|
|
2569
|
-
"detail": "
|
|
2415
|
+
"name": "dsChartFocusChange",
|
|
2416
|
+
"detail": "ChartFocusChangeDetail"
|
|
2570
2417
|
}
|
|
2571
2418
|
],
|
|
2572
2419
|
"slots": [],
|
|
2573
2420
|
"exports": {
|
|
2574
|
-
"customElement": "ds-chart
|
|
2575
|
-
"react": "
|
|
2576
|
-
"angular": "
|
|
2421
|
+
"customElement": "ds-chart",
|
|
2422
|
+
"react": "DsChart",
|
|
2423
|
+
"angular": "DsChart"
|
|
2577
2424
|
}
|
|
2578
2425
|
},
|
|
2579
2426
|
"dependencies": [
|
|
@@ -2581,13 +2428,13 @@
|
|
|
2581
2428
|
"@ds-mo/tokens"
|
|
2582
2429
|
],
|
|
2583
2430
|
"registryDependencies": [
|
|
2584
|
-
"tooltip-
|
|
2431
|
+
"tooltip-chart"
|
|
2585
2432
|
]
|
|
2586
2433
|
},
|
|
2587
2434
|
{
|
|
2588
2435
|
"name": "chart-legend",
|
|
2589
2436
|
"title": "ChartLegend",
|
|
2590
|
-
"description": "
|
|
2437
|
+
"description": "External chart legend with swatches, labels, optional values and percentages, and explicit deep links.",
|
|
2591
2438
|
"type": "registry:ui",
|
|
2592
2439
|
"meta": {
|
|
2593
2440
|
"library": "@ds-mo/ui",
|
|
@@ -2597,11 +2444,11 @@
|
|
|
2597
2444
|
"intentStatus": "complete",
|
|
2598
2445
|
"intent": {
|
|
2599
2446
|
"audience": "specialized",
|
|
2600
|
-
"status": "
|
|
2601
|
-
"summary": "
|
|
2447
|
+
"status": "stable",
|
|
2448
|
+
"summary": "External chart legend with swatches, labels, optional values and percentages, and explicit deep links.",
|
|
2602
2449
|
"useWhen": [
|
|
2603
2450
|
"A chart needs the standard swatch, label, and optional numeric-detail legend.",
|
|
2604
|
-
"
|
|
2451
|
+
"Polar slices or Cartesian series need a continuously visible key beside or below the visualization.",
|
|
2605
2452
|
"A category has an explicit deep-link destination and should render as an accessible link."
|
|
2606
2453
|
],
|
|
2607
2454
|
"avoidWhen": [
|
|
@@ -2616,25 +2463,18 @@
|
|
|
2616
2463
|
"reason": "Compose product-owned semantic markup from the same chart data rather than forcing it into this row recipe."
|
|
2617
2464
|
},
|
|
2618
2465
|
{
|
|
2619
|
-
"when": "
|
|
2620
|
-
"component": "component:ds-card-
|
|
2621
|
-
"reason": "The
|
|
2622
|
-
},
|
|
2623
|
-
{
|
|
2624
|
-
"when": "A static line chart and series key belong in the canonical dashboard card.",
|
|
2625
|
-
"component": "component:ds-card-data-viz",
|
|
2626
|
-
"reason": "The line variant places the horizontal legend and disables decorative local hover highlighting."
|
|
2466
|
+
"when": "A chart and static series key belong in the canonical dashboard card.",
|
|
2467
|
+
"component": "component:ds-card-chart",
|
|
2468
|
+
"reason": "The chart variant places the external legend and disables decorative local hover highlighting."
|
|
2627
2469
|
}
|
|
2628
2470
|
],
|
|
2629
2471
|
"commonlyComposedWith": [
|
|
2630
|
-
"component:ds-chart
|
|
2631
|
-
"component:ds-chart
|
|
2632
|
-
"component:ds-chart-line",
|
|
2633
|
-
"component:ds-card-data-viz"
|
|
2472
|
+
"component:ds-chart",
|
|
2473
|
+
"component:ds-card-chart"
|
|
2634
2474
|
],
|
|
2635
2475
|
"accessibility": [
|
|
2636
2476
|
"Rows remain non-interactive unless the item supplies an actual link destination.",
|
|
2637
|
-
"
|
|
2477
|
+
"Optional highlight changes opacity only and never moves focus or announces selection.",
|
|
2638
2478
|
"Keep full labels available when visible text truncates, and retain stable tabular numeric columns.",
|
|
2639
2479
|
"Do not rely on swatch color alone; every entry requires a meaningful visible label."
|
|
2640
2480
|
],
|
|
@@ -2727,120 +2567,6 @@
|
|
|
2727
2567
|
"text"
|
|
2728
2568
|
]
|
|
2729
2569
|
},
|
|
2730
|
-
{
|
|
2731
|
-
"name": "chart-line",
|
|
2732
|
-
"title": "ChartLine",
|
|
2733
|
-
"description": "Static single- or multi-series line chart for trends across ordered, evenly spaced categories, including preformatted time-period labels.",
|
|
2734
|
-
"type": "registry:ui",
|
|
2735
|
-
"meta": {
|
|
2736
|
-
"library": "@ds-mo/ui",
|
|
2737
|
-
"distribution": "npm",
|
|
2738
|
-
"storybook": "https://zainadeel.github.io/compomo/?path=/story/chart-line",
|
|
2739
|
-
"source": "src/wc/components/ChartLine/ChartLine.tsx",
|
|
2740
|
-
"intentStatus": "complete",
|
|
2741
|
-
"intent": {
|
|
2742
|
-
"audience": "specialized",
|
|
2743
|
-
"status": "experimental",
|
|
2744
|
-
"summary": "Static single- or multi-series line chart for trends across ordered, evenly spaced categories, including preformatted time-period labels.",
|
|
2745
|
-
"useWhen": [
|
|
2746
|
-
"Users need to follow one or more numeric trends across a shared ordered x-axis.",
|
|
2747
|
-
"Time periods are already grouped into equally spaced labels such as months, weeks, or days.",
|
|
2748
|
-
"A horizontal ChartLegend should identify multiple series."
|
|
2749
|
-
],
|
|
2750
|
-
"avoidWhen": [
|
|
2751
|
-
"Pixel position must reflect irregular elapsed time or continuous timestamps.",
|
|
2752
|
-
"The primary task is comparing unrelated category magnitudes rather than following a trend.",
|
|
2753
|
-
"The chart needs built-in zoom, brushing, selection, or drill-down.",
|
|
2754
|
-
"Series lengths do not align with the shared category list."
|
|
2755
|
-
],
|
|
2756
|
-
"alternatives": [
|
|
2757
|
-
{
|
|
2758
|
-
"when": "Users need to compare one measure across discrete categories or time buckets.",
|
|
2759
|
-
"component": "component:ds-chart-bar",
|
|
2760
|
-
"reason": "Bars emphasize independent bucket magnitudes."
|
|
2761
|
-
},
|
|
2762
|
-
{
|
|
2763
|
-
"when": "The data communicates parts of a total.",
|
|
2764
|
-
"component": "component:ds-chart-donut",
|
|
2765
|
-
"reason": "Donut provides the part-to-whole and center-summary treatment."
|
|
2766
|
-
}
|
|
2767
|
-
],
|
|
2768
|
-
"commonlyComposedWith": [
|
|
2769
|
-
"component:ds-chart-legend",
|
|
2770
|
-
"component:ds-card-data-viz",
|
|
2771
|
-
"component:ds-tooltip-data-viz"
|
|
2772
|
-
],
|
|
2773
|
-
"accessibility": [
|
|
2774
|
-
"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.",
|
|
2775
|
-
"Do not rely on series color alone to communicate meaning.",
|
|
2776
|
-
"A future point tooltip must supplement rather than replace accessible series and value context."
|
|
2777
|
-
],
|
|
2778
|
-
"states": [
|
|
2779
|
-
"The chart is currently static and does not own hover, selection, loading, or empty-state policy.",
|
|
2780
|
-
"Its standard horizontal legend is a static key with local hover highlighting disabled.",
|
|
2781
|
-
"Point markers may be shown or hidden without changing the underlying series meaning.",
|
|
2782
|
-
"Authored series colors override the shared categorical palette."
|
|
2783
|
-
],
|
|
2784
|
-
"responsiveBehavior": [
|
|
2785
|
-
"Width and height provide the standalone intrinsic viewport; constrained card regions are measured and reflow both axes to their rendered pixel dimensions.",
|
|
2786
|
-
"Responsive layout changes point positions and plot extents without scaling SVG text, line strokes, point markers, or margins.",
|
|
2787
|
-
"Category positions are always equally spaced, even when labels represent time.",
|
|
2788
|
-
"Reduce or pre-format dense labels before passing them; the chart renders authored labels without a continuous time scale."
|
|
2789
|
-
],
|
|
2790
|
-
"frameworkCaveats": {
|
|
2791
|
-
"customElements": [
|
|
2792
|
-
"Assign series and categories as JavaScript properties and keep every series aligned to the category count."
|
|
2793
|
-
],
|
|
2794
|
-
"react": [
|
|
2795
|
-
"Pass stable series and category arrays; width and height provide standalone intrinsic dimensions while constrained containers reflow automatically."
|
|
2796
|
-
],
|
|
2797
|
-
"angular": [
|
|
2798
|
-
"Bind series and categories as properties; width and height provide standalone intrinsic dimensions while constrained containers reflow automatically."
|
|
2799
|
-
]
|
|
2800
|
-
},
|
|
2801
|
-
"references": [
|
|
2802
|
-
{
|
|
2803
|
-
"label": "Storybook examples",
|
|
2804
|
-
"path": "src/wc/components/ChartLine/ChartLine.stories.ts"
|
|
2805
|
-
}
|
|
2806
|
-
]
|
|
2807
|
-
},
|
|
2808
|
-
"props": {
|
|
2809
|
-
"categories": {
|
|
2810
|
-
"type": "string[]",
|
|
2811
|
-
"required": false
|
|
2812
|
-
},
|
|
2813
|
-
"height": {
|
|
2814
|
-
"type": "number",
|
|
2815
|
-
"required": false
|
|
2816
|
-
},
|
|
2817
|
-
"series": {
|
|
2818
|
-
"type": "ChartSeries[]",
|
|
2819
|
-
"required": false
|
|
2820
|
-
},
|
|
2821
|
-
"showPoints": {
|
|
2822
|
-
"type": "boolean",
|
|
2823
|
-
"required": false
|
|
2824
|
-
},
|
|
2825
|
-
"width": {
|
|
2826
|
-
"type": "number",
|
|
2827
|
-
"required": false
|
|
2828
|
-
}
|
|
2829
|
-
},
|
|
2830
|
-
"events": [],
|
|
2831
|
-
"slots": [],
|
|
2832
|
-
"exports": {
|
|
2833
|
-
"customElement": "ds-chart-line",
|
|
2834
|
-
"react": "DsChartLine",
|
|
2835
|
-
"angular": "DsChartLine"
|
|
2836
|
-
}
|
|
2837
|
-
},
|
|
2838
|
-
"dependencies": [
|
|
2839
|
-
"@ds-mo/ui",
|
|
2840
|
-
"@ds-mo/tokens"
|
|
2841
|
-
],
|
|
2842
|
-
"registryDependencies": []
|
|
2843
|
-
},
|
|
2844
2570
|
{
|
|
2845
2571
|
"name": "checkbox",
|
|
2846
2572
|
"title": "Checkbox",
|
|
@@ -8791,8 +8517,8 @@
|
|
|
8791
8517
|
},
|
|
8792
8518
|
{
|
|
8793
8519
|
"when": "A chart needs a cursor- or data-point-positioned value callout.",
|
|
8794
|
-
"component": "component:ds-tooltip-
|
|
8795
|
-
"reason": "
|
|
8520
|
+
"component": "component:ds-tooltip-chart",
|
|
8521
|
+
"reason": "TooltipChart accepts chart coordinates and is designed for data visualization hover feedback."
|
|
8796
8522
|
}
|
|
8797
8523
|
],
|
|
8798
8524
|
"commonlyComposedWith": [
|
|
@@ -8902,19 +8628,19 @@
|
|
|
8902
8628
|
]
|
|
8903
8629
|
},
|
|
8904
8630
|
{
|
|
8905
|
-
"name": "tooltip-
|
|
8906
|
-
"title": "
|
|
8631
|
+
"name": "tooltip-chart",
|
|
8632
|
+
"title": "TooltipChart",
|
|
8907
8633
|
"description": "Chart-owned, non-interactive label and value callout positioned from pointer or focused-mark coordinates inside a visualization wrapper.",
|
|
8908
8634
|
"type": "registry:ui",
|
|
8909
8635
|
"meta": {
|
|
8910
8636
|
"library": "@ds-mo/ui",
|
|
8911
8637
|
"distribution": "npm",
|
|
8912
|
-
"storybook": "https://zainadeel.github.io/compomo/?path=/story/tooltip-
|
|
8913
|
-
"source": "src/wc/components/
|
|
8638
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/tooltip-chart",
|
|
8639
|
+
"source": "src/wc/components/TooltipChart/TooltipChart.tsx",
|
|
8914
8640
|
"intentStatus": "complete",
|
|
8915
8641
|
"intent": {
|
|
8916
8642
|
"audience": "specialized",
|
|
8917
|
-
"status": "
|
|
8643
|
+
"status": "stable",
|
|
8918
8644
|
"summary": "Chart-owned, non-interactive label and value callout positioned from pointer or focused-mark coordinates inside a visualization wrapper.",
|
|
8919
8645
|
"useWhen": [
|
|
8920
8646
|
"A chart needs immediate visual value feedback for a genuinely hovered or keyboard-focused mark.",
|
|
@@ -8940,9 +8666,7 @@
|
|
|
8940
8666
|
}
|
|
8941
8667
|
],
|
|
8942
8668
|
"commonlyComposedWith": [
|
|
8943
|
-
"component:ds-chart
|
|
8944
|
-
"component:ds-chart-line",
|
|
8945
|
-
"component:ds-chart-donut"
|
|
8669
|
+
"component:ds-chart"
|
|
8946
8670
|
],
|
|
8947
8671
|
"accessibility": [
|
|
8948
8672
|
"The callout is presentation-only and never replaces the owning chart mark's accessible label or an adjacent data summary.",
|
|
@@ -8975,7 +8699,7 @@
|
|
|
8975
8699
|
"references": [
|
|
8976
8700
|
{
|
|
8977
8701
|
"label": "Storybook example",
|
|
8978
|
-
"path": "src/wc/components/
|
|
8702
|
+
"path": "src/wc/components/TooltipChart/TooltipChart.stories.ts"
|
|
8979
8703
|
}
|
|
8980
8704
|
]
|
|
8981
8705
|
},
|
|
@@ -8984,6 +8708,14 @@
|
|
|
8984
8708
|
"type": "number | string",
|
|
8985
8709
|
"required": false
|
|
8986
8710
|
},
|
|
8711
|
+
"heading": {
|
|
8712
|
+
"type": "string",
|
|
8713
|
+
"required": false
|
|
8714
|
+
},
|
|
8715
|
+
"items": {
|
|
8716
|
+
"type": "TooltipChartItem[]",
|
|
8717
|
+
"required": false
|
|
8718
|
+
},
|
|
8987
8719
|
"label": {
|
|
8988
8720
|
"type": "string",
|
|
8989
8721
|
"required": false
|
|
@@ -9004,9 +8736,9 @@
|
|
|
9004
8736
|
"events": [],
|
|
9005
8737
|
"slots": [],
|
|
9006
8738
|
"exports": {
|
|
9007
|
-
"customElement": "ds-tooltip-
|
|
9008
|
-
"react": "
|
|
9009
|
-
"angular": "
|
|
8739
|
+
"customElement": "ds-tooltip-chart",
|
|
8740
|
+
"react": "DsTooltipChart",
|
|
8741
|
+
"angular": "DsTooltipChart"
|
|
9010
8742
|
}
|
|
9011
8743
|
},
|
|
9012
8744
|
"dependencies": [
|