@ds-mo/ui 14.17.1 → 14.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +9 -8
- package/dist/agent.json +103 -45
- package/dist/angular/ds-button-filled.d.ts +1 -1
- package/dist/angular/ds-button-filled.js +3 -3
- 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-input.d.ts +1 -1
- package/dist/angular/ds-input.js +3 -3
- package/dist/angular/ds-menu.d.ts +1 -1
- package/dist/angular/ds-menu.js +3 -3
- package/dist/angular/ds-mobile-bar-nav.d.ts +1 -1
- package/dist/angular/ds-mobile-bar-nav.js +3 -3
- package/dist/angular/ds-panel-tool-header.d.ts +3 -8
- package/dist/angular/ds-panel-tools.d.ts +3 -8
- package/dist/angular/ds-select.d.ts +1 -1
- package/dist/angular/ds-select.js +3 -3
- package/dist/angular/ds-tooltip.d.ts +1 -1
- package/dist/angular/ds-tooltip.js +3 -3
- 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-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-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.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-conversation-list.js.map +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-input.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-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.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-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-paper-texture.js +1 -1
- package/dist/components/ds-radio.js +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-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.js +1 -1
- package/dist/components/ds-table-filter.js.map +1 -1
- package/dist/components/ds-table-saved-views.js +1 -1
- package/dist/components/ds-table-sort.js +1 -1
- package/dist/components/ds-table-sort.js.map +1 -1
- 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/ds-typing-indicator.js.map +1 -1
- package/dist/components/{p-C0X2zKbB.js → p-1Hu9jlju.js} +2 -2
- package/dist/components/{p-DQqOzDEq.js → p-B00PEE6t.js} +2 -2
- package/dist/components/p-B0Byw6OX.js +2 -0
- package/dist/components/p-B0Byw6OX.js.map +1 -0
- package/dist/components/{p-D1YhYulL.js → p-B1JRCDHS.js} +2 -2
- package/dist/components/p-BBG6Sswb.js +2 -0
- package/dist/components/{p-23u3lIr1.js.map → p-BBG6Sswb.js.map} +1 -1
- package/dist/components/{p-D8Qd6gkf.js → p-BCOl1x0_.js} +2 -2
- package/dist/components/{p-Dg9qiMDa.js → p-BHVOiWz5.js} +2 -2
- package/dist/components/p-BPG0r_mC.js +2 -0
- package/dist/components/p-BPG0r_mC.js.map +1 -0
- package/dist/components/p-BUDAwJVV.js +2 -0
- package/dist/components/p-BUDAwJVV.js.map +1 -0
- package/dist/components/{p-DHuyj-9J.js → p-BXN-e7vF.js} +2 -2
- package/dist/components/{p-Bn8NryHK.js → p-B_jZIC9R.js} +2 -2
- package/dist/components/{p-7tZx4ukz.js → p-Bbb9A3NV.js} +2 -2
- package/dist/components/p-Bece5KH3.js +2 -0
- package/dist/components/p-Bece5KH3.js.map +1 -0
- package/dist/components/{p-ruPTIV6t.js → p-BhYS_Ump.js} +2 -2
- package/dist/components/p-Bkh7scMQ.js +2 -0
- package/dist/components/{p-DsJW5W3W.js.map → p-Bkh7scMQ.js.map} +1 -1
- package/dist/components/{p-B0PEg5RF.js → p-BknXYAEc.js} +2 -2
- package/dist/components/{p-C4TgWJi9.js → p-Bu3dOjpW.js} +2 -2
- package/dist/components/{p-BVlfQ8xZ.js → p-C-Y7gYgz.js} +2 -2
- package/dist/components/p-C-Y7gYgz.js.map +1 -0
- package/dist/components/{p-DAqSoyd4.js → p-C6R5Lft0.js} +2 -2
- package/dist/components/{p-PD1Vfg0t.js → p-C9gC4haA.js} +2 -2
- package/dist/components/{p-BGXqFq2C.js → p-CAnnQL1F.js} +2 -2
- package/dist/components/p-CE2IKOsy.js +2 -0
- package/dist/components/p-CE2IKOsy.js.map +1 -0
- package/dist/components/p-CKVHrOEp.js +2 -0
- package/dist/components/{p-DIEK54fV.js.map → p-CKVHrOEp.js.map} +1 -1
- package/dist/components/{p-BHz78C8h.js → p-CLVxgTme.js} +2 -2
- package/dist/components/p-CY4YFAT3.js +2 -0
- package/dist/components/p-CY4YFAT3.js.map +1 -0
- package/dist/components/{p-y4jhIkRc.js → p-Cg0kimXZ.js} +2 -2
- package/dist/components/p-CqQFowZd.js +2 -0
- package/dist/components/p-CqQFowZd.js.map +1 -0
- package/dist/components/{p-BhYWdbEp.js → p-CsBICYmt.js} +2 -2
- package/dist/components/p-CwjVgUqy.js +2 -0
- package/dist/components/p-CwjVgUqy.js.map +1 -0
- package/dist/components/{p-BHDkJmrC.js → p-D123Jvp-.js} +2 -2
- package/dist/components/p-D1eEgwcP.js +2 -0
- package/dist/components/p-D1eEgwcP.js.map +1 -0
- package/dist/components/{p-CzcWZiH-.js → p-D3fMaUJ3.js} +2 -2
- package/dist/components/p-D7R4yE2C.js +2 -0
- package/dist/components/{p-DEjh3klB.js.map → p-D7R4yE2C.js.map} +1 -1
- package/dist/components/{p-DZ55e3j9.js → p-D7haeL5y.js} +2 -2
- package/dist/components/p-D7haeL5y.js.map +1 -0
- package/dist/components/{p-D2z2DgtX.js → p-DAvh38E4.js} +2 -2
- package/dist/components/{p-CMFvaY05.js → p-DBue3ISk.js} +2 -2
- package/dist/components/{p-rrFMAZkj.js → p-DDgeXGbB.js} +2 -2
- package/dist/components/p-DNpLDbWY.js +2 -0
- package/dist/components/p-DNpLDbWY.js.map +1 -0
- package/dist/components/{p-U8JIZzI2.js → p-DUdOmSFR.js} +2 -2
- package/dist/components/p-DUdOmSFR.js.map +1 -0
- package/dist/components/p-DtndC9f1.js +2 -0
- package/dist/components/p-DtndC9f1.js.map +1 -0
- package/dist/components/{p-Be1sY58w.js → p-H5T258T-.js} +2 -2
- package/dist/components/p-H5T258T-.js.map +1 -0
- package/dist/components/p-HB_cf_aR.js +2 -0
- package/dist/components/{p-DNJTN_s0.js.map → p-HB_cf_aR.js.map} +1 -1
- package/dist/components/p-LK-jpxwq.js +2 -0
- package/dist/components/p-LK-jpxwq.js.map +1 -0
- package/dist/components/p-ag6Io-kL.js +2 -0
- package/dist/components/p-ag6Io-kL.js.map +1 -0
- package/dist/components/p-iMuFgSoM.js +2 -0
- package/dist/components/p-iMuFgSoM.js.map +1 -0
- package/dist/components/{p-DSIOINBK.js → p-uI6z53BE.js} +2 -2
- package/dist/docs/components.json +456 -55
- package/dist/lib/components/ButtonFilled/ButtonFilled.d.ts +2 -0
- package/dist/lib/components/PanelTools/panel-tools-types.d.ts +14 -2
- package/dist/lib/shell/index.d.ts +1 -1
- package/dist/lib/shell/index.js +17 -25
- package/dist/lib/shell/index.js.map +2 -2
- package/dist/lib/shell/shell-responsive.d.ts +6 -1
- package/dist/lib/utils/anchored-position.d.ts +8 -2
- package/dist/lib/utils/button-render.d.ts +1 -0
- package/dist/mcp-data/registry/badge.json +7 -9
- package/dist/mcp-data/registry/banner.json +2 -2
- package/dist/mcp-data/registry/bar-action.json +2 -2
- package/dist/mcp-data/registry/button-filled.json +20 -1
- package/dist/mcp-data/registry/button-unfilled.json +23 -3
- package/dist/mcp-data/registry/conversation-list.json +2 -2
- package/dist/mcp-data/registry/filter-menu.json +22 -7
- package/dist/mcp-data/registry/input.json +24 -4
- package/dist/mcp-data/registry/menu.json +23 -4
- package/dist/mcp-data/registry/message-composer.json +2 -2
- package/dist/mcp-data/registry/mobile-bar-nav.json +57 -6
- package/dist/mcp-data/registry/pagination.json +5 -4
- package/dist/mcp-data/registry/panel-nav.json +1 -1
- package/dist/mcp-data/registry/panel-tool-header.json +3 -3
- package/dist/mcp-data/registry/panel-tools.json +8 -7
- package/dist/mcp-data/registry/registry.json +102 -44
- package/dist/mcp-data/registry/select.json +18 -4
- package/dist/mcp-data/registry/shell-app.json +7 -6
- package/dist/mcp-data/registry/shell-tools.json +4 -4
- package/dist/mcp-data/registry/table-filter.json +3 -3
- package/dist/mcp-data/registry/table-sort.json +5 -4
- package/dist/mcp-data/registry/table-toolbar.json +10 -9
- package/dist/mcp-data/registry/table.json +24 -4
- package/dist/mcp-data/registry/toast.json +2 -2
- package/dist/mcp-data/registry/tooltip.json +20 -3
- package/dist/mcp-data/registry/typing-indicator.json +4 -4
- package/dist/react/ds-panel-tool-header.d.ts +2 -5
- package/dist/react/ds-panel-tools.d.ts +2 -5
- package/dist/styles/table.css +30 -10
- package/dist/types/components/Badge/Badge.d.ts +2 -16
- package/dist/types/components/Banner/Banner.d.ts +0 -1
- package/dist/types/components/BarAction/BarAction.d.ts +0 -7
- package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +2 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -0
- package/dist/types/components/ConversationList/ConversationList.d.ts +1 -0
- package/dist/types/components/FilterMenu/FilterMenu.d.ts +5 -5
- package/dist/types/components/Input/Input.d.ts +7 -0
- package/dist/types/components/Menu/Menu.d.ts +4 -4
- package/dist/types/components/MessageComposer/MessageComposer.d.ts +0 -3
- package/dist/types/components/MobileBarNav/MobileBarNav.d.ts +4 -0
- package/dist/types/components/Pagination/Pagination.d.ts +8 -0
- package/dist/types/components/PanelToolHeader/PanelToolHeader.d.ts +2 -5
- package/dist/types/components/PanelTools/PanelTools.d.ts +2 -5
- package/dist/types/components/PanelTools/panel-tools-types.d.ts +14 -2
- package/dist/types/components/Select/Select.d.ts +3 -0
- package/dist/types/components/Table/Table.d.ts +2 -13
- package/dist/types/components/Table/table-body-renderer.d.ts +36 -0
- package/dist/types/components/Table/table-load-view.d.ts +17 -0
- package/dist/types/components/Table/table-row-view.d.ts +26 -0
- package/dist/types/components/Table/table-skeleton-view.d.ts +12 -0
- package/dist/types/components/TableToolbar/TableToolbar.d.ts +5 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +3 -0
- package/dist/types/components.d.ts +112 -23
- package/dist/types/shell/index.d.ts +1 -1
- package/dist/types/shell/shell-responsive.d.ts +6 -1
- package/dist/types/utils/anchored-overlay-boundary.d.ts +14 -0
- package/dist/types/utils/anchored-overlay-interaction-controller.d.ts +26 -0
- package/dist/types/utils/anchored-position-controller.d.ts +14 -0
- package/dist/types/utils/anchored-position.d.ts +8 -2
- package/dist/types/utils/button-render.d.ts +1 -0
- package/dist/types/utils/select-controller.d.ts +1 -0
- package/dist/vue/ds-button-filled.js +1 -0
- package/dist/vue/ds-button-unfilled.js +1 -0
- package/dist/vue/ds-filter-menu.js +1 -0
- package/dist/vue/ds-input.js +1 -0
- package/dist/vue/ds-menu.js +1 -0
- package/dist/vue/ds-mobile-bar-nav.js +3 -0
- package/dist/vue/ds-select.js +1 -0
- package/dist/vue/ds-tooltip.js +1 -0
- package/package.json +4 -1
- package/dist/components/p-23u3lIr1.js +0 -2
- package/dist/components/p-Asi9h3pa.js +0 -2
- package/dist/components/p-Asi9h3pa.js.map +0 -1
- package/dist/components/p-BBxcMVqk.js +0 -2
- package/dist/components/p-BBxcMVqk.js.map +0 -1
- package/dist/components/p-BEvBJ65v.js +0 -2
- package/dist/components/p-BEvBJ65v.js.map +0 -1
- package/dist/components/p-BFSLT0yc.js +0 -2
- package/dist/components/p-BFSLT0yc.js.map +0 -1
- package/dist/components/p-BVlfQ8xZ.js.map +0 -1
- package/dist/components/p-BX0BMhgz.js +0 -2
- package/dist/components/p-BX0BMhgz.js.map +0 -1
- package/dist/components/p-Be1sY58w.js.map +0 -1
- package/dist/components/p-Bh67XbfB.js +0 -2
- package/dist/components/p-Bh67XbfB.js.map +0 -1
- package/dist/components/p-CKmfuK7k.js +0 -2
- package/dist/components/p-CKmfuK7k.js.map +0 -1
- package/dist/components/p-D4K9CE8a.js +0 -2
- package/dist/components/p-D4K9CE8a.js.map +0 -1
- package/dist/components/p-DEjh3klB.js +0 -2
- package/dist/components/p-DIEK54fV.js +0 -2
- package/dist/components/p-DNJTN_s0.js +0 -2
- package/dist/components/p-DOqnJVos.js +0 -2
- package/dist/components/p-DOqnJVos.js.map +0 -1
- package/dist/components/p-DZ55e3j9.js.map +0 -1
- package/dist/components/p-DhKvqh5G.js +0 -2
- package/dist/components/p-DhKvqh5G.js.map +0 -1
- package/dist/components/p-Dr4AgJbV.js +0 -2
- package/dist/components/p-Dr4AgJbV.js.map +0 -1
- package/dist/components/p-DsJW5W3W.js +0 -2
- package/dist/components/p-NzGRAPcF.js +0 -2
- package/dist/components/p-NzGRAPcF.js.map +0 -1
- package/dist/components/p-U8JIZzI2.js.map +0 -1
- package/dist/components/p-ZZzC52Ea.js +0 -2
- package/dist/components/p-ZZzC52Ea.js.map +0 -1
- package/dist/components/p-__lNIImO.js +0 -2
- package/dist/components/p-__lNIImO.js.map +0 -1
- package/dist/components/p-a6qP60zb.js +0 -2
- package/dist/components/p-a6qP60zb.js.map +0 -1
- package/dist/types/shell/badge-gradient-ring.d.ts +0 -28
- /package/dist/components/{p-C0X2zKbB.js.map → p-1Hu9jlju.js.map} +0 -0
- /package/dist/components/{p-DQqOzDEq.js.map → p-B00PEE6t.js.map} +0 -0
- /package/dist/components/{p-D1YhYulL.js.map → p-B1JRCDHS.js.map} +0 -0
- /package/dist/components/{p-D8Qd6gkf.js.map → p-BCOl1x0_.js.map} +0 -0
- /package/dist/components/{p-Dg9qiMDa.js.map → p-BHVOiWz5.js.map} +0 -0
- /package/dist/components/{p-DHuyj-9J.js.map → p-BXN-e7vF.js.map} +0 -0
- /package/dist/components/{p-Bn8NryHK.js.map → p-B_jZIC9R.js.map} +0 -0
- /package/dist/components/{p-7tZx4ukz.js.map → p-Bbb9A3NV.js.map} +0 -0
- /package/dist/components/{p-ruPTIV6t.js.map → p-BhYS_Ump.js.map} +0 -0
- /package/dist/components/{p-B0PEg5RF.js.map → p-BknXYAEc.js.map} +0 -0
- /package/dist/components/{p-C4TgWJi9.js.map → p-Bu3dOjpW.js.map} +0 -0
- /package/dist/components/{p-DAqSoyd4.js.map → p-C6R5Lft0.js.map} +0 -0
- /package/dist/components/{p-PD1Vfg0t.js.map → p-C9gC4haA.js.map} +0 -0
- /package/dist/components/{p-BGXqFq2C.js.map → p-CAnnQL1F.js.map} +0 -0
- /package/dist/components/{p-BHz78C8h.js.map → p-CLVxgTme.js.map} +0 -0
- /package/dist/components/{p-y4jhIkRc.js.map → p-Cg0kimXZ.js.map} +0 -0
- /package/dist/components/{p-BhYWdbEp.js.map → p-CsBICYmt.js.map} +0 -0
- /package/dist/components/{p-BHDkJmrC.js.map → p-D123Jvp-.js.map} +0 -0
- /package/dist/components/{p-CzcWZiH-.js.map → p-D3fMaUJ3.js.map} +0 -0
- /package/dist/components/{p-D2z2DgtX.js.map → p-DAvh38E4.js.map} +0 -0
- /package/dist/components/{p-CMFvaY05.js.map → p-DBue3ISk.js.map} +0 -0
- /package/dist/components/{p-rrFMAZkj.js.map → p-DDgeXGbB.js.map} +0 -0
- /package/dist/components/{p-DSIOINBK.js.map → p-uI6z53BE.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as i,c as t,h as e,a as r,t as d}from"./index.js";import{d as a}from"./p-BGXqFq2C.js";import{a as l,s as o,c as n,r as c}from"./p-B8q-6a03.js";const h=()=>`@media (forced-colors: active){.sc-ds-slider:root,.sc-ds-slider-h,.ds-forced-colors-scope.sc-ds-slider{--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}}.ds-control-inactive.sc-ds-slider-h,.ds-control-inactive.sc-ds-slider{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-slider-h,.ds-control-inactive.sc-ds-slider{color:var(--ds-forced-color-disabled);opacity:1}}.ds-field-stack.sc-ds-slider-h,.ds-field-stack.sc-ds-slider{display:flex;flex-direction:column;gap:var(--dimension-space-050)}@media (forced-colors: active){.sc-ds-slider:root,.sc-ds-slider-h,.ds-forced-colors-scope.sc-ds-slider{--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-slider-h{--ds-slider-control-size:var(--dimension-size-400);--ds-slider-thumb-size:var(--dimension-size-200);--ds-slider-track-size:var(--dimension-size-100);--ds-slider-track-stroke:var(--dimension-stroke-width-012);--ds-slider-vertical-length:calc(var(--dimension-size-800) * 3);box-sizing:border-box;width:100%;color:var(--color-foreground-primary)}.slider--sm.sc-ds-slider-h{--ds-slider-control-size:var(--dimension-size-300);--ds-slider-thumb-size:var(--dimension-size-150);--ds-slider-track-size:var(--dimension-size-075)}.slider--xs.sc-ds-slider-h{--ds-slider-control-size:var(--dimension-size-200);--ds-slider-thumb-size:var(--dimension-size-100);--ds-slider-track-size:var(--dimension-size-050)}.slider--vertical.sc-ds-slider-h{width:fit-content;min-width:var(--dimension-form-width-xs)}.slider__label-row.sc-ds-slider{display:flex;align-items:baseline;justify-content:space-between;gap:var(--dimension-space-100);min-width:0}.slider__label.sc-ds-slider{min-width:0}.slider__value.sc-ds-slider{flex-shrink:0}.slider__control.sc-ds-slider{position:relative;width:100%;height:var(--ds-slider-control-size);border-radius:var(--dimension-radius-half);cursor:default;touch-action:none;user-select:none}.slider--vertical.sc-ds-slider-h .slider__control.sc-ds-slider{align-self:center;width:var(--ds-slider-control-size);height:var(--ds-slider-vertical-length)}.slider--readonly.sc-ds-slider-h .slider__control.sc-ds-slider{cursor:default}.ds-control-inactive.sc-ds-slider-h .slider__control.sc-ds-slider{cursor:not-allowed}.slider__rail.sc-ds-slider{position:absolute;top:50%;right:0;left:0;height:var(--ds-slider-track-size);overflow:hidden;border-radius:var(--dimension-radius-025);background-color:transparent;box-shadow:inset 0 0 0 var(--ds-slider-track-stroke) var(--color-border-secondary);transform:translateY(-50%);pointer-events:none}.slider--thumb-center.sc-ds-slider-h .slider__rail.sc-ds-slider{right:calc(var(--ds-slider-thumb-size) / 2);left:calc(var(--ds-slider-thumb-size) / 2)}.slider__indicator.sc-ds-slider{position:absolute;top:0;bottom:0;left:0;width:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-end-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) );border-radius:inherit;background-color:var(--color-background-bold-brand)}.slider--range.sc-ds-slider-h .slider__indicator.sc-ds-slider{left:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-start-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) );width:calc( ((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) / 100) * (100% - var(--ds-slider-thumb-size)) )}.slider--thumb-center.sc-ds-slider-h .slider__indicator.sc-ds-slider{left:calc(var(--ds-slider-start-pct, 0) * 1%);width:calc((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) * 1%)}.slider__thumb.sc-ds-slider{position:absolute;top:50%;left:calc((var(--ds-slider-thumb-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)));width:var(--ds-slider-thumb-size);height:var(--ds-slider-thumb-size);transform:translateY(-50%);z-index:1}.slider__thumb--active.sc-ds-slider{z-index:2}.slider__input.sc-ds-slider{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;appearance:none;pointer-events:none;z-index:2}.slider__thumb-visual.sc-ds-slider{position:absolute;inset:0;box-sizing:border-box;overflow:visible;border-radius:var(--dimension-radius-025);background-color:var(--color-background-primary);box-shadow:var(--effect-elevation-elevated-sm);pointer-events:none;transition:background-color var(--effect-motion-short-2), box-shadow var(--effect-motion-short-2)}.slider__thumb-wash.sc-ds-slider{position:absolute;inset:0;border-radius:inherit;background-color:transparent;transition:background-color var(--effect-motion-short-2)}@media (hover: hover) and (pointer: fine){.sc-ds-slider-h:not(.slider--readonly):not(.ds-control-inactive) .slider__thumb.sc-ds-slider:hover .slider__thumb-wash.sc-ds-slider{background-color:var(--color-interaction-hover)}}[data-dragging].sc-ds-slider-h:not(.slider--readonly):not(.ds-control-inactive) .slider__thumb--active.sc-ds-slider .slider__thumb-wash.sc-ds-slider{background-color:var(--color-interaction-pressed)}.slider__input.sc-ds-slider:focus-visible+.slider__thumb-visual.sc-ds-slider,[data-review-focus].sc-ds-slider-h .slider__thumb[data-index='0'].sc-ds-slider .slider__thumb-visual.sc-ds-slider{outline:var(--dimension-stroke-width-025) solid var(--color-interaction-focus);outline-offset:var(--dimension-space-025)}.slider--vertical.sc-ds-slider-h .slider__rail.sc-ds-slider{top:0;right:auto;bottom:0;left:50%;width:var(--ds-slider-track-size);height:auto;transform:translateX(-50%)}.slider--vertical.slider--thumb-center.sc-ds-slider-h .slider__rail.sc-ds-slider{top:calc(var(--ds-slider-thumb-size) / 2);bottom:calc(var(--ds-slider-thumb-size) / 2)}.slider--vertical.sc-ds-slider-h .slider__indicator.sc-ds-slider{top:auto;right:0;bottom:0;left:0;width:auto;height:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-end-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) )}.slider--vertical.slider--range.sc-ds-slider-h .slider__indicator.sc-ds-slider{bottom:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-start-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) );height:calc( ((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) / 100) * (100% - var(--ds-slider-thumb-size)) )}.slider--vertical.slider--thumb-center.sc-ds-slider-h .slider__indicator.sc-ds-slider{bottom:calc(var(--ds-slider-start-pct, 0) * 1%);height:calc((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) * 1%)}.slider--vertical.sc-ds-slider-h .slider__thumb.sc-ds-slider{top:auto;bottom:calc((var(--ds-slider-thumb-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)));left:50%;transform:translateX(-50%)}@media (prefers-reduced-motion: reduce){.slider__thumb-visual.sc-ds-slider,.slider__thumb-wash.sc-ds-slider{transition:none}}@media (forced-colors: active){.slider__rail.sc-ds-slider{border:var(--ds-slider-track-stroke) solid var(--ds-forced-color-content);box-shadow:none}.slider__indicator.sc-ds-slider{background-color:var(--ds-forced-color-selected)}.slider__thumb-visual.sc-ds-slider{border:var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);background-color:var(--ds-forced-color-surface);box-shadow:none}.slider__input.sc-ds-slider:focus-visible+.slider__thumb-visual.sc-ds-slider,[data-review-focus].sc-ds-slider-h .slider__thumb[data-index='0'].sc-ds-slider .slider__thumb-visual.sc-ds-slider{outline-color:var(--ds-forced-color-selected)}}`;let u=0;let m=0;const b=s(class s extends i{constructor(s){super();if(s!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.dsCommit=t(this,"dsCommit",7);this.internals=this.attachInternals();this.value=0;this.min=0;this.max=100;this.step=1;this.minStepsBetweenValues=0;this.showValue=true;this.size="md";this.orientation="horizontal";this.thumbAlignment="edge";this.disabled=false;this.readOnly=false;this.isInactive=false;this.ariaLabel=null;this.startLabel="Minimum value";this.endLabel="Maximum value";this.valueTexts=[];this.valuePrefix="";this.valueSuffix="";this.rangeSeparator="–";this.formDisabled=false;this.dragging=false;this.focused=false;this.touched=false;this.activeThumbIndex=0;this.generatedId=`ds-slider-${++u}`;this.labelId=`${this.generatedId}-label`;this.initialValue=0;this.lastCommittedValue=0;this.pointerId=null;this.pointerStartValue=0;this.controlEl=null;this.handleNativeInput=(s,i)=>{const t=s.target;this.activeThumbIndex=i;if(this.readOnly||this.isDisabled){t.value=String(this.resolvedValues[i]);return}this.setValueAt(i,Number(t.value))};this.handleNativeChange=()=>{if(!this.readOnly&&!this.isDisabled)this.commitIfChanged()};this.handleKeyDown=s=>{if(!this.readOnly)return;if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(s.key)){s.preventDefault()}};this.handleFocus=s=>{this.activeThumbIndex=s;this.focused=true};this.handleBlur=s=>{const i=s.relatedTarget;if(i instanceof Node&&this.el.contains(i))return;this.focused=false;this.touched=true};this.handleHostClick=s=>{if(s.target!==this.el||this.isDisabled)return;const i=this.el.querySelectorAll(".slider__input");i[Math.min(this.activeThumbIndex,i.length-1)]?.focus()};this.handlePointerDown=s=>{if(s.button!==0||this.isDisabled||this.readOnly)return;s.preventDefault();const i=this.valueFromPointer(s);const t=this.closestThumbIndex(i,s.target);this.activeThumbIndex=t;this.pointerId=s.pointerId;this.pointerStartValue=this.cloneValue(this.publicValue);this.dragging=true;this.setValueAt(t,i);this.controlEl?.setPointerCapture(s.pointerId);requestAnimationFrame((()=>this.el.querySelectorAll(".slider__input")[t]?.focus({preventScroll:true})))};this.handlePointerMove=s=>{if(this.pointerId!==s.pointerId||!this.dragging)return;s.preventDefault();this.setValueAt(this.activeThumbIndex,this.valueFromPointer(s))}}componentWillLoad(){this.initialValue=this.cloneValue(this.publicValue);this.lastCommittedValue=this.cloneValue(this.publicValue);this.syncFormValue()}componentDidLoad(){this.syncNativeLabels()}syncFormValue(){const s=this.resolvedValues;if(this.isRange){l(this.internals,this.name,s,{inactive:this.isDisabled})}else{const i=String(s[0]);o(this.internals,this.name?i:null,{inactive:this.isDisabled,state:i})}}formDisabledCallback(s){this.formDisabled=s;this.syncFormValue()}formResetCallback(){this.value=this.cloneValue(this.initialValue);this.lastCommittedValue=this.cloneValue(this.initialValue);this.dragging=false;this.focused=false;this.touched=false}formStateRestoreCallback(s){if(this.isRange){const i=n(s,2);this.value=i.length?i:this.cloneValue(this.initialValue)}else{const i=Number(c(s,"NaN"));if(Number.isFinite(i))this.value=i}this.lastCommittedValue=this.cloneValue(this.publicValue)}async setFocus(s=0){const i=this.el.querySelectorAll(".slider__input");i[Math.max(0,Math.min(s,i.length-1))]?.focus()}get isDisabled(){return this.disabled||this.isInactive||this.formDisabled}get isRange(){return Array.isArray(this.value)}get safeStep(){return Number.isFinite(this.step)&&this.step>0?this.step:1}get safeMin(){return Number.isFinite(this.min)?this.min:0}get safeMax(){const s=this.safeMin;return Number.isFinite(this.max)&&this.max>s?this.max:s+this.safeStep}get minimumGap(){const s=Number.isFinite(this.minStepsBetweenValues)?Math.max(0,Math.floor(this.minStepsBetweenValues)):0;return s*this.safeStep}get resolvedValues(){const s=this.safeMin;const i=this.safeMax;if(!this.isRange)return[this.snap(Number(this.value))];const t=this.value;let e=this.snap(Number(t[0]??s));let r=this.snap(Number(t[1]??i));if(e>r)[e,r]=[r,e];const d=Math.min(this.minimumGap,i-s);if(r-e<d){r=Math.min(i,this.snap(e+d));e=Math.max(s,this.snap(r-d))}return[e,r]}get publicValue(){const s=this.resolvedValues;return this.isRange?[...s]:s[0]}cloneValue(s){return Array.isArray(s)?[...s]:s}valuesEqual(s,i){if(Array.isArray(s)&&Array.isArray(i)){return s.length===i.length&&s.every(((s,t)=>s===i[t]))}return!Array.isArray(s)&&!Array.isArray(i)&&s===i}decimalPlaces(s){const i=String(s).toLowerCase();if(i.includes("e-"))return Number(i.split("e-")[1])||0;return i.includes(".")?i.split(".")[1].length:0}snap(s){const i=this.safeMin;const t=this.safeMax;const e=Number.isFinite(s)?s:i;const r=i+Math.round((e-i)/this.safeStep)*this.safeStep;const d=Math.min(10,Math.max(this.decimalPlaces(i),this.decimalPlaces(t),this.decimalPlaces(this.safeStep)));return Number(Math.min(t,Math.max(i,r)).toFixed(d))}percent(s){return(s-this.safeMin)/(this.safeMax-this.safeMin)*100}allowedMin(s,i=this.resolvedValues){return this.isRange&&s===1?Math.min(this.safeMax,i[0]+this.minimumGap):this.safeMin}allowedMax(s,i=this.resolvedValues){return this.isRange&&s===0?Math.max(this.safeMin,i[1]-this.minimumGap):this.safeMax}setValueAt(s,i){const t=this.publicValue;const e=this.resolvedValues;const r=Math.min(this.allowedMax(s,e),Math.max(this.allowedMin(s,e),this.snap(i)));e[s]=r;const d=this.isRange?[...e]:e[0];if(this.valuesEqual(t,d))return false;this.value=d;this.dsChange.emit(this.cloneValue(d));return true}commitIfChanged(){const s=this.publicValue;if(this.valuesEqual(s,this.lastCommittedValue))return;this.lastCommittedValue=this.cloneValue(s);this.dsCommit.emit(this.cloneValue(s))}syncNativeLabels(){if(this.label||this.ariaLabel||this.ariaLabelledby||this.isRange)return;const s=Array.from(this.internals.labels).map((s=>{if(!s.id)s.id=`ds-slider-label-${++m}`;return s.id}));if(s.length)this.externalLabelledby=s.join(" ")}formattedValue(s,i){const t=this.valueTexts[i]??this.valueText;if(t)return t;let e;try{e=new Intl.NumberFormat(this.locale,this.formatOptions).format(s)}catch{e=String(s)}return`${this.valuePrefix}${e}${this.valueSuffix}`}ariaValueText(s,i){if(this.valueTexts[i]||this.valueText||this.valuePrefix||this.valueSuffix||this.formatOptions){return this.formattedValue(s,i)}return undefined}pointerPercent(s){const i=this.controlEl;if(!i)return 0;const t=i.getBoundingClientRect();const e=this.el.querySelector(".slider__thumb");const r=e?this.orientation==="horizontal"?e.offsetWidth:e.offsetHeight:0;const d=r/2;if(this.orientation==="vertical"){const i=Math.max(1,t.height-d*2);return Math.min(1,Math.max(0,(t.bottom-d-s.clientY)/i))}const a=Math.max(1,t.width-d*2);const l=(s.clientX-t.left-d)/a;return Math.min(1,Math.max(0,l))}valueFromPointer(s){return this.snap(this.safeMin+this.pointerPercent(s)*(this.safeMax-this.safeMin))}closestThumbIndex(s,t){const e=t instanceof i?t.closest(".slider__thumb"):null;if(e?.dataset["index"])return Number(e.dataset["index"]);if(!this.isRange)return 0;const r=this.resolvedValues;const d=Math.abs(s-r[0]);const a=Math.abs(s-r[1]);if(d===a)return s>=r[0]?1:0;return d<a?0:1}endPointerInteraction(s,i){if(this.pointerId!==s.pointerId)return;if(this.controlEl?.hasPointerCapture(s.pointerId))this.controlEl.releasePointerCapture(s.pointerId);this.pointerId=null;this.dragging=false;this.touched=true;if(!i&&!this.valuesEqual(this.pointerStartValue,this.publicValue))this.commitIfChanged()}renderThumb(s,i){const t=i===0?this.inputId??`${this.generatedId}-input`:`${this.inputId??`${this.generatedId}-input`}-end`;const r=i===0?this.startLabel:this.endLabel;const d=this.isRange?undefined:this.ariaLabelledby??(this.label?this.labelId:this.externalLabelledby);const a=this.isRange?r:d?undefined:this.ariaLabel;return e("div",{class:{slider__thumb:true,"slider__thumb--active":i===this.activeThumbIndex},"data-index":String(i),style:{"--ds-slider-thumb-pct":String(this.percent(s))}},e("input",{class:"slider__input",type:"range",id:t,min:this.allowedMin(i),max:this.allowedMax(i),step:this.safeStep,value:s,disabled:this.isDisabled,"aria-label":a,"aria-labelledby":d,"aria-describedby":this.ariaDescribedby,"aria-valuetext":this.ariaValueText(s,i),"aria-orientation":this.orientation==="vertical"?"vertical":undefined,"aria-readonly":this.readOnly?"true":undefined,onInput:s=>this.handleNativeInput(s,i),onChange:this.handleNativeChange,onKeyDown:this.handleKeyDown,onFocus:()=>this.handleFocus(i),onBlur:this.handleBlur}),e("span",{class:"slider__thumb-visual","aria-hidden":"true"},e("span",{class:"slider__thumb-wash"})))}render(){const s=this.resolvedValues;const i=s[0];const t=s[s.length-1];const d=this.inputId??`${this.generatedId}-input`;const a=!this.valuesEqual(this.publicValue,this.initialValue);const l=s.map(((s,i)=>this.formattedValue(s,i))).join(` ${this.rangeSeparator} `);return e(r,{key:"6bb9c7b9c87f06cfe0b3a881f2a3e70dbbc3ab04","aria-disabled":this.isDisabled?"true":undefined,class:{slider:true,"ds-field-stack":true,[`slider--${this.size}`]:true,[`slider--${this.orientation}`]:true,[`slider--thumb-${this.thumbAlignment}`]:true,"slider--range":this.isRange,"slider--readonly":this.readOnly,"ds-control-inactive":this.isDisabled},"data-orientation":this.orientation,"data-disabled":this.isDisabled?"":undefined,"data-readonly":this.readOnly?"":undefined,"data-dragging":this.dragging?"":undefined,"data-focused":this.focused?"":undefined,"data-filled":"","data-dirty":a?"":undefined,"data-touched":this.touched?"":undefined,"data-valid":!this.isDisabled?"":undefined,onClick:this.handleHostClick},(this.label||this.showValue)&&e("div",{key:"db85acf919c22de70050c67db38cdf8d37e499b6",class:"slider__label-row"},this.label&&e("ds-text",{key:"d1686ec3d8ffc65a93803f03bd3885a519fe01fb",class:"slider__label",as:"label",variant:"text-body-small",color:"primary",emphasis:true,for:d,textId:this.labelId},this.label),this.showValue&&e("ds-text",{key:"aebe4a222fae23d0e1e4198c7749400f28371982",class:"slider__value",as:"span",variant:"text-body-small",color:"primary",fontFeature:"tabular-nums"},l)),e("div",{key:"9a526c9a9fc2b1ccdac3368fd022ecf3ee6e757d",class:"slider__control",ref:s=>{this.controlEl=s??null},style:{"--ds-slider-start-pct":String(this.isRange?this.percent(i):0),"--ds-slider-end-pct":String(this.percent(t))},onPointerDown:this.handlePointerDown,onPointerMove:this.handlePointerMove,onPointerUp:s=>this.endPointerInteraction(s,false),onPointerCancel:s=>this.endPointerInteraction(s,true)},e("div",{key:"3e45467608660e717ba64344a712e6fd37d21d94",class:"slider__rail","aria-hidden":"true"},e("div",{key:"10e8b355380d0fc47e4c7a0333cb21333d1fb3dd",class:"slider__indicator"})),s.map(((s,i)=>this.renderThumb(s,i)))))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{syncFormValue:0}],min:[{syncFormValue:0}],max:[{syncFormValue:0}],step:[{syncFormValue:0}],minStepsBetweenValues:[{syncFormValue:0}],name:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}]}}static get style(){return h()}},[66,"ds-slider",{value:[1026],min:[2],max:[2],step:[2],minStepsBetweenValues:[2,"min-steps-between-values"],label:[1],showValue:[4,"show-value"],size:[1],orientation:[1],thumbAlignment:[1,"thumb-alignment"],name:[513],form:[513],disabled:[516],readOnly:[516,"read-only"],isInactive:[4,"is-inactive"],ariaLabel:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"],ariaDescribedby:[1,"aria-describedby"],startLabel:[1,"start-label"],endLabel:[1,"end-label"],valueText:[1,"value-text"],valueTexts:[16],locale:[1],formatOptions:[16],valuePrefix:[1,"value-prefix"],valueSuffix:[1,"value-suffix"],rangeSeparator:[1,"range-separator"],inputId:[1,"input-id"],formDisabled:[32],dragging:[32],focused:[32],touched:[32],activeThumbIndex:[32],externalLabelledby:[32],setFocus:[64]},undefined,{value:[{syncFormValue:0}],min:[{syncFormValue:0}],max:[{syncFormValue:0}],step:[{syncFormValue:0}],minStepsBetweenValues:[{syncFormValue:0}],name:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}]}]);function f(){if(typeof customElements==="undefined"){return}const s=["ds-slider","ds-text"];s.forEach((s=>{switch(s){case"ds-slider":if(!customElements.get(d(s))){customElements.define(d(s),b)}break;case"ds-text":if(!customElements.get(d(s))){a()}break}}))}f();const v=b;const p=f;export{v as DsSlider,p as defineCustomElement};
|
|
1
|
+
import{p as s,H as i,c as t,h as e,a as r,t as d}from"./index.js";import{d as a}from"./p-CAnnQL1F.js";import{a as l,s as o,c as n,r as h}from"./p-B8q-6a03.js";const c=()=>`@media (forced-colors: active){.sc-ds-slider:root,.sc-ds-slider-h,.ds-forced-colors-scope.sc-ds-slider{--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}}.ds-control-inactive.sc-ds-slider-h,.ds-control-inactive.sc-ds-slider{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-slider-h,.ds-control-inactive.sc-ds-slider{color:var(--ds-forced-color-disabled);opacity:1}}.ds-field-stack.sc-ds-slider-h,.ds-field-stack.sc-ds-slider{display:flex;flex-direction:column;gap:var(--dimension-space-050)}@media (forced-colors: active){.sc-ds-slider:root,.sc-ds-slider-h,.ds-forced-colors-scope.sc-ds-slider{--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-slider-h{--ds-slider-control-size:var(--dimension-size-400);--ds-slider-thumb-size:var(--dimension-size-200);--ds-slider-track-size:var(--dimension-size-100);--ds-slider-track-stroke:var(--dimension-stroke-width-012);--ds-slider-vertical-length:calc(var(--dimension-size-800) * 3);box-sizing:border-box;width:100%;color:var(--color-foreground-primary)}.slider--sm.sc-ds-slider-h{--ds-slider-control-size:var(--dimension-size-300);--ds-slider-thumb-size:var(--dimension-size-150);--ds-slider-track-size:var(--dimension-size-075)}.slider--xs.sc-ds-slider-h{--ds-slider-control-size:var(--dimension-size-200);--ds-slider-thumb-size:var(--dimension-size-100);--ds-slider-track-size:var(--dimension-size-050)}.slider--vertical.sc-ds-slider-h{width:fit-content;min-width:var(--dimension-form-width-xs)}.slider__label-row.sc-ds-slider{display:flex;align-items:baseline;justify-content:space-between;gap:var(--dimension-space-100);min-width:0}.slider__label.sc-ds-slider{min-width:0}.slider__value.sc-ds-slider{flex-shrink:0}.slider__control.sc-ds-slider{position:relative;width:100%;height:var(--ds-slider-control-size);border-radius:var(--dimension-radius-half);cursor:default;touch-action:none;user-select:none}.slider--vertical.sc-ds-slider-h .slider__control.sc-ds-slider{align-self:center;width:var(--ds-slider-control-size);height:var(--ds-slider-vertical-length)}.slider--readonly.sc-ds-slider-h .slider__control.sc-ds-slider{cursor:default}.ds-control-inactive.sc-ds-slider-h .slider__control.sc-ds-slider{cursor:not-allowed}.slider__rail.sc-ds-slider{position:absolute;top:50%;right:0;left:0;height:var(--ds-slider-track-size);overflow:hidden;border-radius:var(--dimension-radius-025);background-color:transparent;box-shadow:inset 0 0 0 var(--ds-slider-track-stroke) var(--color-border-secondary);transform:translateY(-50%);pointer-events:none}.slider--thumb-center.sc-ds-slider-h .slider__rail.sc-ds-slider{right:calc(var(--ds-slider-thumb-size) / 2);left:calc(var(--ds-slider-thumb-size) / 2)}.slider__indicator.sc-ds-slider{position:absolute;top:0;bottom:0;left:0;width:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-end-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) );border-radius:inherit;background-color:var(--color-background-bold-brand)}.slider--range.sc-ds-slider-h .slider__indicator.sc-ds-slider{left:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-start-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) );width:calc( ((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) / 100) * (100% - var(--ds-slider-thumb-size)) )}.slider--thumb-center.sc-ds-slider-h .slider__indicator.sc-ds-slider{left:calc(var(--ds-slider-start-pct, 0) * 1%);width:calc((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) * 1%)}.slider__thumb.sc-ds-slider{position:absolute;top:50%;left:calc((var(--ds-slider-thumb-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)));width:var(--ds-slider-thumb-size);height:var(--ds-slider-thumb-size);transform:translateY(-50%);z-index:1}.slider__thumb--active.sc-ds-slider{z-index:2}.slider__input.sc-ds-slider{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;appearance:none;pointer-events:none;z-index:2}.slider__thumb-visual.sc-ds-slider{position:absolute;inset:0;box-sizing:border-box;overflow:visible;border-radius:var(--dimension-radius-025);background-color:var(--color-background-primary);box-shadow:var(--effect-elevation-elevated-sm);pointer-events:none;transition:background-color var(--effect-motion-short-2), box-shadow var(--effect-motion-short-2)}.slider__thumb-wash.sc-ds-slider{position:absolute;inset:0;border-radius:inherit;background-color:transparent;transition:background-color var(--effect-motion-short-2)}@media (hover: hover) and (pointer: fine){.sc-ds-slider-h:not(.slider--readonly):not(.ds-control-inactive) .slider__thumb.sc-ds-slider:hover .slider__thumb-wash.sc-ds-slider{background-color:var(--color-interaction-hover)}}[data-dragging].sc-ds-slider-h:not(.slider--readonly):not(.ds-control-inactive) .slider__thumb--active.sc-ds-slider .slider__thumb-wash.sc-ds-slider{background-color:var(--color-interaction-pressed)}.slider__input.sc-ds-slider:focus-visible+.slider__thumb-visual.sc-ds-slider,[data-review-focus].sc-ds-slider-h .slider__thumb[data-index='0'].sc-ds-slider .slider__thumb-visual.sc-ds-slider{outline:var(--dimension-stroke-width-025) solid var(--color-interaction-focus);outline-offset:var(--dimension-space-025)}.slider--vertical.sc-ds-slider-h .slider__rail.sc-ds-slider{top:0;right:auto;bottom:0;left:50%;width:var(--ds-slider-track-size);height:auto;transform:translateX(-50%)}.slider--vertical.slider--thumb-center.sc-ds-slider-h .slider__rail.sc-ds-slider{top:calc(var(--ds-slider-thumb-size) / 2);bottom:calc(var(--ds-slider-thumb-size) / 2)}.slider--vertical.sc-ds-slider-h .slider__indicator.sc-ds-slider{top:auto;right:0;bottom:0;left:0;width:auto;height:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-end-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) )}.slider--vertical.slider--range.sc-ds-slider-h .slider__indicator.sc-ds-slider{bottom:calc( var(--ds-slider-thumb-size) / 2 + (var(--ds-slider-start-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)) );height:calc( ((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) / 100) * (100% - var(--ds-slider-thumb-size)) )}.slider--vertical.slider--thumb-center.sc-ds-slider-h .slider__indicator.sc-ds-slider{bottom:calc(var(--ds-slider-start-pct, 0) * 1%);height:calc((var(--ds-slider-end-pct, 0) - var(--ds-slider-start-pct, 0)) * 1%)}.slider--vertical.sc-ds-slider-h .slider__thumb.sc-ds-slider{top:auto;bottom:calc((var(--ds-slider-thumb-pct, 0) / 100) * (100% - var(--ds-slider-thumb-size)));left:50%;transform:translateX(-50%)}@media (prefers-reduced-motion: reduce){.slider__thumb-visual.sc-ds-slider,.slider__thumb-wash.sc-ds-slider{transition:none}}@media (forced-colors: active){.slider__rail.sc-ds-slider{border:var(--ds-slider-track-stroke) solid var(--ds-forced-color-content);box-shadow:none}.slider__indicator.sc-ds-slider{background-color:var(--ds-forced-color-selected)}.slider__thumb-visual.sc-ds-slider{border:var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);background-color:var(--ds-forced-color-surface);box-shadow:none}.slider__input.sc-ds-slider:focus-visible+.slider__thumb-visual.sc-ds-slider,[data-review-focus].sc-ds-slider-h .slider__thumb[data-index='0'].sc-ds-slider .slider__thumb-visual.sc-ds-slider{outline-color:var(--ds-forced-color-selected)}}`;let u=0;let m=0;const b=s(class s extends i{constructor(s){super();if(s!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.dsCommit=t(this,"dsCommit",7);this.internals=this.attachInternals();this.value=0;this.min=0;this.max=100;this.step=1;this.minStepsBetweenValues=0;this.showValue=true;this.size="md";this.orientation="horizontal";this.thumbAlignment="edge";this.disabled=false;this.readOnly=false;this.isInactive=false;this.ariaLabel=null;this.startLabel="Minimum value";this.endLabel="Maximum value";this.valueTexts=[];this.valuePrefix="";this.valueSuffix="";this.rangeSeparator="–";this.formDisabled=false;this.dragging=false;this.focused=false;this.touched=false;this.activeThumbIndex=0;this.generatedId=`ds-slider-${++u}`;this.labelId=`${this.generatedId}-label`;this.initialValue=0;this.lastCommittedValue=0;this.pointerId=null;this.pointerStartValue=0;this.controlEl=null;this.handleNativeInput=(s,i)=>{const t=s.target;this.activeThumbIndex=i;if(this.readOnly||this.isDisabled){t.value=String(this.resolvedValues[i]);return}this.setValueAt(i,Number(t.value))};this.handleNativeChange=()=>{if(!this.readOnly&&!this.isDisabled)this.commitIfChanged()};this.handleKeyDown=s=>{if(!this.readOnly)return;if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(s.key)){s.preventDefault()}};this.handleFocus=s=>{this.activeThumbIndex=s;this.focused=true};this.handleBlur=s=>{const i=s.relatedTarget;if(i instanceof Node&&this.el.contains(i))return;this.focused=false;this.touched=true};this.handleHostClick=s=>{if(s.target!==this.el||this.isDisabled)return;const i=this.el.querySelectorAll(".slider__input");i[Math.min(this.activeThumbIndex,i.length-1)]?.focus()};this.handlePointerDown=s=>{if(s.button!==0||this.isDisabled||this.readOnly)return;s.preventDefault();const i=this.valueFromPointer(s);const t=this.closestThumbIndex(i,s.target);this.activeThumbIndex=t;this.pointerId=s.pointerId;this.pointerStartValue=this.cloneValue(this.publicValue);this.dragging=true;this.setValueAt(t,i);this.controlEl?.setPointerCapture(s.pointerId);requestAnimationFrame((()=>this.el.querySelectorAll(".slider__input")[t]?.focus({preventScroll:true})))};this.handlePointerMove=s=>{if(this.pointerId!==s.pointerId||!this.dragging)return;s.preventDefault();this.setValueAt(this.activeThumbIndex,this.valueFromPointer(s))}}componentWillLoad(){this.initialValue=this.cloneValue(this.publicValue);this.lastCommittedValue=this.cloneValue(this.publicValue);this.syncFormValue()}componentDidLoad(){this.syncNativeLabels()}syncFormValue(){const s=this.resolvedValues;if(this.isRange){l(this.internals,this.name,s,{inactive:this.isDisabled})}else{const i=String(s[0]);o(this.internals,this.name?i:null,{inactive:this.isDisabled,state:i})}}formDisabledCallback(s){this.formDisabled=s;this.syncFormValue()}formResetCallback(){this.value=this.cloneValue(this.initialValue);this.lastCommittedValue=this.cloneValue(this.initialValue);this.dragging=false;this.focused=false;this.touched=false}formStateRestoreCallback(s){if(this.isRange){const i=n(s,2);this.value=i.length?i:this.cloneValue(this.initialValue)}else{const i=Number(h(s,"NaN"));if(Number.isFinite(i))this.value=i}this.lastCommittedValue=this.cloneValue(this.publicValue)}async setFocus(s=0){const i=this.el.querySelectorAll(".slider__input");i[Math.max(0,Math.min(s,i.length-1))]?.focus()}get isDisabled(){return this.disabled||this.isInactive||this.formDisabled}get isRange(){return Array.isArray(this.value)}get safeStep(){return Number.isFinite(this.step)&&this.step>0?this.step:1}get safeMin(){return Number.isFinite(this.min)?this.min:0}get safeMax(){const s=this.safeMin;return Number.isFinite(this.max)&&this.max>s?this.max:s+this.safeStep}get minimumGap(){const s=Number.isFinite(this.minStepsBetweenValues)?Math.max(0,Math.floor(this.minStepsBetweenValues)):0;return s*this.safeStep}get resolvedValues(){const s=this.safeMin;const i=this.safeMax;if(!this.isRange)return[this.snap(Number(this.value))];const t=this.value;let e=this.snap(Number(t[0]??s));let r=this.snap(Number(t[1]??i));if(e>r)[e,r]=[r,e];const d=Math.min(this.minimumGap,i-s);if(r-e<d){r=Math.min(i,this.snap(e+d));e=Math.max(s,this.snap(r-d))}return[e,r]}get publicValue(){const s=this.resolvedValues;return this.isRange?[...s]:s[0]}cloneValue(s){return Array.isArray(s)?[...s]:s}valuesEqual(s,i){if(Array.isArray(s)&&Array.isArray(i)){return s.length===i.length&&s.every(((s,t)=>s===i[t]))}return!Array.isArray(s)&&!Array.isArray(i)&&s===i}decimalPlaces(s){const i=String(s).toLowerCase();if(i.includes("e-"))return Number(i.split("e-")[1])||0;return i.includes(".")?i.split(".")[1].length:0}snap(s){const i=this.safeMin;const t=this.safeMax;const e=Number.isFinite(s)?s:i;const r=i+Math.round((e-i)/this.safeStep)*this.safeStep;const d=Math.min(10,Math.max(this.decimalPlaces(i),this.decimalPlaces(t),this.decimalPlaces(this.safeStep)));return Number(Math.min(t,Math.max(i,r)).toFixed(d))}percent(s){return(s-this.safeMin)/(this.safeMax-this.safeMin)*100}allowedMin(s,i=this.resolvedValues){return this.isRange&&s===1?Math.min(this.safeMax,i[0]+this.minimumGap):this.safeMin}allowedMax(s,i=this.resolvedValues){return this.isRange&&s===0?Math.max(this.safeMin,i[1]-this.minimumGap):this.safeMax}setValueAt(s,i){const t=this.publicValue;const e=this.resolvedValues;const r=Math.min(this.allowedMax(s,e),Math.max(this.allowedMin(s,e),this.snap(i)));e[s]=r;const d=this.isRange?[...e]:e[0];if(this.valuesEqual(t,d))return false;this.value=d;this.dsChange.emit(this.cloneValue(d));return true}commitIfChanged(){const s=this.publicValue;if(this.valuesEqual(s,this.lastCommittedValue))return;this.lastCommittedValue=this.cloneValue(s);this.dsCommit.emit(this.cloneValue(s))}syncNativeLabels(){if(this.label||this.ariaLabel||this.ariaLabelledby||this.isRange)return;const s=Array.from(this.internals.labels).map((s=>{if(!s.id)s.id=`ds-slider-label-${++m}`;return s.id}));if(s.length)this.externalLabelledby=s.join(" ")}formattedValue(s,i){const t=this.valueTexts[i]??this.valueText;if(t)return t;let e;try{e=new Intl.NumberFormat(this.locale,this.formatOptions).format(s)}catch{e=String(s)}return`${this.valuePrefix}${e}${this.valueSuffix}`}ariaValueText(s,i){if(this.valueTexts[i]||this.valueText||this.valuePrefix||this.valueSuffix||this.formatOptions){return this.formattedValue(s,i)}return undefined}pointerPercent(s){const i=this.controlEl;if(!i)return 0;const t=i.getBoundingClientRect();const e=this.el.querySelector(".slider__thumb");const r=e?this.orientation==="horizontal"?e.offsetWidth:e.offsetHeight:0;const d=r/2;if(this.orientation==="vertical"){const i=Math.max(1,t.height-d*2);return Math.min(1,Math.max(0,(t.bottom-d-s.clientY)/i))}const a=Math.max(1,t.width-d*2);const l=(s.clientX-t.left-d)/a;return Math.min(1,Math.max(0,l))}valueFromPointer(s){return this.snap(this.safeMin+this.pointerPercent(s)*(this.safeMax-this.safeMin))}closestThumbIndex(s,t){const e=t instanceof i?t.closest(".slider__thumb"):null;if(e?.dataset["index"])return Number(e.dataset["index"]);if(!this.isRange)return 0;const r=this.resolvedValues;const d=Math.abs(s-r[0]);const a=Math.abs(s-r[1]);if(d===a)return s>=r[0]?1:0;return d<a?0:1}endPointerInteraction(s,i){if(this.pointerId!==s.pointerId)return;if(this.controlEl?.hasPointerCapture(s.pointerId))this.controlEl.releasePointerCapture(s.pointerId);this.pointerId=null;this.dragging=false;this.touched=true;if(!i&&!this.valuesEqual(this.pointerStartValue,this.publicValue))this.commitIfChanged()}renderThumb(s,i){const t=i===0?this.inputId??`${this.generatedId}-input`:`${this.inputId??`${this.generatedId}-input`}-end`;const r=i===0?this.startLabel:this.endLabel;const d=this.isRange?undefined:this.ariaLabelledby??(this.label?this.labelId:this.externalLabelledby);const a=this.isRange?r:d?undefined:this.ariaLabel;return e("div",{class:{slider__thumb:true,"slider__thumb--active":i===this.activeThumbIndex},"data-index":String(i),style:{"--ds-slider-thumb-pct":String(this.percent(s))}},e("input",{class:"slider__input",type:"range",id:t,min:this.allowedMin(i),max:this.allowedMax(i),step:this.safeStep,value:s,disabled:this.isDisabled,"aria-label":a,"aria-labelledby":d,"aria-describedby":this.ariaDescribedby,"aria-valuetext":this.ariaValueText(s,i),"aria-orientation":this.orientation==="vertical"?"vertical":undefined,"aria-readonly":this.readOnly?"true":undefined,onInput:s=>this.handleNativeInput(s,i),onChange:this.handleNativeChange,onKeyDown:this.handleKeyDown,onFocus:()=>this.handleFocus(i),onBlur:this.handleBlur}),e("span",{class:"slider__thumb-visual","aria-hidden":"true"},e("span",{class:"slider__thumb-wash"})))}render(){const s=this.resolvedValues;const i=s[0];const t=s[s.length-1];const d=this.inputId??`${this.generatedId}-input`;const a=!this.valuesEqual(this.publicValue,this.initialValue);const l=s.map(((s,i)=>this.formattedValue(s,i))).join(` ${this.rangeSeparator} `);return e(r,{key:"ee490d12f676aedab316cbfe3ad86dd1f7ef7b9c","aria-disabled":this.isDisabled?"true":undefined,class:{slider:true,"ds-field-stack":true,[`slider--${this.size}`]:true,[`slider--${this.orientation}`]:true,[`slider--thumb-${this.thumbAlignment}`]:true,"slider--range":this.isRange,"slider--readonly":this.readOnly,"ds-control-inactive":this.isDisabled},"data-orientation":this.orientation,"data-disabled":this.isDisabled?"":undefined,"data-readonly":this.readOnly?"":undefined,"data-dragging":this.dragging?"":undefined,"data-focused":this.focused?"":undefined,"data-filled":"","data-dirty":a?"":undefined,"data-touched":this.touched?"":undefined,"data-valid":!this.isDisabled?"":undefined,onClick:this.handleHostClick},(this.label||this.showValue)&&e("div",{key:"77c719ca0d349e9f5eb82d41f4d40cc6a879319a",class:"slider__label-row"},this.label&&e("ds-text",{key:"1e26501f2990fc82a2472b1206dbee809a857896",class:"slider__label",as:"label",variant:"text-body-small",color:"primary",emphasis:true,for:d,textId:this.labelId},this.label),this.showValue&&e("ds-text",{key:"5954a1d4eafa8c1c494653199449090b0c77174b",class:"slider__value",as:"span",variant:"text-body-small",color:"primary",fontFeature:"tabular-nums"},l)),e("div",{key:"67163ad94c1fb38f6aea9ca1bb969315d6679d0a",class:"slider__control",ref:s=>{this.controlEl=s??null},style:{"--ds-slider-start-pct":String(this.isRange?this.percent(i):0),"--ds-slider-end-pct":String(this.percent(t))},onPointerDown:this.handlePointerDown,onPointerMove:this.handlePointerMove,onPointerUp:s=>this.endPointerInteraction(s,false),onPointerCancel:s=>this.endPointerInteraction(s,true)},e("div",{key:"8b3d557a43556e61c5ee62b005bb3e16845a2929",class:"slider__rail","aria-hidden":"true"},e("div",{key:"1b00995ea9a4fed49cd875b03bb1bbddc3f91ab7",class:"slider__indicator"})),s.map(((s,i)=>this.renderThumb(s,i)))))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{syncFormValue:0}],min:[{syncFormValue:0}],max:[{syncFormValue:0}],step:[{syncFormValue:0}],minStepsBetweenValues:[{syncFormValue:0}],name:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}]}}static get style(){return c()}},[66,"ds-slider",{value:[1026],min:[2],max:[2],step:[2],minStepsBetweenValues:[2,"min-steps-between-values"],label:[1],showValue:[4,"show-value"],size:[1],orientation:[1],thumbAlignment:[1,"thumb-alignment"],name:[513],form:[513],disabled:[516],readOnly:[516,"read-only"],isInactive:[4,"is-inactive"],ariaLabel:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"],ariaDescribedby:[1,"aria-describedby"],startLabel:[1,"start-label"],endLabel:[1,"end-label"],valueText:[1,"value-text"],valueTexts:[16],locale:[1],formatOptions:[16],valuePrefix:[1,"value-prefix"],valueSuffix:[1,"value-suffix"],rangeSeparator:[1,"range-separator"],inputId:[1,"input-id"],formDisabled:[32],dragging:[32],focused:[32],touched:[32],activeThumbIndex:[32],externalLabelledby:[32],setFocus:[64]},undefined,{value:[{syncFormValue:0}],min:[{syncFormValue:0}],max:[{syncFormValue:0}],step:[{syncFormValue:0}],minStepsBetweenValues:[{syncFormValue:0}],name:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}]}]);function f(){if(typeof customElements==="undefined"){return}const s=["ds-slider","ds-text"];s.forEach((s=>{switch(s){case"ds-slider":if(!customElements.get(d(s))){customElements.define(d(s),b)}break;case"ds-text":if(!customElements.get(d(s))){a()}break}}))}f();const v=b;const p=f;export{v as DsSlider,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-slider.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{S as o,d as s}from"./p-
|
|
1
|
+
import{S as o,d as s}from"./p-D123Jvp-.js";const p=o;const t=s;export{p as DsSwatchPicker,t as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-swatch-picker.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{S as
|
|
1
|
+
import{S as s,d as o}from"./p-CsBICYmt.js";const t=s;const m=o;export{t as DsSwitch,m as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-switch.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{T as o,d as s}from"./p-
|
|
1
|
+
import{T as o,d as s}from"./p-DAvh38E4.js";const t=o;const p=s;export{t as DsTabGroup,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-tab-group.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,c as t,h as i,a,t as l}from"./index.js";import{d as r}from"./p-
|
|
1
|
+
import{p as e,H as s,c as t,h as i,a,t as l}from"./index.js";import{d as r}from"./p-BUDAwJVV.js";import{d as n}from"./p-ag6Io-kL.js";import{d as o}from"./p-BknXYAEc.js";import{d}from"./p-DtndC9f1.js";import{d as c}from"./p-BFfLvMZd.js";import{d as m}from"./p-JPTkZ3Ji.js";import{d as h}from"./p-Cg0kimXZ.js";import{d as f}from"./p-CAnnQL1F.js";import{d as b}from"./p-iMuFgSoM.js";const u=()=>`.sc-ds-table-filter-h{display:inline-flex;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}ds-filter-menu.sc-ds-table-filter{min-inline-size:0;max-inline-size:100%;--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}`;const p=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.dsClear=t(this,"dsClear",7);this.dsActiveFilterChange=t(this,"dsActiveFilterChange",7);this.dsClose=t(this,"dsClose",7);this.dsOpenChange=t(this,"dsOpenChange",7);this.dsAfterClose=t(this,"dsAfterClose",7);this.open=false;this.filters=[];this.values={};this.label="Filter";this.ariaLabel=null;this.menuLabel=null;this.categoriesLabel="Filter categories";this.clearLabel="Clear"}render(){const e=this.ariaLabel?.trim()||"Filter table";const s=this.menuLabel?.trim()||e;return i(a,{key:"9384f55734f65310d1a2d18aca4357f2320cf607"},i("ds-filter-menu",{key:"0acb7968ac38b96e03df458b1f81bd7c77ef836d",open:this.open,triggerLabel:this.label,icon:"Filters",size:"md",width:"hug",hasBorder:true,activeFill:false,collapseLabel:true,align:"start","aria-label":e,filters:this.filters,values:this.values,activeFilterId:this.activeFilterId,menuLabel:s,categoriesLabel:this.categoriesLabel,clearLabel:this.clearLabel,onDsChange:e=>this.forward(e,this.dsChange),onDsClear:e=>this.forward(e,this.dsClear),onDsActiveFilterChange:e=>this.forward(e,this.dsActiveFilterChange),onDsClose:e=>this.forward(e,this.dsClose),onDsOpenChange:e=>{e.stopPropagation();this.open=e.detail;this.dsOpenChange.emit(e.detail)},onDsAfterClose:e=>this.forward(e,this.dsAfterClose)}))}forward(e,s){e.stopPropagation();s.emit(e.detail)}static get style(){return u()}},[2,"ds-table-filter",{open:[1028],filters:[16],values:[16],activeFilterId:[1,"active-filter-id"],label:[1],ariaLabel:[1,"aria-label"],menuLabel:[1,"menu-label"],categoriesLabel:[1,"categories-label"],clearLabel:[1,"clear-label"]}]);function g(){if(typeof customElements==="undefined"){return}const e=["ds-table-filter","ds-badge","ds-button-unfilled","ds-checkbox","ds-filter-menu","ds-icon","ds-loader","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-table-filter":if(!customElements.get(l(e))){customElements.define(l(e),p)}break;case"ds-badge":if(!customElements.get(l(e))){r()}break;case"ds-button-unfilled":if(!customElements.get(l(e))){n()}break;case"ds-checkbox":if(!customElements.get(l(e))){o()}break;case"ds-filter-menu":if(!customElements.get(l(e))){d()}break;case"ds-icon":if(!customElements.get(l(e))){c()}break;case"ds-loader":if(!customElements.get(l(e))){m()}break;case"ds-tag":if(!customElements.get(l(e))){h()}break;case"ds-text":if(!customElements.get(l(e))){f()}break;case"ds-tooltip":if(!customElements.get(l(e))){b()}break}}))}g();const k=p;const C=g;export{k as DsTableFilter,C as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-table-filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tableFilterCss","TableFilter","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","open","filters","values","label","ariaLabel","menuLabel","categoriesLabel","clearLabel","render","name","trim","menuName","h","Host","key","triggerLabel","icon","size","width","hasBorder","activeFill","collapseLabel","activeFilterId","onDsChange","event","forward","dsChange","onDsClear","dsClear","onDsActiveFilterChange","dsActiveFilterChange","onDsClose","dsClose","onDsOpenChange","stopPropagation","detail","dsOpenChange","emit","onDsAfterClose","dsAfterClose","emitter"],"sources":["src/wc/components/TableFilter/TableFilter.css?tag=ds-table-filter&encapsulation=scoped","src/wc/components/TableFilter/TableFilter.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\nds-filter-menu {\n min-inline-size: 0;\n max-inline-size: 100%;\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport type {\n FilterMenuChangeDetail,\n FilterMenuFilter,\n FilterMenuValues,\n} from '../FilterMenu/FilterMenu';\n\n@Component({\n tag: 'ds-table-filter',\n styleUrl: 'TableFilter.css',\n scoped: true,\n})\nexport class TableFilter {\n /** Controlled popup visibility. */\n @Prop({ mutable: true }) open: boolean = false;\n /** Product-owned filter categories and option definitions. */\n @Prop() filters: FilterMenuFilter[] = [];\n /** Controlled values keyed by filter id. */\n @Prop() values: FilterMenuValues = {};\n /** Controlled category shown in the option pane. */\n @Prop() activeFilterId: string | undefined;\n /** Visible trigger label. */\n @Prop() label: string = 'Filter';\n /** Accessible name for the trigger. Defaults to Filter table. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n /** Accessible name for the non-modal filter dialog. Defaults to the trigger name. */\n @Prop() menuLabel: string | null = null;\n /** Accessible name for the category tab list. */\n @Prop() categoriesLabel: string = 'Filter categories';\n /** Footer action and date-clear accessible label. */\n @Prop() clearLabel: string = 'Clear';\n\n /** Requests a controlled value replacement without closing the popup. */\n @Event() dsChange!: EventEmitter<FilterMenuChangeDetail>;\n /** Requests that the consumer clear every filter value. */\n @Event() dsClear!: EventEmitter<void>;\n /** Requests a controlled active-category replacement. */\n @Event() dsActiveFilterChange!: EventEmitter<string>;\n /** Requests that the controlled popup close. */\n @Event() dsClose!: EventEmitter<void>;\n /** Emitted whenever trigger activation changes popup visibility. */\n @Event() dsOpenChange!: EventEmitter<boolean>;\n /** Emitted after exit motion and rendered popup removal complete. */\n @Event() dsAfterClose!: EventEmitter<void>;\n\n render() {\n const name = this.ariaLabel?.trim() || 'Filter table';\n const menuName = this.menuLabel?.trim() || name;\n\n return (\n <Host>\n <ds-filter-menu\n open={this.open}\n triggerLabel={this.label}\n icon=\"Filters\"\n size=\"md\"\n width=\"hug\"\n hasBorder={true}\n activeFill={false}\n collapseLabel={true}\n aria-label={name}\n filters={this.filters}\n values={this.values}\n activeFilterId={this.activeFilterId}\n menuLabel={menuName}\n categoriesLabel={this.categoriesLabel}\n clearLabel={this.clearLabel}\n onDsChange={event => this.forward(event, this.dsChange)}\n onDsClear={event => this.forward(event, this.dsClear)}\n onDsActiveFilterChange={event => this.forward(event, this.dsActiveFilterChange)}\n onDsClose={event => this.forward(event, this.dsClose)}\n onDsOpenChange={event => {\n event.stopPropagation();\n this.open = event.detail;\n this.dsOpenChange.emit(event.detail);\n }}\n onDsAfterClose={event => this.forward(event, this.dsAfterClose)}\n />\n </Host>\n );\n }\n\n private forward<T>(event: CustomEvent<T>, emitter: EventEmitter<T>): void {\n event.stopPropagation();\n emitter.emit(event.detail);\n }\n}\n"],"mappings":"4XAAA,MAAMA,EAAiB,IAAM,wP,MCYhBC,EAAWC,EAAA,MAAAD,UAAAE,EALxB,WAAAC,CAAAC,G,kSAO2BC,KAAAC,KAAgB,MAEjCD,KAAAE,QAA8B,GAE9BF,KAAAG,OAA2B,GAI3BH,KAAAI,MAAgB,SAEWJ,KAAAK,UAA2B,KAEtDL,KAAAM,UAA2B,KAE3BN,KAAAO,gBAA0B,oBAE1BP,KAAAQ,WAAqB,
|
|
1
|
+
{"version":3,"names":["tableFilterCss","TableFilter","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","open","filters","values","label","ariaLabel","menuLabel","categoriesLabel","clearLabel","render","name","trim","menuName","h","Host","key","triggerLabel","icon","size","width","hasBorder","activeFill","collapseLabel","align","activeFilterId","onDsChange","event","forward","dsChange","onDsClear","dsClear","onDsActiveFilterChange","dsActiveFilterChange","onDsClose","dsClose","onDsOpenChange","stopPropagation","detail","dsOpenChange","emit","onDsAfterClose","dsAfterClose","emitter"],"sources":["src/wc/components/TableFilter/TableFilter.css?tag=ds-table-filter&encapsulation=scoped","src/wc/components/TableFilter/TableFilter.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\nds-filter-menu {\n min-inline-size: 0;\n max-inline-size: 100%;\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport type {\n FilterMenuChangeDetail,\n FilterMenuFilter,\n FilterMenuValues,\n} from '../FilterMenu/FilterMenu';\n\n@Component({\n tag: 'ds-table-filter',\n styleUrl: 'TableFilter.css',\n scoped: true,\n})\nexport class TableFilter {\n /** Controlled popup visibility. */\n @Prop({ mutable: true }) open: boolean = false;\n /** Product-owned filter categories and option definitions. */\n @Prop() filters: FilterMenuFilter[] = [];\n /** Controlled values keyed by filter id. */\n @Prop() values: FilterMenuValues = {};\n /** Controlled category shown in the option pane. */\n @Prop() activeFilterId: string | undefined;\n /** Visible trigger label. */\n @Prop() label: string = 'Filter';\n /** Accessible name for the trigger. Defaults to Filter table. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n /** Accessible name for the non-modal filter dialog. Defaults to the trigger name. */\n @Prop() menuLabel: string | null = null;\n /** Accessible name for the category tab list. */\n @Prop() categoriesLabel: string = 'Filter categories';\n /** Footer action and date-clear accessible label. */\n @Prop() clearLabel: string = 'Clear';\n\n /** Requests a controlled value replacement without closing the popup. */\n @Event() dsChange!: EventEmitter<FilterMenuChangeDetail>;\n /** Requests that the consumer clear every filter value. */\n @Event() dsClear!: EventEmitter<void>;\n /** Requests a controlled active-category replacement. */\n @Event() dsActiveFilterChange!: EventEmitter<string>;\n /** Requests that the controlled popup close. */\n @Event() dsClose!: EventEmitter<void>;\n /** Emitted whenever trigger activation changes popup visibility. */\n @Event() dsOpenChange!: EventEmitter<boolean>;\n /** Emitted after exit motion and rendered popup removal complete. */\n @Event() dsAfterClose!: EventEmitter<void>;\n\n render() {\n const name = this.ariaLabel?.trim() || 'Filter table';\n const menuName = this.menuLabel?.trim() || name;\n\n return (\n <Host>\n <ds-filter-menu\n open={this.open}\n triggerLabel={this.label}\n icon=\"Filters\"\n size=\"md\"\n width=\"hug\"\n hasBorder={true}\n activeFill={false}\n collapseLabel={true}\n align=\"start\"\n aria-label={name}\n filters={this.filters}\n values={this.values}\n activeFilterId={this.activeFilterId}\n menuLabel={menuName}\n categoriesLabel={this.categoriesLabel}\n clearLabel={this.clearLabel}\n onDsChange={event => this.forward(event, this.dsChange)}\n onDsClear={event => this.forward(event, this.dsClear)}\n onDsActiveFilterChange={event => this.forward(event, this.dsActiveFilterChange)}\n onDsClose={event => this.forward(event, this.dsClose)}\n onDsOpenChange={event => {\n event.stopPropagation();\n this.open = event.detail;\n this.dsOpenChange.emit(event.detail);\n }}\n onDsAfterClose={event => this.forward(event, this.dsAfterClose)}\n />\n </Host>\n );\n }\n\n private forward<T>(event: CustomEvent<T>, emitter: EventEmitter<T>): void {\n event.stopPropagation();\n emitter.emit(event.detail);\n }\n}\n"],"mappings":"4XAAA,MAAMA,EAAiB,IAAM,wP,MCYhBC,EAAWC,EAAA,MAAAD,UAAAE,EALxB,WAAAC,CAAAC,G,kSAO2BC,KAAAC,KAAgB,MAEjCD,KAAAE,QAA8B,GAE9BF,KAAAG,OAA2B,GAI3BH,KAAAI,MAAgB,SAEWJ,KAAAK,UAA2B,KAEtDL,KAAAM,UAA2B,KAE3BN,KAAAO,gBAA0B,oBAE1BP,KAAAQ,WAAqB,OAyD9B,CA1CC,MAAAC,GACE,MAAMC,EAAOV,KAAKK,WAAWM,QAAU,eACvC,MAAMC,EAAWZ,KAAKM,WAAWK,QAAUD,EAE3C,OACEG,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,kBAAAE,IAAA,2CACEd,KAAMD,KAAKC,KACXe,aAAchB,KAAKI,MACnBa,KAAK,UACLC,KAAK,KACLC,MAAM,MACNC,UAAW,KACXC,WAAY,MACZC,cAAe,KACfC,MAAM,QAAO,aACDb,EACZR,QAASF,KAAKE,QACdC,OAAQH,KAAKG,OACbqB,eAAgBxB,KAAKwB,eACrBlB,UAAWM,EACXL,gBAAiBP,KAAKO,gBACtBC,WAAYR,KAAKQ,WACjBiB,WAAYC,GAAS1B,KAAK2B,QAAQD,EAAO1B,KAAK4B,UAC9CC,UAAWH,GAAS1B,KAAK2B,QAAQD,EAAO1B,KAAK8B,SAC7CC,uBAAwBL,GAAS1B,KAAK2B,QAAQD,EAAO1B,KAAKgC,sBAC1DC,UAAWP,GAAS1B,KAAK2B,QAAQD,EAAO1B,KAAKkC,SAC7CC,eAAgBT,IACdA,EAAMU,kBACNpC,KAAKC,KAAOyB,EAAMW,OAClBrC,KAAKsC,aAAaC,KAAKb,EAAMW,OAAO,EAEtCG,eAAgBd,GAAS1B,KAAK2B,QAAQD,EAAO1B,KAAKyC,gB,CAMlD,OAAAd,CAAWD,EAAuBgB,GACxChB,EAAMU,kBACNM,EAAQH,KAAKb,EAAMW,O","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,c as t,h as i,a,t as n}from"./index.js";import{d}from"./p-
|
|
1
|
+
import{p as e,H as s,c as t,h as i,a,t as n}from"./index.js";import{d}from"./p-BUDAwJVV.js";import{d as o}from"./p-DUdOmSFR.js";import{d as l}from"./p-ag6Io-kL.js";import{d as r}from"./p-BknXYAEc.js";import{d as h}from"./p-BBG6Sswb.js";import{d as c}from"./p-Bbb9A3NV.js";import{d as m}from"./p-BFfLvMZd.js";import{d as f}from"./p-BPG0r_mC.js";import{d as u}from"./p-JPTkZ3Ji.js";import{d as b}from"./p-LK-jpxwq.js";import{d as p}from"./p-DDgeXGbB.js";import{d as v}from"./p-CwjVgUqy.js";import{d as w}from"./p-D123Jvp-.js";import{d as g}from"./p-CsBICYmt.js";import{d as k}from"./p-Cg0kimXZ.js";import{d as D}from"./p-CAnnQL1F.js";import{d as E}from"./p-iMuFgSoM.js";const y=()=>`.sc-ds-table-saved-views-h{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs);display:inline-block;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}ds-select.sc-ds-table-saved-views{display:block;min-inline-size:0;max-inline-size:100%}.table-saved-views__dialog-actions.sc-ds-table-saved-views{display:flex;align-items:center;justify-content:flex-start;gap:var(--dimension-space-100)}`;let C=0;const j=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsViewChange=t(this,"dsViewChange",7);this.dsViewCreate=t(this,"dsViewCreate",7);this.dsViewRename=t(this,"dsViewRename",7);this.dsViewRemove=t(this,"dsViewRemove",7);this.dsViewSave=t(this,"dsViewSave",7);this.dsViewDiscard=t(this,"dsViewDiscard",7);this.views=[];this.value="__default__";this.dirty=false;this.defaultViewId="__default__";this.defaultViewLabel="Default";this.label="Saved views";this.triggerLabel="Views";this.createLabel="New view";this.actionViewId=null;this.actionMenuOpen=false;this.actionMenuInitialFocusVisible=false;this.dialogOpen=false;this.dialogMode="create";this.dialogViewId=null;this.nameDraft="";this.nameError="";this.componentId=`ds-table-saved-views-${++C}`;this.selectId=`${this.componentId}-select`;this.actionMenuId=`${this.componentId}-actions`;this.fieldId=`${this.componentId}-name-field`;this.inputId=`${this.componentId}-name-input`;this.actionItems=[{label:"Rename",value:"rename"},{label:"Remove",value:"remove",isDestructive:true}]}get selectedCustomView(){return this.views.find((e=>e.id===this.value))}get dialogView(){return this.views.find((e=>e.id===this.dialogViewId))}get sections(){const e=this.views.map((e=>({label:e.label,value:e.id,subtextActions:this.dirty&&e.id===this.selectedCustomView?.id?[{label:"Save",value:"save"},{label:"Discard",value:"discard",tone:"negative"}]:undefined,action:{label:`Options for ${e.label}`,controls:this.actionMenuId,expanded:this.actionViewId===e.id&&this.actionMenuOpen}})));const s={header:"Templates",options:[{label:this.defaultViewLabel,value:this.defaultViewId}],divider:e.length>0};return e.length>0?[s,{header:"Custom",options:e}]:[s]}handleViewChange(e){if(typeof e==="string")this.dsViewChange.emit({viewId:e})}handleSubtextAction(e){const s=this.selectedCustomView;if(!s||!this.dirty||e.value!==s.id)return;if(e.actionValue==="save")this.dsViewSave.emit({viewId:s.id});if(e.actionValue==="discard")this.dsViewDiscard.emit({viewId:s.id})}handleOptionAction(e){if(!this.views.some((s=>s.id===e.value)))return;this.actionMenuInitialFocusVisible=e.originalEvent.detail===0;if(this.actionViewId===e.value&&this.actionMenuOpen){this.actionMenuOpen=false;return}this.actionViewId=e.value;this.actionAnchorId=e.anchorId;this.actionMenuOpen=true}handleActionSelect(e){const s=this.actionViewId;this.actionMenuOpen=false;if(!s)return;if(e.detail.value==="rename")this.openDialog("rename",s);if(e.detail.value==="remove")this.dsViewRemove.emit({viewId:s})}openDialog(e,s=null){const t=e==="rename"?this.views.find((e=>e.id===s)):undefined;if(e==="rename"&&!t)return;this.dialogMode=e;this.dialogViewId=t?.id??null;this.nameDraft=t?.label??"";this.nameError="";this.dialogOpen=true;requestAnimationFrame((()=>{requestAnimationFrame((()=>{const e=this.el.querySelector(`#${this.inputId}`);void e?.setFocus?.()}))}))}validateName(){const e=this.nameDraft.trim();if(!e)return"View name is required.";const s=this.views.some((s=>s.id!==this.dialogViewId&&s.label.trim().toLocaleLowerCase()===e.toLocaleLowerCase()));if(s||this.defaultViewLabel.trim().toLocaleLowerCase()===e.toLocaleLowerCase()){return"A view with this name already exists."}return""}submitDialog(){const e=this.validateName();if(e){this.nameError=e;return}const s=this.nameDraft.trim();if(this.dialogMode==="rename"&&this.dialogView){this.dsViewRename.emit({viewId:this.dialogView.id,name:s})}else{this.dsViewCreate.emit({name:s})}this.dialogOpen=false}finishDialogClose(){if(this.dialogOpen)return;this.dialogViewId=null;this.nameDraft="";this.nameError="";const e=this.el.querySelector(`#${this.selectId}`);void e?.setFocus?.()}render(){return i(a,{key:"0647db6f18401890486124c9775dd9b95c7d35b1"},i("ds-select",{key:"b8bc9dd845444460ec24af188e9923a796a53cbc",id:this.selectId,size:"md",width:"fill",placeholder:this.label,"aria-label":this.label,sections:this.sections,value:this.value,triggerLabel:this.selectedCustomView?undefined:this.triggerLabel,triggerLabelPlaceholder:!this.selectedCustomView,dot:this.dirty&&Boolean(this.selectedCustomView),footerActionLabel:this.createLabel,activeFill:false,allowClear:false,onDsChange:e=>this.handleViewChange(e.detail),onDsFooterAction:()=>this.openDialog("create"),onDsOptionSubtextAction:e=>this.handleSubtextAction(e.detail),onDsOptionAction:e=>this.handleOptionAction(e.detail)}),i("ds-menu",{key:"ea134d3f976da13f9d489caaa76cfb8b0bc2e664",id:this.actionMenuId,anchorId:this.actionAnchorId,menuLabel:"Saved view options",side:"bottom",align:"end",menuWidth:"max-content",minWidth:"0",items:this.actionItems,open:this.actionMenuOpen,initialFocusVisible:this.actionMenuInitialFocusVisible,onDsClose:()=>this.actionMenuOpen=false,onDsAfterClose:()=>{if(this.actionMenuOpen)return;this.actionViewId=null;this.actionAnchorId=undefined},onDsSelect:e=>this.handleActionSelect(e)}),i("ds-modal",{key:"b09b2ae76c97e7e6478963cd693b1fc17fc2a5bc",open:this.dialogOpen,heading:this.dialogMode==="rename"?"Rename view":"Save as new view",modalWidth:"sm",onDsClose:()=>this.dialogOpen=false,onDsAfterClose:()=>this.finishDialogClose()},i("ds-field",{key:"961b8003973edd43ed9a7b0fea2a6b79894e533d",label:"Name",fieldId:this.fieldId,error:this.nameError.length>0,errorMessage:this.nameError},i("ds-input",{key:"5c8fc9f1db26f430d84eac1f79a618c9a7d742ed",id:this.inputId,size:"md",placeholder:"Enter a unique name",value:this.nameDraft,autoFocus:true,onDsChange:e=>{this.nameDraft=e.detail;if(this.nameError)this.nameError=""},onKeyDown:e=>{if(e.key==="Enter")this.submitDialog()}})),i("div",{key:"d1e6cb0ab72a54fa5371f0b6b06559f4668fa281",slot:"footer",class:"table-saved-views__dialog-actions"},i("ds-button-filled",{key:"c508c85a098b7c9e9e51da4874bfc6414f5372e6",label:this.dialogMode==="rename"?"Rename":"Save",size:"md",onDsClick:()=>this.submitDialog()}),i("ds-button-unfilled",{key:"630a580b888bf7e76d2f64dab7d20a8221ba090b",label:"Cancel",size:"md",onDsClick:()=>this.dialogOpen=false}))))}get el(){return this}static get style(){return y()}},[2,"ds-table-saved-views",{views:[16],value:[1],dirty:[4],defaultViewId:[1,"default-view-id"],defaultViewLabel:[1,"default-view-label"],label:[1],triggerLabel:[1,"trigger-label"],createLabel:[1,"create-label"],actionViewId:[32],actionAnchorId:[32],actionMenuOpen:[32],actionMenuInitialFocusVisible:[32],dialogOpen:[32],dialogMode:[32],dialogViewId:[32],nameDraft:[32],nameError:[32]}]);function V(){if(typeof customElements==="undefined"){return}const e=["ds-table-saved-views","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-empty-state","ds-field","ds-icon","ds-input","ds-loader","ds-menu","ds-modal","ds-select","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-table-saved-views":if(!customElements.get(n(e))){customElements.define(n(e),j)}break;case"ds-badge":if(!customElements.get(n(e))){d()}break;case"ds-button-filled":if(!customElements.get(n(e))){o()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){l()}break;case"ds-checkbox":if(!customElements.get(n(e))){r()}break;case"ds-empty-state":if(!customElements.get(n(e))){h()}break;case"ds-field":if(!customElements.get(n(e))){c()}break;case"ds-icon":if(!customElements.get(n(e))){m()}break;case"ds-input":if(!customElements.get(n(e))){f()}break;case"ds-loader":if(!customElements.get(n(e))){u()}break;case"ds-menu":if(!customElements.get(n(e))){b()}break;case"ds-modal":if(!customElements.get(n(e))){p()}break;case"ds-select":if(!customElements.get(n(e))){v()}break;case"ds-swatch-picker":if(!customElements.get(n(e))){w()}break;case"ds-switch":if(!customElements.get(n(e))){g()}break;case"ds-tag":if(!customElements.get(n(e))){k()}break;case"ds-text":if(!customElements.get(n(e))){D()}break;case"ds-tooltip":if(!customElements.get(n(e))){E()}break}}))}V();const x=j;const A=V;export{x as DsTableSavedViews,A as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-table-saved-views.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as e,c as t,h as i,a as n,t as o}from"./index.js";import{i as r}from"./p-BMERUCe1.js";import{d as
|
|
1
|
+
import{p as s,H as e,c as t,h as i,a as n,t as o}from"./index.js";import{i as r}from"./p-BMERUCe1.js";import{d as a}from"./p-BUDAwJVV.js";import{d as c}from"./p-ag6Io-kL.js";import{d as l}from"./p-BFfLvMZd.js";import{d}from"./p-JPTkZ3Ji.js";import{d as u}from"./p-LK-jpxwq.js";import{d as m}from"./p-D123Jvp-.js";import{d as f}from"./p-CsBICYmt.js";import{d as h}from"./p-Cg0kimXZ.js";import{d as p}from"./p-CAnnQL1F.js";import{d as b}from"./p-iMuFgSoM.js";const k="direction:asc";const g="direction:desc";const E="field:";function w(s){const e=[];const t=new Set;for(const i of s){if(r(i)||!i.sortable)continue;const s=i.headerSegments?.filter((s=>s.sortKey.trim()))??[];if(s.length>0){for(const i of s){if(t.has(i.sortKey))continue;t.add(i.sortKey);e.push({id:i.sortKey,label:i.label.trim()||i.sortKey})}continue}if(t.has(i.id))continue;t.add(i.id);e.push({id:i.id,label:i.header.trim()||i.headerLabel?.trim()||i.id})}return e}function j(s,e){const t=w(s);return[{header:"Data",items:t.map((s=>({label:s.label,value:`${E}${encodeURIComponent(s.id)}`,isSelected:e?.columnId===s.id})))},{header:"Direction",items:[{label:"Ascending",value:k,icon:"ArrowUp",isSelected:e?.direction==="asc"},{label:"Descending",value:g,icon:"ArrowDown",isSelected:e?.direction==="desc"}]}]}function S(s,e){if(s===e)return true;if(!s||!e)return false;return s.columnId===e.columnId&&s.direction===e.direction}function C(s,e,t){const i=w(s);if(i.length===0)return e??null;if(t.value===k||t.value===g){const s=t.value===k?"asc":"desc";const n=i.some((s=>s.id===e?.columnId))?e.columnId:i[0].id;return{columnId:n,direction:s}}if(!t.value?.startsWith(E))return e??null;let n;try{n=decodeURIComponent(t.value.slice(E.length))}catch{return e??null}if(!i.some((s=>s.id===n)))return e??null;if(e?.columnId===n)return e??null;return{columnId:n,direction:e?.direction??"asc"}}const x=()=>`.sc-ds-table-sort-h{display:inline-flex;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}[hidden].sc-ds-table-sort-h{display:none}`;let D=0;const v=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.dsSortChange=t(this,"dsSortChange",3);this.columns=[];this.sort=null;this.ariaLabel=null;this.menuOpen=false;this.initialFocusVisible=false;this.componentId=`ds-table-sort-${++D}`;this.triggerId=`${this.componentId}-trigger`;this.menuId=`${this.componentId}-menu`}async setFocus(){const s=this.el.querySelector(`#${CSS.escape(this.triggerId)}`);await(s?.setFocus?.())}render(){const s=w(this.columns);const e=this.ariaLabel?.trim()||"Sort table";return i(n,{key:"abf2fc87dcd24183d5426a4cc0da7ab91cbac81d",hidden:s.length===0?true:undefined},s.length===0?null:i("ds-button-unfilled",{id:this.triggerId,variant:"icon-label",size:"md",icon:"ArrowsVertical",label:"Sort",labelEmphasis:false,pressScale:false,"aria-label":e,hasMenu:true,collapseLabel:true,expanded:this.menuOpen,controls:this.menuId,onDsClick:s=>{this.toggle(s.detail.detail===0)}}),s.length===0?null:i("ds-menu",{id:this.menuId,open:this.menuOpen,anchorId:this.triggerId,align:"start",side:"bottom",menuLabel:e,selectionMode:"none",initialFocusVisible:this.initialFocusVisible,sections:j(this.columns,this.sort),onDsClose:()=>this.close(),onDsSelect:s=>this.handleSelect(s.detail)}))}toggle(s=false){if(this.menuOpen)this.close();else this.open(s)}open(s=false){if(this.menuOpen)return;this.initialFocusVisible=s;this.menuOpen=true}close(){this.menuOpen=false}handleSelect(s){const e=C(this.columns,this.sort,s);if(S(this.sort,e))return;this.dsSortChange.emit({sort:e})}get el(){return this}static get style(){return x()}},[2,"ds-table-sort",{columns:[16],sort:[16],ariaLabel:[1,"aria-label"],menuOpen:[32],initialFocusVisible:[32],setFocus:[64]}]);function y(){if(typeof customElements==="undefined"){return}const s=["ds-table-sort","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-table-sort":if(!customElements.get(o(s))){customElements.define(o(s),v)}break;case"ds-badge":if(!customElements.get(o(s))){a()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){c()}break;case"ds-icon":if(!customElements.get(o(s))){l()}break;case"ds-loader":if(!customElements.get(o(s))){d()}break;case"ds-menu":if(!customElements.get(o(s))){u()}break;case"ds-swatch-picker":if(!customElements.get(o(s))){m()}break;case"ds-switch":if(!customElements.get(o(s))){f()}break;case"ds-tag":if(!customElements.get(o(s))){h()}break;case"ds-text":if(!customElements.get(o(s))){p()}break;case"ds-tooltip":if(!customElements.get(o(s))){b()}break}}))}y();const F=v;const I=y;export{F as DsTableSort,I as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-table-sort.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TABLE_SORT_DIRECTION_ASC","TABLE_SORT_DIRECTION_DESC","TABLE_SORT_FIELD_PREFIX","tableSortFields","columns","fields","seen","Set","column","isTableActionColumn","sortable","segments","headerSegments","filter","segment","sortKey","trim","length","has","add","push","id","label","header","headerLabel","tableSortMenuSections","sort","items","map","field","value","encodeURIComponent","isSelected","columnId","icon","direction","tableSortStatesEqual","left","right","nextTableSortStateFromMenuItem","current","item","some","startsWith","decodeURIComponent","slice","tableSortCss","tableSortSeq","TableSort","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","ariaLabel","menuOpen","initialFocusVisible","componentId","triggerId","menuId","setFocus","trigger","el","querySelector","CSS","escape","render","name","h","Host","key","hidden","undefined","variant","size","hasMenu","collapseLabel","expanded","controls","onDsClick","event","toggle","detail","open","anchorId","align","side","menuLabel","selectionMode","sections","onDsClose","close","onDsSelect","handleSelect","fromKeyboard","next","dsSortChange","emit"],"sources":["src/wc/components/TableSort/table-sort-menu.ts","src/wc/components/TableSort/TableSort.css?tag=ds-table-sort&encapsulation=scoped","src/wc/components/TableSort/TableSort.tsx"],"sourcesContent":["import type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport { isTableActionColumn } from '../Table/table-column-customizer';\nimport type { TableColumn, TableSortState } from '../Table/table-types';\n\nexport const TABLE_SORT_DIRECTION_ASC = 'direction:asc';\nexport const TABLE_SORT_DIRECTION_DESC = 'direction:desc';\nconst TABLE_SORT_FIELD_PREFIX = 'field:';\n\nexport interface TableSortField {\n id: string;\n label: string;\n}\n\n/** Sortable data fields from the catalog, including compound header segments. */\nexport function tableSortFields(columns: readonly TableColumn[]): TableSortField[] {\n const fields: TableSortField[] = [];\n const seen = new Set<string>();\n\n for (const column of columns) {\n if (isTableActionColumn(column) || !column.sortable) continue;\n const segments = column.headerSegments?.filter(segment => segment.sortKey.trim()) ?? [];\n if (segments.length > 0) {\n for (const segment of segments) {\n if (seen.has(segment.sortKey)) continue;\n seen.add(segment.sortKey);\n fields.push({\n id: segment.sortKey,\n label: segment.label.trim() || segment.sortKey,\n });\n }\n continue;\n }\n if (seen.has(column.id)) continue;\n seen.add(column.id);\n fields.push({\n id: column.id,\n label: column.header.trim() || column.headerLabel?.trim() || column.id,\n });\n }\n\n return fields;\n}\n\nexport function tableSortMenuSections(\n columns: readonly TableColumn[],\n sort: TableSortState | null | undefined\n): MenuSection[] {\n const fields = tableSortFields(columns);\n return [\n {\n header: 'Data',\n items: fields.map(field => ({\n label: field.label,\n value: `${TABLE_SORT_FIELD_PREFIX}${encodeURIComponent(field.id)}`,\n isSelected: sort?.columnId === field.id,\n })),\n },\n {\n header: 'Direction',\n items: [\n {\n label: 'Ascending',\n value: TABLE_SORT_DIRECTION_ASC,\n icon: 'ArrowUp',\n isSelected: sort?.direction === 'asc',\n },\n {\n label: 'Descending',\n value: TABLE_SORT_DIRECTION_DESC,\n icon: 'ArrowDown',\n isSelected: sort?.direction === 'desc',\n },\n ],\n },\n ];\n}\n\nexport function tableSortStatesEqual(\n left: TableSortState | null | undefined,\n right: TableSortState | null | undefined\n): boolean {\n if (left === right) return true;\n if (!left || !right) return false;\n return left.columnId === right.columnId && left.direction === right.direction;\n}\n\n/** Next controlled sort from a Sort menu selection. Does not toggle like a header click. */\nexport function nextTableSortStateFromMenuItem(\n columns: readonly TableColumn[],\n current: TableSortState | null | undefined,\n item: MenuItemData\n): TableSortState | null {\n const fields = tableSortFields(columns);\n if (fields.length === 0) return current ?? null;\n\n if (item.value === TABLE_SORT_DIRECTION_ASC || item.value === TABLE_SORT_DIRECTION_DESC) {\n const direction = item.value === TABLE_SORT_DIRECTION_ASC ? 'asc' : 'desc';\n const columnId = fields.some(field => field.id === current?.columnId)\n ? current!.columnId\n : fields[0]!.id;\n return { columnId, direction };\n }\n\n if (!item.value?.startsWith(TABLE_SORT_FIELD_PREFIX)) return current ?? null;\n let columnId: string;\n try {\n columnId = decodeURIComponent(item.value.slice(TABLE_SORT_FIELD_PREFIX.length));\n } catch {\n return current ?? null;\n }\n if (!fields.some(field => field.id === columnId)) return current ?? null;\n if (current?.columnId === columnId) return current ?? null;\n return { columnId, direction: current?.direction ?? 'asc' };\n}\n",":host {\n display: inline-flex;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\n:host([hidden]) {\n display: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core';\nimport type { MenuItemData } from '../Menu/menu-types';\nimport type { TableColumn, TableSortChangeDetail, TableSortState } from '../Table/table-types';\nimport {\n nextTableSortStateFromMenuItem,\n tableSortFields,\n tableSortMenuSections,\n tableSortStatesEqual,\n} from './table-sort-menu';\n\nlet tableSortSeq = 0;\n\n@Component({\n tag: 'ds-table-sort',\n styleUrl: 'TableSort.css',\n scoped: true,\n})\nexport class TableSort {\n @Element() private el!: HTMLElement;\n\n /** Catalog used to derive sortable fields, including compound header segments. */\n @Prop() columns: TableColumn[] = [];\n /** Controlled table sort. Header sorting and this menu share the same value. */\n @Prop() sort: TableSortState | null = null;\n /** Accessible name for the trigger and menu. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n\n @Event({ bubbles: false }) dsSortChange!: EventEmitter<TableSortChangeDetail>;\n\n @State() private menuOpen = false;\n @State() private initialFocusVisible = false;\n\n private readonly componentId = `ds-table-sort-${++tableSortSeq}`;\n private readonly triggerId = `${this.componentId}-trigger`;\n private readonly menuId = `${this.componentId}-menu`;\n\n @Method()\n async setFocus() {\n const trigger = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${CSS.escape(this.triggerId)}`\n );\n await trigger?.setFocus?.();\n }\n\n render() {\n const fields = tableSortFields(this.columns);\n const name = this.ariaLabel?.trim() || 'Sort table';\n\n return (\n <Host hidden={fields.length === 0 ? true : undefined}>\n {fields.length === 0 ? null : (\n <ds-button-unfilled\n id={this.triggerId}\n variant=\"icon-label\"\n size=\"md\"\n icon=\"ArrowsVertical\"\n label=\"Sort\"\n aria-label={name}\n hasMenu={true}\n collapseLabel={true}\n expanded={this.menuOpen}\n controls={this.menuId}\n onDsClick={(event: CustomEvent<MouseEvent>) => {\n this.toggle(event.detail.detail === 0);\n }}\n />\n )}\n {fields.length === 0 ? null : (\n <ds-menu\n id={this.menuId}\n open={this.menuOpen}\n anchorId={this.triggerId}\n align=\"end\"\n side=\"bottom\"\n menuLabel={name}\n selectionMode=\"none\"\n initialFocusVisible={this.initialFocusVisible}\n sections={tableSortMenuSections(this.columns, this.sort)}\n onDsClose={() => this.close()}\n onDsSelect={event => this.handleSelect(event.detail)}\n />\n )}\n </Host>\n );\n }\n\n private toggle(fromKeyboard = false): void {\n if (this.menuOpen) this.close();\n else this.open(fromKeyboard);\n }\n\n private open(fromKeyboard = false): void {\n if (this.menuOpen) return;\n this.initialFocusVisible = fromKeyboard;\n this.menuOpen = true;\n }\n\n private close(): void {\n this.menuOpen = false;\n }\n\n private handleSelect(item: MenuItemData): void {\n const next = nextTableSortStateFromMenuItem(this.columns, this.sort, item);\n if (tableSortStatesEqual(this.sort, next)) return;\n this.dsSortChange.emit({ sort: next });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["TABLE_SORT_DIRECTION_ASC","TABLE_SORT_DIRECTION_DESC","TABLE_SORT_FIELD_PREFIX","tableSortFields","columns","fields","seen","Set","column","isTableActionColumn","sortable","segments","headerSegments","filter","segment","sortKey","trim","length","has","add","push","id","label","header","headerLabel","tableSortMenuSections","sort","items","map","field","value","encodeURIComponent","isSelected","columnId","icon","direction","tableSortStatesEqual","left","right","nextTableSortStateFromMenuItem","current","item","some","startsWith","decodeURIComponent","slice","tableSortCss","tableSortSeq","TableSort","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","ariaLabel","menuOpen","initialFocusVisible","componentId","triggerId","menuId","setFocus","trigger","el","querySelector","CSS","escape","render","name","h","Host","key","hidden","undefined","variant","size","labelEmphasis","pressScale","hasMenu","collapseLabel","expanded","controls","onDsClick","event","toggle","detail","open","anchorId","align","side","menuLabel","selectionMode","sections","onDsClose","close","onDsSelect","handleSelect","fromKeyboard","next","dsSortChange","emit"],"sources":["src/wc/components/TableSort/table-sort-menu.ts","src/wc/components/TableSort/TableSort.css?tag=ds-table-sort&encapsulation=scoped","src/wc/components/TableSort/TableSort.tsx"],"sourcesContent":["import type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport { isTableActionColumn } from '../Table/table-column-customizer';\nimport type { TableColumn, TableSortState } from '../Table/table-types';\n\nexport const TABLE_SORT_DIRECTION_ASC = 'direction:asc';\nexport const TABLE_SORT_DIRECTION_DESC = 'direction:desc';\nconst TABLE_SORT_FIELD_PREFIX = 'field:';\n\nexport interface TableSortField {\n id: string;\n label: string;\n}\n\n/** Sortable data fields from the catalog, including compound header segments. */\nexport function tableSortFields(columns: readonly TableColumn[]): TableSortField[] {\n const fields: TableSortField[] = [];\n const seen = new Set<string>();\n\n for (const column of columns) {\n if (isTableActionColumn(column) || !column.sortable) continue;\n const segments = column.headerSegments?.filter(segment => segment.sortKey.trim()) ?? [];\n if (segments.length > 0) {\n for (const segment of segments) {\n if (seen.has(segment.sortKey)) continue;\n seen.add(segment.sortKey);\n fields.push({\n id: segment.sortKey,\n label: segment.label.trim() || segment.sortKey,\n });\n }\n continue;\n }\n if (seen.has(column.id)) continue;\n seen.add(column.id);\n fields.push({\n id: column.id,\n label: column.header.trim() || column.headerLabel?.trim() || column.id,\n });\n }\n\n return fields;\n}\n\nexport function tableSortMenuSections(\n columns: readonly TableColumn[],\n sort: TableSortState | null | undefined\n): MenuSection[] {\n const fields = tableSortFields(columns);\n return [\n {\n header: 'Data',\n items: fields.map(field => ({\n label: field.label,\n value: `${TABLE_SORT_FIELD_PREFIX}${encodeURIComponent(field.id)}`,\n isSelected: sort?.columnId === field.id,\n })),\n },\n {\n header: 'Direction',\n items: [\n {\n label: 'Ascending',\n value: TABLE_SORT_DIRECTION_ASC,\n icon: 'ArrowUp',\n isSelected: sort?.direction === 'asc',\n },\n {\n label: 'Descending',\n value: TABLE_SORT_DIRECTION_DESC,\n icon: 'ArrowDown',\n isSelected: sort?.direction === 'desc',\n },\n ],\n },\n ];\n}\n\nexport function tableSortStatesEqual(\n left: TableSortState | null | undefined,\n right: TableSortState | null | undefined\n): boolean {\n if (left === right) return true;\n if (!left || !right) return false;\n return left.columnId === right.columnId && left.direction === right.direction;\n}\n\n/** Next controlled sort from a Sort menu selection. Does not toggle like a header click. */\nexport function nextTableSortStateFromMenuItem(\n columns: readonly TableColumn[],\n current: TableSortState | null | undefined,\n item: MenuItemData\n): TableSortState | null {\n const fields = tableSortFields(columns);\n if (fields.length === 0) return current ?? null;\n\n if (item.value === TABLE_SORT_DIRECTION_ASC || item.value === TABLE_SORT_DIRECTION_DESC) {\n const direction = item.value === TABLE_SORT_DIRECTION_ASC ? 'asc' : 'desc';\n const columnId = fields.some(field => field.id === current?.columnId)\n ? current!.columnId\n : fields[0]!.id;\n return { columnId, direction };\n }\n\n if (!item.value?.startsWith(TABLE_SORT_FIELD_PREFIX)) return current ?? null;\n let columnId: string;\n try {\n columnId = decodeURIComponent(item.value.slice(TABLE_SORT_FIELD_PREFIX.length));\n } catch {\n return current ?? null;\n }\n if (!fields.some(field => field.id === columnId)) return current ?? null;\n if (current?.columnId === columnId) return current ?? null;\n return { columnId, direction: current?.direction ?? 'asc' };\n}\n",":host {\n display: inline-flex;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n}\n\n:host([hidden]) {\n display: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core';\nimport type { MenuItemData } from '../Menu/menu-types';\nimport type { TableColumn, TableSortChangeDetail, TableSortState } from '../Table/table-types';\nimport {\n nextTableSortStateFromMenuItem,\n tableSortFields,\n tableSortMenuSections,\n tableSortStatesEqual,\n} from './table-sort-menu';\n\nlet tableSortSeq = 0;\n\n@Component({\n tag: 'ds-table-sort',\n styleUrl: 'TableSort.css',\n scoped: true,\n})\nexport class TableSort {\n @Element() private el!: HTMLElement;\n\n /** Catalog used to derive sortable fields, including compound header segments. */\n @Prop() columns: TableColumn[] = [];\n /** Controlled table sort. Header sorting and this menu share the same value. */\n @Prop() sort: TableSortState | null = null;\n /** Accessible name for the trigger and menu. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n\n @Event({ bubbles: false }) dsSortChange!: EventEmitter<TableSortChangeDetail>;\n\n @State() private menuOpen = false;\n @State() private initialFocusVisible = false;\n\n private readonly componentId = `ds-table-sort-${++tableSortSeq}`;\n private readonly triggerId = `${this.componentId}-trigger`;\n private readonly menuId = `${this.componentId}-menu`;\n\n @Method()\n async setFocus() {\n const trigger = this.el.querySelector<HTMLElement & { setFocus?: () => Promise<void> }>(\n `#${CSS.escape(this.triggerId)}`\n );\n await trigger?.setFocus?.();\n }\n\n render() {\n const fields = tableSortFields(this.columns);\n const name = this.ariaLabel?.trim() || 'Sort table';\n\n return (\n <Host hidden={fields.length === 0 ? true : undefined}>\n {fields.length === 0 ? null : (\n <ds-button-unfilled\n id={this.triggerId}\n variant=\"icon-label\"\n size=\"md\"\n icon=\"ArrowsVertical\"\n label=\"Sort\"\n labelEmphasis={false}\n pressScale={false}\n aria-label={name}\n hasMenu={true}\n collapseLabel={true}\n expanded={this.menuOpen}\n controls={this.menuId}\n onDsClick={(event: CustomEvent<MouseEvent>) => {\n this.toggle(event.detail.detail === 0);\n }}\n />\n )}\n {fields.length === 0 ? null : (\n <ds-menu\n id={this.menuId}\n open={this.menuOpen}\n anchorId={this.triggerId}\n align=\"start\"\n side=\"bottom\"\n menuLabel={name}\n selectionMode=\"none\"\n initialFocusVisible={this.initialFocusVisible}\n sections={tableSortMenuSections(this.columns, this.sort)}\n onDsClose={() => this.close()}\n onDsSelect={event => this.handleSelect(event.detail)}\n />\n )}\n </Host>\n );\n }\n\n private toggle(fromKeyboard = false): void {\n if (this.menuOpen) this.close();\n else this.open(fromKeyboard);\n }\n\n private open(fromKeyboard = false): void {\n if (this.menuOpen) return;\n this.initialFocusVisible = fromKeyboard;\n this.menuOpen = true;\n }\n\n private close(): void {\n this.menuOpen = false;\n }\n\n private handleSelect(item: MenuItemData): void {\n const next = nextTableSortStateFromMenuItem(this.columns, this.sort, item);\n if (tableSortStatesEqual(this.sort, next)) return;\n this.dsSortChange.emit({ sort: next });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as
|
|
1
|
+
import{p as t,H as a,h as e,a as l,t as o}from"./index.js";import{d as s}from"./p-BNkU9dcc.js";const b=()=>`.sc-ds-table-toolbar-h{--ds-control-press-active-scale:var(--dimension-scale-default);display:block;min-inline-size:0;max-inline-size:100%}[slot='header'].sc-ds-table-toolbar-h{display:contents;max-inline-size:none}.table-toolbar.sc-ds-table-toolbar{box-sizing:border-box;display:flex;align-items:center;inline-size:100%;min-inline-size:0;gap:var(--dimension-space-100);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}[slot='header'].sc-ds-table-toolbar-h .table-toolbar.sc-ds-table-toolbar{display:contents}.table-toolbar.sc-ds-table-toolbar::-webkit-scrollbar{display:none}.table-toolbar__start.sc-ds-table-toolbar,.table-toolbar__search.sc-ds-table-toolbar,.table-toolbar__leading.sc-ds-table-toolbar,.table-toolbar__trailing.sc-ds-table-toolbar{display:flex;align-items:center;min-inline-size:0;gap:var(--dimension-space-100)}.table-toolbar__start.sc-ds-table-toolbar{flex:0 0 auto;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs);overflow:hidden}.table-toolbar__rule.sc-ds-table-toolbar{flex:0 0 auto}.table-toolbar__search.sc-ds-table-toolbar{flex:0 1 var(--dimension-panel-width-xs);max-inline-size:var(--dimension-panel-width-xs);contain:inline-size}.table-toolbar__slot--empty.sc-ds-table-toolbar{display:none}.table-toolbar__leading.sc-ds-table-toolbar{flex:0 0 auto}.table-toolbar__trailing.sc-ds-table-toolbar{flex:0 0 auto;margin-inline-start:auto}.table-toolbar__trailing.sc-ds-table-toolbar>*.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar [slot='start'].sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-table-filter.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-filter-menu.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-select.sc-ds-table-toolbar,.table-toolbar.sc-ds-table-toolbar ds-table-sort.sc-ds-table-toolbar{min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs);--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}.table-toolbar__trailing.sc-ds-table-toolbar>*.sc-ds-table-toolbar{flex:0 0 auto}.table-toolbar__start.sc-ds-table-toolbar slot.sc-ds-table-toolbar,.table-toolbar__search.sc-ds-table-toolbar slot.sc-ds-table-toolbar,.table-toolbar__leading.sc-ds-table-toolbar slot.sc-ds-table-toolbar,.table-toolbar__trailing.sc-ds-table-toolbar slot.sc-ds-table-toolbar{display:contents}`;const i=1<<0;const r=1<<1;const n=1<<2;const d=1<<3;const c=t(class t extends a{constructor(t){super();if(t!==false){this.__registerHost()}this.label="Table controls";this.slotPresence=0;this.syncSlotPresence=()=>{let t=0;if(this.hasOwnedSlot("start"))t|=i;if(this.hasOwnedSlot("search"))t|=r;if(this.hasOwnedSlot("leading"))t|=n;if(this.hasOwnedSlot("trailing"))t|=d;if(t!==this.slotPresence)this.slotPresence=t}}componentWillLoad(){this.syncSlotPresence()}hasOwnedSlot(t){return Array.from(this.el.querySelectorAll(`[slot="${t}"]`)).some((t=>t.closest("ds-table-toolbar")===this.el))}render(){const t=(this.slotPresence&i)!==0;const a=(this.slotPresence&r)!==0;const o=(this.slotPresence&n)!==0;const s=(this.slotPresence&d)!==0;return e(l,{key:"e29af744bd4ac6ba0f51ff3c5da7c7b7acfec3de"},e("div",{key:"b4423ba278d09b1a15b1db109d241d7de6232a57",class:"table-toolbar",role:"toolbar","aria-label":this.label},e("div",{key:"3e03527e9b1116ea4287bc48e4a7fec22d58d659",class:{"table-toolbar__start":true,"table-toolbar__slot--empty":!t}},e("slot",{key:"0b31201f21c695aa9635cf07111269cd37416e00",name:"start",onSlotchange:this.syncSlotPresence})),e("ds-divider",{key:"1c128a7216119906006298ef33154154f3d8e914",class:{"table-toolbar__rule":true,"table-toolbar__slot--empty":!t},orientation:"vertical",length:"32px"}),e("div",{key:"29fdf3544c50e51bc41d79ffad7f2b9b15f2a9e3",class:{"table-toolbar__search":true,"table-toolbar__slot--empty":!a}},e("slot",{key:"bcae86e5b7f0c64f40a23255628ade4ab12b786a",name:"search",onSlotchange:this.syncSlotPresence})),e("div",{key:"23f92ee4b927f302f227a60861d78ba7d8c80e5d",class:{"table-toolbar__leading":true,"table-toolbar__slot--empty":!o}},e("slot",{key:"4b3bc5ce48799db220cab6755e2797b526e2ed17",name:"leading",onSlotchange:this.syncSlotPresence})),e("div",{key:"b80c9c05567937ac65115fb7c6d0ced17bb9128d",class:{"table-toolbar__trailing":true,"table-toolbar__slot--empty":!s}},e("slot",{key:"464e8c8335431511f445857038faba4129b26a79",name:"trailing",onSlotchange:this.syncSlotPresence}))))}get el(){return this}static get style(){return b()}},[262,"ds-table-toolbar",{label:[1],slotPresence:[32]}]);function f(){if(typeof customElements==="undefined"){return}const t=["ds-table-toolbar","ds-divider"];t.forEach((t=>{switch(t){case"ds-table-toolbar":if(!customElements.get(o(t))){customElements.define(o(t),c)}break;case"ds-divider":if(!customElements.get(o(t))){s()}break}}))}f();const _=c;const h=f;export{_ as DsTableToolbar,h as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-table-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["tableToolbarCss","TableToolbar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","label","render","h","Host","key","class","role","
|
|
1
|
+
{"version":3,"names":["tableToolbarCss","TABLE_TOOLBAR_SLOT_START","TABLE_TOOLBAR_SLOT_SEARCH","TABLE_TOOLBAR_SLOT_LEADING","TABLE_TOOLBAR_SLOT_TRAILING","TableToolbar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","label","slotPresence","syncSlotPresence","presence","hasOwnedSlot","componentWillLoad","name","Array","from","el","querySelectorAll","some","element","closest","render","hasStart","hasSearch","hasLeading","hasTrailing","h","Host","key","class","role","onSlotchange","orientation","length"],"sources":["src/wc/components/TableToolbar/TableToolbar.css?tag=ds-table-toolbar&encapsulation=scoped","src/wc/components/TableToolbar/TableToolbar.tsx"],"sourcesContent":[":host {\n --ds-control-press-active-scale: var(--dimension-scale-default);\n\n display: block;\n min-inline-size: 0;\n max-inline-size: 100%;\n}\n\n/* A table caption owns overflow for the complete application + table control row. */\n:host([slot='header']) {\n display: contents;\n max-inline-size: none;\n}\n\n.table-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n inline-size: 100%;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n:host([slot='header']) .table-toolbar {\n display: contents;\n}\n\n.table-toolbar::-webkit-scrollbar {\n display: none;\n}\n\n.table-toolbar__start,\n.table-toolbar__search,\n.table-toolbar__leading,\n.table-toolbar__trailing {\n display: flex;\n align-items: center;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n}\n\n.table-toolbar__start {\n flex: 0 0 auto;\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n overflow: hidden;\n}\n\n.table-toolbar__rule {\n flex: 0 0 auto;\n}\n\n.table-toolbar__search {\n flex: 0 1 var(--dimension-panel-width-xs);\n max-inline-size: var(--dimension-panel-width-xs);\n contain: inline-size;\n}\n\n.table-toolbar__slot--empty {\n display: none;\n}\n\n.table-toolbar__leading {\n flex: 0 0 auto;\n}\n\n.table-toolbar__trailing {\n flex: 0 0 auto;\n margin-inline-start: auto;\n}\n\n.table-toolbar__trailing > *,\n.table-toolbar [slot='start'],\n.table-toolbar ds-table-filter,\n.table-toolbar ds-filter-menu,\n.table-toolbar ds-select,\n.table-toolbar ds-table-sort {\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n\n.table-toolbar__trailing > * {\n flex: 0 0 auto;\n}\n\n.table-toolbar__start slot,\n.table-toolbar__search slot,\n.table-toolbar__leading slot,\n.table-toolbar__trailing slot {\n display: contents;\n}\n","import { Component, Element, h, Host, Prop, State } from '@stencil/core';\n\nconst TABLE_TOOLBAR_SLOT_START = 1 << 0;\nconst TABLE_TOOLBAR_SLOT_SEARCH = 1 << 1;\nconst TABLE_TOOLBAR_SLOT_LEADING = 1 << 2;\nconst TABLE_TOOLBAR_SLOT_TRAILING = 1 << 3;\n\n@Component({\n tag: 'ds-table-toolbar',\n styleUrl: 'TableToolbar.css',\n scoped: true,\n})\nexport class TableToolbar {\n @Element() el!: HTMLElement;\n\n /** Accessible name for the grouped table controls. */\n @Prop() label: string = 'Table controls';\n\n @State() private slotPresence = 0;\n\n componentWillLoad(): void {\n this.syncSlotPresence();\n }\n\n private hasOwnedSlot(name: string): boolean {\n return Array.from(this.el.querySelectorAll<HTMLElement>(`[slot=\"${name}\"]`)).some(\n element => element.closest('ds-table-toolbar') === this.el\n );\n }\n\n private syncSlotPresence = () => {\n let presence = 0;\n if (this.hasOwnedSlot('start')) presence |= TABLE_TOOLBAR_SLOT_START;\n if (this.hasOwnedSlot('search')) presence |= TABLE_TOOLBAR_SLOT_SEARCH;\n if (this.hasOwnedSlot('leading')) presence |= TABLE_TOOLBAR_SLOT_LEADING;\n if (this.hasOwnedSlot('trailing')) presence |= TABLE_TOOLBAR_SLOT_TRAILING;\n if (presence !== this.slotPresence) this.slotPresence = presence;\n };\n\n render() {\n const hasStart = (this.slotPresence & TABLE_TOOLBAR_SLOT_START) !== 0;\n const hasSearch = (this.slotPresence & TABLE_TOOLBAR_SLOT_SEARCH) !== 0;\n const hasLeading = (this.slotPresence & TABLE_TOOLBAR_SLOT_LEADING) !== 0;\n const hasTrailing = (this.slotPresence & TABLE_TOOLBAR_SLOT_TRAILING) !== 0;\n\n return (\n <Host>\n <div class=\"table-toolbar\" role=\"toolbar\" aria-label={this.label}>\n <div\n class={{\n 'table-toolbar__start': true,\n 'table-toolbar__slot--empty': !hasStart,\n }}\n >\n <slot name=\"start\" onSlotchange={this.syncSlotPresence} />\n </div>\n <ds-divider\n class={{\n 'table-toolbar__rule': true,\n 'table-toolbar__slot--empty': !hasStart,\n }}\n orientation=\"vertical\"\n length=\"32px\"\n />\n <div\n class={{\n 'table-toolbar__search': true,\n 'table-toolbar__slot--empty': !hasSearch,\n }}\n >\n <slot name=\"search\" onSlotchange={this.syncSlotPresence} />\n </div>\n <div\n class={{\n 'table-toolbar__leading': true,\n 'table-toolbar__slot--empty': !hasLeading,\n }}\n >\n <slot name=\"leading\" onSlotchange={this.syncSlotPresence} />\n </div>\n <div\n class={{\n 'table-toolbar__trailing': true,\n 'table-toolbar__slot--empty': !hasTrailing,\n }}\n >\n <slot name=\"trailing\" onSlotchange={this.syncSlotPresence} />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAkB,IAAM,6vECE9B,MAAMC,EAA2B,GAAK,EACtC,MAAMC,EAA4B,GAAK,EACvC,MAAMC,EAA6B,GAAK,EACxC,MAAMC,EAA8B,GAAK,E,MAO5BC,EAAYC,EAAA,MAAAD,UAAAE,EALzB,WAAAC,CAAAC,G,4CASUC,KAAAC,MAAgB,iBAEPD,KAAAE,aAAe,EAYxBF,KAAAG,iBAAmB,KACzB,IAAIC,EAAW,EACf,GAAIJ,KAAKK,aAAa,SAAUD,GAAYb,EAC5C,GAAIS,KAAKK,aAAa,UAAWD,GAAYZ,EAC7C,GAAIQ,KAAKK,aAAa,WAAYD,GAAYX,EAC9C,GAAIO,KAAKK,aAAa,YAAaD,GAAYV,EAC/C,GAAIU,IAAaJ,KAAKE,aAAcF,KAAKE,aAAeE,CAAQ,CAwDnE,CAxEC,iBAAAE,GACEN,KAAKG,kB,CAGC,YAAAE,CAAaE,GACnB,OAAOC,MAAMC,KAAKT,KAAKU,GAAGC,iBAA8B,UAAUJ,QAAWK,MAC3EC,GAAWA,EAAQC,QAAQ,sBAAwBd,KAAKU,I,CAa5D,MAAAK,GACE,MAAMC,GAAYhB,KAAKE,aAAeX,KAA8B,EACpE,MAAM0B,GAAajB,KAAKE,aAAeV,KAA+B,EACtE,MAAM0B,GAAclB,KAAKE,aAAeT,KAAgC,EACxE,MAAM0B,GAAenB,KAAKE,aAAeR,KAAiC,EAE1E,OACE0B,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBAAgBC,KAAK,UAAS,aAAaxB,KAAKC,OACzDmB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,uBAAwB,KACxB,8BAA+BP,IAGjCI,EAAA,QAAAE,IAAA,2CAAMf,KAAK,QAAQkB,aAAczB,KAAKG,oBAExCiB,EAAA,cAAAE,IAAA,2CACEC,MAAO,CACL,sBAAuB,KACvB,8BAA+BP,GAEjCU,YAAY,WACZC,OAAO,SAETP,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,wBAAyB,KACzB,8BAA+BN,IAGjCG,EAAA,QAAAE,IAAA,2CAAMf,KAAK,SAASkB,aAAczB,KAAKG,oBAEzCiB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,yBAA0B,KAC1B,8BAA+BL,IAGjCE,EAAA,QAAAE,IAAA,2CAAMf,KAAK,UAAUkB,aAAczB,KAAKG,oBAE1CiB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,0BAA2B,KAC3B,8BAA+BJ,IAGjCC,EAAA,QAAAE,IAAA,2CAAMf,KAAK,WAAWkB,aAAczB,KAAKG,qB","ignoreList":[]}
|