@ds-mo/ui 14.15.1 → 14.17.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 +3 -3
- package/dist/agent.json +317 -24
- package/dist/angular/ds-button-unfilled.d.ts +1 -1
- package/dist/angular/ds-button-unfilled.js +3 -3
- package/dist/angular/ds-filter-menu.d.ts +1 -1
- package/dist/angular/ds-filter-menu.js +3 -3
- package/dist/angular/ds-select.d.ts +1 -1
- package/dist/angular/ds-select.js +3 -3
- package/dist/angular/ds-table-filter.d.ts +44 -0
- package/dist/angular/ds-table-filter.js +57 -0
- package/dist/angular/ds-table-sort.d.ts +16 -0
- package/dist/angular/ds-table-sort.js +43 -0
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +2 -0
- package/dist/angular/proxies.d.ts +2 -0
- package/dist/angular/proxies.js +2 -0
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-questionnaire.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-action.js +1 -1
- package/dist/components/ds-bar-action.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-bar-workflow.js.map +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-card-chart.js +1 -1
- package/dist/components/ds-card-chart.js.map +1 -1
- 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-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.js +1 -1
- package/dist/components/ds-chart.js.map +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-chip.js.map +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-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-filter-menu.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-loader.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-actions.js.map +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-scroller.js.map +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-pagination.js +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-sub-nav.js.map +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-tool-search.js.map +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-paper-texture.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-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-tools.js +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-table-filter.d.ts +11 -0
- package/dist/components/ds-table-filter.js +2 -0
- package/dist/components/ds-table-filter.js.map +1 -0
- package/dist/components/ds-table-saved-views.js +1 -1
- package/dist/components/ds-table-saved-views.js.map +1 -1
- package/dist/components/ds-table-sort.d.ts +11 -0
- package/dist/components/ds-table-sort.js +2 -0
- package/dist/components/ds-table-sort.js.map +1 -0
- package/dist/components/ds-table-toolbar.js +1 -1
- package/dist/components/ds-table-toolbar.js.map +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +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-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-23u3lIr1.js +2 -0
- package/dist/components/{p-DLkNcCY0.js.map → p-23u3lIr1.js.map} +1 -1
- package/dist/components/{p-C1q-tq3U.js → p-7tZx4ukz.js} +2 -2
- package/dist/components/{p-DfyfrfHL.js → p-Asi9h3pa.js} +2 -2
- package/dist/components/{p-DfyfrfHL.js.map → p-Asi9h3pa.js.map} +1 -1
- package/dist/components/{p-C5TrNd31.js → p-B0PEg5RF.js} +2 -2
- package/dist/components/{p-C5TrNd31.js.map → p-B0PEg5RF.js.map} +1 -1
- package/dist/components/p-BFSLT0yc.js +2 -0
- package/dist/components/p-BFSLT0yc.js.map +1 -0
- package/dist/components/{p-DZFilC--.js → p-BGXqFq2C.js} +2 -2
- package/dist/components/{p-Rfpd5mWO.js → p-BHDkJmrC.js} +2 -2
- package/dist/components/{p-Rfpd5mWO.js.map → p-BHDkJmrC.js.map} +1 -1
- package/dist/components/{p-Cyw9odJX.js → p-BHz78C8h.js} +2 -2
- package/dist/components/{p-Cyw9odJX.js.map → p-BHz78C8h.js.map} +1 -1
- package/dist/components/{p-Dcnd5ZX5.js → p-BKp__CQX.js} +2 -2
- package/dist/components/{p-V2ywPfsR.js → p-BVlfQ8xZ.js} +2 -2
- package/dist/components/{p-V2ywPfsR.js.map → p-BVlfQ8xZ.js.map} +1 -1
- package/dist/components/p-BdnQv7Zl.js +2 -0
- package/dist/components/p-BdnQv7Zl.js.map +1 -0
- package/dist/components/{p-Dsn1RCS5.js → p-Be1sY58w.js} +2 -2
- package/dist/components/{p-Dsn1RCS5.js.map → p-Be1sY58w.js.map} +1 -1
- package/dist/components/p-Bh67XbfB.js +2 -0
- package/dist/components/{p-BzLnSwG9.js.map → p-Bh67XbfB.js.map} +1 -1
- package/dist/components/{p-Btxwp4lJ.js → p-BhYWdbEp.js} +2 -2
- package/dist/components/{p-Btxwp4lJ.js.map → p-BhYWdbEp.js.map} +1 -1
- package/dist/components/{p-D1Nqlrrl.js → p-Bn8NryHK.js} +2 -2
- package/dist/components/{p-D1Nqlrrl.js.map → p-Bn8NryHK.js.map} +1 -1
- package/dist/components/{p-B80NfEqc.js → p-C0X2zKbB.js} +2 -2
- package/dist/components/{p-Ct-m0I6U.js → p-C4TgWJi9.js} +2 -2
- package/dist/components/p-CKmfuK7k.js +2 -0
- package/dist/components/p-CKmfuK7k.js.map +1 -0
- package/dist/components/{p-DTMxwYQj.js → p-CMFvaY05.js} +2 -2
- package/dist/components/{p-PzI11fs8.js → p-CzcWZiH-.js} +2 -2
- package/dist/components/{p-PzI11fs8.js.map → p-CzcWZiH-.js.map} +1 -1
- package/dist/components/{p-BagXfn1G.js → p-D1YhYulL.js} +2 -2
- package/dist/components/{p-BzObtSlo.js → p-D2z2DgtX.js} +2 -2
- package/dist/components/{p-BzObtSlo.js.map → p-D2z2DgtX.js.map} +1 -1
- package/dist/components/{p-BXPQmp7q.js → p-D4K9CE8a.js} +2 -2
- package/dist/components/{p-DcPVSNDr.js → p-D8Qd6gkf.js} +2 -2
- package/dist/components/{p-DcPVSNDr.js.map → p-D8Qd6gkf.js.map} +1 -1
- package/dist/components/{p-BHjw0x3L.js → p-DAqSoyd4.js} +2 -2
- package/dist/components/{p-BHjw0x3L.js.map → p-DAqSoyd4.js.map} +1 -1
- package/dist/components/p-DEjh3klB.js +2 -0
- package/dist/components/{p-CKJzHclc.js.map → p-DEjh3klB.js.map} +1 -1
- package/dist/components/{p-NdahPypA.js → p-DFQ9mcbK.js} +2 -2
- package/dist/components/{p-Ck_VRQYi.js → p-DHuyj-9J.js} +2 -2
- package/dist/components/{p-Ck_VRQYi.js.map → p-DHuyj-9J.js.map} +1 -1
- package/dist/components/p-DIEK54fV.js +2 -0
- package/dist/components/{p-URdgCwEs.js.map → p-DIEK54fV.js.map} +1 -1
- package/dist/components/{p-Bf_D3crn.js → p-DNJTN_s0.js} +2 -2
- package/dist/components/p-DOqnJVos.js +2 -0
- package/dist/components/{p-CWDmHPJC.js.map → p-DOqnJVos.js.map} +1 -1
- package/dist/components/{p-DL_5VENG.js → p-DQqOzDEq.js} +2 -2
- package/dist/components/{p-D-kWb8cF.js → p-DSIOINBK.js} +2 -2
- package/dist/components/{p-C5eosu67.js → p-DZ55e3j9.js} +2 -2
- package/dist/components/{p-C5eosu67.js.map → p-DZ55e3j9.js.map} +1 -1
- package/dist/components/{p-QdI17bl-.js → p-Dg9qiMDa.js} +2 -2
- package/dist/components/p-DsJW5W3W.js +2 -0
- package/dist/components/{p-C2n8A8NA.js.map → p-DsJW5W3W.js.map} +1 -1
- package/dist/components/p-JPTkZ3Ji.js +2 -0
- package/dist/components/p-JPTkZ3Ji.js.map +1 -0
- package/dist/components/p-NzGRAPcF.js +2 -0
- package/dist/components/p-NzGRAPcF.js.map +1 -0
- package/dist/components/{p-B7Hf86NF.js → p-PD1Vfg0t.js} +2 -2
- package/dist/components/{p-B7Hf86NF.js.map → p-PD1Vfg0t.js.map} +1 -1
- package/dist/components/{p-BxqBiVbH.js → p-U8JIZzI2.js} +2 -2
- package/dist/components/{p-BxqBiVbH.js.map → p-U8JIZzI2.js.map} +1 -1
- package/dist/components/{p-CKY989vF.js → p-ZZzC52Ea.js} +2 -2
- package/dist/components/{p-CKY989vF.js.map → p-ZZzC52Ea.js.map} +1 -1
- package/dist/components/p-__lNIImO.js +2 -0
- package/dist/components/{p-CnWC0QvG.js.map → p-__lNIImO.js.map} +1 -1
- package/dist/components/{p-vWK5faWZ.js → p-a6qP60zb.js} +2 -2
- package/dist/components/{p-CjgnFGd6.js → p-rrFMAZkj.js} +2 -2
- package/dist/components/{p-CjgnFGd6.js.map → p-rrFMAZkj.js.map} +1 -1
- package/dist/components/p-ruPTIV6t.js +2 -0
- package/dist/components/{p-M9DPfXbP.js.map → p-ruPTIV6t.js.map} +1 -1
- package/dist/components/{p-jMCRaxQW.js → p-y4jhIkRc.js} +2 -2
- package/dist/components/{p-jMCRaxQW.js.map → p-y4jhIkRc.js.map} +1 -1
- package/dist/docs/components.json +813 -76
- package/dist/mcp-data/registry/button-unfilled.json +26 -7
- package/dist/mcp-data/registry/filter-menu.json +21 -2
- package/dist/mcp-data/registry/loader.json +2 -1
- package/dist/mcp-data/registry/registry.json +322 -23
- package/dist/mcp-data/registry/select.json +22 -3
- package/dist/mcp-data/registry/table-filter.json +399 -0
- package/dist/mcp-data/registry/table-saved-views.json +4 -4
- package/dist/mcp-data/registry/table-sort.json +229 -0
- package/dist/mcp-data/registry/table-toolbar.json +21 -14
- package/dist/mcp-data/registry/table.json +11 -8
- package/dist/react/components.d.ts +2 -0
- package/dist/react/components.js +2 -0
- package/dist/react/ds-table-filter.d.ts +17 -0
- package/dist/react/ds-table-filter.js +19 -0
- package/dist/react/ds-table-sort.d.ts +12 -0
- package/dist/react/ds-table-sort.js +12 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +18 -1
- package/dist/types/components/FilterMenu/FilterMenu.d.ts +13 -0
- package/dist/types/components/Select/Select.d.ts +13 -0
- package/dist/types/components/Table/Table.d.ts +4 -0
- package/dist/types/components/Table/table-column-customizer.d.ts +2 -0
- package/dist/types/components/TableFilter/TableFilter.d.ts +37 -0
- package/dist/types/components/TableSort/TableSort.d.ts +24 -0
- package/dist/types/components/TableSort/table-sort-menu.d.ts +15 -0
- package/dist/types/components.d.ts +254 -2
- package/dist/types/utils/table-caption-compact.d.ts +6 -0
- package/dist/vue/components.d.ts +2 -0
- package/dist/vue/components.js +2 -0
- package/dist/vue/ds-button-unfilled.js +1 -0
- package/dist/vue/ds-filter-menu.js +1 -0
- package/dist/vue/ds-select.js +1 -0
- package/dist/vue/ds-table-filter.d.ts +3 -0
- package/dist/vue/ds-table-filter.js +29 -0
- package/dist/vue/ds-table-sort.d.ts +3 -0
- package/dist/vue/ds-table-sort.js +13 -0
- package/package.json +1 -1
- package/dist/components/p-BzLnSwG9.js +0 -2
- package/dist/components/p-C2n8A8NA.js +0 -2
- package/dist/components/p-C7rzVotG.js +0 -2
- package/dist/components/p-C7rzVotG.js.map +0 -1
- package/dist/components/p-CKJzHclc.js +0 -2
- package/dist/components/p-CWDmHPJC.js +0 -2
- package/dist/components/p-Ca-I2UnB.js +0 -2
- package/dist/components/p-Ca-I2UnB.js.map +0 -1
- package/dist/components/p-CnWC0QvG.js +0 -2
- package/dist/components/p-CooNucm0.js +0 -2
- package/dist/components/p-CooNucm0.js.map +0 -1
- package/dist/components/p-DLkNcCY0.js +0 -2
- package/dist/components/p-M9DPfXbP.js +0 -2
- package/dist/components/p-URdgCwEs.js +0 -2
- /package/dist/components/{p-C1q-tq3U.js.map → p-7tZx4ukz.js.map} +0 -0
- /package/dist/components/{p-DZFilC--.js.map → p-BGXqFq2C.js.map} +0 -0
- /package/dist/components/{p-Dcnd5ZX5.js.map → p-BKp__CQX.js.map} +0 -0
- /package/dist/components/{p-B80NfEqc.js.map → p-C0X2zKbB.js.map} +0 -0
- /package/dist/components/{p-Ct-m0I6U.js.map → p-C4TgWJi9.js.map} +0 -0
- /package/dist/components/{p-DTMxwYQj.js.map → p-CMFvaY05.js.map} +0 -0
- /package/dist/components/{p-BagXfn1G.js.map → p-D1YhYulL.js.map} +0 -0
- /package/dist/components/{p-BXPQmp7q.js.map → p-D4K9CE8a.js.map} +0 -0
- /package/dist/components/{p-NdahPypA.js.map → p-DFQ9mcbK.js.map} +0 -0
- /package/dist/components/{p-Bf_D3crn.js.map → p-DNJTN_s0.js.map} +0 -0
- /package/dist/components/{p-DL_5VENG.js.map → p-DQqOzDEq.js.map} +0 -0
- /package/dist/components/{p-D-kWb8cF.js.map → p-DSIOINBK.js.map} +0 -0
- /package/dist/components/{p-QdI17bl-.js.map → p-Dg9qiMDa.js.map} +0 -0
- /package/dist/components/{p-vWK5faWZ.js.map → p-a6qP60zb.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["bannerCss","Banner","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","heading","intent","contrast","orientation","open","dismissLabel","announcement","rendered","phase","hasActions","loaded","transitionTimer","openFrame","closePending","componentWillLoad","componentDidLoad","updateActionsPresence","startOpen","disconnectedCallback","clearTransitionWork","onOpenChange","isOpen","startClose","closeMotionMs","resolveMotionTimeMs","TOKEN_DEFAULTS","motionShort3","animationDurationShort3","clearTimeout","cancelAnimationFrame","requestAnimationFrame","duration","finishClose","setTimeout","dsAfterClose","emit","slot","actions","assignedElements","filter","element","tagName","Array","from","el","querySelectorAll","length","requestClose","event","dsClose","detail","role","undefined","ariaLive","render","closing","hostClass","banner","h","Host","key","class","inert","as","variant","color","description","name","onSlotchange","currentTarget","label","side","size","icon","type","background","hasBorder","activeFill","onDsClick"],"sources":["src/wc/components/Banner/Banner.css?tag=ds-banner&encapsulation=scoped","src/wc/components/Banner/Banner.tsx"],"sourcesContent":["@import '../../utils/forced-colors.css';\n@import '../../utils/chrome-header.css';\n\n:host {\n display: grid;\n overflow: hidden;\n min-width: 0;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--effect-animation-duration-short-3)\n var(--_banner-motion-easing);\n\n --ds-banner-background: var(--color-background-faint-neutral);\n --ds-banner-heading: var(--color-foreground-primary);\n --ds-banner-description: var(--color-foreground-secondary);\n --ds-banner-border: var(--color-border-tertiary);\n --_banner-motion-easing: var(--effect-animation-easing-ease-in-out, ease);\n}\n\n:host(.banner--open) {\n grid-template-rows: 1fr;\n --_banner-motion-easing: var(--effect-animation-easing-ease-out, ease-out);\n}\n\n:host(.banner--closing) {\n --_banner-motion-easing: var(--effect-animation-easing-ease-in, ease-in);\n}\n\n:host(.banner--hidden) {\n display: none;\n}\n\n.banner-overflow {\n min-height: 0;\n overflow: visible;\n}\n\n.banner-surface {\n display: flex;\n position: relative;\n width: 100%;\n padding-inline-end: calc(var(--dimension-size-400) + var(--dimension-space-200));\n color: var(--ds-banner-description);\n background-color: var(--ds-banner-background);\n border-bottom: var(--dimension-stroke-width-012) solid var(--ds-banner-border);\n transform: translateY(-100%);\n transition: transform var(--effect-animation-duration-short-3) var(--_banner-motion-easing);\n}\n\n:host(.banner--open) .banner-surface {\n transform: translateY(0);\n}\n\n.banner-copy {\n flex-basis: var(--dimension-card-width-sm);\n}\n\n:host(.banner--orientation-horizontal) .banner-surface {\n flex-wrap: nowrap;\n}\n\n:host(.banner--orientation-vertical) .banner-copy {\n flex-basis: 100%;\n}\n\n.banner-copy-flow {\n box-sizing: border-box;\n min-width: 0;\n padding-inline: var(--ds-control-label-inset, var(--dimension-space-025));\n color: var(--ds-banner-description);\n}\n\n.banner-heading {\n display: inline-block;\n width: auto;\n max-width: 100%;\n margin-inline-end: var(--dimension-space-100);\n vertical-align: baseline;\n color: var(--ds-banner-heading);\n}\n\n.banner-description {\n color: var(--ds-banner-description);\n}\n\n.banner-actions {\n display: flex;\n align-items: center;\n flex: 0 0 auto;\n flex-wrap: nowrap;\n min-width: 0;\n gap: var(--dimension-space-100);\n}\n\n.banner-actions slot {\n display: contents;\n}\n\n.banner-actions ::slotted(:not(ds-button-unfilled)),\n.banner-actions ::slotted(ds-button-unfilled:nth-of-type(n + 3)) {\n display: none;\n}\n\n.banner-actions--empty {\n display: none;\n}\n\n.banner-trailing {\n align-self: flex-start;\n flex-wrap: nowrap;\n}\n\n:host(.banner--orientation-vertical:not(.banner--has-actions)) .banner-trailing {\n display: contents;\n}\n\n:host(.banner--orientation-vertical.banner--has-actions) .banner-trailing {\n margin-inline: var(--dimension-space-100) auto;\n padding-block-end: var(--dimension-space-100);\n box-sizing: border-box;\n}\n\n:host(.banner--orientation-vertical) .banner-description {\n display: block;\n}\n\n:host(.banner--orientation-vertical) .banner-heading + .banner-description {\n margin-block-start: var(--dimension-space-050);\n}\n\n.banner-close {\n flex: 0 0 auto;\n}\n\n.banner-dismiss {\n position: absolute;\n inset-block-start: var(--dimension-space-100);\n inset-inline-end: var(--dimension-space-100);\n}\n\n:host(.banner--intent-neutral) {\n --ds-banner-faint-background: var(--color-background-faint-neutral);\n}\n\n:host(.banner--intent-brand) {\n --ds-banner-faint-background: var(--color-background-faint-brand);\n}\n\n:host(.banner--intent-positive) {\n --ds-banner-faint-background: var(--color-background-faint-positive);\n}\n\n:host(.banner--intent-warning) {\n --ds-banner-faint-background: var(--color-background-faint-warning);\n}\n\n:host(.banner--intent-caution) {\n --ds-banner-faint-background: var(--color-background-faint-caution);\n}\n\n:host(.banner--intent-negative) {\n --ds-banner-faint-background: var(--color-background-faint-negative);\n}\n\n:host(.banner--contrast-faint) {\n --ds-banner-background: var(--ds-banner-faint-background);\n --ds-banner-heading: var(--color-foreground-primary);\n --ds-banner-description: var(--color-foreground-secondary);\n --ds-banner-border: var(--color-border-tertiary);\n}\n\n:host(.banner--contrast-medium) {\n --ds-banner-background: var(--color-background-medium-neutral);\n --ds-banner-heading: var(--color-foreground-on-medium-background-primary);\n --ds-banner-description: var(--color-foreground-on-medium-background-secondary);\n --ds-banner-border: var(--color-border-on-medium-background-tertiary);\n}\n\n:host(.banner--intent-brand.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-brand); }\n:host(.banner--intent-positive.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-positive); }\n:host(.banner--intent-warning.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-warning); }\n:host(.banner--intent-caution.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-caution); }\n:host(.banner--intent-negative.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-negative); }\n\n:host(.banner--contrast-strong) {\n --ds-banner-background: var(--color-background-strong-neutral);\n --ds-banner-heading: var(--color-foreground-on-strong-background-primary);\n --ds-banner-description: var(--color-foreground-on-strong-background-secondary);\n --ds-banner-border: var(--color-border-on-strong-background-tertiary);\n}\n\n:host(.banner--intent-brand.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-brand); }\n:host(.banner--intent-positive.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-positive); }\n:host(.banner--intent-warning.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-warning); }\n:host(.banner--intent-caution.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-caution); }\n:host(.banner--intent-negative.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-negative); }\n\n:host(.banner--contrast-bold) {\n --ds-banner-background: var(--color-background-bold-neutral);\n --ds-banner-heading: var(--color-foreground-on-bold-background-primary);\n --ds-banner-description: var(--color-foreground-on-bold-background-secondary);\n --ds-banner-border: var(--color-border-on-bold-background-tertiary);\n}\n\n:host(.banner--intent-brand.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-brand); }\n:host(.banner--intent-positive.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-positive); }\n:host(.banner--intent-warning.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-warning); }\n:host(.banner--intent-caution.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-caution); }\n:host(.banner--intent-negative.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-negative); }\n\n@media (prefers-reduced-motion: reduce) {\n :host,\n .banner-surface {\n transition: none;\n }\n}\n\n@media (forced-colors: active) {\n .banner-surface {\n color: var(--ds-forced-color-content);\n background-color: var(--ds-forced-color-surface);\n border-bottom-color: var(--ds-forced-color-content);\n }\n\n .banner-heading,\n .banner-description {\n color: var(--ds-forced-color-content);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { resolveMotionTimeMs, TOKEN_DEFAULTS } from '../../utils';\n\nexport type BannerIntent =\n | 'neutral'\n | 'brand'\n | 'positive'\n | 'warning'\n | 'caution'\n | 'negative';\n\nexport type BannerContrast = 'faint' | 'medium' | 'strong' | 'bold';\nexport type BannerAnnouncement = 'none' | 'polite' | 'assertive';\nexport type BannerOrientation = 'horizontal' | 'vertical';\n\ntype BannerPhase = 'closed' | 'open' | 'closing';\n\n@Component({\n tag: 'ds-banner',\n styleUrl: 'Banner.css',\n scoped: true,\n})\nexport class Banner {\n @Element() el!: HTMLElement;\n\n /** Required explanatory copy. */\n @Prop() description!: string;\n /** Optional visual heading rendered before the description. */\n @Prop() heading: string = '';\n /** Semantic color family. */\n @Prop({ reflect: true }) intent: BannerIntent = 'neutral';\n /** Surface fill weight. */\n @Prop({ reflect: true }) contrast: BannerContrast = 'faint';\n /** Copy and action-lane arrangement, selected by the application. */\n @Prop({ reflect: true }) orientation: BannerOrientation = 'horizontal';\n /** Controlled visibility. Keep the element mounted until dsAfterClose when unmounting. */\n @Prop({ reflect: true }) open: boolean = true;\n /** Localized accessible label for the close control. */\n @Prop() dismissLabel: string = 'Dismiss banner';\n /** Live-region urgency, independent of visual intent. */\n @Prop() announcement: BannerAnnouncement = 'none';\n\n /** Emitted when the close control requests dismissal. The application controls open. */\n @Event() dsClose!: EventEmitter<MouseEvent>;\n /** Emitted once after controlled exit motion and layout collapse complete. */\n @Event() dsAfterClose!: EventEmitter<void>;\n\n @State() private rendered = false;\n @State() private phase: BannerPhase = 'closed';\n @State() private hasActions = false;\n\n private loaded = false;\n private transitionTimer: ReturnType<typeof setTimeout> | null = null;\n private openFrame: number | null = null;\n private closePending = false;\n\n componentWillLoad() {\n this.rendered = this.open;\n }\n\n componentDidLoad() {\n this.loaded = true;\n this.updateActionsPresence();\n if (this.open) this.startOpen();\n }\n\n disconnectedCallback() {\n this.clearTransitionWork();\n }\n\n @Watch('open')\n onOpenChange(isOpen: boolean) {\n if (!this.loaded) return;\n if (isOpen) this.startOpen();\n else this.startClose();\n }\n\n private get closeMotionMs(): number {\n return resolveMotionTimeMs(\n TOKEN_DEFAULTS.motionShort3,\n TOKEN_DEFAULTS.animationDurationShort3,\n );\n }\n\n private clearTransitionWork() {\n if (this.transitionTimer) clearTimeout(this.transitionTimer);\n if (this.openFrame !== null) cancelAnimationFrame(this.openFrame);\n this.transitionTimer = null;\n this.openFrame = null;\n }\n\n private startOpen() {\n this.clearTransitionWork();\n this.closePending = false;\n this.rendered = true;\n this.phase = 'closed';\n this.openFrame = requestAnimationFrame(() => {\n this.openFrame = null;\n if (this.open) this.phase = 'open';\n });\n }\n\n private startClose() {\n this.clearTransitionWork();\n if (!this.rendered || this.phase === 'closed') {\n this.rendered = false;\n return;\n }\n\n this.closePending = true;\n this.phase = 'closing';\n const duration = this.closeMotionMs;\n if (duration <= 0) {\n this.finishClose();\n return;\n }\n this.transitionTimer = setTimeout(() => {\n this.transitionTimer = null;\n this.finishClose();\n }, duration);\n }\n\n private finishClose() {\n if (this.open || !this.closePending) return;\n this.closePending = false;\n this.rendered = false;\n this.phase = 'closed';\n this.dsAfterClose.emit();\n }\n\n private updateActionsPresence(slot?: HTMLSlotElement) {\n const actions = slot\n ? slot.assignedElements().filter(element => element.tagName === 'DS-BUTTON-UNFILLED')\n : Array.from(this.el.querySelectorAll('ds-button-unfilled[slot=\"actions\"]'));\n this.hasActions = actions.length > 0;\n }\n\n private requestClose(event: CustomEvent<MouseEvent>) {\n if (!this.open || this.phase === 'closing') return;\n this.dsClose.emit(event.detail);\n }\n\n private get role(): 'status' | 'alert' | undefined {\n if (this.announcement === 'polite') return 'status';\n if (this.announcement === 'assertive') return 'alert';\n return undefined;\n }\n\n private get ariaLive(): 'polite' | 'assertive' | undefined {\n return this.announcement === 'none' ? undefined : this.announcement;\n }\n\n render() {\n const closing = this.phase === 'closing';\n const hostClass = {\n banner: true,\n 'banner--open': this.phase === 'open',\n 'banner--closing': closing,\n 'banner--hidden': !this.rendered,\n 'banner--has-actions': this.hasActions,\n [`banner--orientation-${this.orientation}`]: true,\n [`banner--intent-${this.intent}`]: true,\n [`banner--contrast-${this.contrast}`]: true,\n };\n\n return (\n <Host class={hostClass}>\n {this.rendered && (\n <div class=\"banner-overflow\">\n <section\n class=\"banner-surface ds-chrome-header ds-chrome-header--wrapping\"\n role={this.role}\n aria-live={this.ariaLive}\n aria-atomic={this.announcement === 'none' ? undefined : 'true'}\n aria-hidden={closing ? 'true' : undefined}\n inert={closing ? true : undefined}\n data-phase={this.phase}\n >\n {/* eslint-disable-next-line local/prefer-direct-ds-text -- The header-copy lane owns the 6px container inset separately from the inline text flow's 2px inset. */}\n <div class=\"banner-copy ds-chrome-header__copy ds-chrome-header__copy--wrapping ds-control--md\">\n <ds-text\n class=\"banner-copy-flow\"\n as=\"div\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n >\n {this.heading && (\n <ds-text\n class=\"banner-heading\"\n as=\"span\"\n variant=\"text-title-small\"\n color=\"inherit\"\n >\n {this.heading}\n </ds-text>\n )}\n <span class=\"banner-description\">{this.description}</span>\n </ds-text>\n </div>\n <div class=\"banner-trailing ds-chrome-header__trailing\">\n <div class={{ 'banner-actions': true, 'banner-actions--empty': !this.hasActions }}>\n <slot\n name=\"actions\"\n onSlotchange={(event: Event) =>\n this.updateActionsPresence(event.currentTarget as HTMLSlotElement)\n }\n />\n </div>\n <div class=\"banner-dismiss\">\n <ds-tooltip label={this.dismissLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"banner-close\"\n variant=\"icon\"\n icon=\"Cross\"\n size=\"md\"\n type=\"button\"\n background={this.contrast}\n aria-label={this.dismissLabel}\n hasBorder={false}\n activeFill={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.requestClose(event)}\n />\n </ds-tooltip>\n </div>\n </div>\n </section>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["bannerCss","Banner","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","heading","intent","contrast","orientation","open","dismissLabel","announcement","rendered","phase","hasActions","loaded","transitionTimer","openFrame","closePending","componentWillLoad","componentDidLoad","updateActionsPresence","startOpen","disconnectedCallback","clearTransitionWork","onOpenChange","isOpen","startClose","closeMotionMs","resolveMotionTimeMs","TOKEN_DEFAULTS","motionShort3","animationDurationShort3","clearTimeout","cancelAnimationFrame","requestAnimationFrame","duration","finishClose","setTimeout","dsAfterClose","emit","slot","actions","assignedElements","filter","element","tagName","Array","from","el","querySelectorAll","length","requestClose","event","dsClose","detail","role","undefined","ariaLive","render","closing","hostClass","banner","h","Host","key","class","inert","as","variant","color","description","name","onSlotchange","currentTarget","label","side","size","icon","type","background","hasBorder","activeFill","onDsClick"],"sources":["src/wc/components/Banner/Banner.css?tag=ds-banner&encapsulation=scoped","src/wc/components/Banner/Banner.tsx"],"sourcesContent":["@import '../../utils/forced-colors.css';\n@import '../../utils/chrome-header.css';\n\n:host {\n display: grid;\n overflow: hidden;\n min-width: 0;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--effect-animation-duration-short-3)\n var(--_banner-motion-easing);\n\n --ds-banner-background: var(--color-background-faint-neutral);\n --ds-banner-heading: var(--color-foreground-primary);\n --ds-banner-description: var(--color-foreground-secondary);\n --ds-banner-border: var(--color-border-tertiary);\n --_banner-motion-easing: var(--effect-animation-easing-ease-in-out, ease);\n}\n\n:host(.banner--open) {\n grid-template-rows: 1fr;\n --_banner-motion-easing: var(--effect-animation-easing-ease-out, ease-out);\n}\n\n:host(.banner--closing) {\n --_banner-motion-easing: var(--effect-animation-easing-ease-in, ease-in);\n}\n\n:host(.banner--hidden) {\n display: none;\n}\n\n.banner-overflow {\n min-height: 0;\n overflow: visible;\n}\n\n.banner-surface {\n display: flex;\n position: relative;\n width: 100%;\n padding-inline-end: calc(var(--dimension-size-400) + var(--dimension-space-200));\n color: var(--ds-banner-description);\n background-color: var(--ds-banner-background);\n border-bottom: var(--dimension-stroke-width-012) solid var(--ds-banner-border);\n transform: translateY(-100%);\n transition: transform var(--effect-animation-duration-short-3) var(--_banner-motion-easing);\n}\n\n:host(.banner--open) .banner-surface {\n transform: translateY(0);\n}\n\n.banner-copy {\n flex-basis: var(--dimension-card-width-sm);\n}\n\n:host(.banner--orientation-horizontal) .banner-surface {\n flex-wrap: nowrap;\n}\n\n:host(.banner--orientation-vertical) .banner-copy {\n flex-basis: 100%;\n}\n\n.banner-copy-flow {\n box-sizing: border-box;\n min-width: 0;\n padding-inline: var(--ds-control-label-inset, var(--dimension-space-025));\n color: var(--ds-banner-description);\n}\n\n.banner-heading {\n display: inline-block;\n width: auto;\n max-width: 100%;\n margin-inline-end: var(--dimension-space-100);\n vertical-align: baseline;\n color: var(--ds-banner-heading);\n}\n\n.banner-description {\n color: var(--ds-banner-description);\n}\n\n.banner-actions {\n display: flex;\n align-items: center;\n flex: 0 0 auto;\n flex-wrap: nowrap;\n min-width: 0;\n gap: var(--dimension-space-100);\n}\n\n.banner-actions slot {\n display: contents;\n}\n\n.banner-actions ::slotted(:not(ds-button-unfilled)),\n.banner-actions ::slotted(ds-button-unfilled:nth-of-type(n + 3)) {\n display: none;\n}\n\n.banner-actions--empty {\n display: none;\n}\n\n.banner-trailing {\n align-self: flex-start;\n flex-wrap: nowrap;\n}\n\n:host(.banner--orientation-vertical:not(.banner--has-actions)) .banner-trailing {\n display: contents;\n}\n\n:host(.banner--orientation-vertical.banner--has-actions) .banner-trailing {\n margin-inline: var(--dimension-space-100) auto;\n padding-block-end: var(--dimension-space-100);\n box-sizing: border-box;\n}\n\n:host(.banner--orientation-vertical) .banner-description {\n display: block;\n}\n\n:host(.banner--orientation-vertical) .banner-heading + .banner-description {\n margin-block-start: var(--dimension-space-050);\n}\n\n.banner-close {\n flex: 0 0 auto;\n}\n\n.banner-dismiss {\n position: absolute;\n inset-block-start: var(--dimension-space-100);\n inset-inline-end: var(--dimension-space-100);\n}\n\n:host(.banner--intent-neutral) {\n --ds-banner-faint-background: var(--color-background-faint-neutral);\n}\n\n:host(.banner--intent-brand) {\n --ds-banner-faint-background: var(--color-background-faint-brand);\n}\n\n:host(.banner--intent-positive) {\n --ds-banner-faint-background: var(--color-background-faint-positive);\n}\n\n:host(.banner--intent-warning) {\n --ds-banner-faint-background: var(--color-background-faint-warning);\n}\n\n:host(.banner--intent-caution) {\n --ds-banner-faint-background: var(--color-background-faint-caution);\n}\n\n:host(.banner--intent-negative) {\n --ds-banner-faint-background: var(--color-background-faint-negative);\n}\n\n:host(.banner--contrast-faint) {\n --ds-banner-background: var(--ds-banner-faint-background);\n --ds-banner-heading: var(--color-foreground-primary);\n --ds-banner-description: var(--color-foreground-secondary);\n --ds-banner-border: var(--color-border-tertiary);\n}\n\n:host(.banner--contrast-medium) {\n --ds-banner-background: var(--color-background-medium-neutral);\n --ds-banner-heading: var(--color-foreground-on-medium-background-primary);\n --ds-banner-description: var(--color-foreground-on-medium-background-secondary);\n --ds-banner-border: var(--color-border-on-medium-background-tertiary);\n}\n\n:host(.banner--intent-brand.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-brand); }\n:host(.banner--intent-positive.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-positive); }\n:host(.banner--intent-warning.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-warning); }\n:host(.banner--intent-caution.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-caution); }\n:host(.banner--intent-negative.banner--contrast-medium) { --ds-banner-background: var(--color-background-medium-negative); }\n\n:host(.banner--contrast-strong) {\n --ds-banner-background: var(--color-background-strong-neutral);\n --ds-banner-heading: var(--color-foreground-on-strong-background-primary);\n --ds-banner-description: var(--color-foreground-on-strong-background-secondary);\n --ds-banner-border: var(--color-border-on-strong-background-tertiary);\n}\n\n:host(.banner--intent-brand.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-brand); }\n:host(.banner--intent-positive.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-positive); }\n:host(.banner--intent-warning.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-warning); }\n:host(.banner--intent-caution.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-caution); }\n:host(.banner--intent-negative.banner--contrast-strong) { --ds-banner-background: var(--color-background-strong-negative); }\n\n:host(.banner--contrast-bold) {\n --ds-banner-background: var(--color-background-bold-neutral);\n --ds-banner-heading: var(--color-foreground-on-bold-background-primary);\n --ds-banner-description: var(--color-foreground-on-bold-background-secondary);\n --ds-banner-border: var(--color-border-on-bold-background-tertiary);\n}\n\n:host(.banner--intent-brand.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-brand); }\n:host(.banner--intent-positive.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-positive); }\n:host(.banner--intent-warning.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-warning); }\n:host(.banner--intent-caution.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-caution); }\n:host(.banner--intent-negative.banner--contrast-bold) { --ds-banner-background: var(--color-background-bold-negative); }\n\n@media (prefers-reduced-motion: reduce) {\n :host,\n .banner-surface {\n transition: none;\n }\n}\n\n@media (forced-colors: active) {\n .banner-surface {\n color: var(--ds-forced-color-content);\n background-color: var(--ds-forced-color-surface);\n border-bottom-color: var(--ds-forced-color-content);\n }\n\n .banner-heading,\n .banner-description {\n color: var(--ds-forced-color-content);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { resolveMotionTimeMs, TOKEN_DEFAULTS } from '../../utils';\n\nexport type BannerIntent =\n | 'neutral'\n | 'brand'\n | 'positive'\n | 'warning'\n | 'caution'\n | 'negative';\n\nexport type BannerContrast = 'faint' | 'medium' | 'strong' | 'bold';\nexport type BannerAnnouncement = 'none' | 'polite' | 'assertive';\nexport type BannerOrientation = 'horizontal' | 'vertical';\n\ntype BannerPhase = 'closed' | 'open' | 'closing';\n\n@Component({\n tag: 'ds-banner',\n styleUrl: 'Banner.css',\n scoped: true,\n})\nexport class Banner {\n @Element() el!: HTMLElement;\n\n /** Required explanatory copy. */\n @Prop() description!: string;\n /** Optional visual heading rendered before the description. */\n @Prop() heading: string = '';\n /** Semantic color family. */\n @Prop({ reflect: true }) intent: BannerIntent = 'neutral';\n /** Surface fill weight. */\n @Prop({ reflect: true }) contrast: BannerContrast = 'faint';\n /** Copy and action-lane arrangement, selected by the application. */\n @Prop({ reflect: true }) orientation: BannerOrientation = 'horizontal';\n /** Controlled visibility. Keep the element mounted until dsAfterClose when unmounting. */\n @Prop({ reflect: true }) open: boolean = true;\n /** Localized accessible label for the close control. */\n @Prop() dismissLabel: string = 'Dismiss banner';\n /** Live-region urgency, independent of visual intent. */\n @Prop() announcement: BannerAnnouncement = 'none';\n\n /** Emitted when the close control requests dismissal. The application controls open. */\n @Event() dsClose!: EventEmitter<MouseEvent>;\n /** Emitted once after controlled exit motion and layout collapse complete. */\n @Event() dsAfterClose!: EventEmitter<void>;\n\n @State() private rendered = false;\n @State() private phase: BannerPhase = 'closed';\n @State() private hasActions = false;\n\n private loaded = false;\n private transitionTimer: ReturnType<typeof setTimeout> | null = null;\n private openFrame: number | null = null;\n private closePending = false;\n\n componentWillLoad() {\n this.rendered = this.open;\n }\n\n componentDidLoad() {\n this.loaded = true;\n this.updateActionsPresence();\n if (this.open) this.startOpen();\n }\n\n disconnectedCallback() {\n this.clearTransitionWork();\n }\n\n @Watch('open')\n onOpenChange(isOpen: boolean) {\n if (!this.loaded) return;\n if (isOpen) this.startOpen();\n else this.startClose();\n }\n\n private get closeMotionMs(): number {\n return resolveMotionTimeMs(\n TOKEN_DEFAULTS.motionShort3,\n TOKEN_DEFAULTS.animationDurationShort3,\n );\n }\n\n private clearTransitionWork() {\n if (this.transitionTimer) clearTimeout(this.transitionTimer);\n if (this.openFrame !== null) cancelAnimationFrame(this.openFrame);\n this.transitionTimer = null;\n this.openFrame = null;\n }\n\n private startOpen() {\n this.clearTransitionWork();\n this.closePending = false;\n this.rendered = true;\n this.phase = 'closed';\n this.openFrame = requestAnimationFrame(() => {\n this.openFrame = null;\n if (this.open) this.phase = 'open';\n });\n }\n\n private startClose() {\n this.clearTransitionWork();\n if (!this.rendered || this.phase === 'closed') {\n this.rendered = false;\n return;\n }\n\n this.closePending = true;\n this.phase = 'closing';\n const duration = this.closeMotionMs;\n if (duration <= 0) {\n this.finishClose();\n return;\n }\n this.transitionTimer = setTimeout(() => {\n this.transitionTimer = null;\n this.finishClose();\n }, duration);\n }\n\n private finishClose() {\n if (this.open || !this.closePending) return;\n this.closePending = false;\n this.rendered = false;\n this.phase = 'closed';\n this.dsAfterClose.emit();\n }\n\n private updateActionsPresence(slot?: HTMLSlotElement) {\n const actions = slot\n ? slot.assignedElements().filter(element => element.tagName === 'DS-BUTTON-UNFILLED')\n : Array.from(this.el.querySelectorAll('ds-button-unfilled[slot=\"actions\"]'));\n this.hasActions = actions.length > 0;\n }\n\n private requestClose(event: CustomEvent<MouseEvent>) {\n if (!this.open || this.phase === 'closing') return;\n this.dsClose.emit(event.detail);\n }\n\n private get role(): 'status' | 'alert' | undefined {\n if (this.announcement === 'polite') return 'status';\n if (this.announcement === 'assertive') return 'alert';\n return undefined;\n }\n\n private get ariaLive(): 'polite' | 'assertive' | undefined {\n return this.announcement === 'none' ? undefined : this.announcement;\n }\n\n render() {\n const closing = this.phase === 'closing';\n const hostClass = {\n banner: true,\n 'banner--open': this.phase === 'open',\n 'banner--closing': closing,\n 'banner--hidden': !this.rendered,\n 'banner--has-actions': this.hasActions,\n [`banner--orientation-${this.orientation}`]: true,\n [`banner--intent-${this.intent}`]: true,\n [`banner--contrast-${this.contrast}`]: true,\n };\n\n return (\n <Host class={hostClass}>\n {this.rendered && (\n <div class=\"banner-overflow\">\n <section\n class=\"banner-surface ds-chrome-header ds-chrome-header--wrapping\"\n role={this.role}\n aria-live={this.ariaLive}\n aria-atomic={this.announcement === 'none' ? undefined : 'true'}\n aria-hidden={closing ? 'true' : undefined}\n inert={closing ? true : undefined}\n data-phase={this.phase}\n >\n {/* eslint-disable-next-line local/prefer-direct-ds-text -- The header-copy lane owns the 6px container inset separately from the inline text flow's 2px inset. */}\n <div class=\"banner-copy ds-chrome-header__copy ds-chrome-header__copy--wrapping ds-control--md\">\n <ds-text\n class=\"banner-copy-flow\"\n as=\"div\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n >\n {this.heading && (\n <ds-text\n class=\"banner-heading\"\n as=\"span\"\n variant=\"text-title-small\"\n color=\"inherit\"\n >\n {this.heading}\n </ds-text>\n )}\n <span class=\"banner-description\">{this.description}</span>\n </ds-text>\n </div>\n <div class=\"banner-trailing ds-chrome-header__trailing\">\n <div class={{ 'banner-actions': true, 'banner-actions--empty': !this.hasActions }}>\n <slot\n name=\"actions\"\n onSlotchange={(event: Event) =>\n this.updateActionsPresence(event.currentTarget as HTMLSlotElement)\n }\n />\n </div>\n <div class=\"banner-dismiss\">\n <ds-tooltip label={this.dismissLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"banner-close\"\n variant=\"icon\"\n icon=\"Cross\"\n size=\"md\"\n type=\"button\"\n background={this.contrast}\n aria-label={this.dismissLabel}\n hasBorder={false}\n activeFill={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.requestClose(event)}\n />\n </ds-tooltip>\n </div>\n </div>\n </section>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"gUAAA,MAAMA,EAAY,IAAM,o8U,MCgCXC,EAAMC,EAAA,MAAAD,UAAAE,EALnB,WAAAC,CAAAC,G,wHAWUC,KAAAC,QAAkB,GAEDD,KAAAE,OAAuB,UAEvBF,KAAAG,SAA2B,QAE3BH,KAAAI,YAAiC,aAEjCJ,KAAAK,KAAgB,KAEjCL,KAAAM,aAAuB,iBAEvBN,KAAAO,aAAmC,OAO1BP,KAAAQ,SAAW,MACXR,KAAAS,MAAqB,SACrBT,KAAAU,WAAa,MAEtBV,KAAAW,OAAS,MACTX,KAAAY,gBAAwD,KACxDZ,KAAAa,UAA2B,KAC3Bb,KAAAc,aAAe,KAiLxB,CA/KC,iBAAAC,GACEf,KAAKQ,SAAWR,KAAKK,I,CAGvB,gBAAAW,GACEhB,KAAKW,OAAS,KACdX,KAAKiB,wBACL,GAAIjB,KAAKK,KAAML,KAAKkB,W,CAGtB,oBAAAC,GACEnB,KAAKoB,qB,CAIP,YAAAC,CAAaC,GACX,IAAKtB,KAAKW,OAAQ,OAClB,GAAIW,EAAQtB,KAAKkB,iBACZlB,KAAKuB,Y,CAGZ,iBAAYC,GACV,OAAOC,EACLC,EAAeC,aACfD,EAAeE,wB,CAIX,mBAAAR,GACN,GAAIpB,KAAKY,gBAAiBiB,aAAa7B,KAAKY,iBAC5C,GAAIZ,KAAKa,YAAc,KAAMiB,qBAAqB9B,KAAKa,WACvDb,KAAKY,gBAAkB,KACvBZ,KAAKa,UAAY,I,CAGX,SAAAK,GACNlB,KAAKoB,sBACLpB,KAAKc,aAAe,MACpBd,KAAKQ,SAAW,KAChBR,KAAKS,MAAQ,SACbT,KAAKa,UAAYkB,uBAAsB,KACrC/B,KAAKa,UAAY,KACjB,GAAIb,KAAKK,KAAML,KAAKS,MAAQ,MAAM,G,CAI9B,UAAAc,GACNvB,KAAKoB,sBACL,IAAKpB,KAAKQ,UAAYR,KAAKS,QAAU,SAAU,CAC7CT,KAAKQ,SAAW,MAChB,M,CAGFR,KAAKc,aAAe,KACpBd,KAAKS,MAAQ,UACb,MAAMuB,EAAWhC,KAAKwB,cACtB,GAAIQ,GAAY,EAAG,CACjBhC,KAAKiC,cACL,M,CAEFjC,KAAKY,gBAAkBsB,YAAW,KAChClC,KAAKY,gBAAkB,KACvBZ,KAAKiC,aAAa,GACjBD,E,CAGG,WAAAC,GACN,GAAIjC,KAAKK,OAASL,KAAKc,aAAc,OACrCd,KAAKc,aAAe,MACpBd,KAAKQ,SAAW,MAChBR,KAAKS,MAAQ,SACbT,KAAKmC,aAAaC,M,CAGZ,qBAAAnB,CAAsBoB,GAC5B,MAAMC,EAAUD,EACZA,EAAKE,mBAAmBC,QAAOC,GAAWA,EAAQC,UAAY,uBAC9DC,MAAMC,KAAK5C,KAAK6C,GAAGC,iBAAiB,uCACxC9C,KAAKU,WAAa4B,EAAQS,OAAS,C,CAG7B,YAAAC,CAAaC,GACnB,IAAKjD,KAAKK,MAAQL,KAAKS,QAAU,UAAW,OAC5CT,KAAKkD,QAAQd,KAAKa,EAAME,O,CAG1B,QAAYC,GACV,GAAIpD,KAAKO,eAAiB,SAAU,MAAO,SAC3C,GAAIP,KAAKO,eAAiB,YAAa,MAAO,QAC9C,OAAO8C,S,CAGT,YAAYC,GACV,OAAOtD,KAAKO,eAAiB,OAAS8C,UAAYrD,KAAKO,Y,CAGzD,MAAAgD,GACE,MAAMC,EAAUxD,KAAKS,QAAU,UAC/B,MAAMgD,EAAY,CAChBC,OAAQ,KACR,eAAgB1D,KAAKS,QAAU,OAC/B,kBAAmB+C,EACnB,kBAAmBxD,KAAKQ,SACxB,sBAAuBR,KAAKU,WAC5B,CAAC,uBAAuBV,KAAKI,eAAgB,KAC7C,CAAC,kBAAkBJ,KAAKE,UAAW,KACnC,CAAC,oBAAoBF,KAAKG,YAAa,MAGzC,OACEwD,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOL,GACVzD,KAAKQ,UACJmD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACTH,EAAA,WAAAE,IAAA,2CACEC,MAAM,6DACNV,KAAMpD,KAAKoD,KAAI,YACJpD,KAAKsD,SAAQ,cACXtD,KAAKO,eAAiB,OAAS8C,UAAY,OAAM,cACjDG,EAAU,OAASH,UAChCU,MAAOP,EAAU,KAAOH,UAAS,aACrBrD,KAAKS,OAGjBkD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,sFACTH,EAAA,WAAAE,IAAA,2CACEC,MAAM,mBACNE,GAAG,MACHC,QAAQ,mBACRC,MAAM,WAELlE,KAAKC,SACJ0D,EAAA,WAAAE,IAAA,2CACEC,MAAM,iBACNE,GAAG,OACHC,QAAQ,mBACRC,MAAM,WAELlE,KAAKC,SAGV0D,EAAA,QAAAE,IAAA,2CAAMC,MAAM,sBAAsB9D,KAAKmE,eAG3CR,EAAA,OAAAE,IAAA,2CAAKC,MAAM,8CACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAO,CAAE,iBAAkB,KAAM,yBAA0B9D,KAAKU,aACnEiD,EAAA,QAAAE,IAAA,2CACEO,KAAK,UACLC,aAAepB,GACbjD,KAAKiB,sBAAsBgC,EAAMqB,kBAIvCX,EAAA,OAAAE,IAAA,2CAAKC,MAAM,kBACTH,EAAA,cAAAE,IAAA,2CAAYU,MAAOvE,KAAKM,aAAckE,KAAK,SAASC,KAAK,MACvDd,EAAA,sBAAAE,IAAA,2CACEC,MAAM,eACNG,QAAQ,OACRS,KAAK,QACLD,KAAK,KACLE,KAAK,SACLC,WAAY5E,KAAKG,SAAQ,aACbH,KAAKM,aACjBuE,UAAW,MACXC,WAAY,MACZC,UAAY9B,GAAmCjD,KAAKgD,aAAaC,U","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as o,H as s,c as e,h as a,a as t,t as c}from"./index.js";import{d as r}from"./p-DZFilC--.js";const i=()=>`.ds-control-elevation.sc-ds-bar-action-h,.ds-control-elevation.sc-ds-bar-action{position:relative;overflow:visible;box-shadow:var(--ds-control-elevation-shadow, none)}.ds-control-elevation.sc-ds-bar-action-h::after,.ds-control-elevation.sc-ds-bar-action::after{content:'';position:absolute;inset:0;z-index:4;border-radius:inherit;box-shadow:var(--ds-control-elevation-highlight, none);pointer-events:none}.ds-control-elevation--sm.sc-ds-bar-action-h,.ds-control-elevation--sm.sc-ds-bar-action{--ds-control-elevation-shadow:var(--effect-shadow-elevated-sm);--ds-control-elevation-highlight:var(--effect-highlight-elevated-sm)}.ds-control-elevation--md.sc-ds-bar-action-h,.ds-control-elevation--md.sc-ds-bar-action{--ds-control-elevation-shadow:var(--effect-shadow-elevated-md);--ds-control-elevation-highlight:var(--effect-highlight-elevated-md)}.ds-control-elevation--floating.sc-ds-bar-action-h,.ds-control-elevation--floating.sc-ds-bar-action{--ds-control-elevation-shadow:var(--effect-shadow-elevated-floating);--ds-control-elevation-highlight:var(--effect-highlight-elevated-floating)}.ds-control-elevation--press-scale.sc-ds-bar-action{--ds-control-press-active-scale:var(--dimension-scale-default);transition:scale var(--effect-motion-short-2)}.ds-control-elevation--press-scale[data-ds-press-active].sc-ds-bar-action{scale:var(--dimension-scale-subtle)}@media (prefers-reduced-motion: reduce){.ds-control-elevation--press-scale.sc-ds-bar-action,.ds-control-elevation--press-scale[data-ds-press-active].sc-ds-bar-action{scale:none;transition:none}}.ds-chrome-space--sm.sc-ds-bar-action-h,.ds-chrome-space--sm.sc-ds-bar-action{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-bar-action-h,.ds-chrome-space--md.sc-ds-bar-action{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-bar-action-h,.ds-chrome-space--lg.sc-ds-bar-action{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-bar-action-h,.ds-chrome-row.sc-ds-bar-action,.ds-chrome-column.sc-ds-bar-action-h,.ds-chrome-column.sc-ds-bar-action,.ds-chrome-grid.sc-ds-bar-action-h,.ds-chrome-grid.sc-ds-bar-action{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-bar-action-h,.ds-chrome-row.sc-ds-bar-action{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-bar-action-h,.ds-chrome-column.sc-ds-bar-action{flex-direction:column}.ds-chrome-grid.sc-ds-bar-action-h,.ds-chrome-grid.sc-ds-bar-action{display:grid;align-items:center}@media (forced-colors: active){.sc-ds-bar-action:root,.sc-ds-bar-action-h,.ds-forced-colors-scope.sc-ds-bar-action{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-bar-action-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-bar-action-h,.ds-focus-ring.sc-ds-bar-action,.ds-focus-ring-inset.sc-ds-bar-action-h,.ds-focus-ring-inset.sc-ds-bar-action{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-bar-action-h:focus-visible,.ds-focus-ring.sc-ds-bar-action:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-action-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-action{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-bar-action-h:focus-visible,.ds-focus-ring-inset.sc-ds-bar-action:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-bar-action-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-bar-action:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-bar-action-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-bar-action:root,.sc-ds-bar-action-h,.ds-forced-colors-scope.sc-ds-bar-action{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-bar-action:where(.ds-text-decoration,.ds-text-action).sc-ds-bar-action{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-bar-action:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-bar-action{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-visually-hidden.sc-ds-bar-action-h,.ds-visually-hidden.sc-ds-bar-action{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-bar-action-h{display:block;min-width:0;box-sizing:border-box}[hidden].sc-ds-bar-action-h{display:none}.bar-action.sc-ds-bar-action{width:100%;min-width:0;box-sizing:border-box;height:var(--dimension-size-600);border-radius:var(--dimension-radius-125);background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold-background-secondary);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.bar-action[hidden].sc-ds-bar-action,.bar-action__actions--empty.sc-ds-bar-action{display:none}.bar-action__copy.sc-ds-bar-action,.bar-action__actions.sc-ds-bar-action{display:flex;align-items:center;min-width:0;gap:var(--dimension-space-050)}.bar-action__copy.sc-ds-bar-action{flex:1 1 auto;padding-inline:var(--dimension-space-100)}.bar-action__count.sc-ds-bar-action{flex:0 1 auto;min-width:0}.bar-action__separator.sc-ds-bar-action,.bar-action__clear.sc-ds-bar-action,.bar-action__actions.sc-ds-bar-action{flex:0 0 auto}.bar-action__actions.sc-ds-bar-action{margin-inline-start:auto}.bar-action__actions.sc-ds-bar-action slot.sc-ds-bar-action{display:contents}.bar-action__clear.sc-ds-bar-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--dimension-size-400);margin:0;padding:var(--dimension-space-025);border:0;border-radius:var(--dimension-radius-050);background:transparent;cursor:pointer}@media (forced-colors: active){.bar-action.sc-ds-bar-action{--ds-control-elevation-shadow:none;--ds-control-elevation-highlight:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}`;const n=o(class o extends s{constructor(o){super();if(o!==false){this.__registerHost()}this.dsClear=e(this,"dsClear");this.count=0;this.selectedLabel="selected";this.clearLabel="Clear";this.label="Selected item actions";this.hasActions=false;this.updateActionsPresence=()=>{this.hasActions=Boolean(this.el.querySelector('[slot="actions"]'))};this.handleClear=o=>{this.dsClear.emit(o)}}componentWillLoad(){this.updateActionsPresence()}componentDidLoad(){this.updateActionsPresence();if(typeof MutationObserver==="undefined")return;this.actionsObserver=new MutationObserver(this.updateActionsPresence);this.actionsObserver.observe(this.el,{childList:true,subtree:true,attributes:true,attributeFilter:["slot"]})}disconnectedCallback(){this.actionsObserver?.disconnect()}get resolvedCount(){if(!Number.isFinite(this.count))return 0;return Math.max(0,Math.trunc(this.count))}get isVisible(){return this.resolvedCount>=1}render(){const o=`${this.resolvedCount} ${this.selectedLabel}`;return a(t,{key:"9a80c5facfbbde4de125f4c9cafaed04b329883c"},a("div",{key:"bd4656793009c49226cc9a62a569ed92771eb5c2",class:"bar-action ds-chrome-row ds-chrome-space--md ds-control-elevation ds-control-elevation--md",hidden:!this.isVisible||undefined,role:"group","aria-label":this.label},a("div",{key:"7618c7d31d5a6a068f9d16a1e42bad056da95896",class:"bar-action__copy"},a("ds-text",{key:"935ce5ffedafb4aeb1ddf43d8f22da142d933da0",class:"bar-action__count",as:"span",variant:"text-body-medium",color:"inherit",fontFeature:"tabular-nums",lineTruncation:1},o),a("ds-text",{key:"0f4a24b755a896d2722ee5161c6027c80581e1d6",class:"bar-action__separator",as:"span",variant:"text-body-medium",color:"inherit","aria-hidden":"true"},"·"),a("button",{key:"7096ad71659076e163dc0f6d3e461dd89d717380",class:"bar-action__clear ds-text-action ds-text-action--on-bold ds-focus-ring",type:"button",onClick:this.handleClear},a("ds-text",{key:"8ce5379ec6916c1247868a9cd51ccd797c6c5fd0",as:"span",variant:"text-body-medium",color:"inherit"},this.clearLabel))),a("div",{key:"88dd691f19f332a2d509a35c77d3adc386d1c778",class:{"bar-action__actions":true,"bar-action__actions--empty":!this.hasActions}},a("slot",{key:"c5819b1a85f1643b38d9bf46e0594ad669d11500",name:"actions"}))),a("span",{key:"c72446b945cdb20cec040d35d260051ccba8ce90",class:"bar-action__status ds-visually-hidden",role:"status","aria-live":"polite","aria-atomic":"true"},this.isVisible?o:""))}get el(){return this}static get style(){return i()}},[262,"ds-bar-action",{count:[2],selectedLabel:[1,"selected-label"],clearLabel:[1,"clear-label"],label:[1],hasActions:[32]}]);function d(){if(typeof customElements==="undefined"){return}const o=["ds-bar-action","ds-text"];o.forEach((o=>{switch(o){case"ds-bar-action":if(!customElements.get(c(o))){customElements.define(c(o),n)}break;case"ds-text":if(!customElements.get(c(o))){r()}break}}))}d();const l=n;const b=d;export{l as DsBarAction,b as defineCustomElement};
|
|
1
|
+
import{p as o,H as s,c as e,h as a,a as t,t as c}from"./index.js";import{d as r}from"./p-BGXqFq2C.js";const i=()=>`.ds-control-elevation.sc-ds-bar-action-h,.ds-control-elevation.sc-ds-bar-action{position:relative;overflow:visible;box-shadow:var(--ds-control-elevation-shadow, none)}.ds-control-elevation.sc-ds-bar-action-h::after,.ds-control-elevation.sc-ds-bar-action::after{content:'';position:absolute;inset:0;z-index:4;border-radius:inherit;box-shadow:var(--ds-control-elevation-highlight, none);pointer-events:none}.ds-control-elevation--sm.sc-ds-bar-action-h,.ds-control-elevation--sm.sc-ds-bar-action{--ds-control-elevation-shadow:var(--effect-shadow-elevated-sm);--ds-control-elevation-highlight:var(--effect-highlight-elevated-sm)}.ds-control-elevation--md.sc-ds-bar-action-h,.ds-control-elevation--md.sc-ds-bar-action{--ds-control-elevation-shadow:var(--effect-shadow-elevated-md);--ds-control-elevation-highlight:var(--effect-highlight-elevated-md)}.ds-control-elevation--floating.sc-ds-bar-action-h,.ds-control-elevation--floating.sc-ds-bar-action{--ds-control-elevation-shadow:var(--effect-shadow-elevated-floating);--ds-control-elevation-highlight:var(--effect-highlight-elevated-floating)}.ds-control-elevation--press-scale.sc-ds-bar-action{--ds-control-press-active-scale:var(--dimension-scale-default);transition:scale var(--effect-motion-short-2)}.ds-control-elevation--press-scale[data-ds-press-active].sc-ds-bar-action{scale:var(--dimension-scale-subtle)}@media (prefers-reduced-motion: reduce){.ds-control-elevation--press-scale.sc-ds-bar-action,.ds-control-elevation--press-scale[data-ds-press-active].sc-ds-bar-action{scale:none;transition:none}}.ds-chrome-space--sm.sc-ds-bar-action-h,.ds-chrome-space--sm.sc-ds-bar-action{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-bar-action-h,.ds-chrome-space--md.sc-ds-bar-action{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-bar-action-h,.ds-chrome-space--lg.sc-ds-bar-action{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-bar-action-h,.ds-chrome-row.sc-ds-bar-action,.ds-chrome-column.sc-ds-bar-action-h,.ds-chrome-column.sc-ds-bar-action,.ds-chrome-grid.sc-ds-bar-action-h,.ds-chrome-grid.sc-ds-bar-action{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-bar-action-h,.ds-chrome-row.sc-ds-bar-action{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-bar-action-h,.ds-chrome-column.sc-ds-bar-action{flex-direction:column}.ds-chrome-grid.sc-ds-bar-action-h,.ds-chrome-grid.sc-ds-bar-action{display:grid;align-items:center}@media (forced-colors: active){.sc-ds-bar-action:root,.sc-ds-bar-action-h,.ds-forced-colors-scope.sc-ds-bar-action{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-bar-action-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-bar-action-h,.ds-focus-ring.sc-ds-bar-action,.ds-focus-ring-inset.sc-ds-bar-action-h,.ds-focus-ring-inset.sc-ds-bar-action{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-bar-action-h:focus-visible,.ds-focus-ring.sc-ds-bar-action:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-action-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-action{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-bar-action-h:focus-visible,.ds-focus-ring-inset.sc-ds-bar-action:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-bar-action-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-bar-action:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-action::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-bar-action-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-bar-action:root,.sc-ds-bar-action-h,.ds-forced-colors-scope.sc-ds-bar-action{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-bar-action:where(.ds-text-decoration,.ds-text-action).sc-ds-bar-action{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-bar-action{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-bar-action:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-bar-action{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-visually-hidden.sc-ds-bar-action-h,.ds-visually-hidden.sc-ds-bar-action{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-bar-action-h{display:block;min-width:0;box-sizing:border-box}[hidden].sc-ds-bar-action-h{display:none}.bar-action.sc-ds-bar-action{width:100%;min-width:0;box-sizing:border-box;height:var(--dimension-size-600);border-radius:var(--dimension-radius-125);background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold-background-secondary);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.bar-action[hidden].sc-ds-bar-action,.bar-action__actions--empty.sc-ds-bar-action{display:none}.bar-action__copy.sc-ds-bar-action,.bar-action__actions.sc-ds-bar-action{display:flex;align-items:center;min-width:0;gap:var(--dimension-space-050)}.bar-action__copy.sc-ds-bar-action{flex:1 1 auto;padding-inline:var(--dimension-space-100)}.bar-action__count.sc-ds-bar-action{flex:0 1 auto;min-width:0}.bar-action__separator.sc-ds-bar-action,.bar-action__clear.sc-ds-bar-action,.bar-action__actions.sc-ds-bar-action{flex:0 0 auto}.bar-action__actions.sc-ds-bar-action{margin-inline-start:auto}.bar-action__actions.sc-ds-bar-action slot.sc-ds-bar-action{display:contents}.bar-action__clear.sc-ds-bar-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--dimension-size-400);margin:0;padding:var(--dimension-space-025);border:0;border-radius:var(--dimension-radius-050);background:transparent;cursor:pointer}@media (forced-colors: active){.bar-action.sc-ds-bar-action{--ds-control-elevation-shadow:none;--ds-control-elevation-highlight:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}`;const n=o(class o extends s{constructor(o){super();if(o!==false){this.__registerHost()}this.dsClear=e(this,"dsClear",7);this.count=0;this.selectedLabel="selected";this.clearLabel="Clear";this.label="Selected item actions";this.hasActions=false;this.updateActionsPresence=()=>{this.hasActions=Boolean(this.el.querySelector('[slot="actions"]'))};this.handleClear=o=>{this.dsClear.emit(o)}}componentWillLoad(){this.updateActionsPresence()}componentDidLoad(){this.updateActionsPresence();if(typeof MutationObserver==="undefined")return;this.actionsObserver=new MutationObserver(this.updateActionsPresence);this.actionsObserver.observe(this.el,{childList:true,subtree:true,attributes:true,attributeFilter:["slot"]})}disconnectedCallback(){this.actionsObserver?.disconnect()}get resolvedCount(){if(!Number.isFinite(this.count))return 0;return Math.max(0,Math.trunc(this.count))}get isVisible(){return this.resolvedCount>=1}render(){const o=`${this.resolvedCount} ${this.selectedLabel}`;return a(t,{key:"b9e7761af6d6bea7fbf270578c202d003b1b408e"},a("div",{key:"12dc2e0a1b32f943ef8a4c86cc63ffdc93ab645c",class:"bar-action ds-chrome-row ds-chrome-space--md ds-control-elevation ds-control-elevation--md",hidden:!this.isVisible||undefined,role:"group","aria-label":this.label},a("div",{key:"8ba2f7969c9c91e0a8d8a0d6f5aeb69d4c8a3d42",class:"bar-action__copy"},a("ds-text",{key:"6231d8eab62b91a1593adda61d27a6e3d1595d02",class:"bar-action__count",as:"span",variant:"text-body-medium",color:"inherit",fontFeature:"tabular-nums",lineTruncation:1},o),a("ds-text",{key:"033f7b32cde9ec9b4074b6b1dc70b76f16eec6c0",class:"bar-action__separator",as:"span",variant:"text-body-medium",color:"inherit","aria-hidden":"true"},"·"),a("button",{key:"94a49cca2694ec18195cacb3e8401420f691b2a7",class:"bar-action__clear ds-text-action ds-text-action--on-bold ds-focus-ring",type:"button",onClick:this.handleClear},a("ds-text",{key:"62be88a138f954144d634f467c040d28bb7cdb96",as:"span",variant:"text-body-medium",color:"inherit"},this.clearLabel))),a("div",{key:"d60ea28567dd079f0764c202ec4f070d40e190c8",class:{"bar-action__actions":true,"bar-action__actions--empty":!this.hasActions}},a("slot",{key:"d0e76522301b01429a22f3b7d14c5ad0f5b1dbcb",name:"actions"}))),a("span",{key:"64a0a746808cf854f859073a4e61d2ec62d82d13",class:"bar-action__status ds-visually-hidden",role:"status","aria-live":"polite","aria-atomic":"true"},this.isVisible?o:""))}get el(){return this}static get style(){return i()}},[262,"ds-bar-action",{count:[2],selectedLabel:[1,"selected-label"],clearLabel:[1,"clear-label"],label:[1],hasActions:[32]}]);function d(){if(typeof customElements==="undefined"){return}const o=["ds-bar-action","ds-text"];o.forEach((o=>{switch(o){case"ds-bar-action":if(!customElements.get(c(o))){customElements.define(c(o),n)}break;case"ds-text":if(!customElements.get(c(o))){r()}break}}))}d();const l=n;const b=d;export{l as DsBarAction,b as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-bar-action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["barActionCss","BarAction","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","count","selectedLabel","clearLabel","label","hasActions","updateActionsPresence","Boolean","el","querySelector","handleClear","event","dsClear","emit","componentWillLoad","componentDidLoad","MutationObserver","actionsObserver","observe","childList","subtree","attributes","attributeFilter","disconnectedCallback","disconnect","resolvedCount","Number","isFinite","Math","max","trunc","isVisible","render","countLabel","h","Host","key","class","hidden","undefined","role","as","variant","color","fontFeature","lineTruncation","type","onClick","name"],"sources":["src/wc/components/BarAction/BarAction.css?tag=ds-bar-action&encapsulation=scoped","src/wc/components/BarAction/BarAction.tsx"],"sourcesContent":["@import '../../styles/control-elevation.css';\n@import '../../utils/chrome-layout.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/forced-colors.css';\n@import '../../utils/text-decoration.css';\n@import '../../utils/visually-hidden.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.bar-action {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n height: var(--dimension-size-600);\n border-radius: var(--dimension-radius-125);\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold-background-secondary);\n --ds-focus-ring-color: var(--color-interaction-on-bold-background-focus);\n}\n\n.bar-action[hidden],\n.bar-action__actions--empty {\n display: none;\n}\n\n.bar-action__copy,\n.bar-action__actions {\n display: flex;\n align-items: center;\n min-width: 0;\n gap: var(--dimension-space-050);\n}\n\n.bar-action__copy {\n flex: 1 1 auto;\n padding-inline: var(--dimension-space-100);\n}\n\n.bar-action__count {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n.bar-action__separator,\n.bar-action__clear,\n.bar-action__actions {\n flex: 0 0 auto;\n}\n\n.bar-action__actions {\n margin-inline-start: auto;\n}\n\n.bar-action__actions slot {\n display: contents;\n}\n\n.bar-action__clear {\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-block-size: var(--dimension-size-400);\n margin: 0;\n padding: var(--dimension-space-025);\n border: 0;\n border-radius: var(--dimension-radius-050);\n background: transparent;\n cursor: pointer;\n}\n\n@media (forced-colors: active) {\n .bar-action {\n --ds-control-elevation-shadow: none;\n --ds-control-elevation-highlight: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\n\n@Component({\n tag: 'ds-bar-action',\n styleUrl: 'BarAction.css',\n scoped: true,\n})\nexport class BarAction {\n @Element() el!: HTMLElement;\n\n /** Number of selected items. The bar is hidden while this is below one. */\n @Prop() count: number = 0;\n\n /** Localized noun shown after the count. */\n @Prop() selectedLabel: string = 'selected';\n\n /** Visible Clear control label. */\n @Prop() clearLabel: string = 'Clear';\n\n /** Accessible name for the selected-set action group. */\n @Prop() label: string = 'Selected item actions';\n\n /** Emitted when Clear is activated. The application owns the selected identities. */\n @Event() dsClear!: EventEmitter<MouseEvent>;\n\n @State() private hasActions = false;\n\n private actionsObserver?: MutationObserver;\n\n componentWillLoad() {\n this.updateActionsPresence();\n }\n\n componentDidLoad() {\n this.updateActionsPresence();\n if (typeof MutationObserver === 'undefined') return;\n this.actionsObserver = new MutationObserver(this.updateActionsPresence);\n this.actionsObserver.observe(this.el, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['slot'],\n });\n }\n\n disconnectedCallback() {\n this.actionsObserver?.disconnect();\n }\n\n private get resolvedCount(): number {\n if (!Number.isFinite(this.count)) return 0;\n return Math.max(0, Math.trunc(this.count));\n }\n\n private get isVisible(): boolean {\n return this.resolvedCount >= 1;\n }\n\n private updateActionsPresence = () => {\n this.hasActions = Boolean(this.el.querySelector('[slot=\"actions\"]'));\n };\n\n private handleClear = (event: MouseEvent) => {\n this.dsClear.emit(event);\n };\n\n render() {\n const countLabel = `${this.resolvedCount} ${this.selectedLabel}`;\n return (\n <Host>\n <div\n class=\"bar-action ds-chrome-row ds-chrome-space--md ds-control-elevation ds-control-elevation--md\"\n hidden={!this.isVisible || undefined}\n role=\"group\"\n aria-label={this.label}\n >\n <div class=\"bar-action__copy\">\n <ds-text\n class=\"bar-action__count\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n fontFeature=\"tabular-nums\"\n lineTruncation={1}\n >\n {countLabel}\n </ds-text>\n <ds-text\n class=\"bar-action__separator\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n aria-hidden=\"true\"\n >\n ·\n </ds-text>\n <button\n class=\"bar-action__clear ds-text-action ds-text-action--on-bold ds-focus-ring\"\n type=\"button\"\n onClick={this.handleClear}\n >\n <ds-text as=\"span\" variant=\"text-body-medium\" color=\"inherit\">\n {this.clearLabel}\n </ds-text>\n </button>\n </div>\n <div\n class={{\n 'bar-action__actions': true,\n 'bar-action__actions--empty': !this.hasActions,\n }}\n >\n <slot name=\"actions\" />\n </div>\n </div>\n <span\n class=\"bar-action__status ds-visually-hidden\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {this.isVisible ? countLabel : ''}\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAe,IAAM,yzQ,MCgBdC,EAASC,EAAA,MAAAD,UAAAE,EALtB,WAAAC,CAAAC,G,
|
|
1
|
+
{"version":3,"names":["barActionCss","BarAction","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","count","selectedLabel","clearLabel","label","hasActions","updateActionsPresence","Boolean","el","querySelector","handleClear","event","dsClear","emit","componentWillLoad","componentDidLoad","MutationObserver","actionsObserver","observe","childList","subtree","attributes","attributeFilter","disconnectedCallback","disconnect","resolvedCount","Number","isFinite","Math","max","trunc","isVisible","render","countLabel","h","Host","key","class","hidden","undefined","role","as","variant","color","fontFeature","lineTruncation","type","onClick","name"],"sources":["src/wc/components/BarAction/BarAction.css?tag=ds-bar-action&encapsulation=scoped","src/wc/components/BarAction/BarAction.tsx"],"sourcesContent":["@import '../../styles/control-elevation.css';\n@import '../../utils/chrome-layout.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/forced-colors.css';\n@import '../../utils/text-decoration.css';\n@import '../../utils/visually-hidden.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.bar-action {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n height: var(--dimension-size-600);\n border-radius: var(--dimension-radius-125);\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold-background-secondary);\n --ds-focus-ring-color: var(--color-interaction-on-bold-background-focus);\n}\n\n.bar-action[hidden],\n.bar-action__actions--empty {\n display: none;\n}\n\n.bar-action__copy,\n.bar-action__actions {\n display: flex;\n align-items: center;\n min-width: 0;\n gap: var(--dimension-space-050);\n}\n\n.bar-action__copy {\n flex: 1 1 auto;\n padding-inline: var(--dimension-space-100);\n}\n\n.bar-action__count {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n.bar-action__separator,\n.bar-action__clear,\n.bar-action__actions {\n flex: 0 0 auto;\n}\n\n.bar-action__actions {\n margin-inline-start: auto;\n}\n\n.bar-action__actions slot {\n display: contents;\n}\n\n.bar-action__clear {\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-block-size: var(--dimension-size-400);\n margin: 0;\n padding: var(--dimension-space-025);\n border: 0;\n border-radius: var(--dimension-radius-050);\n background: transparent;\n cursor: pointer;\n}\n\n@media (forced-colors: active) {\n .bar-action {\n --ds-control-elevation-shadow: none;\n --ds-control-elevation-highlight: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\n\n@Component({\n tag: 'ds-bar-action',\n styleUrl: 'BarAction.css',\n scoped: true,\n})\nexport class BarAction {\n @Element() el!: HTMLElement;\n\n /** Number of selected items. The bar is hidden while this is below one. */\n @Prop() count: number = 0;\n\n /** Localized noun shown after the count. */\n @Prop() selectedLabel: string = 'selected';\n\n /** Visible Clear control label. */\n @Prop() clearLabel: string = 'Clear';\n\n /** Accessible name for the selected-set action group. */\n @Prop() label: string = 'Selected item actions';\n\n /** Emitted when Clear is activated. The application owns the selected identities. */\n @Event() dsClear!: EventEmitter<MouseEvent>;\n\n @State() private hasActions = false;\n\n private actionsObserver?: MutationObserver;\n\n componentWillLoad() {\n this.updateActionsPresence();\n }\n\n componentDidLoad() {\n this.updateActionsPresence();\n if (typeof MutationObserver === 'undefined') return;\n this.actionsObserver = new MutationObserver(this.updateActionsPresence);\n this.actionsObserver.observe(this.el, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['slot'],\n });\n }\n\n disconnectedCallback() {\n this.actionsObserver?.disconnect();\n }\n\n private get resolvedCount(): number {\n if (!Number.isFinite(this.count)) return 0;\n return Math.max(0, Math.trunc(this.count));\n }\n\n private get isVisible(): boolean {\n return this.resolvedCount >= 1;\n }\n\n private updateActionsPresence = () => {\n this.hasActions = Boolean(this.el.querySelector('[slot=\"actions\"]'));\n };\n\n private handleClear = (event: MouseEvent) => {\n this.dsClear.emit(event);\n };\n\n render() {\n const countLabel = `${this.resolvedCount} ${this.selectedLabel}`;\n return (\n <Host>\n <div\n class=\"bar-action ds-chrome-row ds-chrome-space--md ds-control-elevation ds-control-elevation--md\"\n hidden={!this.isVisible || undefined}\n role=\"group\"\n aria-label={this.label}\n >\n <div class=\"bar-action__copy\">\n <ds-text\n class=\"bar-action__count\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n fontFeature=\"tabular-nums\"\n lineTruncation={1}\n >\n {countLabel}\n </ds-text>\n <ds-text\n class=\"bar-action__separator\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n aria-hidden=\"true\"\n >\n ·\n </ds-text>\n <button\n class=\"bar-action__clear ds-text-action ds-text-action--on-bold ds-focus-ring\"\n type=\"button\"\n onClick={this.handleClear}\n >\n <ds-text as=\"span\" variant=\"text-body-medium\" color=\"inherit\">\n {this.clearLabel}\n </ds-text>\n </button>\n </div>\n <div\n class={{\n 'bar-action__actions': true,\n 'bar-action__actions--empty': !this.hasActions,\n }}\n >\n <slot name=\"actions\" />\n </div>\n </div>\n <span\n class=\"bar-action__status ds-visually-hidden\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {this.isVisible ? countLabel : ''}\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAe,IAAM,yzQ,MCgBdC,EAASC,EAAA,MAAAD,UAAAE,EALtB,WAAAC,CAAAC,G,6EASUC,KAAAC,MAAgB,EAGhBD,KAAAE,cAAwB,WAGxBF,KAAAG,WAAqB,QAGrBH,KAAAI,MAAgB,wBAKPJ,KAAAK,WAAa,MAiCtBL,KAAAM,sBAAwB,KAC9BN,KAAKK,WAAaE,QAAQP,KAAKQ,GAAGC,cAAc,oBAAoB,EAG9DT,KAAAU,YAAeC,IACrBX,KAAKY,QAAQC,KAAKF,EAAM,CA+D3B,CAjGC,iBAAAG,GACEd,KAAKM,uB,CAGP,gBAAAS,GACEf,KAAKM,wBACL,UAAWU,mBAAqB,YAAa,OAC7ChB,KAAKiB,gBAAkB,IAAID,iBAAiBhB,KAAKM,uBACjDN,KAAKiB,gBAAgBC,QAAQlB,KAAKQ,GAAI,CACpCW,UAAW,KACXC,QAAS,KACTC,WAAY,KACZC,gBAAiB,CAAC,S,CAItB,oBAAAC,GACEvB,KAAKiB,iBAAiBO,Y,CAGxB,iBAAYC,GACV,IAAKC,OAAOC,SAAS3B,KAAKC,OAAQ,OAAO,EACzC,OAAO2B,KAAKC,IAAI,EAAGD,KAAKE,MAAM9B,KAAKC,O,CAGrC,aAAY8B,GACV,OAAO/B,KAAKyB,eAAiB,C,CAW/B,MAAAO,GACE,MAAMC,EAAa,GAAGjC,KAAKyB,iBAAiBzB,KAAKE,gBACjD,OACEgC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CACEC,MAAM,6FACNC,QAAStC,KAAK+B,WAAaQ,UAC3BC,KAAK,QAAO,aACAxC,KAAKI,OAEjB8B,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBACTH,EAAA,WAAAE,IAAA,2CACEC,MAAM,oBACNI,GAAG,OACHC,QAAQ,mBACRC,MAAM,UACNC,YAAY,eACZC,eAAgB,GAEfZ,GAEHC,EAAA,WAAAE,IAAA,2CACEC,MAAM,wBACNI,GAAG,OACHC,QAAQ,mBACRC,MAAM,UAAS,cACH,QAAM,KAIpBT,EAAA,UAAAE,IAAA,2CACEC,MAAM,yEACNS,KAAK,SACLC,QAAS/C,KAAKU,aAEdwB,EAAA,WAAAE,IAAA,2CAASK,GAAG,OAAOC,QAAQ,mBAAmBC,MAAM,WACjD3C,KAAKG,cAIZ+B,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,sBAAuB,KACvB,8BAA+BrC,KAAKK,aAGtC6B,EAAA,QAAAE,IAAA,2CAAMY,KAAK,cAGfd,EAAA,QAAAE,IAAA,2CACEC,MAAM,wCACNG,KAAK,SAAQ,YACH,SAAQ,cACN,QAEXxC,KAAK+B,UAAYE,EAAa,I","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as
|
|
1
|
+
import{B as o,d as s}from"./p-DIEK54fV.js";const t=o;const p=s;export{t as DsBarNav,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-bar-nav.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as o,d as s}from"./p-
|
|
1
|
+
import{B as o,d as s}from"./p-DHuyj-9J.js";const t=o;const p=s;export{t as DsBarTitle,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-bar-title.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as o,c as i,h as e,a as r,t}from"./index.js";import{d as a}from"./p-vWK5faWZ.js";import{d as n}from"./p-BxqBiVbH.js";import{d}from"./p-C7rzVotG.js";import{d as l}from"./p-BFfLvMZd.js";import{d as c}from"./p-Ca-I2UnB.js";import{d as m}from"./p-DfyfrfHL.js";import{d as b}from"./p-C2n8A8NA.js";import{d as h}from"./p-Cyw9odJX.js";import{d as f}from"./p-Rfpd5mWO.js";import{d as w}from"./p-Btxwp4lJ.js";import{d as p}from"./p-BzObtSlo.js";import{d as u}from"./p-jMCRaxQW.js";import{d as k}from"./p-DZFilC--.js";import{d as g}from"./p-BXPQmp7q.js";const v=()=>`.ds-control--lg.sc-ds-bar-workflow,.ds-control--lg.sc-ds-bar-workflow-h,.ds-control--md.sc-ds-bar-workflow-h,.ds-control--md.sc-ds-bar-workflow,.ds-control--sm.sc-ds-bar-workflow-h,.ds-control--sm.sc-ds-bar-workflow,.ds-control--xs.sc-ds-bar-workflow-h,.ds-control--xs.sc-ds-bar-workflow{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-bar-workflow-h,.ds-control--lg.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-bar-workflow-h,.ds-control--md.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-bar-workflow-h,.ds-control--sm.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-bar-workflow-h,.ds-control--xs.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-space--sm.sc-ds-bar-workflow-h,.ds-chrome-space--sm.sc-ds-bar-workflow{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-bar-workflow-h,.ds-chrome-space--md.sc-ds-bar-workflow{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-bar-workflow-h,.ds-chrome-space--lg.sc-ds-bar-workflow{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-bar-workflow-h,.ds-chrome-row.sc-ds-bar-workflow,.ds-chrome-column.sc-ds-bar-workflow-h,.ds-chrome-column.sc-ds-bar-workflow,.ds-chrome-grid.sc-ds-bar-workflow-h,.ds-chrome-grid.sc-ds-bar-workflow{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-bar-workflow-h,.ds-chrome-row.sc-ds-bar-workflow{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-bar-workflow-h,.ds-chrome-column.sc-ds-bar-workflow{flex-direction:column}.ds-chrome-grid.sc-ds-bar-workflow-h,.ds-chrome-grid.sc-ds-bar-workflow{display:grid;align-items:center}.sc-ds-bar-workflow-h{display:block;min-width:0;box-sizing:border-box;background:var(--color-background-bold-brand)}.bar-workflow.sc-ds-bar-workflow{justify-content:space-between;height:var(--dimension-size-600);min-width:0;background:var(--color-background-bold-brand)}.bar-workflow__identity.sc-ds-bar-workflow{display:flex;flex:1 1 auto;align-items:center;gap:var(--dimension-space-050);height:var(--dimension-size-400);min-width:0}.bar-workflow__heading.sc-ds-bar-workflow{display:inline-flex;flex:1 1 auto;align-items:center;width:auto;min-width:0;height:var(--dimension-size-400);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));box-sizing:border-box;user-select:none}.bar-workflow__actions.sc-ds-bar-workflow{display:flex;flex:0 0 auto;align-items:center;gap:var(--dimension-space-100)}`;const x=s(class s extends o{constructor(s){super();if(s!==false){this.__registerHost()}this.dsExit=i(this,"dsExit");this.dsStepChange=i(this,"dsStepChange");this.dsSubmit=i(this,"dsSubmit");this.steps=[];this.value="";this.exitLabel="Exit";this.exitAriaLabel="Exit workflow";this.previousLabel="Previous step";this.nextLabel="Next step";this.submitAction={label:"Save",type:"submit"};this.isNextInactive=false;this.responsiveMode="desktop";this.handlePrevious=()=>{if(this.previousStep&&!this.previousStep.isInactive){this.dsStepChange.emit(this.previousStep.id)}};this.handleNext=()=>{if(this.nextStep&&!this.isNextInactive&&!this.nextStep.isInactive){this.dsStepChange.emit(this.nextStep.id)}}}get currentIndex(){const s=this.steps.findIndex((s=>s.id===this.value));return s>=0?s:0}get previousStep(){return this.steps[this.currentIndex-1]??null}get nextStep(){return this.steps[this.currentIndex+1]??null}get isLastStep(){return this.steps.length<=1||this.currentIndex===this.steps.length-1}get resolvedHeading(){if(this.steps.length<=1)return this.heading;return`${this.heading} · ${this.currentIndex+1}/${this.steps.length}`}renderSubmit(s){const o=this.submitAction;return e("ds-tooltip",{slot:s,label:o.label,side:"bottom",size:"sm"},e("ds-button-filled",{class:"bar-workflow__submit",variant:"icon",icon:"Check",label:o.label,"aria-label":o.label,intent:"brand",contrast:"faint",background:"bold",size:"md",type:o.type??"submit",isInactive:o.isInactive,isLoading:o.isLoading,onDsClick:s=>this.dsSubmit.emit(s.detail)}))}renderMobile(){return e("ds-mobile-header",{class:"bar-workflow__mobile",heading:this.resolvedHeading,tone:"brand"},e("ds-tooltip",{slot:"leading",label:this.exitLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__exit",variant:"icon",icon:"Cross","aria-label":this.exitAriaLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,onDsClick:s=>this.dsExit.emit(s.detail)})),this.previousStep?e("ds-tooltip",{slot:"trailing",label:this.previousLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__previous",variant:"icon",icon:"ChevronLeft","aria-label":this.previousLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,isInactive:this.previousStep.isInactive,onDsClick:this.handlePrevious})):null,this.isLastStep?this.renderSubmit("trailing"):e("ds-tooltip",{slot:"trailing",label:this.nextLabel,side:"bottom",size:"sm"},e("ds-button-filled",{class:"bar-workflow__next",variant:"icon",icon:"ChevronRight",label:this.nextLabel,"aria-label":this.nextLabel,intent:"brand",contrast:"faint",background:"bold",size:"md",type:"button",isInactive:this.isNextInactive||this.nextStep?.isInactive,onDsClick:this.handleNext})))}renderDesktop(){return e("div",{class:"bar-workflow ds-chrome-row ds-chrome-space--md"},e("div",{class:"bar-workflow__identity"},e("ds-tooltip",{label:this.exitLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__exit",variant:"icon",icon:"Cross","aria-label":this.exitAriaLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,onDsClick:s=>this.dsExit.emit(s.detail)})),e("ds-text",{class:"bar-workflow__heading ds-control--md",variant:"text-title-small",emphasis:true,color:"on-bold",as:"h1",lineTruncation:1},this.resolvedHeading)),e("div",{class:"bar-workflow__actions"},this.previousStep?e("ds-tooltip",{label:this.previousLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__previous",variant:"icon",icon:"ChevronLeft","aria-label":this.previousLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,isInactive:this.previousStep.isInactive,onDsClick:this.handlePrevious})):null,this.isLastStep?this.renderSubmit():e("ds-tooltip",{label:this.nextLabel,side:"bottom",size:"sm"},e("ds-button-filled",{class:"bar-workflow__next",variant:"icon",icon:"ChevronRight",label:this.nextLabel,"aria-label":this.nextLabel,intent:"brand",contrast:"faint",background:"bold",size:"md",type:"button",isInactive:this.isNextInactive||this.nextStep?.isInactive,onDsClick:this.handleNext}))))}render(){return e(r,{key:"a4c9683c0a7d97c6422b88f57322ab9e7225812a"},this.responsiveMode==="mobile"?this.renderMobile():this.renderDesktop())}static get style(){return v()}},[2,"ds-bar-workflow",{heading:[1],steps:[16],value:[1],exitLabel:[1,"exit-label"],exitAriaLabel:[1,"exit-aria-label"],previousLabel:[1,"previous-label"],nextLabel:[1,"next-label"],submitAction:[16],isNextInactive:[4,"is-next-inactive"],responsiveMode:[513,"responsive-mode"]}]);function _(){if(typeof customElements==="undefined"){return}const s=["ds-bar-workflow","ds-badge","ds-button-filled","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-mobile-header","ds-mobile-section-switcher","ds-swatch-picker","ds-switch","ds-tab-group","ds-tag","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-bar-workflow":if(!customElements.get(t(s))){customElements.define(t(s),x)}break;case"ds-badge":if(!customElements.get(t(s))){a()}break;case"ds-button-filled":if(!customElements.get(t(s))){n()}break;case"ds-button-unfilled":if(!customElements.get(t(s))){d()}break;case"ds-icon":if(!customElements.get(t(s))){l()}break;case"ds-loader":if(!customElements.get(t(s))){c()}break;case"ds-menu":if(!customElements.get(t(s))){m()}break;case"ds-mobile-header":if(!customElements.get(t(s))){b()}break;case"ds-mobile-section-switcher":if(!customElements.get(t(s))){h()}break;case"ds-swatch-picker":if(!customElements.get(t(s))){f()}break;case"ds-switch":if(!customElements.get(t(s))){w()}break;case"ds-tab-group":if(!customElements.get(t(s))){p()}break;case"ds-tag":if(!customElements.get(t(s))){u()}break;case"ds-text":if(!customElements.get(t(s))){k()}break;case"ds-tooltip":if(!customElements.get(t(s))){g()}break}}))}_();const z=x;const y=_;export{z as DsBarWorkflow,y as defineCustomElement};
|
|
1
|
+
import{p as s,H as o,c as i,h as e,a as r,t}from"./index.js";import{d as a}from"./p-a6qP60zb.js";import{d}from"./p-U8JIZzI2.js";import{d as n}from"./p-NzGRAPcF.js";import{d as l}from"./p-BFfLvMZd.js";import{d as c}from"./p-JPTkZ3Ji.js";import{d as m}from"./p-Asi9h3pa.js";import{d as b}from"./p-DsJW5W3W.js";import{d as h}from"./p-BHz78C8h.js";import{d as w}from"./p-BHDkJmrC.js";import{d as f}from"./p-BhYWdbEp.js";import{d as p}from"./p-D2z2DgtX.js";import{d as k}from"./p-y4jhIkRc.js";import{d as u}from"./p-BGXqFq2C.js";import{d as g}from"./p-D4K9CE8a.js";const v=()=>`.ds-control--lg.sc-ds-bar-workflow,.ds-control--lg.sc-ds-bar-workflow-h,.ds-control--md.sc-ds-bar-workflow-h,.ds-control--md.sc-ds-bar-workflow,.ds-control--sm.sc-ds-bar-workflow-h,.ds-control--sm.sc-ds-bar-workflow,.ds-control--xs.sc-ds-bar-workflow-h,.ds-control--xs.sc-ds-bar-workflow{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-bar-workflow-h,.ds-control--lg.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-bar-workflow-h,.ds-control--md.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-bar-workflow-h,.ds-control--sm.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-bar-workflow-h,.ds-control--xs.sc-ds-bar-workflow{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-space--sm.sc-ds-bar-workflow-h,.ds-chrome-space--sm.sc-ds-bar-workflow{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-bar-workflow-h,.ds-chrome-space--md.sc-ds-bar-workflow{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-bar-workflow-h,.ds-chrome-space--lg.sc-ds-bar-workflow{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-bar-workflow-h,.ds-chrome-row.sc-ds-bar-workflow,.ds-chrome-column.sc-ds-bar-workflow-h,.ds-chrome-column.sc-ds-bar-workflow,.ds-chrome-grid.sc-ds-bar-workflow-h,.ds-chrome-grid.sc-ds-bar-workflow{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-bar-workflow-h,.ds-chrome-row.sc-ds-bar-workflow{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-bar-workflow-h,.ds-chrome-column.sc-ds-bar-workflow{flex-direction:column}.ds-chrome-grid.sc-ds-bar-workflow-h,.ds-chrome-grid.sc-ds-bar-workflow{display:grid;align-items:center}.sc-ds-bar-workflow-h{display:block;min-width:0;box-sizing:border-box;background:var(--color-background-bold-brand)}.bar-workflow.sc-ds-bar-workflow{justify-content:space-between;height:var(--dimension-size-600);min-width:0;background:var(--color-background-bold-brand)}.bar-workflow__identity.sc-ds-bar-workflow{display:flex;flex:1 1 auto;align-items:center;gap:var(--dimension-space-050);height:var(--dimension-size-400);min-width:0}.bar-workflow__heading.sc-ds-bar-workflow{display:inline-flex;flex:1 1 auto;align-items:center;width:auto;min-width:0;height:var(--dimension-size-400);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));box-sizing:border-box;user-select:none}.bar-workflow__actions.sc-ds-bar-workflow{display:flex;flex:0 0 auto;align-items:center;gap:var(--dimension-space-100)}`;const x=s(class s extends o{constructor(s){super();if(s!==false){this.__registerHost()}this.dsExit=i(this,"dsExit",7);this.dsStepChange=i(this,"dsStepChange",7);this.dsSubmit=i(this,"dsSubmit",7);this.steps=[];this.value="";this.exitLabel="Exit";this.exitAriaLabel="Exit workflow";this.previousLabel="Previous step";this.nextLabel="Next step";this.submitAction={label:"Save",type:"submit"};this.isNextInactive=false;this.responsiveMode="desktop";this.handlePrevious=()=>{if(this.previousStep&&!this.previousStep.isInactive){this.dsStepChange.emit(this.previousStep.id)}};this.handleNext=()=>{if(this.nextStep&&!this.isNextInactive&&!this.nextStep.isInactive){this.dsStepChange.emit(this.nextStep.id)}}}get currentIndex(){const s=this.steps.findIndex((s=>s.id===this.value));return s>=0?s:0}get previousStep(){return this.steps[this.currentIndex-1]??null}get nextStep(){return this.steps[this.currentIndex+1]??null}get isLastStep(){return this.steps.length<=1||this.currentIndex===this.steps.length-1}get resolvedHeading(){if(this.steps.length<=1)return this.heading;return`${this.heading} · ${this.currentIndex+1}/${this.steps.length}`}renderSubmit(s){const o=this.submitAction;return e("ds-tooltip",{slot:s,label:o.label,side:"bottom",size:"sm"},e("ds-button-filled",{class:"bar-workflow__submit",variant:"icon",icon:"Check",label:o.label,"aria-label":o.label,intent:"brand",contrast:"faint",background:"bold",size:"md",type:o.type??"submit",isInactive:o.isInactive,isLoading:o.isLoading,onDsClick:s=>this.dsSubmit.emit(s.detail)}))}renderMobile(){return e("ds-mobile-header",{class:"bar-workflow__mobile",heading:this.resolvedHeading,tone:"brand"},e("ds-tooltip",{slot:"leading",label:this.exitLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__exit",variant:"icon",icon:"Cross","aria-label":this.exitAriaLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,onDsClick:s=>this.dsExit.emit(s.detail)})),this.previousStep?e("ds-tooltip",{slot:"trailing",label:this.previousLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__previous",variant:"icon",icon:"ChevronLeft","aria-label":this.previousLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,isInactive:this.previousStep.isInactive,onDsClick:this.handlePrevious})):null,this.isLastStep?this.renderSubmit("trailing"):e("ds-tooltip",{slot:"trailing",label:this.nextLabel,side:"bottom",size:"sm"},e("ds-button-filled",{class:"bar-workflow__next",variant:"icon",icon:"ChevronRight",label:this.nextLabel,"aria-label":this.nextLabel,intent:"brand",contrast:"faint",background:"bold",size:"md",type:"button",isInactive:this.isNextInactive||this.nextStep?.isInactive,onDsClick:this.handleNext})))}renderDesktop(){return e("div",{class:"bar-workflow ds-chrome-row ds-chrome-space--md"},e("div",{class:"bar-workflow__identity"},e("ds-tooltip",{label:this.exitLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__exit",variant:"icon",icon:"Cross","aria-label":this.exitAriaLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,onDsClick:s=>this.dsExit.emit(s.detail)})),e("ds-text",{class:"bar-workflow__heading ds-control--md",variant:"text-title-small",emphasis:true,color:"on-bold",as:"h1",lineTruncation:1},this.resolvedHeading)),e("div",{class:"bar-workflow__actions"},this.previousStep?e("ds-tooltip",{label:this.previousLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{class:"bar-workflow__previous",variant:"icon",icon:"ChevronLeft","aria-label":this.previousLabel,size:"md",background:"bold",activeFill:false,hasBorder:false,isInactive:this.previousStep.isInactive,onDsClick:this.handlePrevious})):null,this.isLastStep?this.renderSubmit():e("ds-tooltip",{label:this.nextLabel,side:"bottom",size:"sm"},e("ds-button-filled",{class:"bar-workflow__next",variant:"icon",icon:"ChevronRight",label:this.nextLabel,"aria-label":this.nextLabel,intent:"brand",contrast:"faint",background:"bold",size:"md",type:"button",isInactive:this.isNextInactive||this.nextStep?.isInactive,onDsClick:this.handleNext}))))}render(){return e(r,{key:"ab3207cab1ba85b30351aa11981a95c72739cdd2"},this.responsiveMode==="mobile"?this.renderMobile():this.renderDesktop())}static get style(){return v()}},[2,"ds-bar-workflow",{heading:[1],steps:[16],value:[1],exitLabel:[1,"exit-label"],exitAriaLabel:[1,"exit-aria-label"],previousLabel:[1,"previous-label"],nextLabel:[1,"next-label"],submitAction:[16],isNextInactive:[4,"is-next-inactive"],responsiveMode:[513,"responsive-mode"]}]);function z(){if(typeof customElements==="undefined"){return}const s=["ds-bar-workflow","ds-badge","ds-button-filled","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-mobile-header","ds-mobile-section-switcher","ds-swatch-picker","ds-switch","ds-tab-group","ds-tag","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-bar-workflow":if(!customElements.get(t(s))){customElements.define(t(s),x)}break;case"ds-badge":if(!customElements.get(t(s))){a()}break;case"ds-button-filled":if(!customElements.get(t(s))){d()}break;case"ds-button-unfilled":if(!customElements.get(t(s))){n()}break;case"ds-icon":if(!customElements.get(t(s))){l()}break;case"ds-loader":if(!customElements.get(t(s))){c()}break;case"ds-menu":if(!customElements.get(t(s))){m()}break;case"ds-mobile-header":if(!customElements.get(t(s))){b()}break;case"ds-mobile-section-switcher":if(!customElements.get(t(s))){h()}break;case"ds-swatch-picker":if(!customElements.get(t(s))){w()}break;case"ds-switch":if(!customElements.get(t(s))){f()}break;case"ds-tab-group":if(!customElements.get(t(s))){p()}break;case"ds-tag":if(!customElements.get(t(s))){k()}break;case"ds-text":if(!customElements.get(t(s))){u()}break;case"ds-tooltip":if(!customElements.get(t(s))){g()}break}}))}z();const _=x;const E=z;export{_ as DsBarWorkflow,E as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-bar-workflow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["barWorkflowCss","BarWorkflow","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","steps","value","exitLabel","exitAriaLabel","previousLabel","nextLabel","submitAction","label","type","isNextInactive","responsiveMode","handlePrevious","previousStep","isInactive","dsStepChange","emit","id","handleNext","nextStep","currentIndex","index","findIndex","step","isLastStep","length","resolvedHeading","heading","renderSubmit","slot","submit","h","side","size","class","variant","icon","intent","contrast","background","isLoading","onDsClick","event","dsSubmit","detail","renderMobile","tone","activeFill","hasBorder","dsExit","renderDesktop","emphasis","color","as","lineTruncation","render","Host","key"],"sources":["src/wc/components/BarWorkflow/BarWorkflow.css?tag=ds-bar-workflow&encapsulation=scoped","src/wc/components/BarWorkflow/BarWorkflow.tsx"],"sourcesContent":["@import '../../utils/control-density.css';\n@import '../../utils/chrome-layout.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-bold-brand);\n}\n\n.bar-workflow {\n justify-content: space-between;\n height: var(--dimension-size-600);\n min-width: 0;\n background: var(--color-background-bold-brand);\n}\n\n.bar-workflow__identity {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n gap: var(--dimension-space-050);\n height: var(--dimension-size-400);\n min-width: 0;\n}\n\n.bar-workflow__heading {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n width: auto;\n min-width: 0;\n height: var(--dimension-size-400);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n user-select: none;\n}\n\n.bar-workflow__actions {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n gap: var(--dimension-space-100);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport type { ShellResponsiveMode } from '../../shell/shell-responsive';\nimport type { BarWorkflowStep, BarWorkflowSubmitAction } from './bar-workflow-types';\n\n@Component({\n tag: 'ds-bar-workflow',\n styleUrl: 'BarWorkflow.css',\n scoped: true,\n})\nexport class BarWorkflow {\n /** The workflow's single visible h1. */\n @Prop() heading!: string;\n\n /** Ordered workflow steps. Step state is controlled by the application. */\n @Prop() steps: BarWorkflowStep[] = [];\n\n /** Id of the current workflow step. Falls back to the first step. */\n @Prop() value: string = '';\n\n /** Concise tooltip label for the Exit control. */\n @Prop() exitLabel: string = 'Exit';\n\n /** Workflow-specific accessible name for Exit. */\n @Prop() exitAriaLabel: string = 'Exit workflow';\n\n /** Tooltip and accessible name for the previous-step control. */\n @Prop() previousLabel: string = 'Previous step';\n\n /** Tooltip and accessible name for the next-step control. */\n @Prop() nextLabel: string = 'Next step';\n\n /** The final-step Save or Submit action. */\n @Prop() submitAction: BarWorkflowSubmitAction = {\n label: 'Save',\n type: 'submit',\n };\n\n /** Prevent advancing while the current step is incomplete or invalid. */\n @Prop() isNextInactive: boolean = false;\n\n /** Explicit shell breakpoint presentation. Mobile keeps the same controlled workflow state. */\n @Prop({ attribute: 'responsive-mode', reflect: true })\n responsiveMode: ShellResponsiveMode = 'desktop';\n\n /** Emitted when Exit is activated. */\n @Event() dsExit!: EventEmitter<MouseEvent>;\n\n /** Emitted with the target previous or next step id. The component never mutates value. */\n @Event() dsStepChange!: EventEmitter<string>;\n\n /** Emitted when the final Save or Submit control is activated. */\n @Event() dsSubmit!: EventEmitter<MouseEvent>;\n\n private get currentIndex(): number {\n const index = this.steps.findIndex(step => step.id === this.value);\n return index >= 0 ? index : 0;\n }\n\n private get previousStep(): BarWorkflowStep | null {\n return this.steps[this.currentIndex - 1] ?? null;\n }\n\n private get nextStep(): BarWorkflowStep | null {\n return this.steps[this.currentIndex + 1] ?? null;\n }\n\n private get isLastStep(): boolean {\n return this.steps.length <= 1 || this.currentIndex === this.steps.length - 1;\n }\n\n private get resolvedHeading(): string {\n if (this.steps.length <= 1) return this.heading;\n return `${this.heading} · ${this.currentIndex + 1}/${this.steps.length}`;\n }\n\n private handlePrevious = () => {\n if (this.previousStep && !this.previousStep.isInactive) {\n this.dsStepChange.emit(this.previousStep.id);\n }\n };\n\n private handleNext = () => {\n if (this.nextStep && !this.isNextInactive && !this.nextStep.isInactive) {\n this.dsStepChange.emit(this.nextStep.id);\n }\n };\n\n private renderSubmit(slot?: 'trailing') {\n const submit = this.submitAction;\n return (\n <ds-tooltip slot={slot} label={submit.label} side=\"bottom\" size=\"sm\">\n <ds-button-filled\n class=\"bar-workflow__submit\"\n variant=\"icon\"\n icon=\"Check\"\n label={submit.label}\n aria-label={submit.label}\n intent=\"brand\"\n contrast=\"faint\"\n background=\"bold\"\n size=\"md\"\n type={submit.type ?? 'submit'}\n isInactive={submit.isInactive}\n isLoading={submit.isLoading}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsSubmit.emit(event.detail)}\n />\n </ds-tooltip>\n );\n }\n\n private renderMobile() {\n return (\n <ds-mobile-header\n class=\"bar-workflow__mobile\"\n heading={this.resolvedHeading}\n tone=\"brand\"\n >\n <ds-tooltip slot=\"leading\" label={this.exitLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__exit\"\n variant=\"icon\"\n icon=\"Cross\"\n aria-label={this.exitAriaLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsExit.emit(event.detail)}\n />\n </ds-tooltip>\n\n {this.previousStep ? (\n <ds-tooltip slot=\"trailing\" label={this.previousLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__previous\"\n variant=\"icon\"\n icon=\"ChevronLeft\"\n aria-label={this.previousLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n isInactive={this.previousStep.isInactive}\n onDsClick={this.handlePrevious}\n />\n </ds-tooltip>\n ) : null}\n\n {this.isLastStep ? (\n this.renderSubmit('trailing')\n ) : (\n <ds-tooltip slot=\"trailing\" label={this.nextLabel} side=\"bottom\" size=\"sm\">\n <ds-button-filled\n class=\"bar-workflow__next\"\n variant=\"icon\"\n icon=\"ChevronRight\"\n label={this.nextLabel}\n aria-label={this.nextLabel}\n intent=\"brand\"\n contrast=\"faint\"\n background=\"bold\"\n size=\"md\"\n type=\"button\"\n isInactive={this.isNextInactive || this.nextStep?.isInactive}\n onDsClick={this.handleNext}\n />\n </ds-tooltip>\n )}\n </ds-mobile-header>\n );\n }\n\n private renderDesktop() {\n return (\n <div class=\"bar-workflow ds-chrome-row ds-chrome-space--md\">\n <div class=\"bar-workflow__identity\">\n <ds-tooltip label={this.exitLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__exit\"\n variant=\"icon\"\n icon=\"Cross\"\n aria-label={this.exitAriaLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsExit.emit(event.detail)}\n />\n </ds-tooltip>\n <ds-text\n class=\"bar-workflow__heading ds-control--md\"\n variant=\"text-title-small\"\n emphasis\n color=\"on-bold\"\n as=\"h1\"\n lineTruncation={1}\n >\n {this.resolvedHeading}\n </ds-text>\n </div>\n\n <div class=\"bar-workflow__actions\">\n {this.previousStep ? (\n <ds-tooltip label={this.previousLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__previous\"\n variant=\"icon\"\n icon=\"ChevronLeft\"\n aria-label={this.previousLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n isInactive={this.previousStep.isInactive}\n onDsClick={this.handlePrevious}\n />\n </ds-tooltip>\n ) : null}\n\n {this.isLastStep ? (\n this.renderSubmit()\n ) : (\n <ds-tooltip label={this.nextLabel} side=\"bottom\" size=\"sm\">\n <ds-button-filled\n class=\"bar-workflow__next\"\n variant=\"icon\"\n icon=\"ChevronRight\"\n label={this.nextLabel}\n aria-label={this.nextLabel}\n intent=\"brand\"\n contrast=\"faint\"\n background=\"bold\"\n size=\"md\"\n type=\"button\"\n isInactive={this.isNextInactive || this.nextStep?.isInactive}\n onDsClick={this.handleNext}\n />\n </ds-tooltip>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n {this.responsiveMode === 'mobile' ? this.renderMobile() : this.renderDesktop()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["barWorkflowCss","BarWorkflow","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","steps","value","exitLabel","exitAriaLabel","previousLabel","nextLabel","submitAction","label","type","isNextInactive","responsiveMode","handlePrevious","previousStep","isInactive","dsStepChange","emit","id","handleNext","nextStep","currentIndex","index","findIndex","step","isLastStep","length","resolvedHeading","heading","renderSubmit","slot","submit","h","side","size","class","variant","icon","intent","contrast","background","isLoading","onDsClick","event","dsSubmit","detail","renderMobile","tone","activeFill","hasBorder","dsExit","renderDesktop","emphasis","color","as","lineTruncation","render","Host","key"],"sources":["src/wc/components/BarWorkflow/BarWorkflow.css?tag=ds-bar-workflow&encapsulation=scoped","src/wc/components/BarWorkflow/BarWorkflow.tsx"],"sourcesContent":["@import '../../utils/control-density.css';\n@import '../../utils/chrome-layout.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-bold-brand);\n}\n\n.bar-workflow {\n justify-content: space-between;\n height: var(--dimension-size-600);\n min-width: 0;\n background: var(--color-background-bold-brand);\n}\n\n.bar-workflow__identity {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n gap: var(--dimension-space-050);\n height: var(--dimension-size-400);\n min-width: 0;\n}\n\n.bar-workflow__heading {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n width: auto;\n min-width: 0;\n height: var(--dimension-size-400);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n user-select: none;\n}\n\n.bar-workflow__actions {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n gap: var(--dimension-space-100);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport type { ShellResponsiveMode } from '../../shell/shell-responsive';\nimport type { BarWorkflowStep, BarWorkflowSubmitAction } from './bar-workflow-types';\n\n@Component({\n tag: 'ds-bar-workflow',\n styleUrl: 'BarWorkflow.css',\n scoped: true,\n})\nexport class BarWorkflow {\n /** The workflow's single visible h1. */\n @Prop() heading!: string;\n\n /** Ordered workflow steps. Step state is controlled by the application. */\n @Prop() steps: BarWorkflowStep[] = [];\n\n /** Id of the current workflow step. Falls back to the first step. */\n @Prop() value: string = '';\n\n /** Concise tooltip label for the Exit control. */\n @Prop() exitLabel: string = 'Exit';\n\n /** Workflow-specific accessible name for Exit. */\n @Prop() exitAriaLabel: string = 'Exit workflow';\n\n /** Tooltip and accessible name for the previous-step control. */\n @Prop() previousLabel: string = 'Previous step';\n\n /** Tooltip and accessible name for the next-step control. */\n @Prop() nextLabel: string = 'Next step';\n\n /** The final-step Save or Submit action. */\n @Prop() submitAction: BarWorkflowSubmitAction = {\n label: 'Save',\n type: 'submit',\n };\n\n /** Prevent advancing while the current step is incomplete or invalid. */\n @Prop() isNextInactive: boolean = false;\n\n /** Explicit shell breakpoint presentation. Mobile keeps the same controlled workflow state. */\n @Prop({ attribute: 'responsive-mode', reflect: true })\n responsiveMode: ShellResponsiveMode = 'desktop';\n\n /** Emitted when Exit is activated. */\n @Event() dsExit!: EventEmitter<MouseEvent>;\n\n /** Emitted with the target previous or next step id. The component never mutates value. */\n @Event() dsStepChange!: EventEmitter<string>;\n\n /** Emitted when the final Save or Submit control is activated. */\n @Event() dsSubmit!: EventEmitter<MouseEvent>;\n\n private get currentIndex(): number {\n const index = this.steps.findIndex(step => step.id === this.value);\n return index >= 0 ? index : 0;\n }\n\n private get previousStep(): BarWorkflowStep | null {\n return this.steps[this.currentIndex - 1] ?? null;\n }\n\n private get nextStep(): BarWorkflowStep | null {\n return this.steps[this.currentIndex + 1] ?? null;\n }\n\n private get isLastStep(): boolean {\n return this.steps.length <= 1 || this.currentIndex === this.steps.length - 1;\n }\n\n private get resolvedHeading(): string {\n if (this.steps.length <= 1) return this.heading;\n return `${this.heading} · ${this.currentIndex + 1}/${this.steps.length}`;\n }\n\n private handlePrevious = () => {\n if (this.previousStep && !this.previousStep.isInactive) {\n this.dsStepChange.emit(this.previousStep.id);\n }\n };\n\n private handleNext = () => {\n if (this.nextStep && !this.isNextInactive && !this.nextStep.isInactive) {\n this.dsStepChange.emit(this.nextStep.id);\n }\n };\n\n private renderSubmit(slot?: 'trailing') {\n const submit = this.submitAction;\n return (\n <ds-tooltip slot={slot} label={submit.label} side=\"bottom\" size=\"sm\">\n <ds-button-filled\n class=\"bar-workflow__submit\"\n variant=\"icon\"\n icon=\"Check\"\n label={submit.label}\n aria-label={submit.label}\n intent=\"brand\"\n contrast=\"faint\"\n background=\"bold\"\n size=\"md\"\n type={submit.type ?? 'submit'}\n isInactive={submit.isInactive}\n isLoading={submit.isLoading}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsSubmit.emit(event.detail)}\n />\n </ds-tooltip>\n );\n }\n\n private renderMobile() {\n return (\n <ds-mobile-header\n class=\"bar-workflow__mobile\"\n heading={this.resolvedHeading}\n tone=\"brand\"\n >\n <ds-tooltip slot=\"leading\" label={this.exitLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__exit\"\n variant=\"icon\"\n icon=\"Cross\"\n aria-label={this.exitAriaLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsExit.emit(event.detail)}\n />\n </ds-tooltip>\n\n {this.previousStep ? (\n <ds-tooltip slot=\"trailing\" label={this.previousLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__previous\"\n variant=\"icon\"\n icon=\"ChevronLeft\"\n aria-label={this.previousLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n isInactive={this.previousStep.isInactive}\n onDsClick={this.handlePrevious}\n />\n </ds-tooltip>\n ) : null}\n\n {this.isLastStep ? (\n this.renderSubmit('trailing')\n ) : (\n <ds-tooltip slot=\"trailing\" label={this.nextLabel} side=\"bottom\" size=\"sm\">\n <ds-button-filled\n class=\"bar-workflow__next\"\n variant=\"icon\"\n icon=\"ChevronRight\"\n label={this.nextLabel}\n aria-label={this.nextLabel}\n intent=\"brand\"\n contrast=\"faint\"\n background=\"bold\"\n size=\"md\"\n type=\"button\"\n isInactive={this.isNextInactive || this.nextStep?.isInactive}\n onDsClick={this.handleNext}\n />\n </ds-tooltip>\n )}\n </ds-mobile-header>\n );\n }\n\n private renderDesktop() {\n return (\n <div class=\"bar-workflow ds-chrome-row ds-chrome-space--md\">\n <div class=\"bar-workflow__identity\">\n <ds-tooltip label={this.exitLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__exit\"\n variant=\"icon\"\n icon=\"Cross\"\n aria-label={this.exitAriaLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsExit.emit(event.detail)}\n />\n </ds-tooltip>\n <ds-text\n class=\"bar-workflow__heading ds-control--md\"\n variant=\"text-title-small\"\n emphasis\n color=\"on-bold\"\n as=\"h1\"\n lineTruncation={1}\n >\n {this.resolvedHeading}\n </ds-text>\n </div>\n\n <div class=\"bar-workflow__actions\">\n {this.previousStep ? (\n <ds-tooltip label={this.previousLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"bar-workflow__previous\"\n variant=\"icon\"\n icon=\"ChevronLeft\"\n aria-label={this.previousLabel}\n size=\"md\"\n background=\"bold\"\n activeFill={false}\n hasBorder={false}\n isInactive={this.previousStep.isInactive}\n onDsClick={this.handlePrevious}\n />\n </ds-tooltip>\n ) : null}\n\n {this.isLastStep ? (\n this.renderSubmit()\n ) : (\n <ds-tooltip label={this.nextLabel} side=\"bottom\" size=\"sm\">\n <ds-button-filled\n class=\"bar-workflow__next\"\n variant=\"icon\"\n icon=\"ChevronRight\"\n label={this.nextLabel}\n aria-label={this.nextLabel}\n intent=\"brand\"\n contrast=\"faint\"\n background=\"bold\"\n size=\"md\"\n type=\"button\"\n isInactive={this.isNextInactive || this.nextStep?.isInactive}\n onDsClick={this.handleNext}\n />\n </ds-tooltip>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n {this.responsiveMode === 'mobile' ? this.renderMobile() : this.renderDesktop()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as
|
|
1
|
+
import{B as o,d as s}from"./p-CzcWZiH-.js";const t=o;const c=s;export{t as DsBreadcrumb,c as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-breadcrumb.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as o,d as s}from"./p-
|
|
1
|
+
import{B as o,d as s}from"./p-U8JIZzI2.js";const t=o;const p=s;export{t as DsButtonFilled,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-button-filled.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as o,d as s}from"./p-
|
|
1
|
+
import{B as o,d as s}from"./p-NzGRAPcF.js";const t=o;const c=s;export{t as DsButtonUnfilled,c as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-button-unfilled.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as r,H as s,c as a,h as d,a as c,t as e}from"./index.js";import{d as t}from"./p-
|
|
1
|
+
import{p as r,H as s,c as a,h as d,a as c,t as e}from"./index.js";import{d as t}from"./p-a6qP60zb.js";import{d as o}from"./p-NzGRAPcF.js";import{d as i}from"./p-BFfLvMZd.js";import{d as n}from"./p-JPTkZ3Ji.js";import{d as h}from"./p-BGXqFq2C.js";const l=()=>`.ds-control--lg.sc-ds-card-chart,.ds-control--lg.sc-ds-card-chart-h,.ds-control--md.sc-ds-card-chart-h,.ds-control--md.sc-ds-card-chart,.ds-control--sm.sc-ds-card-chart-h,.ds-control--sm.sc-ds-card-chart,.ds-control--xs.sc-ds-card-chart-h,.ds-control--xs.sc-ds-card-chart{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-card-chart-h,.ds-control--lg.sc-ds-card-chart{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-card-chart-h,.ds-control--md.sc-ds-card-chart{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-card-chart-h,.ds-control--sm.sc-ds-card-chart{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-card-chart-h,.ds-control--xs.sc-ds-card-chart{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-header.sc-ds-card-chart{display:flex;align-items:center;box-sizing:border-box;min-width:0;min-block-size:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100)}.ds-chrome-header--wrapping.sc-ds-card-chart{flex-wrap:wrap}.ds-chrome-header--bounded.sc-ds-card-chart{border-block-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.ds-chrome-header__leading.sc-ds-card-chart,.ds-chrome-header__trailing.sc-ds-card-chart{display:flex;align-items:center;flex:0 0 auto;min-width:0}.ds-chrome-header__trailing.sc-ds-card-chart{margin-inline-start:auto;gap:var(--dimension-space-100)}.ds-chrome-header__copy.sc-ds-card-chart{display:flex;flex:1 1 0;min-width:0;padding:var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box}.ds-chrome-header__copy--wrapping.sc-ds-card-chart{align-items:baseline;flex-wrap:wrap;column-gap:var(--dimension-space-100);row-gap:var(--dimension-space-050)}.ds-chrome-header__copy--stacked.sc-ds-card-chart{align-items:stretch;flex-direction:column;gap:var(--dimension-space-050)}.ds-chrome-header__heading.sc-ds-card-chart,.ds-chrome-header__description.sc-ds-card-chart{width:auto;min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025));box-sizing:border-box}.ds-chrome-header__heading.sc-ds-card-chart{flex:0 1 auto}.ds-chrome-header__copy--wrapping.sc-ds-card-chart .ds-chrome-header__description.sc-ds-card-chart{flex:1 1 var(--dimension-card-width-xs)}@media (forced-colors: active){.sc-ds-card-chart:root,.sc-ds-card-chart-h,.ds-forced-colors-scope.sc-ds-card-chart{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-card-chart-h{position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:var(--_card-chart-width);min-height:var(--_card-chart-min-height);max-width:100%;overflow:visible;border:none;border-radius:var(--dimension-radius-125);background-color:var(--color-background-primary);box-shadow:var(--effect-shadow-elevated-sm)}.sc-ds-card-chart-h::after{content:'';position:absolute;inset:0;z-index:4;border-radius:inherit;box-shadow:var(--effect-highlight-elevated-sm);pointer-events:none}.card-chart__header.sc-ds-card-chart{flex-shrink:0;border-bottom:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.card-chart__copy.sc-ds-card-chart{align-items:center}ds-text.card-chart__title.sc-ds-card-chart{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none}.card-chart__actions.sc-ds-card-chart{flex-shrink:0}.card-chart__actions.sc-ds-card-chart:empty{display:none}.card-chart__body.sc-ds-card-chart,.card-chart__layout.sc-ds-card-chart{display:flex;flex:1 1 auto;flex-direction:column;box-sizing:border-box;min-height:0}.card-chart__body.sc-ds-card-chart{border-radius:0 0 var(--dimension-radius-125) var(--dimension-radius-125);background-color:var(--color-background-primary)}.card-chart__layout.sc-ds-card-chart{height:100%;gap:var(--dimension-space-200)}.card-chart__chart.sc-ds-card-chart{display:grid;flex:1 1 auto;align-items:center;box-sizing:border-box;min-height:0;padding:var(--dimension-space-200) var(--dimension-space-200) 0 var(--dimension-space-200)}.card-chart__chart.sc-ds-card-chart>*.sc-ds-card-chart{width:100%;min-width:0;max-width:100%}.card-chart__chart.sc-ds-card-chart>ds-chart.sc-ds-card-chart{--ds-chart-container-height:100%}.card-chart__legend.sc-ds-card-chart{flex:0 0 auto;box-sizing:border-box;padding:0 var(--dimension-space-100) var(--dimension-space-100) var(--dimension-space-100)}@media (forced-colors: active){.sc-ds-card-chart-h{box-shadow:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}.sc-ds-card-chart-h::after{box-shadow:none}}`;const m={sm:"var(--dimension-card-width-sm)",md:"var(--dimension-card-width-md)",lg:"var(--dimension-card-width-lg)"};const p={sm:"var(--dimension-card-height-sm)",md:"var(--dimension-card-height-md)",lg:"var(--dimension-card-height-lg)"};const g=r(class r extends s{constructor(r){super();if(r!==false){this.__registerHost()}this.dsFilterClick=a(this,"dsFilterClick",7);this.variant="custom";this.cardWidth="md";this.showFilter=false;this.filterLabel="Filter";this.hasChartSlot=false;this.hasLegendSlot=false;this.handleFilterClick=()=>{this.dsFilterClick.emit()}}componentWillRender(){this.hasChartSlot=!!this.el.querySelector('[slot="chart"]');this.hasLegendSlot=!!this.el.querySelector('[slot="legend"]')}componentDidRender(){const r=this.el.querySelector('ds-chart-legend[slot="legend"]');if(this.variant==="chart"&&r){r.setAttribute("highlight-on-hover","false");if("highlightOnHover"in r)r.highlightOnHover=false}}render(){const r=this.variant!=="custom"||this.hasChartSlot;return d(c,{key:"831de53d6122f5430183559dff180160dd6734d8",class:{"card-chart":true,[`card-chart--${this.variant}`]:true},style:{"--_card-chart-width":m[this.cardWidth],"--_card-chart-min-height":p[this.cardWidth]}},d("header",{key:"7dc8442e9bbde50e1c5ae28060aa4930b3b4e33d",class:"card-chart__header ds-chrome-header"},d("div",{key:"590e0b68f29fe7e1d1e67102c14f74015756f2b4",class:"card-chart__copy ds-chrome-header__copy ds-control--md"},d("ds-text",{key:"c8aa8ba1c2e10f2bd1b9f80041f56fd59f9e085e",class:"card-chart__title ds-chrome-header__heading",variant:"text-title-small",emphasis:true,color:"primary",as:"h2"},this.heading)),d("div",{key:"0740c05e1f1622c65361af703e80dc77eea3261a",class:"card-chart__actions ds-chrome-header__trailing"},this.showFilter?d("ds-button-unfilled",{variant:"icon",type:"button",icon:"Filters","aria-label":this.filterLabel,onDsClick:this.handleFilterClick}):null,d("slot",{key:"179817d356109b5da3603838db46768e950d2499",name:"actions"}))),d("div",{key:"c3e650d2ad06c4c480e9a0d5e57bba676f3449fe",class:"card-chart__body"},r?d("div",{class:"card-chart__layout"},this.hasChartSlot?d("div",{class:{"card-chart__chart":true}},d("slot",{name:"chart"})):null,this.hasLegendSlot?d("div",{class:"card-chart__legend"},d("slot",{name:"legend"})):null,d("slot",null)):d("slot",null)))}get el(){return this}static get style(){return l()}},[262,"ds-card-chart",{heading:[1],variant:[1],cardWidth:[1,"card-width"],showFilter:[4,"show-filter"],filterLabel:[1,"filter-label"],hasChartSlot:[32],hasLegendSlot:[32]}]);function f(){if(typeof customElements==="undefined"){return}const r=["ds-card-chart","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text"];r.forEach((r=>{switch(r){case"ds-card-chart":if(!customElements.get(e(r))){customElements.define(e(r),g)}break;case"ds-badge":if(!customElements.get(e(r))){t()}break;case"ds-button-unfilled":if(!customElements.get(e(r))){o()}break;case"ds-icon":if(!customElements.get(e(r))){i()}break;case"ds-loader":if(!customElements.get(e(r))){n()}break;case"ds-text":if(!customElements.get(e(r))){h()}break}}))}f();const v=g;const b=f;export{v as DsCardChart,b as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-card-chart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cardChartCss","CARD_WIDTH_VARS","sm","md","lg","CARD_HEIGHT_VARS","CardChart","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","cardWidth","showFilter","filterLabel","hasChartSlot","hasLegendSlot","handleFilterClick","dsFilterClick","emit","componentWillRender","el","querySelector","componentDidRender","legend","setAttribute","highlightOnHover","render","usesChartLayout","h","Host","key","class","style","emphasis","color","as","heading","type","icon","onDsClick","name"],"sources":["src/wc/components/CardChart/CardChart.css?tag=ds-card-chart&encapsulation=scoped","src/wc/components/CardChart/CardChart.tsx"],"sourcesContent":["@import '../../utils/chrome-header.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: var(--_card-chart-width);\n min-height: var(--_card-chart-min-height);\n max-width: 100%;\n overflow: visible;\n border: none;\n border-radius: var(--dimension-radius-125);\n background-color: var(--color-background-primary);\n box-shadow: var(--effect-shadow-elevated-sm);\n}\n\n:host::after {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 4;\n border-radius: inherit;\n box-shadow: var(--effect-highlight-elevated-sm);\n pointer-events: none;\n}\n\n.card-chart__header {\n flex-shrink: 0;\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.card-chart__copy {\n align-items: center;\n}\n\nds-text.card-chart__title {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.card-chart__actions {\n flex-shrink: 0;\n}\n\n.card-chart__actions:empty {\n display: none;\n}\n\n.card-chart__body,\n.card-chart__layout {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n box-sizing: border-box;\n min-height: 0;\n}\n\n.card-chart__body {\n border-radius: 0 0 var(--dimension-radius-125) var(--dimension-radius-125);\n background-color: var(--color-background-primary);\n}\n\n.card-chart__layout {\n height: 100%;\n gap: var(--dimension-space-200);\n}\n\n.card-chart__chart {\n display: grid;\n flex: 1 1 auto;\n align-items: center;\n box-sizing: border-box;\n min-height: 0;\n padding: var(--dimension-space-200) var(--dimension-space-200) 0\n var(--dimension-space-200);\n}\n\n.card-chart__chart > * {\n width: 100%;\n min-width: 0;\n max-width: 100%;\n}\n\n.card-chart__chart > ds-chart {\n --ds-chart-container-height: 100%;\n}\n\n.card-chart__legend {\n flex: 0 0 auto;\n box-sizing: border-box;\n padding: 0 var(--dimension-space-100) var(--dimension-space-100)\n var(--dimension-space-100);\n}\n\n@media (forced-colors: active) {\n :host {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n\n :host::after {\n box-shadow: none;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\n\nexport type CardChartWidth = 'sm' | 'md' | 'lg';\nexport type CardChartVariant = 'custom' | 'chart';\n\ntype LegendSlot = HTMLElement & {\n activeLabel?: string | null;\n highlightOnHover?: boolean;\n};\n\nconst CARD_WIDTH_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-width-sm)',\n md: 'var(--dimension-card-width-md)',\n lg: 'var(--dimension-card-width-lg)',\n};\n\nconst CARD_HEIGHT_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-height-sm)',\n md: 'var(--dimension-card-height-md)',\n lg: 'var(--dimension-card-height-lg)',\n};\n\n/**\n * Standard chart card chrome and composition. The variant owns\n * only the chart/legend relationship; applications continue to own data.\n */\n@Component({\n tag: 'ds-card-chart',\n styleUrl: 'CardChart.css',\n scoped: true,\n})\nexport class CardChart {\n @Element() el!: HTMLElement;\n\n /** Chart heading shown in the card header. */\n @Prop() heading!: string;\n /** Chart composition behavior. */\n @Prop() variant: CardChartVariant = 'custom';\n /** Width token with the matching chart-card min-height. */\n @Prop() cardWidth: CardChartWidth = 'md';\n /** Renders the standard filter action before custom actions. */\n @Prop() showFilter: boolean = false;\n @Prop() filterLabel: string = 'Filter';\n\n /** Emits when the standard header filter control is activated. */\n @Event() dsFilterClick!: EventEmitter<void>;\n\n @State() private hasChartSlot = false;\n @State() private hasLegendSlot = false;\n\n componentWillRender() {\n this.hasChartSlot = !!this.el.querySelector('[slot=\"chart\"]');\n this.hasLegendSlot = !!this.el.querySelector('[slot=\"legend\"]');\n }\n\n componentDidRender() {\n const legend = this.el.querySelector(\n 'ds-chart-legend[slot=\"legend\"]'\n ) as LegendSlot | null;\n if (this.variant === 'chart' && legend) {\n legend.setAttribute('highlight-on-hover', 'false');\n if ('highlightOnHover' in legend) legend.highlightOnHover = false;\n }\n }\n\n private handleFilterClick = () => {\n this.dsFilterClick.emit();\n };\n\n render() {\n const usesChartLayout = this.variant !== 'custom' || this.hasChartSlot;\n return (\n <Host\n class={{\n 'card-chart': true,\n [`card-chart--${this.variant}`]: true,\n }}\n style={{\n '--_card-chart-width': CARD_WIDTH_VARS[this.cardWidth],\n '--_card-chart-min-height': CARD_HEIGHT_VARS[this.cardWidth],\n }}\n >\n <header class=\"card-chart__header ds-chrome-header\">\n {/* eslint-disable-next-line local/prefer-direct-ds-text -- Shared header copy owns the control-density geometry around the semantic heading. */}\n <div class=\"card-chart__copy ds-chrome-header__copy ds-control--md\">\n <ds-text\n class=\"card-chart__title ds-chrome-header__heading\"\n variant=\"text-title-small\"\n emphasis\n color=\"primary\"\n as=\"h2\"\n >\n {this.heading}\n </ds-text>\n </div>\n <div class=\"card-chart__actions ds-chrome-header__trailing\">\n {this.showFilter ? (\n <ds-button-unfilled\n variant=\"icon\"\n type=\"button\"\n icon=\"Filters\"\n aria-label={this.filterLabel}\n onDsClick={this.handleFilterClick}\n />\n ) : null}\n <slot name=\"actions\" />\n </div>\n </header>\n <div class=\"card-chart__body\">\n {usesChartLayout ? (\n <div class=\"card-chart__layout\">\n {this.hasChartSlot ? (\n <div\n class={{\n 'card-chart__chart': true,\n }}\n >\n <slot name=\"chart\" />\n </div>\n ) : null}\n {this.hasLegendSlot ? (\n <div class=\"card-chart__legend\">\n <slot name=\"legend\" />\n </div>\n ) : null}\n <slot />\n </div>\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"sPAAA,MAAMA,EAAe,IAAM,o8KCmB3B,MAAMC,EAAkD,CACtDC,GAAI,iCACJC,GAAI,iCACJC,GAAI,kCAGN,MAAMC,EAAmD,CACvDH,GAAI,kCACJC,GAAI,kCACJC,GAAI,mC,MAYOE,EAASC,EAAA,MAAAD,UAAAE,EALtB,WAAAC,CAAAC,G,
|
|
1
|
+
{"version":3,"names":["cardChartCss","CARD_WIDTH_VARS","sm","md","lg","CARD_HEIGHT_VARS","CardChart","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","cardWidth","showFilter","filterLabel","hasChartSlot","hasLegendSlot","handleFilterClick","dsFilterClick","emit","componentWillRender","el","querySelector","componentDidRender","legend","setAttribute","highlightOnHover","render","usesChartLayout","h","Host","key","class","style","emphasis","color","as","heading","type","icon","onDsClick","name"],"sources":["src/wc/components/CardChart/CardChart.css?tag=ds-card-chart&encapsulation=scoped","src/wc/components/CardChart/CardChart.tsx"],"sourcesContent":["@import '../../utils/chrome-header.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: var(--_card-chart-width);\n min-height: var(--_card-chart-min-height);\n max-width: 100%;\n overflow: visible;\n border: none;\n border-radius: var(--dimension-radius-125);\n background-color: var(--color-background-primary);\n box-shadow: var(--effect-shadow-elevated-sm);\n}\n\n:host::after {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 4;\n border-radius: inherit;\n box-shadow: var(--effect-highlight-elevated-sm);\n pointer-events: none;\n}\n\n.card-chart__header {\n flex-shrink: 0;\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.card-chart__copy {\n align-items: center;\n}\n\nds-text.card-chart__title {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.card-chart__actions {\n flex-shrink: 0;\n}\n\n.card-chart__actions:empty {\n display: none;\n}\n\n.card-chart__body,\n.card-chart__layout {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n box-sizing: border-box;\n min-height: 0;\n}\n\n.card-chart__body {\n border-radius: 0 0 var(--dimension-radius-125) var(--dimension-radius-125);\n background-color: var(--color-background-primary);\n}\n\n.card-chart__layout {\n height: 100%;\n gap: var(--dimension-space-200);\n}\n\n.card-chart__chart {\n display: grid;\n flex: 1 1 auto;\n align-items: center;\n box-sizing: border-box;\n min-height: 0;\n padding: var(--dimension-space-200) var(--dimension-space-200) 0\n var(--dimension-space-200);\n}\n\n.card-chart__chart > * {\n width: 100%;\n min-width: 0;\n max-width: 100%;\n}\n\n.card-chart__chart > ds-chart {\n --ds-chart-container-height: 100%;\n}\n\n.card-chart__legend {\n flex: 0 0 auto;\n box-sizing: border-box;\n padding: 0 var(--dimension-space-100) var(--dimension-space-100)\n var(--dimension-space-100);\n}\n\n@media (forced-colors: active) {\n :host {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n\n :host::after {\n box-shadow: none;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\n\nexport type CardChartWidth = 'sm' | 'md' | 'lg';\nexport type CardChartVariant = 'custom' | 'chart';\n\ntype LegendSlot = HTMLElement & {\n activeLabel?: string | null;\n highlightOnHover?: boolean;\n};\n\nconst CARD_WIDTH_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-width-sm)',\n md: 'var(--dimension-card-width-md)',\n lg: 'var(--dimension-card-width-lg)',\n};\n\nconst CARD_HEIGHT_VARS: Record<CardChartWidth, string> = {\n sm: 'var(--dimension-card-height-sm)',\n md: 'var(--dimension-card-height-md)',\n lg: 'var(--dimension-card-height-lg)',\n};\n\n/**\n * Standard chart card chrome and composition. The variant owns\n * only the chart/legend relationship; applications continue to own data.\n */\n@Component({\n tag: 'ds-card-chart',\n styleUrl: 'CardChart.css',\n scoped: true,\n})\nexport class CardChart {\n @Element() el!: HTMLElement;\n\n /** Chart heading shown in the card header. */\n @Prop() heading!: string;\n /** Chart composition behavior. */\n @Prop() variant: CardChartVariant = 'custom';\n /** Width token with the matching chart-card min-height. */\n @Prop() cardWidth: CardChartWidth = 'md';\n /** Renders the standard filter action before custom actions. */\n @Prop() showFilter: boolean = false;\n @Prop() filterLabel: string = 'Filter';\n\n /** Emits when the standard header filter control is activated. */\n @Event() dsFilterClick!: EventEmitter<void>;\n\n @State() private hasChartSlot = false;\n @State() private hasLegendSlot = false;\n\n componentWillRender() {\n this.hasChartSlot = !!this.el.querySelector('[slot=\"chart\"]');\n this.hasLegendSlot = !!this.el.querySelector('[slot=\"legend\"]');\n }\n\n componentDidRender() {\n const legend = this.el.querySelector(\n 'ds-chart-legend[slot=\"legend\"]'\n ) as LegendSlot | null;\n if (this.variant === 'chart' && legend) {\n legend.setAttribute('highlight-on-hover', 'false');\n if ('highlightOnHover' in legend) legend.highlightOnHover = false;\n }\n }\n\n private handleFilterClick = () => {\n this.dsFilterClick.emit();\n };\n\n render() {\n const usesChartLayout = this.variant !== 'custom' || this.hasChartSlot;\n return (\n <Host\n class={{\n 'card-chart': true,\n [`card-chart--${this.variant}`]: true,\n }}\n style={{\n '--_card-chart-width': CARD_WIDTH_VARS[this.cardWidth],\n '--_card-chart-min-height': CARD_HEIGHT_VARS[this.cardWidth],\n }}\n >\n <header class=\"card-chart__header ds-chrome-header\">\n {/* eslint-disable-next-line local/prefer-direct-ds-text -- Shared header copy owns the control-density geometry around the semantic heading. */}\n <div class=\"card-chart__copy ds-chrome-header__copy ds-control--md\">\n <ds-text\n class=\"card-chart__title ds-chrome-header__heading\"\n variant=\"text-title-small\"\n emphasis\n color=\"primary\"\n as=\"h2\"\n >\n {this.heading}\n </ds-text>\n </div>\n <div class=\"card-chart__actions ds-chrome-header__trailing\">\n {this.showFilter ? (\n <ds-button-unfilled\n variant=\"icon\"\n type=\"button\"\n icon=\"Filters\"\n aria-label={this.filterLabel}\n onDsClick={this.handleFilterClick}\n />\n ) : null}\n <slot name=\"actions\" />\n </div>\n </header>\n <div class=\"card-chart__body\">\n {usesChartLayout ? (\n <div class=\"card-chart__layout\">\n {this.hasChartSlot ? (\n <div\n class={{\n 'card-chart__chart': true,\n }}\n >\n <slot name=\"chart\" />\n </div>\n ) : null}\n {this.hasLegendSlot ? (\n <div class=\"card-chart__legend\">\n <slot name=\"legend\" />\n </div>\n ) : null}\n <slot />\n </div>\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"sPAAA,MAAMA,EAAe,IAAM,o8KCmB3B,MAAMC,EAAkD,CACtDC,GAAI,iCACJC,GAAI,iCACJC,GAAI,kCAGN,MAAMC,EAAmD,CACvDH,GAAI,kCACJC,GAAI,kCACJC,GAAI,mC,MAYOE,EAASC,EAAA,MAAAD,UAAAE,EALtB,WAAAC,CAAAC,G,yFAWUC,KAAAC,QAA4B,SAE5BD,KAAAE,UAA4B,KAE5BF,KAAAG,WAAsB,MACtBH,KAAAI,YAAsB,SAKbJ,KAAAK,aAAe,MACfL,KAAAM,cAAgB,MAiBzBN,KAAAO,kBAAoB,KAC1BP,KAAKQ,cAAcC,MAAM,CAoE5B,CApFC,mBAAAC,GACEV,KAAKK,eAAiBL,KAAKW,GAAGC,cAAc,kBAC5CZ,KAAKM,gBAAkBN,KAAKW,GAAGC,cAAc,kB,CAG/C,kBAAAC,GACE,MAAMC,EAASd,KAAKW,GAAGC,cACrB,kCAEF,GAAIZ,KAAKC,UAAY,SAAWa,EAAQ,CACtCA,EAAOC,aAAa,qBAAsB,SAC1C,GAAI,qBAAsBD,EAAQA,EAAOE,iBAAmB,K,EAQhE,MAAAC,GACE,MAAMC,EAAkBlB,KAAKC,UAAY,UAAYD,KAAKK,aAC1D,OACEc,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,aAAc,KACd,CAAC,eAAetB,KAAKC,WAAY,MAEnCsB,MAAO,CACL,sBAAuBjC,EAAgBU,KAAKE,WAC5C,2BAA4BR,EAAiBM,KAAKE,aAGpDiB,EAAA,UAAAE,IAAA,2CAAQC,MAAM,uCAEZH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0DACTH,EAAA,WAAAE,IAAA,2CACEC,MAAM,8CACNrB,QAAQ,mBACRuB,SAAQ,KACRC,MAAM,UACNC,GAAG,MAEF1B,KAAK2B,UAGVR,EAAA,OAAAE,IAAA,2CAAKC,MAAM,kDACRtB,KAAKG,WACJgB,EAAA,sBACElB,QAAQ,OACR2B,KAAK,SACLC,KAAK,UAAS,aACF7B,KAAKI,YACjB0B,UAAW9B,KAAKO,oBAEhB,KACJY,EAAA,QAAAE,IAAA,2CAAMU,KAAK,cAGfZ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBACRJ,EACCC,EAAA,OAAKG,MAAM,sBACRtB,KAAKK,aACJc,EAAA,OACEG,MAAO,CACL,oBAAqB,OAGvBH,EAAA,QAAMY,KAAK,WAEX,KACH/B,KAAKM,cACJa,EAAA,OAAKG,MAAM,sBACTH,EAAA,QAAMY,KAAK,YAEX,KACJZ,EAAA,cAGFA,EAAA,c","ignoreList":[]}
|