@ds-mo/ui 12.9.0 → 13.0.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/README.md +1 -0
- package/dist/.package-ready.json +1 -0
- package/dist/agent-patterns.json +124 -135
- package/dist/agent.json +249 -1108
- package/dist/angular/ds-bar-nav.d.ts +1 -1
- package/dist/angular/ds-bar-nav.js +3 -3
- package/dist/angular/ds-button-filled.d.ts +1 -1
- package/dist/angular/ds-button-filled.js +3 -3
- package/dist/angular/ds-card-data-viz.d.ts +18 -0
- package/dist/angular/{ds-card-data-viz-donut.js → ds-card-data-viz.js} +12 -12
- package/dist/angular/ds-card-overview.d.ts +1 -1
- package/dist/angular/ds-card-overview.js +3 -3
- package/dist/angular/ds-chart-bar.d.ts +1 -1
- package/dist/angular/ds-chart-bar.js +3 -3
- package/dist/angular/ds-menu.d.ts +1 -7
- package/dist/angular/ds-menu.js +2 -5
- package/dist/angular/ds-mobile-header.d.ts +1 -1
- package/dist/angular/ds-mobile-header.js +3 -3
- package/dist/angular/ds-mobile-section-switcher.d.ts +1 -1
- package/dist/angular/ds-mobile-section-switcher.js +3 -3
- package/dist/angular/ds-panel-tools.d.ts +1 -1
- package/dist/angular/ds-panel-tools.js +3 -3
- package/dist/angular/ds-select.d.ts +5 -4
- package/dist/angular/ds-select.js +3 -3
- package/dist/angular/ds-shell-app.d.ts +90 -1
- package/dist/angular/ds-shell-app.js +44 -4
- package/dist/angular/ds-shell-tools.d.ts +1 -1
- package/dist/angular/ds-shell-tools.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +1 -8
- package/dist/angular/proxies.d.ts +1 -8
- package/dist/angular/proxies.js +1 -8
- 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-bar-nav.js +1 -1
- package/dist/components/ds-bar-nav.js.map +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-title.js.map +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-select-multi.d.ts → ds-card-data-viz.d.ts} +4 -4
- package/dist/components/ds-card-data-viz.js +2 -0
- package/dist/components/ds-card-data-viz.js.map +1 -0
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-chart-bar.js +1 -1
- package/dist/components/ds-chart-bar.js.map +1 -1
- package/dist/components/ds-chart-donut.js +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-line.js +1 -1
- package/dist/components/ds-chart-line.js.map +1 -1
- 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-item.js.map +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-input.js.map +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.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-bar-nav.js.map +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-mobile-sheet-nav.js.map +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-nav.js.map +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-radio.js.map +1 -1
- package/dist/components/ds-scroll-overlay.js +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-app.js.map +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-page.js.map +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-shell-tools.js.map +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-slider.js.map +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-tooltip-data-viz.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/{p-CgEYdMee.js → p-6qXDqCj_.js} +2 -2
- package/dist/components/{p-Cr3tEx7o.js → p-Ay1AX7Ql.js} +2 -2
- package/dist/components/p-B-qDb_Zo.js +2 -0
- package/dist/components/p-B-qDb_Zo.js.map +1 -0
- package/dist/components/{p-BOCfICln.js → p-B1cbQ0SG.js} +2 -2
- package/dist/components/{p-BKOlvCGS.js → p-BUZXuod2.js} +2 -2
- package/dist/components/{p-DCvA3Dc9.js → p-BaUsq_VK.js} +2 -2
- package/dist/components/p-BbMJTilO.js +2 -0
- package/dist/components/p-BbMJTilO.js.map +1 -0
- package/dist/components/{p-BO5aqZcf.js → p-BcTYhmku.js} +2 -2
- package/dist/components/p-Bkv3UjZz.js +2 -0
- package/dist/components/p-Bkv3UjZz.js.map +1 -0
- package/dist/components/p-BnQXAbif.js +2 -0
- package/dist/components/p-BnQXAbif.js.map +1 -0
- package/dist/components/p-BnbbnuVC.js +2 -0
- package/dist/components/p-BnbbnuVC.js.map +1 -0
- package/dist/components/{p-BDKtu6Wb.js → p-BroVnDzE.js} +2 -2
- package/dist/components/{p-CIiBpjCn.js → p-BsoqsbBh.js} +2 -2
- package/dist/components/p-BwT6B5Fi.js +2 -0
- package/dist/components/p-BwT6B5Fi.js.map +1 -0
- package/dist/components/p-BybqPD8K.js +2 -0
- package/dist/components/p-BybqPD8K.js.map +1 -0
- package/dist/components/p-C-vRkDyn.js +2 -0
- package/dist/components/p-C-vRkDyn.js.map +1 -0
- package/dist/components/p-C3ArcO50.js +2 -0
- package/dist/components/p-C3ArcO50.js.map +1 -0
- package/dist/components/p-C4uYvyq6.js +2 -0
- package/dist/components/p-C4uYvyq6.js.map +1 -0
- package/dist/components/{p-C8HU4W8q.js → p-CBazaRlE.js} +2 -2
- package/dist/components/{p-BhV5e6vF.js → p-CHuh71-U.js} +2 -2
- package/dist/components/{p-CChcuL04.js → p-CMWata9g.js} +2 -2
- package/dist/components/p-CS6CHlHK.js +2 -0
- package/dist/components/p-CS6CHlHK.js.map +1 -0
- package/dist/components/p-CTTnM7cE.js +2 -0
- package/dist/components/p-CTTnM7cE.js.map +1 -0
- package/dist/components/{p-CCzG5xDD.js → p-CWoXKe_h.js} +2 -2
- package/dist/components/p-CWoXKe_h.js.map +1 -0
- package/dist/components/p-CwwuSGER.js +2 -0
- package/dist/components/p-CwwuSGER.js.map +1 -0
- package/dist/components/p-D09HINr_.js +2 -0
- package/dist/components/p-D09HINr_.js.map +1 -0
- package/dist/components/p-D2xWcVv6.js +2 -0
- package/dist/components/p-D2xWcVv6.js.map +1 -0
- package/dist/components/p-DAW6G8Sl.js +2 -0
- package/dist/components/p-DAW6G8Sl.js.map +1 -0
- package/dist/components/p-DEaszb15.js +2 -0
- package/dist/components/p-DEaszb15.js.map +1 -0
- package/dist/components/{p-BgGP65Nn.js → p-DOUk4KoT.js} +1 -1
- package/dist/components/p-DOUk4KoT.js.map +1 -0
- package/dist/components/p-DbQr7Kwr.js +2 -0
- package/dist/components/p-DbQr7Kwr.js.map +1 -0
- package/dist/components/p-DdvEZyX4.js +2 -0
- package/dist/components/p-DdvEZyX4.js.map +1 -0
- package/dist/components/{p-DRnIuCiT.js → p-DeQwkbT1.js} +2 -2
- package/dist/components/{p-Cuih680v.js → p-Df17mJqI.js} +2 -2
- package/dist/components/p-Dg1LBXJ2.js +2 -0
- package/dist/components/p-Dg1LBXJ2.js.map +1 -0
- package/dist/components/p-DsiCDzoF.js +2 -0
- package/dist/components/p-DsiCDzoF.js.map +1 -0
- package/dist/components/p-_DzUXA86.js +2 -0
- package/dist/components/p-_DzUXA86.js.map +1 -0
- package/dist/components/p-lyZNvRvO.js +2 -0
- package/dist/components/p-lyZNvRvO.js.map +1 -0
- package/dist/components/{p-YR1XeuZf.js → p-ohsLFap_.js} +2 -2
- package/dist/components/{p-DjbTFy2B.js → p-ymtdhOU5.js} +1 -1
- package/dist/components/p-ymtdhOU5.js.map +1 -0
- package/dist/components/p-z5RIrXuX.js +2 -0
- package/dist/components/p-z5RIrXuX.js.map +1 -0
- package/dist/docs/components.json +929 -2371
- package/dist/framework/angular.d.ts +0 -1
- package/dist/framework/angular.js +0 -1
- package/dist/lib/components/BarTitle/bar-title-types.d.ts +28 -0
- package/dist/lib/components/Breadcrumb/breadcrumb-types.d.ts +16 -0
- package/dist/lib/components/ButtonFilled/ButtonFilled.d.ts +83 -0
- package/dist/lib/components/MobileHeader/mobile-header-types.d.ts +4 -0
- package/dist/lib/components/PanelTools/panel-tools-types.d.ts +21 -7
- package/dist/lib/components/ShellApp/shell-app-types.d.ts +91 -0
- package/dist/lib/shell/index.d.ts +5 -13
- package/dist/lib/shell/index.js +87 -358
- package/dist/lib/shell/index.js.map +3 -3
- package/dist/lib/shell/shell-responsive.d.ts +2 -1
- package/dist/lib/utils/button-render.d.ts +17 -0
- package/dist/lib/utils/button-types.d.ts +10 -0
- package/dist/lib/utils/choice-list.d.ts +25 -0
- package/dist/lib/utils/control-press.d.ts +8 -0
- package/dist/lib/utils/form-association.d.ts +22 -0
- package/dist/lib/utils/index.d.ts +4 -0
- package/dist/lib/utils/index.js +63 -0
- package/dist/lib/utils/index.js.map +3 -3
- package/dist/lib/utils/required-validity.d.ts +1 -1
- package/dist/lib/utils/safe-url.d.ts +11 -0
- package/dist/mcp/cli.js +38 -10
- package/dist/mcp-data/registry/agent-source-list.json +1 -1
- package/dist/mcp-data/registry/attachment-list.json +1 -1
- package/dist/mcp-data/registry/bar-nav.json +3 -21
- package/dist/mcp-data/registry/breadcrumb.json +1 -1
- package/dist/mcp-data/registry/button-filled.json +4 -19
- package/dist/mcp-data/registry/button-unfilled.json +14 -11
- package/dist/mcp-data/registry/card-data-viz.json +241 -0
- package/dist/mcp-data/registry/card-overview.json +38 -10
- package/dist/mcp-data/registry/card-setting.json +2 -2
- package/dist/mcp-data/registry/chart-bar.json +66 -18
- package/dist/mcp-data/registry/chart-donut.json +5 -5
- package/dist/mcp-data/registry/chart-legend.json +7 -9
- package/dist/mcp-data/registry/chart-line.json +1 -2
- package/dist/mcp-data/registry/checkbox.json +2 -2
- package/dist/mcp-data/registry/conversation-list-item.json +1 -1
- package/dist/mcp-data/registry/field.json +2 -3
- package/dist/mcp-data/registry/input.json +1 -1
- package/dist/mcp-data/registry/markdown.json +1 -1
- package/dist/mcp-data/registry/menu.json +10 -21
- package/dist/mcp-data/registry/mobile-bar-nav.json +1 -1
- package/dist/mcp-data/registry/mobile-header.json +1 -37
- package/dist/mcp-data/registry/mobile-section-switcher.json +1 -19
- package/dist/mcp-data/registry/panel-nav.json +2 -2
- package/dist/mcp-data/registry/panel-tool-search.json +1 -1
- package/dist/mcp-data/registry/panel-tools.json +19 -55
- package/dist/mcp-data/registry/radio.json +1 -1
- package/dist/mcp-data/registry/registry.json +294 -1174
- package/dist/mcp-data/registry/select.json +59 -25
- package/dist/mcp-data/registry/shell-app.json +345 -20
- package/dist/mcp-data/registry/shell-page.json +1 -1
- package/dist/mcp-data/registry/shell-tools.json +12 -43
- package/dist/mcp-data/registry/slider.json +1 -1
- package/dist/mcp-data/registry/switch.json +1 -1
- package/dist/react/components.d.ts +1 -8
- package/dist/react/components.js +1 -8
- package/dist/react/ds-card-data-viz.d.ts +12 -0
- package/dist/react/ds-card-data-viz.js +12 -0
- package/dist/react/ds-menu.d.ts +1 -2
- package/dist/react/ds-menu.js +0 -1
- package/dist/react/ds-select.d.ts +2 -2
- package/dist/react/ds-shell-app.d.ts +24 -1
- package/dist/react/ds-shell-app.js +16 -1
- package/dist/types/components/AgentSourceList/AgentSourceList.d.ts +0 -1
- package/dist/types/components/BarNav/BarNav.d.ts +0 -2
- package/dist/types/components/BarNav/bar-nav-utils.d.ts +2 -4
- package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +5 -11
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +13 -10
- package/dist/types/components/CardDataViz/CardDataViz.d.ts +32 -0
- package/dist/types/components/CardDataViz/index.d.ts +2 -0
- package/dist/types/components/CardOverview/CardOverview.d.ts +17 -0
- package/dist/types/components/CardOverview/card-overview-controller.d.ts +16 -0
- package/dist/types/components/ChartBar/ChartBar.d.ts +12 -1
- package/dist/types/components/ChartBar/index.d.ts +2 -1
- package/dist/types/components/Menu/Menu.d.ts +0 -4
- package/dist/types/components/Menu/menu-sections.d.ts +4 -0
- package/dist/types/components/Menu/menu-types.d.ts +2 -11
- package/dist/types/components/MobileHeader/MobileHeader.d.ts +0 -5
- package/dist/types/components/MobileSectionSwitcher/MobileSectionSwitcher.d.ts +0 -2
- package/dist/types/components/PanelTools/PanelTools.d.ts +0 -4
- package/dist/types/components/PanelTools/index.d.ts +1 -1
- package/dist/types/components/PanelTools/panel-tools-types.d.ts +21 -7
- package/dist/types/components/PanelTools/panel-tools-utils.d.ts +1 -1
- package/dist/types/components/Select/Select.d.ts +12 -4
- package/dist/types/components/Select/index.d.ts +1 -1
- package/dist/types/components/ShellApp/ShellApp.d.ts +98 -0
- package/dist/types/components/ShellApp/shell-app-types.d.ts +92 -0
- package/dist/types/components/ShellPage/ShellPage.d.ts +5 -0
- package/dist/types/components/ShellTools/ShellTools.d.ts +2 -2
- package/dist/types/components.d.ts +210 -889
- package/dist/types/shell/index.d.ts +5 -13
- package/dist/types/shell/shell-responsive.d.ts +2 -1
- package/dist/types/utils/button-render.d.ts +18 -0
- package/dist/types/utils/button-story-foundation.d.ts +9 -0
- package/dist/types/utils/button-types.d.ts +11 -0
- package/dist/types/utils/form-association.d.ts +23 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/dist/types/utils/required-validity.d.ts +1 -1
- package/dist/types/utils/safe-url.d.ts +12 -0
- package/dist/types/utils/select-controller.d.ts +1 -1
- package/package.json +16 -8
- package/dist/.build-stamp +0 -1
- package/dist/angular/ds-card-data-viz-bar.d.ts +0 -18
- package/dist/angular/ds-card-data-viz-bar.js +0 -42
- package/dist/angular/ds-card-data-viz-donut.d.ts +0 -18
- package/dist/angular/ds-card-data-viz-line.d.ts +0 -18
- package/dist/angular/ds-card-data-viz-line.js +0 -42
- package/dist/angular/ds-card-shell-data-viz.d.ts +0 -12
- package/dist/angular/ds-card-shell-data-viz.js +0 -38
- package/dist/angular/ds-chart-bar-stacked.d.ts +0 -12
- package/dist/angular/ds-chart-bar-stacked.js +0 -38
- package/dist/angular/ds-select-multi.d.ts +0 -28
- package/dist/angular/ds-select-multi.js +0 -49
- package/dist/angular/ds-shell-gradient-picker.d.ts +0 -16
- package/dist/angular/ds-shell-gradient-picker.js +0 -42
- package/dist/angular/ds-shell-gradient-swatch.d.ts +0 -16
- package/dist/angular/ds-shell-gradient-swatch.js +0 -42
- package/dist/components/ds-card-data-viz-bar.d.ts +0 -11
- package/dist/components/ds-card-data-viz-bar.js +0 -2
- package/dist/components/ds-card-data-viz-bar.js.map +0 -1
- package/dist/components/ds-card-data-viz-donut.d.ts +0 -11
- package/dist/components/ds-card-data-viz-donut.js +0 -2
- package/dist/components/ds-card-data-viz-donut.js.map +0 -1
- package/dist/components/ds-card-data-viz-line.d.ts +0 -11
- package/dist/components/ds-card-data-viz-line.js +0 -2
- package/dist/components/ds-card-data-viz-line.js.map +0 -1
- package/dist/components/ds-card-shell-data-viz.d.ts +0 -11
- package/dist/components/ds-card-shell-data-viz.js +0 -2
- package/dist/components/ds-card-shell-data-viz.js.map +0 -1
- package/dist/components/ds-chart-bar-stacked.d.ts +0 -11
- package/dist/components/ds-chart-bar-stacked.js +0 -2
- package/dist/components/ds-chart-bar-stacked.js.map +0 -1
- package/dist/components/ds-select-multi.js +0 -2
- package/dist/components/ds-select-multi.js.map +0 -1
- package/dist/components/ds-shell-gradient-picker.d.ts +0 -11
- package/dist/components/ds-shell-gradient-picker.js +0 -2
- package/dist/components/ds-shell-gradient-picker.js.map +0 -1
- package/dist/components/ds-shell-gradient-swatch.d.ts +0 -11
- package/dist/components/ds-shell-gradient-swatch.js +0 -2
- package/dist/components/ds-shell-gradient-swatch.js.map +0 -1
- package/dist/components/p-2foAUsDN.js +0 -2
- package/dist/components/p-2foAUsDN.js.map +0 -1
- package/dist/components/p-8GK7B7K4.js +0 -2
- package/dist/components/p-8GK7B7K4.js.map +0 -1
- package/dist/components/p-B5tMlca-.js +0 -2
- package/dist/components/p-B5tMlca-.js.map +0 -1
- package/dist/components/p-B88n0pO3.js +0 -2
- package/dist/components/p-B88n0pO3.js.map +0 -1
- package/dist/components/p-BBePKRHC.js +0 -2
- package/dist/components/p-BBePKRHC.js.map +0 -1
- package/dist/components/p-BOQnc-M4.js +0 -2
- package/dist/components/p-BOQnc-M4.js.map +0 -1
- package/dist/components/p-BgGP65Nn.js.map +0 -1
- package/dist/components/p-BrusnEYP.js +0 -2
- package/dist/components/p-BrusnEYP.js.map +0 -1
- package/dist/components/p-C61yJkfr.js +0 -2
- package/dist/components/p-C61yJkfr.js.map +0 -1
- package/dist/components/p-CCzG5xDD.js.map +0 -1
- package/dist/components/p-CGVXbXv9.js +0 -2
- package/dist/components/p-CGVXbXv9.js.map +0 -1
- package/dist/components/p-CH3w-P2H.js +0 -2
- package/dist/components/p-CH3w-P2H.js.map +0 -1
- package/dist/components/p-Cuqxh-Tq.js +0 -2
- package/dist/components/p-Cuqxh-Tq.js.map +0 -1
- package/dist/components/p-D1HFMTdC.js +0 -2
- package/dist/components/p-D1HFMTdC.js.map +0 -1
- package/dist/components/p-D2x17ei-.js +0 -2
- package/dist/components/p-D2x17ei-.js.map +0 -1
- package/dist/components/p-DLZm_-sU.js +0 -2
- package/dist/components/p-DLZm_-sU.js.map +0 -1
- package/dist/components/p-DjKkSqrG.js +0 -2
- package/dist/components/p-DjKkSqrG.js.map +0 -1
- package/dist/components/p-DjbTFy2B.js.map +0 -1
- package/dist/components/p-DlscFn2m.js +0 -2
- package/dist/components/p-DlscFn2m.js.map +0 -1
- package/dist/components/p-DxkEC0hR.js +0 -2
- package/dist/components/p-DxkEC0hR.js.map +0 -1
- package/dist/components/p-Re2kPrXm.js +0 -2
- package/dist/components/p-Re2kPrXm.js.map +0 -1
- package/dist/components/p-XMZCaXs7.js +0 -2
- package/dist/components/p-XMZCaXs7.js.map +0 -1
- package/dist/components/p-dyUp3Adm.js +0 -2
- package/dist/components/p-dyUp3Adm.js.map +0 -1
- package/dist/components/p-nkYN0Bub.js +0 -2
- package/dist/components/p-nkYN0Bub.js.map +0 -1
- package/dist/framework/select-multi-value-accessor.d.ts +0 -9
- package/dist/framework/select-multi-value-accessor.js +0 -40
- package/dist/lib/shell/badge-gradient-ring.d.ts +0 -27
- package/dist/lib/shell/chrome-transition.d.ts +0 -32
- package/dist/lib/shell/shell-chrome-metrics.d.ts +0 -11
- package/dist/lib/shell/shell-gradient.d.ts +0 -41
- package/dist/lib/shell/shell-view-transition.d.ts +0 -23
- package/dist/mcp-data/registry/card-data-viz-bar.json +0 -213
- package/dist/mcp-data/registry/card-data-viz-donut.json +0 -214
- package/dist/mcp-data/registry/card-data-viz-line.json +0 -207
- package/dist/mcp-data/registry/card-shell-data-viz.json +0 -180
- package/dist/mcp-data/registry/chart-bar-stacked.json +0 -230
- package/dist/mcp-data/registry/select-multi.json +0 -758
- package/dist/mcp-data/registry/shell-gradient-picker.json +0 -195
- package/dist/mcp-data/registry/shell-gradient-swatch.json +0 -215
- package/dist/react/ds-card-data-viz-bar.d.ts +0 -12
- package/dist/react/ds-card-data-viz-bar.js +0 -12
- package/dist/react/ds-card-data-viz-donut.d.ts +0 -12
- package/dist/react/ds-card-data-viz-donut.js +0 -12
- package/dist/react/ds-card-data-viz-line.d.ts +0 -12
- package/dist/react/ds-card-data-viz-line.js +0 -12
- package/dist/react/ds-card-shell-data-viz.d.ts +0 -9
- package/dist/react/ds-card-shell-data-viz.js +0 -12
- package/dist/react/ds-chart-bar-stacked.d.ts +0 -9
- package/dist/react/ds-chart-bar-stacked.js +0 -12
- package/dist/react/ds-select-multi.d.ts +0 -14
- package/dist/react/ds-select-multi.js +0 -16
- package/dist/react/ds-shell-gradient-picker.d.ts +0 -12
- package/dist/react/ds-shell-gradient-picker.js +0 -12
- package/dist/react/ds-shell-gradient-swatch.d.ts +0 -12
- package/dist/react/ds-shell-gradient-swatch.js +0 -12
- package/dist/types/components/CardDataVizBar/CardDataVizBar.d.ts +0 -24
- package/dist/types/components/CardDataVizBar/index.d.ts +0 -2
- package/dist/types/components/CardDataVizDonut/CardDataVizDonut.d.ts +0 -28
- package/dist/types/components/CardDataVizDonut/index.d.ts +0 -2
- package/dist/types/components/CardDataVizLine/CardDataVizLine.d.ts +0 -24
- package/dist/types/components/CardDataVizLine/index.d.ts +0 -2
- package/dist/types/components/CardShellDataViz/CardShellDataViz.d.ts +0 -13
- package/dist/types/components/CardShellDataViz/index.d.ts +0 -2
- package/dist/types/components/ChartBarStacked/ChartBarStacked.d.ts +0 -26
- package/dist/types/components/ChartBarStacked/index.d.ts +0 -3
- package/dist/types/components/SelectMulti/SelectMulti.d.ts +0 -121
- package/dist/types/components/SelectMulti/index.d.ts +0 -2
- package/dist/types/components/ShellGradientPicker/ShellGradientPicker.d.ts +0 -12
- package/dist/types/components/ShellGradientSwatch/ShellGradientSwatch.d.ts +0 -15
- package/dist/types/components/ShellGradientSwatch/shell-gradient-swatch-types.d.ts +0 -4
- /package/dist/components/{p-CgEYdMee.js.map → p-6qXDqCj_.js.map} +0 -0
- /package/dist/components/{p-Cr3tEx7o.js.map → p-Ay1AX7Ql.js.map} +0 -0
- /package/dist/components/{p-BOCfICln.js.map → p-B1cbQ0SG.js.map} +0 -0
- /package/dist/components/{p-BKOlvCGS.js.map → p-BUZXuod2.js.map} +0 -0
- /package/dist/components/{p-DCvA3Dc9.js.map → p-BaUsq_VK.js.map} +0 -0
- /package/dist/components/{p-BO5aqZcf.js.map → p-BcTYhmku.js.map} +0 -0
- /package/dist/components/{p-BDKtu6Wb.js.map → p-BroVnDzE.js.map} +0 -0
- /package/dist/components/{p-CIiBpjCn.js.map → p-BsoqsbBh.js.map} +0 -0
- /package/dist/components/{p-C8HU4W8q.js.map → p-CBazaRlE.js.map} +0 -0
- /package/dist/components/{p-BhV5e6vF.js.map → p-CHuh71-U.js.map} +0 -0
- /package/dist/components/{p-CChcuL04.js.map → p-CMWata9g.js.map} +0 -0
- /package/dist/components/{p-DRnIuCiT.js.map → p-DeQwkbT1.js.map} +0 -0
- /package/dist/components/{p-Cuih680v.js.map → p-Df17mJqI.js.map} +0 -0
- /package/dist/components/{p-YR1XeuZf.js.map → p-ohsLFap_.js.map} +0 -0
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
-
"name": "chart-bar-stacked",
|
|
4
|
-
"title": "ChartBarStacked",
|
|
5
|
-
"description": "Multi-series stacked bar chart for comparing raw totals or normalized 0–100% composition across ordered categories and time buckets.",
|
|
6
|
-
"type": "registry:ui",
|
|
7
|
-
"meta": {
|
|
8
|
-
"library": "@ds-mo/ui",
|
|
9
|
-
"distribution": "npm",
|
|
10
|
-
"storybook": "https://zainadeel.github.io/compomo/?path=/story/chart-bar-stacked",
|
|
11
|
-
"source": "src/wc/components/ChartBarStacked/ChartBarStacked.tsx",
|
|
12
|
-
"intentStatus": "complete",
|
|
13
|
-
"intent": {
|
|
14
|
-
"audience": "specialized",
|
|
15
|
-
"status": "experimental",
|
|
16
|
-
"summary": "Multi-series stacked bar chart for comparing raw totals or normalized 0–100% composition across ordered categories and time buckets.",
|
|
17
|
-
"useWhen": [
|
|
18
|
-
"Users need to compare both a category total and the contribution of several consistent series.",
|
|
19
|
-
"A time series needs to show how its composition changes across equal time buckets.",
|
|
20
|
-
"Every category should normalize to 100% so proportional composition can be compared independently of total magnitude."
|
|
21
|
-
],
|
|
22
|
-
"avoidWhen": [
|
|
23
|
-
"Users need to compare individual series values precisely across categories; use grouped bars or separate charts.",
|
|
24
|
-
"The visualization has only one measure per category; use ChartBar.",
|
|
25
|
-
"The primary task is following continuous trends; use ChartLine.",
|
|
26
|
-
"Series contain negative values or do not align with the shared category list."
|
|
27
|
-
],
|
|
28
|
-
"alternatives": [
|
|
29
|
-
{
|
|
30
|
-
"when": "Each category contains one independent value.",
|
|
31
|
-
"component": "component:ds-chart-bar",
|
|
32
|
-
"reason": "ChartBar provides the simpler single-series magnitude comparison."
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"when": "Users need to follow one or more trends rather than compare stack composition.",
|
|
36
|
-
"component": "component:ds-chart-line",
|
|
37
|
-
"reason": "ChartLine preserves each series as a continuous path across the ordered axis."
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"when": "One category's parts-to-whole composition is the focus.",
|
|
41
|
-
"component": "component:ds-chart-donut",
|
|
42
|
-
"reason": "ChartDonut provides the dedicated single-total composition treatment."
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
"commonlyComposedWith": [
|
|
46
|
-
"component:ds-chart-legend",
|
|
47
|
-
"component:ds-card-shell-data-viz",
|
|
48
|
-
"component:ds-tooltip-data-viz"
|
|
49
|
-
],
|
|
50
|
-
"accessibility": [
|
|
51
|
-
"Provide a visible legend or adjacent textual summary that names every series; do not rely on segment color alone.",
|
|
52
|
-
"The chart image name includes each category and series value, using normalized percentages in percentage mode.",
|
|
53
|
-
"Use an adjacent data table when exact cross-category comparisons are necessary to complete the task."
|
|
54
|
-
],
|
|
55
|
-
"states": [
|
|
56
|
-
"Stacked mode preserves raw magnitudes and scales the y-axis to the largest category total.",
|
|
57
|
-
"Percentage mode normalizes each non-empty category independently and renders a fixed 0%, 25%, 50%, 75%, and 100% axis.",
|
|
58
|
-
"Series render bottom-to-top in authored order; keep that order and color mapping stable across categories.",
|
|
59
|
-
"Stacked mode gives only the top visible segment 2px top corners. Percentage mode keeps every corner square because the normalized stack touches both axis edges.",
|
|
60
|
-
"Adjacent segments are separated by a non-scaling 1px gap; the stack's outer edges do not receive that separator.",
|
|
61
|
-
"Negative values are unsupported and render as zero; the owning product supplies loading, empty, and error states."
|
|
62
|
-
],
|
|
63
|
-
"responsiveBehavior": [
|
|
64
|
-
"Width and height provide the standalone intrinsic viewport; constrained card regions are measured and reflow both axes to their rendered pixel dimensions.",
|
|
65
|
-
"Responsive layout changes stack positions and plot extents without scaling SVG text, strokes, separators, corner radii, or margins.",
|
|
66
|
-
"The parent chooses how many time buckets remain legible at each width.",
|
|
67
|
-
"Pre-format category labels and reduce bucket count before rendering when horizontal space becomes constrained."
|
|
68
|
-
],
|
|
69
|
-
"frameworkCaveats": {
|
|
70
|
-
"customElements": [
|
|
71
|
-
"Assign series and categories as JavaScript properties and keep every series aligned to the category count."
|
|
72
|
-
],
|
|
73
|
-
"react": [
|
|
74
|
-
"Pass stable series and category arrays; choose percentage variant only when each category represents a meaningful whole."
|
|
75
|
-
],
|
|
76
|
-
"angular": [
|
|
77
|
-
"Bind series and categories as properties; choose percentage variant only when each category represents a meaningful whole."
|
|
78
|
-
]
|
|
79
|
-
},
|
|
80
|
-
"references": [
|
|
81
|
-
{
|
|
82
|
-
"label": "Storybook examples",
|
|
83
|
-
"path": "src/wc/components/ChartBarStacked/ChartBarStacked.stories.ts"
|
|
84
|
-
}
|
|
85
|
-
]
|
|
86
|
-
},
|
|
87
|
-
"api": {
|
|
88
|
-
"props": {
|
|
89
|
-
"categories": {
|
|
90
|
-
"type": "string[]",
|
|
91
|
-
"resolvedType": "string[]",
|
|
92
|
-
"default": "[]",
|
|
93
|
-
"required": false,
|
|
94
|
-
"mutable": false,
|
|
95
|
-
"description": "X-axis labels — must match each series' `data` length. Set as a JS property."
|
|
96
|
-
},
|
|
97
|
-
"height": {
|
|
98
|
-
"type": "number",
|
|
99
|
-
"resolvedType": "number",
|
|
100
|
-
"attribute": "height",
|
|
101
|
-
"default": "240",
|
|
102
|
-
"required": false,
|
|
103
|
-
"mutable": false,
|
|
104
|
-
"description": "Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size."
|
|
105
|
-
},
|
|
106
|
-
"series": {
|
|
107
|
-
"type": "ChartSeries[]",
|
|
108
|
-
"resolvedType": "ChartSeries[]",
|
|
109
|
-
"default": "[]",
|
|
110
|
-
"required": false,
|
|
111
|
-
"mutable": false,
|
|
112
|
-
"description": "Ordered stack series. Set as a JS property (not an HTML attribute)."
|
|
113
|
-
},
|
|
114
|
-
"variant": {
|
|
115
|
-
"type": "ChartBarStackedVariant",
|
|
116
|
-
"resolvedType": "\"percentage\" | \"stacked\"",
|
|
117
|
-
"attribute": "variant",
|
|
118
|
-
"default": "'stacked'",
|
|
119
|
-
"required": false,
|
|
120
|
-
"mutable": false
|
|
121
|
-
},
|
|
122
|
-
"width": {
|
|
123
|
-
"type": "number",
|
|
124
|
-
"resolvedType": "number",
|
|
125
|
-
"attribute": "width",
|
|
126
|
-
"default": "480",
|
|
127
|
-
"required": false,
|
|
128
|
-
"mutable": false,
|
|
129
|
-
"description": "Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size."
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"events": [],
|
|
133
|
-
"methods": [],
|
|
134
|
-
"slots": []
|
|
135
|
-
},
|
|
136
|
-
"props": {
|
|
137
|
-
"categories": {
|
|
138
|
-
"type": "string[]",
|
|
139
|
-
"resolvedType": "string[]",
|
|
140
|
-
"default": "[]",
|
|
141
|
-
"required": false,
|
|
142
|
-
"mutable": false,
|
|
143
|
-
"description": "X-axis labels — must match each series' `data` length. Set as a JS property."
|
|
144
|
-
},
|
|
145
|
-
"height": {
|
|
146
|
-
"type": "number",
|
|
147
|
-
"resolvedType": "number",
|
|
148
|
-
"attribute": "height",
|
|
149
|
-
"default": "240",
|
|
150
|
-
"required": false,
|
|
151
|
-
"mutable": false,
|
|
152
|
-
"description": "Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size."
|
|
153
|
-
},
|
|
154
|
-
"series": {
|
|
155
|
-
"type": "ChartSeries[]",
|
|
156
|
-
"resolvedType": "ChartSeries[]",
|
|
157
|
-
"default": "[]",
|
|
158
|
-
"required": false,
|
|
159
|
-
"mutable": false,
|
|
160
|
-
"description": "Ordered stack series. Set as a JS property (not an HTML attribute)."
|
|
161
|
-
},
|
|
162
|
-
"variant": {
|
|
163
|
-
"type": "ChartBarStackedVariant",
|
|
164
|
-
"resolvedType": "\"percentage\" | \"stacked\"",
|
|
165
|
-
"attribute": "variant",
|
|
166
|
-
"default": "'stacked'",
|
|
167
|
-
"required": false,
|
|
168
|
-
"mutable": false
|
|
169
|
-
},
|
|
170
|
-
"width": {
|
|
171
|
-
"type": "number",
|
|
172
|
-
"resolvedType": "number",
|
|
173
|
-
"attribute": "width",
|
|
174
|
-
"default": "480",
|
|
175
|
-
"required": false,
|
|
176
|
-
"mutable": false,
|
|
177
|
-
"description": "Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size."
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
"events": [],
|
|
181
|
-
"methods": [],
|
|
182
|
-
"slots": [],
|
|
183
|
-
"exports": {
|
|
184
|
-
"customElement": "ds-chart-bar-stacked",
|
|
185
|
-
"react": "DsChartBarStacked",
|
|
186
|
-
"angular": "DsChartBarStacked"
|
|
187
|
-
},
|
|
188
|
-
"consumption": {
|
|
189
|
-
"install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
|
|
190
|
-
"cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
|
|
191
|
-
"customElements": {
|
|
192
|
-
"import": "import '@ds-mo/ui/dist/components/ds-chart-bar-stacked.js';",
|
|
193
|
-
"example": "<ds-chart-bar-stacked></ds-chart-bar-stacked>"
|
|
194
|
-
},
|
|
195
|
-
"react": {
|
|
196
|
-
"import": "import { DsChartBarStacked } from '@ds-mo/ui/react';",
|
|
197
|
-
"example": "<DsChartBarStacked />"
|
|
198
|
-
},
|
|
199
|
-
"angular": {
|
|
200
|
-
"import": "import { DsChartBarStacked } from '@ds-mo/ui/angular/ds-chart-bar-stacked';",
|
|
201
|
-
"example": "<ds-chart-bar-stacked></ds-chart-bar-stacked>"
|
|
202
|
-
},
|
|
203
|
-
"complexPropertyNote": "Assign these non-primitive values as JavaScript properties: categories, series.",
|
|
204
|
-
"peerDependencies": {
|
|
205
|
-
"required": [
|
|
206
|
-
"@ds-mo/tokens ^5.0.0",
|
|
207
|
-
"@ds-mo/icons ^6.4.0"
|
|
208
|
-
],
|
|
209
|
-
"frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
},
|
|
213
|
-
"dependencies": [
|
|
214
|
-
"@ds-mo/ui",
|
|
215
|
-
"@ds-mo/tokens"
|
|
216
|
-
],
|
|
217
|
-
"registryDependencies": [],
|
|
218
|
-
"files": [
|
|
219
|
-
{
|
|
220
|
-
"path": "src/wc/components/ChartBarStacked/ChartBarStacked.css",
|
|
221
|
-
"content": ":host {\n display: inline-flex;\n max-width: 100%;\n font-family: var(--typography-font-family);\n}\n\n.chart-bar-stacked__svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.chart-bar-stacked__gridline {\n stroke: var(--color-border-tertiary);\n stroke-width: var(--dimension-stroke-width-012);\n vector-effect: non-scaling-stroke;\n}\n\n/* Matches ds-text text-caption regular (SVG cannot host ds-text). */\n.chart-bar-stacked__axis-label {\n fill: var(--color-foreground-secondary);\n font-family: var(--typography-font-family);\n font-size: var(--typography-fontsize-xs);\n font-weight: var(--typography-weight-medium);\n letter-spacing: var(--typography-letterspacing-positive);\n text-transform: uppercase;\n}\n\n.chart-bar-stacked__segment-shape--rounded {\n rx: var(--dimension-radius-025);\n}\n\n.chart-bar-stacked__segment-separator {\n stroke: var(--color-background-primary);\n stroke-width: var(--dimension-stroke-width-012);\n stroke-linecap: butt;\n vector-effect: non-scaling-stroke;\n}\n",
|
|
222
|
-
"type": "registry:ui"
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
"path": "src/wc/components/ChartBarStacked/ChartBarStacked.tsx",
|
|
226
|
-
"content": "import { Component, Prop, State, Watch, h, Host } from '@stencil/core';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport { categoryColor } from '../../utils/chart-colors';\nimport { formatPercentage } from '../../utils';\nimport { resolveCartesianChartLayout } from '../../utils/cartesian-chart-layout';\nimport {\n ChartViewportController,\n type ChartViewportSize,\n} from '../../utils/chart-viewport-controller';\nimport type { ChartSeries } from '../../utils/chart-types';\n\nexport type ChartBarStackedVariant = 'stacked' | 'percentage';\n\nconst PERCENTAGE_TICKS = [0, 25, 50, 75, 100];\n\n@Component({\n tag: 'ds-chart-bar-stacked',\n styleUrl: 'ChartBarStacked.css',\n scoped: true,\n})\nexport class ChartBarStacked {\n /** Ordered stack series. Set as a JS property (not an HTML attribute). */\n @Prop() series: ChartSeries[] = [];\n /** X-axis labels — must match each series' `data` length. Set as a JS property. */\n @Prop() categories: string[] = [];\n @Prop() variant: ChartBarStackedVariant = 'stacked';\n /** Standalone intrinsic width. Container constraints reflow the plot at rendered pixel size. */\n @Prop() width: number = 480;\n /** Standalone intrinsic height. Container constraints reflow the plot at rendered pixel size. */\n @Prop() height: number = 240;\n\n @State() private viewport: ChartViewportSize | undefined;\n\n private viewportController: ChartViewportController | null = null;\n private svgEl: SVGElement | null = null;\n\n componentDidLoad() {\n this.connectViewportController();\n }\n\n connectedCallback() {\n if (this.svgEl && !this.viewportController) this.connectViewportController();\n }\n\n componentDidRender() {\n if (!this.viewportController) this.connectViewportController();\n }\n\n private connectViewportController() {\n if (!this.svgEl) return;\n this.viewportController = new ChartViewportController(this.svgEl, viewport => {\n if (\n viewport.width !== this.viewport?.width ||\n viewport.height !== this.viewport?.height\n ) {\n this.viewport = viewport;\n }\n });\n this.viewportController.connect();\n }\n\n disconnectedCallback() {\n this.viewportController?.disconnect();\n this.viewportController = null;\n }\n\n @Watch('width')\n @Watch('height')\n handleIntrinsicSizeChange() {\n this.viewport = undefined;\n if (typeof requestAnimationFrame === 'function') {\n requestAnimationFrame(() => this.viewportController?.measure());\n }\n }\n\n private valuesForCategory(categoryIndex: number) {\n return this.series.map(series => Math.max(0, series.data[categoryIndex] ?? 0));\n }\n\n private accessibleLabel() {\n return this.categories\n .map((category, categoryIndex) => {\n const values = this.valuesForCategory(categoryIndex);\n const total = values.reduce((sum, value) => sum + value, 0);\n const details = this.series\n .map((series, seriesIndex) => {\n const value = values[seriesIndex];\n const visibleValue = this.variant === 'percentage'\n ? formatPercentage(total ? value / total : 0, 1)\n : String(value);\n return `${series.name}: ${visibleValue}`;\n })\n .join(', ');\n return `${category}: ${details}`;\n })\n .join('; ');\n }\n\n render() {\n const viewportWidth = this.viewport?.width ?? this.width;\n const viewportHeight = this.viewport?.height ?? this.height;\n const { margin, axisLabelGap, categoryLabelOffset } =\n resolveCartesianChartLayout();\n const innerWidth = Math.max(0, viewportWidth - margin.left - margin.right);\n const innerHeight = Math.max(0, viewportHeight - margin.top - margin.bottom);\n const categoryValues = this.categories.map((_, index) => this.valuesForCategory(index));\n const totals = categoryValues.map(values =>\n values.reduce((sum, value) => sum + value, 0)\n );\n const yMax = this.variant === 'percentage' ? 100 : Math.max(0, ...totals);\n\n const xScale = scaleBand()\n .domain(this.categories)\n .range([0, innerWidth])\n .padding(0.35);\n\n const yScale = scaleLinear()\n .domain([0, yMax || 1])\n .range([innerHeight, 0])\n .nice();\n\n const yTicks = this.variant === 'percentage' ? PERCENTAGE_TICKS : yScale.ticks(4);\n\n return (\n <Host class=\"chart-bar-stacked\">\n <svg\n class=\"chart-bar-stacked__svg\"\n ref={element => {\n this.svgEl = element ?? null;\n }}\n width={viewportWidth}\n height={viewportHeight}\n role=\"img\"\n aria-label={this.accessibleLabel()}\n >\n <g transform={`translate(${margin.left}, ${margin.top})`}>\n {yTicks.map(tick => (\n <g key={`grid-${tick}`} transform={`translate(0, ${yScale(tick)})`}>\n <line class=\"chart-bar-stacked__gridline\" x1={0} x2={innerWidth} />\n <text\n class=\"chart-bar-stacked__axis-label\"\n x={-axisLabelGap}\n text-anchor=\"end\"\n dominant-baseline=\"middle\"\n >\n {this.variant === 'percentage' ? `${tick}%` : tick}\n </text>\n </g>\n ))}\n\n {this.categories.map((category, categoryIndex) => {\n const barWidth = xScale.bandwidth();\n const barX = xScale(category) ?? 0;\n const values = categoryValues[categoryIndex];\n const total = totals[categoryIndex];\n const topSeriesIndex = values.reduce(\n (topIndex, value, seriesIndex) => (value > 0 ? seriesIndex : topIndex),\n -1\n );\n let cumulativeValue = 0;\n\n return (\n <g class=\"chart-bar-stacked__stack\" data-category={category} key={category}>\n {this.series.map((series, seriesIndex) => {\n const rawValue = values[seriesIndex];\n const value = this.variant === 'percentage'\n ? total\n ? (rawValue / total) * 100\n : 0\n : rawValue;\n const segmentStart = cumulativeValue;\n const segmentEnd = cumulativeValue + value;\n cumulativeValue = segmentEnd;\n\n const segmentY = yScale(segmentEnd);\n const segmentBottom = yScale(segmentStart);\n const segmentHeight = Math.max(0, segmentBottom - segmentY);\n if (!segmentHeight) return null;\n\n const fill = series.color ?? categoryColor(seriesIndex);\n const isTopSegment = seriesIndex === topSeriesIndex;\n const hasRoundedTop =\n this.variant === 'stacked' && isTopSegment;\n const squareBaseY = segmentY + segmentHeight / 2;\n const squareBaseHeight = segmentHeight / 2;\n\n return (\n <g\n class=\"chart-bar-stacked__segment\"\n data-series={series.name}\n key={series.name}\n >\n <rect\n class={{\n 'chart-bar-stacked__segment-shape': true,\n 'chart-bar-stacked__segment-shape--rounded': hasRoundedTop,\n }}\n x={barX}\n y={segmentY}\n width={barWidth}\n height={segmentHeight}\n fill={fill}\n />\n {hasRoundedTop ? (\n <rect\n class=\"chart-bar-stacked__segment-square-base\"\n x={barX}\n y={squareBaseY}\n width={barWidth}\n height={squareBaseHeight}\n fill={fill}\n />\n ) : null}\n {segmentStart > 0 ? (\n <line\n class=\"chart-bar-stacked__segment-separator\"\n x1={barX}\n x2={barX + barWidth}\n y1={segmentBottom}\n y2={segmentBottom}\n vector-effect=\"non-scaling-stroke\"\n />\n ) : null}\n </g>\n );\n })}\n <text\n class=\"chart-bar-stacked__axis-label\"\n x={barX + barWidth / 2}\n y={innerHeight + categoryLabelOffset}\n text-anchor=\"middle\"\n >\n {category}\n </text>\n </g>\n );\n })}\n </g>\n </svg>\n </Host>\n );\n }\n}\n",
|
|
227
|
-
"type": "registry:ui"
|
|
228
|
-
}
|
|
229
|
-
]
|
|
230
|
-
}
|