@ds-mo/ui 15.4.0 → 15.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +7 -1
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +64 -8
- package/dist/angular/boolean-value-accessor.js +3 -3
- package/dist/angular/ds-agent-activity.js +3 -3
- package/dist/angular/ds-agent-questionnaire.js +3 -3
- package/dist/angular/ds-agent-response.js +3 -3
- package/dist/angular/ds-agent-source-list.js +3 -3
- package/dist/angular/ds-agent-tool-call.js +3 -3
- package/dist/angular/ds-attachment-list.js +3 -3
- package/dist/angular/ds-avatar.js +3 -3
- package/dist/angular/ds-badge.js +3 -3
- package/dist/angular/ds-banner.js +3 -3
- package/dist/angular/ds-bar-action.js +3 -3
- package/dist/angular/ds-bar-nav.js +3 -3
- package/dist/angular/ds-bar-page-title.js +3 -3
- package/dist/angular/ds-bar-title.js +3 -3
- package/dist/angular/ds-bar-workflow.js +3 -3
- package/dist/angular/ds-breadcrumb.js +3 -3
- package/dist/angular/ds-button-filled.js +3 -3
- package/dist/angular/ds-button-inverted.js +3 -3
- package/dist/angular/ds-button-unfilled.js +3 -3
- package/dist/angular/ds-calendar.js +3 -3
- package/dist/angular/ds-card-action-center.js +3 -3
- package/dist/angular/ds-card-chart.js +3 -3
- package/dist/angular/ds-card-navigation.js +3 -3
- package/dist/angular/ds-card-overview.js +3 -3
- package/dist/angular/ds-card-setting.js +3 -3
- package/dist/angular/ds-card-settings-scope.js +3 -3
- package/dist/angular/ds-chart-legend.js +3 -3
- package/dist/angular/ds-chart.js +3 -3
- package/dist/angular/ds-checkbox-group.js +3 -3
- package/dist/angular/ds-checkbox.d.ts +1 -1
- package/dist/angular/ds-checkbox.js +5 -5
- package/dist/angular/ds-chip.js +3 -3
- package/dist/angular/ds-code-block.js +3 -3
- package/dist/angular/ds-conversation-list-item.js +3 -3
- package/dist/angular/ds-conversation-list-section.js +3 -3
- package/dist/angular/ds-conversation-list.js +3 -3
- package/dist/angular/ds-data-customize.js +3 -3
- package/dist/angular/ds-data-filter.js +3 -3
- package/dist/angular/ds-data-group.js +3 -3
- package/dist/angular/ds-data-preferences.js +3 -3
- package/dist/angular/ds-data-saved-views.js +3 -3
- package/dist/angular/ds-data-search.js +3 -3
- package/dist/angular/ds-data-sort.js +3 -3
- package/dist/angular/ds-data-toolbar.js +3 -3
- package/dist/angular/ds-divider.js +3 -3
- package/dist/angular/ds-empty-state.js +3 -3
- package/dist/angular/ds-field.js +3 -3
- package/dist/angular/ds-filter-menu.js +3 -3
- package/dist/angular/ds-icon.js +3 -3
- package/dist/angular/ds-inline-banner-settings.js +3 -3
- package/dist/angular/ds-input-date.js +3 -3
- package/dist/angular/ds-input-time.js +3 -3
- package/dist/angular/ds-input.js +3 -3
- package/dist/angular/ds-loader.js +3 -3
- package/dist/angular/ds-map-cluster-marker.js +3 -3
- package/dist/angular/ds-map-entity-marker.js +3 -3
- package/dist/angular/ds-markdown.js +3 -3
- package/dist/angular/ds-menu.js +3 -3
- package/dist/angular/ds-message-actions.js +3 -3
- package/dist/angular/ds-message-bubble.js +3 -3
- package/dist/angular/ds-message-composer.js +3 -3
- package/dist/angular/ds-message-scroller.js +3 -3
- package/dist/angular/ds-message.js +3 -3
- package/dist/angular/ds-mobile-bar-nav.js +3 -3
- package/dist/angular/ds-mobile-header.js +3 -3
- package/dist/angular/ds-mobile-section-switcher.js +3 -3
- package/dist/angular/ds-mobile-sheet-nav.js +3 -3
- package/dist/angular/ds-modal.js +3 -3
- package/dist/angular/ds-pagination.js +3 -3
- package/dist/angular/ds-panel-nav.js +3 -3
- package/dist/angular/ds-panel-sub-nav.js +3 -3
- package/dist/angular/ds-panel-tool-header.js +3 -3
- package/dist/angular/ds-panel-tool-search.js +3 -3
- package/dist/angular/ds-panel-tools.js +3 -3
- package/dist/angular/ds-paper-texture.js +3 -3
- package/dist/angular/ds-radio-tile.js +3 -3
- package/dist/angular/ds-radio.js +3 -3
- package/dist/angular/ds-score.js +3 -3
- package/dist/angular/ds-scroll-overlay.js +3 -3
- package/dist/angular/ds-select.d.ts +1 -1
- package/dist/angular/ds-select.js +5 -5
- package/dist/angular/ds-setting-row-checkbox.js +3 -3
- package/dist/angular/ds-setting-row-radio.js +3 -3
- package/dist/angular/ds-setting-row-toggle.js +3 -3
- package/dist/angular/ds-shell-app.js +3 -3
- package/dist/angular/ds-shell-page.js +3 -3
- package/dist/angular/ds-shell-tools.js +3 -3
- package/dist/angular/ds-skeleton.js +3 -3
- package/dist/angular/ds-slider.js +3 -3
- package/dist/angular/ds-swatch-picker.js +3 -3
- package/dist/angular/ds-switch.js +3 -3
- package/dist/angular/ds-tab-group.js +3 -3
- package/dist/angular/ds-table.d.ts +7 -1
- package/dist/angular/ds-table.js +13 -7
- package/dist/angular/ds-tag.js +3 -3
- package/dist/angular/ds-text.js +3 -3
- package/dist/angular/ds-textarea.js +3 -3
- package/dist/angular/ds-time-picker.js +3 -3
- package/dist/angular/ds-toast.js +3 -3
- package/dist/angular/ds-tooltip-chart.js +3 -3
- package/dist/angular/ds-tooltip.js +3 -3
- package/dist/angular/ds-typing-indicator.js +3 -3
- package/dist/angular/number-value-accessor.js +3 -3
- package/dist/angular/radio-value-accessor.js +3 -3
- package/dist/angular/select-value-accessor.js +3 -3
- package/dist/angular/text-value-accessor.js +3 -3
- package/dist/angular/value-accessor.js +3 -3
- package/dist/components/THIRD-PARTY-NOTICES +1791 -0
- package/dist/components/bundled-dependencies.json +478 -0
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-avatar.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-banner.js.map +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-page-title.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-inverted.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-calendar.js +1 -1
- package/dist/components/ds-card-action-center.js +1 -1
- package/dist/components/ds-card-chart.js +1 -1
- package/dist/components/ds-card-navigation.js +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-legend.js.map +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-chart.js.map +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.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-data-customize.js +1 -1
- package/dist/components/ds-data-filter.js +1 -1
- package/dist/components/ds-data-group.js +1 -1
- package/dist/components/ds-data-preferences.js +1 -1
- package/dist/components/ds-data-preferences.js.map +1 -1
- package/dist/components/ds-data-saved-views.js +1 -1
- package/dist/components/ds-data-search.js +1 -1
- package/dist/components/ds-data-sort.js +1 -1
- package/dist/components/ds-data-toolbar.js +1 -1
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-icon.js +1 -1
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-date.js.map +1 -1
- package/dist/components/ds-input-time.js +1 -1
- package/dist/components/ds-input-time.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-map-entity-marker.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-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-radio-tile.js +1 -1
- package/dist/components/ds-radio-tile.js.map +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-scroll-overlay.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-setting-row-toggle.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-slider.js +1 -1
- package/dist/components/ds-slider.js.map +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +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-textarea.js +1 -1
- package/dist/components/ds-textarea.js.map +1 -1
- package/dist/components/ds-time-picker.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/p--STJbKuN.js +2 -0
- package/dist/components/p--STJbKuN.js.map +1 -0
- package/dist/components/{p-Co1rUdOR.js → p--pJyciTI.js} +2 -2
- package/dist/components/p--pJyciTI.js.map +1 -0
- package/dist/components/p-02k7d7BH.js +2 -0
- package/dist/components/p-02k7d7BH.js.map +1 -0
- package/dist/components/{p-CZNZTcYS.js → p-5-gQbIIz.js} +2 -2
- package/dist/components/{p-DRdoGSGX.js → p-7MwoWtTJ.js} +2 -2
- package/dist/components/p-B0uO3-Dp.js +2 -0
- package/dist/components/p-B0uO3-Dp.js.map +1 -0
- package/dist/components/p-B6TX55c5.js +2 -0
- package/dist/components/p-B6TX55c5.js.map +1 -0
- package/dist/components/p-B95UP66y.js +2 -0
- package/dist/components/p-B95UP66y.js.map +1 -0
- package/dist/components/p-BGSG6xIS.js +2 -0
- package/dist/components/p-BGSG6xIS.js.map +1 -0
- package/dist/components/p-BNarCFJZ.js +2 -0
- package/dist/components/p-BNarCFJZ.js.map +1 -0
- package/dist/components/{p-DJDbskZf.js → p-BO5URdZF.js} +2 -2
- package/dist/components/{p-DmSnHVW6.js → p-BVxK8ce0.js} +2 -2
- package/dist/components/{p-B0EpvBDs.js → p-BYeG0b5N.js} +2 -2
- package/dist/components/p-BcpIK9S6.js +2 -0
- package/dist/components/p-BcpIK9S6.js.map +1 -0
- package/dist/components/p-Bf-BphXP.js +2 -0
- package/dist/components/p-Bf-BphXP.js.map +1 -0
- package/dist/components/{p-Bk3poU91.js → p-BmIllmq2.js} +2 -2
- package/dist/components/p-BmIllmq2.js.map +1 -0
- package/dist/components/p-Bq_ypMSy.js +2 -0
- package/dist/components/p-Bq_ypMSy.js.map +1 -0
- package/dist/components/p-ByLH5RAD.js +2 -0
- package/dist/components/p-ByLH5RAD.js.map +1 -0
- package/dist/components/{p-DzvTC27M.js → p-C1ZfBbJ_.js} +2 -2
- package/dist/components/p-C1ZfBbJ_.js.map +1 -0
- package/dist/components/p-C1oczmAc.js +2 -0
- package/dist/components/p-C1oczmAc.js.map +1 -0
- package/dist/components/p-C5BBIDVm.js +2 -0
- package/dist/components/p-C5BBIDVm.js.map +1 -0
- package/dist/components/{p-CJ1NnOEW.js → p-CA3iQ1ME.js} +2 -2
- package/dist/components/p-CE6MaXBg.js +2 -0
- package/dist/components/p-CE6MaXBg.js.map +1 -0
- package/dist/components/p-CXGjCWSh.js +2 -0
- package/dist/components/p-CXGjCWSh.js.map +1 -0
- package/dist/components/{p-DYQa1DVF.js → p-C_9VGgPf.js} +2 -2
- package/dist/components/p-CbrDF2gA.js +2 -0
- package/dist/components/p-CbrDF2gA.js.map +1 -0
- package/dist/components/{p-7TVdPhGR.js → p-CgQB8Ct5.js} +2 -2
- package/dist/components/{p-D6FRqNhN.js → p-D-J7GgjY.js} +2 -2
- package/dist/components/{p-DSZPO06T.js → p-D9_iDlkT.js} +2 -2
- package/dist/components/{p-BwdnVqAY.js → p-DEYCF-oJ.js} +2 -2
- package/dist/components/p-DGVZhrMd.js +2 -0
- package/dist/components/p-DGVZhrMd.js.map +1 -0
- package/dist/components/{p-C8V4lkVy.js → p-DKGW3gRa.js} +2 -2
- package/dist/components/p-DPFg5d4_.js +2 -0
- package/dist/components/p-DPFg5d4_.js.map +1 -0
- package/dist/components/{p-C4huuwed.js → p-DR_8IPn9.js} +2 -2
- package/dist/components/p-DXL5D30P.js +2 -0
- package/dist/components/p-DXL5D30P.js.map +1 -0
- package/dist/components/{p-B0BQCVkq.js → p-D_iZPukF.js} +2 -2
- package/dist/components/{p-JBki_jyY.js → p-DfMTDFcE.js} +2 -2
- package/dist/components/{p-MOJmB6vX.js → p-Dg6hnCc2.js} +2 -2
- package/dist/components/{p-DXk1eml1.js → p-DjbT9kKm.js} +2 -2
- package/dist/components/p-Dka0lUI_.js +2 -0
- package/dist/components/p-Dka0lUI_.js.map +1 -0
- package/dist/components/p-DlsjHRU3.js +2 -0
- package/dist/components/p-DlsjHRU3.js.map +1 -0
- package/dist/components/{p-_IqSPt5V.js → p-Dr5rkAhe.js} +2 -2
- package/dist/components/p-DuCCuJKI.js +2 -0
- package/dist/components/p-DuCCuJKI.js.map +1 -0
- package/dist/components/{p-DIQiHX0q.js → p-DvGrsLgt.js} +2 -2
- package/dist/components/{p-Doa2blZT.js → p-PtxCwf5S.js} +2 -2
- package/dist/components/p-PzYJqN8B.js +2 -0
- package/dist/components/p-PzYJqN8B.js.map +1 -0
- package/dist/components/p-S1Ct3FJV.js +2 -0
- package/dist/components/p-S1Ct3FJV.js.map +1 -0
- package/dist/components/p-YC7UM4jH.js +2 -0
- package/dist/components/p-YC7UM4jH.js.map +1 -0
- package/dist/components/{p-B9TM6FqC.js → p-d76Ry5nh.js} +2 -2
- package/dist/components/p-ioGH5SoA.js +2 -0
- package/dist/components/p-ioGH5SoA.js.map +1 -0
- package/dist/components/p-jp7hwRtC.js +2 -0
- package/dist/components/p-jp7hwRtC.js.map +1 -0
- package/dist/components/{p-BFHpU-uU.js → p-kwS-vkau.js} +2 -2
- package/dist/components/{p-DjkUFlDW.js → p-pPtjNRqC.js} +3 -2
- package/dist/components/p-pPtjNRqC.js.map +1 -0
- package/dist/components/{p-B39iJO8F.js → p-rmPIcWED.js} +2 -2
- package/dist/components/p-t2Ebn8si.js +2 -0
- package/dist/components/p-t2Ebn8si.js.map +1 -0
- package/dist/components/p-wRhYxngW.js +2 -0
- package/dist/components/p-wRhYxngW.js.map +1 -0
- package/dist/docs/components.json +477 -82
- package/dist/lib/components/Icon/icon-cache.d.ts +6 -0
- package/dist/lib/utils/clock-time.d.ts +1 -0
- package/dist/lib/utils/date-filter-value.d.ts +2 -0
- package/dist/lib/utils/form-association.d.ts +2 -1
- package/dist/lib/utils/format-percentage.d.ts +1 -1
- package/dist/lib/utils/index.js +113 -93
- package/dist/lib/utils/index.js.map +4 -4
- package/dist/lib/utils/intl-formatters.d.ts +3 -0
- package/dist/lib/utils/resolve-css-length-px.d.ts +4 -3
- package/dist/lint/THIRD-PARTY-NOTICES +97 -40
- package/dist/lint/bundled-dependencies.json +162 -0
- package/dist/lint/index.js +1341 -1333
- package/dist/mcp/THIRD-PARTY-NOTICES +470 -0
- package/dist/mcp/bundled-dependencies.json +29 -0
- package/dist/mcp-data/registry/agent-tool-call.json +1 -1
- package/dist/mcp-data/registry/banner.json +1 -1
- package/dist/mcp-data/registry/bar-nav.json +1 -1
- package/dist/mcp-data/registry/bar-page-title.json +1 -1
- package/dist/mcp-data/registry/breadcrumb.json +1 -1
- package/dist/mcp-data/registry/calendar.json +4 -4
- package/dist/mcp-data/registry/card-overview.json +1 -1
- package/dist/mcp-data/registry/chart.json +3 -3
- package/dist/mcp-data/registry/checkbox.json +17 -1
- package/dist/mcp-data/registry/conversation-list.json +1 -1
- package/dist/mcp-data/registry/data-group.json +1 -1
- package/dist/mcp-data/registry/data-preferences.json +1 -1
- package/dist/mcp-data/registry/filter-menu.json +1 -1
- package/dist/mcp-data/registry/icon.json +6 -5
- package/dist/mcp-data/registry/input-date.json +1 -1
- package/dist/mcp-data/registry/input-time.json +1 -1
- package/dist/mcp-data/registry/markdown.json +1 -1
- package/dist/mcp-data/registry/menu.json +1 -1
- package/dist/mcp-data/registry/message.json +4 -4
- package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
- package/dist/mcp-data/registry/modal.json +1 -1
- package/dist/mcp-data/registry/panel-nav.json +1 -1
- package/dist/mcp-data/registry/radio-tile.json +1 -1
- package/dist/mcp-data/registry/radio.json +1 -1
- package/dist/mcp-data/registry/registry.json +63 -7
- package/dist/mcp-data/registry/scroll-overlay.json +1 -1
- package/dist/mcp-data/registry/select.json +70 -3
- package/dist/mcp-data/registry/shell-app.json +1 -1
- package/dist/mcp-data/registry/slider.json +3 -3
- package/dist/mcp-data/registry/switch.json +1 -1
- package/dist/mcp-data/registry/table.json +140 -14
- package/dist/mcp-data/registry/tooltip-chart.json +1 -1
- package/dist/react/ds-table.d.ts +3 -1
- package/dist/react/ds-table.js +2 -0
- package/dist/styles/table.css +405 -8
- package/dist/types/components/AgentToolCall/AgentToolCall.d.ts +3 -0
- package/dist/types/components/Banner/Banner.d.ts +1 -0
- package/dist/types/components/BarNav/BarNav.d.ts +4 -0
- package/dist/types/components/BarPageTitle/BarPageTitle.d.ts +4 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +5 -0
- package/dist/types/components/Calendar/Calendar.d.ts +2 -0
- package/dist/types/components/CardOverview/CardOverview.d.ts +3 -0
- package/dist/types/components/Chart/Chart.d.ts +7 -1
- package/dist/types/components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/types/components/ConversationList/ConversationList.d.ts +3 -0
- package/dist/types/components/DataGroup/DataGroup.d.ts +3 -0
- package/dist/types/components/DataPreferences/DataPreferences.d.ts +1 -0
- package/dist/types/components/FilterMenu/FilterMenu.d.ts +1 -0
- package/dist/types/components/Icon/icon-cache.d.ts +6 -0
- package/dist/types/components/Icon/icon-svg.d.ts +10 -24
- package/dist/types/components/Markdown/Markdown.d.ts +4 -0
- package/dist/types/components/Menu/Menu.d.ts +3 -0
- package/dist/types/components/Message/Message.d.ts +1 -1
- package/dist/types/components/MobileSectionSwitcher/MobileSectionSwitcher.d.ts +5 -0
- package/dist/types/components/Modal/Modal.d.ts +3 -0
- package/dist/types/components/PanelNav/PanelNav.d.ts +8 -1
- package/dist/types/components/Radio/Radio.d.ts +1 -0
- package/dist/types/components/ScrollOverlay/ScrollOverlay.d.ts +1 -0
- package/dist/types/components/Select/Select.d.ts +8 -0
- package/dist/types/components/ShellApp/ShellApp.d.ts +3 -0
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/Switch/Switch.d.ts +2 -0
- package/dist/types/components/Table/Table.d.ts +35 -0
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Table/table-body-renderer.d.ts +1 -0
- package/dist/types/components/Table/table-cell-editor.d.ts +4 -0
- package/dist/types/components/Table/table-grid-model.d.ts +23 -0
- package/dist/types/components/Table/table-layout-controller.d.ts +1 -0
- package/dist/types/components/Table/table-model.d.ts +1 -1
- package/dist/types/components/Table/table-review-fixtures.d.ts +10 -0
- package/dist/types/components/Table/table-row-view.d.ts +11 -2
- package/dist/types/components/Table/table-skeleton-view.d.ts +3 -1
- package/dist/types/components/Table/table-structure.d.ts +38 -0
- package/dist/types/components/Table/table-types.d.ts +71 -1
- package/dist/types/components/Table/table-virtual-controller.d.ts +1 -0
- package/dist/types/components/TooltipChart/TooltipChart.d.ts +4 -0
- package/dist/types/components.d.ts +98 -12
- package/dist/types/shell/chrome-transition.d.ts +1 -0
- package/dist/types/utils/anchored-position-controller.d.ts +2 -0
- package/dist/types/utils/clock-time.d.ts +1 -0
- package/dist/types/utils/connection-tasks.d.ts +13 -0
- package/dist/types/utils/date-filter-value.d.ts +2 -0
- package/dist/types/utils/form-association.d.ts +2 -1
- package/dist/types/utils/format-percentage.d.ts +1 -1
- package/dist/types/utils/intl-formatters.d.ts +4 -0
- package/dist/types/utils/resolve-css-length-px.d.ts +4 -3
- package/dist/types/utils/select-controller.d.ts +1 -0
- package/dist/vue/THIRD-PARTY-NOTICES +14 -0
- package/dist/vue/bundled-dependencies.json +13 -0
- package/dist/vue/ds-checkbox.js +1 -0
- package/dist/vue/ds-select.js +4 -0
- package/dist/vue/ds-table.js +8 -0
- package/package.json +16 -11
- package/dist/components/p-B8ZonS3S.js +0 -2
- package/dist/components/p-B8ZonS3S.js.map +0 -1
- package/dist/components/p-BDdlJZyL.js +0 -2
- package/dist/components/p-BDdlJZyL.js.map +0 -1
- package/dist/components/p-BERXvOCf.js +0 -2
- package/dist/components/p-BERXvOCf.js.map +0 -1
- package/dist/components/p-BQspV5U7.js +0 -2
- package/dist/components/p-BQspV5U7.js.map +0 -1
- package/dist/components/p-BhjqYTiY.js +0 -2
- package/dist/components/p-BhjqYTiY.js.map +0 -1
- package/dist/components/p-BjtXYFhw.js +0 -2
- package/dist/components/p-BjtXYFhw.js.map +0 -1
- package/dist/components/p-Bk3poU91.js.map +0 -1
- package/dist/components/p-BxduVc5g.js +0 -2
- package/dist/components/p-BxduVc5g.js.map +0 -1
- package/dist/components/p-C0qN3PSb.js +0 -2
- package/dist/components/p-C0qN3PSb.js.map +0 -1
- package/dist/components/p-CPamUzaj.js +0 -2
- package/dist/components/p-CPamUzaj.js.map +0 -1
- package/dist/components/p-CUDocY23.js +0 -2
- package/dist/components/p-CUDocY23.js.map +0 -1
- package/dist/components/p-CX6ZxUQT.js +0 -2
- package/dist/components/p-CX6ZxUQT.js.map +0 -1
- package/dist/components/p-Cgn-BORA.js +0 -2
- package/dist/components/p-Cgn-BORA.js.map +0 -1
- package/dist/components/p-Ck1hgD6g.js +0 -2
- package/dist/components/p-Ck1hgD6g.js.map +0 -1
- package/dist/components/p-Co1rUdOR.js.map +0 -1
- package/dist/components/p-CochmPyg.js +0 -2
- package/dist/components/p-CochmPyg.js.map +0 -1
- package/dist/components/p-DCyJ3_PL.js +0 -2
- package/dist/components/p-DCyJ3_PL.js.map +0 -1
- package/dist/components/p-DVEx-Xg9.js +0 -2
- package/dist/components/p-DVEx-Xg9.js.map +0 -1
- package/dist/components/p-DYsE6HLk.js +0 -2
- package/dist/components/p-DYsE6HLk.js.map +0 -1
- package/dist/components/p-DebLYW7A.js +0 -2
- package/dist/components/p-DebLYW7A.js.map +0 -1
- package/dist/components/p-DjkUFlDW.js.map +0 -1
- package/dist/components/p-Dnt5xUBD.js +0 -2
- package/dist/components/p-Dnt5xUBD.js.map +0 -1
- package/dist/components/p-Dyqd-cub.js +0 -2
- package/dist/components/p-Dyqd-cub.js.map +0 -1
- package/dist/components/p-DzvTC27M.js.map +0 -1
- package/dist/components/p-g0jsfEXz.js +0 -2
- package/dist/components/p-g0jsfEXz.js.map +0 -1
- package/dist/components/p-pp1IQN4Z.js +0 -2
- package/dist/components/p-pp1IQN4Z.js.map +0 -1
- package/dist/components/p-rCeztgVn.js +0 -2
- package/dist/components/p-rCeztgVn.js.map +0 -1
- /package/dist/components/{p-CZNZTcYS.js.map → p-5-gQbIIz.js.map} +0 -0
- /package/dist/components/{p-DRdoGSGX.js.map → p-7MwoWtTJ.js.map} +0 -0
- /package/dist/components/{p-DJDbskZf.js.map → p-BO5URdZF.js.map} +0 -0
- /package/dist/components/{p-DmSnHVW6.js.map → p-BVxK8ce0.js.map} +0 -0
- /package/dist/components/{p-B0EpvBDs.js.map → p-BYeG0b5N.js.map} +0 -0
- /package/dist/components/{p-CJ1NnOEW.js.map → p-CA3iQ1ME.js.map} +0 -0
- /package/dist/components/{p-DYQa1DVF.js.map → p-C_9VGgPf.js.map} +0 -0
- /package/dist/components/{p-7TVdPhGR.js.map → p-CgQB8Ct5.js.map} +0 -0
- /package/dist/components/{p-D6FRqNhN.js.map → p-D-J7GgjY.js.map} +0 -0
- /package/dist/components/{p-DSZPO06T.js.map → p-D9_iDlkT.js.map} +0 -0
- /package/dist/components/{p-BwdnVqAY.js.map → p-DEYCF-oJ.js.map} +0 -0
- /package/dist/components/{p-C8V4lkVy.js.map → p-DKGW3gRa.js.map} +0 -0
- /package/dist/components/{p-C4huuwed.js.map → p-DR_8IPn9.js.map} +0 -0
- /package/dist/components/{p-B0BQCVkq.js.map → p-D_iZPukF.js.map} +0 -0
- /package/dist/components/{p-JBki_jyY.js.map → p-DfMTDFcE.js.map} +0 -0
- /package/dist/components/{p-MOJmB6vX.js.map → p-Dg6hnCc2.js.map} +0 -0
- /package/dist/components/{p-DXk1eml1.js.map → p-DjbT9kKm.js.map} +0 -0
- /package/dist/components/{p-_IqSPt5V.js.map → p-Dr5rkAhe.js.map} +0 -0
- /package/dist/components/{p-DIQiHX0q.js.map → p-DvGrsLgt.js.map} +0 -0
- /package/dist/components/{p-Doa2blZT.js.map → p-PtxCwf5S.js.map} +0 -0
- /package/dist/components/{p-B9TM6FqC.js.map → p-d76Ry5nh.js.map} +0 -0
- /package/dist/components/{p-BFHpU-uU.js.map → p-kwS-vkau.js.map} +0 -0
- /package/dist/components/{p-B39iJO8F.js.map → p-rmPIcWED.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as o,d as s}from"./p
|
|
1
|
+
import{C as o,d as s}from"./p--pJyciTI.js";const p=o;const t=s;export{p as DsCheckbox,t as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-checkbox.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as o,d as s}from"./p-
|
|
1
|
+
import{C as o,d as s}from"./p-DfMTDFcE.js";const t=o;const c=s;export{t as DsChip,c as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-chip.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as
|
|
1
|
+
import{C as o,d as s}from"./p-BYeG0b5N.js";const t=o;const p=s;export{t as DsCodeBlock,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-code-block.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as
|
|
1
|
+
import{p as s,H as e,h as t,a as o,t as i}from"./index.js";const n=()=>`.ds-control-elevation.sc-ds-conversation-list-h,.ds-control-elevation.sc-ds-conversation-list{position:relative;overflow:visible;box-shadow:var(--ds-control-elevation-shadow, none)}.ds-control-elevation.sc-ds-conversation-list-h::after,.ds-control-elevation.sc-ds-conversation-list::after{content:'';position:absolute;inset:0;z-index:4;border-radius:inherit;box-shadow:var(--ds-control-elevation-highlight, none);pointer-events:none}.ds-control-elevation--sm.sc-ds-conversation-list-h,.ds-control-elevation--sm.sc-ds-conversation-list{--ds-control-elevation-shadow:var(--effect-shadow-elevated-sm);--ds-control-elevation-highlight:var(--effect-highlight-elevated-sm)}.ds-control-elevation--md.sc-ds-conversation-list-h,.ds-control-elevation--md.sc-ds-conversation-list{--ds-control-elevation-shadow:var(--effect-shadow-elevated-md);--ds-control-elevation-highlight:var(--effect-highlight-elevated-md)}.ds-control-elevation--floating.sc-ds-conversation-list-h,.ds-control-elevation--floating.sc-ds-conversation-list{--ds-control-elevation-shadow:var(--effect-shadow-elevated-floating);--ds-control-elevation-highlight:var(--effect-highlight-elevated-floating)}.ds-control-elevation--press-scale.sc-ds-conversation-list{--ds-control-press-active-scale:var(--dimension-scale-default);transition:scale var(--effect-motion-short-2)}.ds-control-elevation--press-scale[data-ds-press-active].sc-ds-conversation-list{scale:var(--dimension-scale-subtle)}@media (prefers-reduced-motion: reduce){.ds-control-elevation--press-scale.sc-ds-conversation-list,.ds-control-elevation--press-scale[data-ds-press-active].sc-ds-conversation-list{scale:none;transition:none}}.sc-ds-conversation-list-h{display:block;position:relative;width:100%;height:100%;min-height:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.conversation-list.sc-ds-conversation-list{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box}.conversation-list__viewport.sc-ds-conversation-list{position:relative;flex:1 1 auto;min-height:0;overflow:auto;box-sizing:border-box}.conversation-list__content.sc-ds-conversation-list{position:relative;min-height:100%;padding:var(--dimension-space-100);box-sizing:border-box}.conversation-list__empty.sc-ds-conversation-list{position:absolute;inset:0;box-sizing:border-box}.conversation-list__empty.sc-ds-conversation-list:not(:has([slot='empty'])){display:none}.conversation-list__actions.sc-ds-conversation-list{position:absolute;right:0;bottom:0;z-index:var(--dimension-z-index-floating);padding:0 var(--dimension-space-200) var(--dimension-space-200) 0}.conversation-list__actions-surface.sc-ds-conversation-list{display:flex;border-radius:var(--dimension-radius-half)}.conversation-list__actions-surface.sc-ds-conversation-list:empty{display:none}`;const a=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.hasLoaded=false;this.syncEmptyStateLayout=()=>{if(!this.el.isConnected)return;const s=this.el.querySelector('[slot="empty"]');if(s&&!this.empty?.contains(s)){s.style.setProperty("position","absolute");s.style.setProperty("inset-block-start","0");s.style.setProperty("inset-inline","0");s.style.setProperty("inset-block-end","0");s.style.setProperty("height","auto");s.style.setProperty("box-sizing","border-box")}}}connectedCallback(){if(this.hasLoaded)this.observeEmptySlot()}componentDidLoad(){this.hasLoaded=true;this.observeEmptySlot()}observeEmptySlot(){if(!this.el.isConnected)return;this.emptySlotObserver?.disconnect();this.syncEmptyStateLayout();this.emptySlotObserver=new MutationObserver(this.syncEmptyStateLayout);this.emptySlotObserver.observe(this.el,{childList:true,subtree:true})}disconnectedCallback(){this.emptySlotObserver?.disconnect();this.emptySlotObserver=undefined}render(){return t(o,{key:"73f95bcfea2703b96253e56cbacf506af31b3eae"},t("div",{key:"a7cf770f93a073be7a00188cf8b943971571ec91",class:"conversation-list"},t("div",{key:"d55f912b5d23fd6b75c95982fbbe52e9ba533f14",class:"conversation-list__viewport"},t("div",{key:"65fe346fb5a3413384652d0253f751c344fab828",class:"conversation-list__content"},t("slot",{key:"fca8bb9399fedc5da7b513582fef21c46b0bf059"}),t("div",{key:"5d50146f1d1e80c892b187aafdbd381d722e55db",class:"conversation-list__empty",ref:s=>{this.empty=s}},t("slot",{key:"3266c96bb5ddc5141443a7f3472d92911b52e7e0",name:"empty"})))),t("div",{key:"842807cc7bac8852553098a99eecb794e8617731",class:"conversation-list__actions"},t("div",{key:"6cb0c13cbdf01dfbdc1be5f479277e7f7064fcd6",class:"conversation-list__actions-surface ds-control-elevation ds-control-elevation--md ds-control-elevation--press-scale"},t("slot",{key:"b411a361ef563863c6326a2b42a3d1fb479b8b42",name:"actions"})))))}get el(){return this}static get style(){return n()}},[262,"ds-conversation-list"]);function c(){if(typeof customElements==="undefined"){return}const s=["ds-conversation-list"];s.forEach((s=>{switch(s){case"ds-conversation-list":if(!customElements.get(i(s))){customElements.define(i(s),a)}break}}))}c();const l=a;const r=c;export{l as DsConversationList,r as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-conversation-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["conversationListCss","ConversationList","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","
|
|
1
|
+
{"version":3,"names":["conversationListCss","ConversationList","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasLoaded","syncEmptyStateLayout","el","isConnected","emptyState","querySelector","empty","contains","style","setProperty","connectedCallback","observeEmptySlot","componentDidLoad","emptySlotObserver","disconnect","MutationObserver","observe","childList","subtree","disconnectedCallback","undefined","render","h","Host","key","class","ref","element","name"],"sources":["src/wc/components/ConversationList/ConversationList.css?tag=ds-conversation-list&encapsulation=scoped","src/wc/components/ConversationList/ConversationList.tsx"],"sourcesContent":["@import '../../styles/control-elevation.css';\n\n:host {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n min-height: 0;\n box-sizing: border-box;\n -webkit-user-select: none;\n user-select: none;\n}\n\n.conversation-list {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n box-sizing: border-box;\n}\n\n.conversation-list__viewport {\n position: relative;\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n box-sizing: border-box;\n}\n\n.conversation-list__content {\n position: relative;\n min-height: 100%;\n padding: var(--dimension-space-100);\n box-sizing: border-box;\n}\n\n.conversation-list__empty {\n position: absolute;\n inset: 0;\n box-sizing: border-box;\n}\n\n/* The named slot itself keeps this wrapper from matching :empty. Only create\n its full-size hit area when assigned empty-state content is actually here. */\n.conversation-list__empty:not(:has([slot='empty'])) {\n display: none;\n}\n\n/* Corner action. Rows scroll beneath it — there is no reserved clearance and no\n fade, so the list keeps its full height whether or not an action is slotted. */\n.conversation-list__actions {\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: var(--dimension-z-index-floating);\n padding: 0 var(--dimension-space-200) var(--dimension-space-200) 0;\n}\n\n.conversation-list__actions-surface {\n display: flex;\n border-radius: var(--dimension-radius-half);\n}\n\n.conversation-list__actions-surface:empty {\n display: none;\n}\n","import { Component, Element, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'ds-conversation-list',\n styleUrl: 'ConversationList.css',\n scoped: true,\n})\nexport class ConversationList {\n @Element() el!: HTMLElement;\n\n private empty?: HTMLElement;\n private emptySlotObserver?: MutationObserver;\n private hasLoaded = false;\n\n connectedCallback(): void {\n if (this.hasLoaded) this.observeEmptySlot();\n }\n\n componentDidLoad(): void {\n this.hasLoaded = true;\n this.observeEmptySlot();\n }\n\n private observeEmptySlot(): void {\n if (!this.el.isConnected) return;\n this.emptySlotObserver?.disconnect();\n this.syncEmptyStateLayout();\n this.emptySlotObserver = new MutationObserver(this.syncEmptyStateLayout);\n this.emptySlotObserver.observe(this.el, { childList: true, subtree: true });\n }\n\n disconnectedCallback(): void {\n this.emptySlotObserver?.disconnect();\n this.emptySlotObserver = undefined;\n }\n\n private syncEmptyStateLayout = (): void => {\n if (!this.el.isConnected) return;\n const emptyState = this.el.querySelector<HTMLElement>('[slot=\"empty\"]');\n if (emptyState && !this.empty?.contains(emptyState)) {\n // Stencil's scoped-slot runtime does not relocate nodes appended after\n // hydration. Keep that dynamic fallback aligned with the CSS-owned\n // wrapper used by declarative slot content.\n emptyState.style.setProperty('position', 'absolute');\n emptyState.style.setProperty('inset-block-start', '0');\n emptyState.style.setProperty('inset-inline', '0');\n emptyState.style.setProperty('inset-block-end', '0');\n emptyState.style.setProperty('height', 'auto');\n emptyState.style.setProperty('box-sizing', 'border-box');\n }\n };\n\n render() {\n return (\n <Host>\n <div class=\"conversation-list\">\n <div class=\"conversation-list__viewport\">\n <div class=\"conversation-list__content\">\n <slot />\n <div\n class=\"conversation-list__empty\"\n ref={element => {\n this.empty = element;\n }}\n >\n <slot name=\"empty\" />\n </div>\n </div>\n </div>\n <div class=\"conversation-list__actions\">\n <div class=\"conversation-list__actions-surface ds-control-elevation ds-control-elevation--md ds-control-elevation--press-scale\">\n <slot name=\"actions\" />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"2DAAA,MAAMA,EAAsB,IAAM,swF,MCOrBC,EAAgBC,EAAA,MAAAD,UAAAE,EAL7B,WAAAC,CAAAC,G,4CAUUC,KAAAC,UAAY,MAwBZD,KAAAE,qBAAuB,KAC7B,IAAKF,KAAKG,GAAGC,YAAa,OAC1B,MAAMC,EAAaL,KAAKG,GAAGG,cAA2B,kBACtD,GAAID,IAAeL,KAAKO,OAAOC,SAASH,GAAa,CAInDA,EAAWI,MAAMC,YAAY,WAAY,YACzCL,EAAWI,MAAMC,YAAY,oBAAqB,KAClDL,EAAWI,MAAMC,YAAY,eAAgB,KAC7CL,EAAWI,MAAMC,YAAY,kBAAmB,KAChDL,EAAWI,MAAMC,YAAY,SAAU,QACvCL,EAAWI,MAAMC,YAAY,aAAc,a,EA8BhD,CAhEC,iBAAAC,GACE,GAAIX,KAAKC,UAAWD,KAAKY,kB,CAG3B,gBAAAC,GACEb,KAAKC,UAAY,KACjBD,KAAKY,kB,CAGC,gBAAAA,GACN,IAAKZ,KAAKG,GAAGC,YAAa,OAC1BJ,KAAKc,mBAAmBC,aACxBf,KAAKE,uBACLF,KAAKc,kBAAoB,IAAIE,iBAAiBhB,KAAKE,sBACnDF,KAAKc,kBAAkBG,QAAQjB,KAAKG,GAAI,CAAEe,UAAW,KAAMC,QAAS,M,CAGtE,oBAAAC,GACEpB,KAAKc,mBAAmBC,aACxBf,KAAKc,kBAAoBO,S,CAmB3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qBACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,+BACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,8BACTH,EAAA,QAAAE,IAAA,6CACAF,EAAA,OAAAE,IAAA,2CACEC,MAAM,2BACNC,IAAKC,IACH5B,KAAKO,MAAQqB,CAAO,GAGtBL,EAAA,QAAAE,IAAA,2CAAMI,KAAK,aAIjBN,EAAA,OAAAE,IAAA,2CAAKC,MAAM,8BACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,sHACTH,EAAA,QAAAE,IAAA,2CAAMI,KAAK,e","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as e,c as t,h as i,a,t as n}from"./index.js";import{l as o,r,t as d}from"./p-BYrBU_U9.js";import{d as h}from"./p-CwdRaJER.js";import{d as l}from"./p-
|
|
1
|
+
import{p as s,H as e,c as t,h as i,a,t as n}from"./index.js";import{l as o,r,t as d}from"./p-BYrBU_U9.js";import{d as h}from"./p-CwdRaJER.js";import{d as l}from"./p-D-J7GgjY.js";import{d as c}from"./p-pPtjNRqC.js";import{d as m}from"./p-0XTyQNRG.js";import{d as u}from"./p-t2Ebn8si.js";import{d as f}from"./p-B9y6azEw.js";import{d as p}from"./p-Bf-BphXP.js";import{d as b}from"./p-d76Ry5nh.js";import{d as g}from"./p-D8OWhnID.js";import{d as E}from"./p-DvGrsLgt.js";const k=()=>`.sc-ds-data-customize-h{display:inline-flex;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}[hidden].sc-ds-data-customize-h{display:none}`;let j=0;const z=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.dsFieldsConfigChange=t(this,"dsFieldsConfigChange",3);this.dsOptionChange=t(this,"dsOptionChange",3);this.hasBorder=true;this.fields=[];this.hiddenFieldIds=[];this.fieldOrder=[];this.reorderable=false;this.minVisible=0;this.options=[];this.optionsHeader="Options";this.ariaLabel=null;this.label="Customize";this.menuOpen=false;this.menuSurfaceOpen=false;this.initialFocusVisible=false;this.componentId=`ds-data-customize-${++j}`;this.triggerId=`${this.componentId}-trigger`;this.menuId=`${this.componentId}-menu`}async setFocus(){const s=this.el.querySelector(`#${CSS.escape(this.triggerId)}`);await(s?.setFocus?.())}get customizerOptions(){return{minVisible:this.minVisible,reorderable:this.reorderable}}get catalog(){return this.fields.map((s=>({id:s.id,label:s.label.trim()||s.accessibleLabel?.trim()||s.id})))}get sections(){const s=o(this.catalog,this.hiddenFieldIds,this.fieldOrder,this.customizerOptions);return[...s.length?[{header:this.catalogHeader??(this.options.length?"Data":undefined),items:s}]:[],...this.options.length?[{header:this.optionsHeader,items:this.options}]:[]]}render(){const s=this.ariaLabel?.trim()||this.label?.trim()||"Customize";const e=this.fields.length===0&&this.options.length===0;return i(a,{key:"ef21a69aecf8d56271545c18ef08f1933bd154ba",hidden:e?true:undefined},e?null:i("ds-button-unfilled",{hasBorder:this.hasBorder,id:this.triggerId,variant:"icon-label",size:"md",icon:"Preferences",label:this.label,labelEmphasis:false,pressScale:false,"aria-label":s,haspopup:"menu",collapseLabel:true,expanded:this.menuOpen,surfaceOpen:this.menuSurfaceOpen,controls:this.menuId,onDsClick:s=>{this.toggle(s.detail.detail===0)}}),e?null:i("ds-menu",{id:this.menuId,open:this.menuOpen,anchorId:this.triggerId,align:"start",side:"bottom",menuLabel:s,selectionMode:"none",initialFocusVisible:this.initialFocusVisible,sections:this.sections,onDsClose:()=>this.close(),onDsAfterClose:()=>{if(!this.menuOpen)this.menuSurfaceOpen=false},onDsSelect:s=>this.handleSelect(s.detail),onDsReorder:s=>this.handleReorder(s.detail.items)}))}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;this.menuSurfaceOpen=true}close(){this.menuOpen=false}handleSelect(s){const e=s.value;if(!e||s.isInactive)return;if(this.options.some((s=>s.value===e))){this.dsOptionChange.emit(e);return}const t=this.catalog.map((s=>s.id));this.dsFieldsConfigChange.emit({hiddenFieldIds:d(t,this.hiddenFieldIds,e,this.customizerOptions),fieldOrder:r(t,this.fieldOrder)})}handleReorder(s){if(!this.reorderable)return;const e=s.filter((s=>s.reorderable&&s.value)).map((s=>s.value));if(e.length===0)return;this.dsFieldsConfigChange.emit({hiddenFieldIds:this.hiddenFieldIds,fieldOrder:r(this.catalog.map((s=>s.id)),e)})}get el(){return this}static get style(){return k()}},[2,"ds-data-customize",{hasBorder:[4,"has-border"],fields:[16],hiddenFieldIds:[16],fieldOrder:[16],reorderable:[4],minVisible:[2,"min-visible"],catalogHeader:[1,"catalog-header"],options:[16],optionsHeader:[1,"options-header"],ariaLabel:[1,"aria-label"],label:[1],menuOpen:[32],menuSurfaceOpen:[32],initialFocusVisible:[32],setFocus:[64]}]);function C(){if(typeof customElements==="undefined"){return}const s=["ds-data-customize","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-data-customize":if(!customElements.get(n(s))){customElements.define(n(s),z)}break;case"ds-badge":if(!customElements.get(n(s))){h()}break;case"ds-button-unfilled":if(!customElements.get(n(s))){l()}break;case"ds-icon":if(!customElements.get(n(s))){c()}break;case"ds-loader":if(!customElements.get(n(s))){m()}break;case"ds-menu":if(!customElements.get(n(s))){u()}break;case"ds-swatch-picker":if(!customElements.get(n(s))){f()}break;case"ds-switch":if(!customElements.get(n(s))){p()}break;case"ds-tag":if(!customElements.get(n(s))){b()}break;case"ds-text":if(!customElements.get(n(s))){g()}break;case"ds-tooltip":if(!customElements.get(n(s))){E()}break}}))}C();const D=z;const O=C;export{D as DsDataCustomize,O as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-data-customize.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as e,c as t,h as i,a,t as r}from"./index.js";import{d as o}from"./p-CwdRaJER.js";import{d as l}from"./p-
|
|
1
|
+
import{p as s,H as e,c as t,h as i,a,t as r}from"./index.js";import{d as o}from"./p-CwdRaJER.js";import{d as l}from"./p-D-J7GgjY.js";import{d}from"./p-BcpIK9S6.js";import{d as n}from"./p--pJyciTI.js";import{d as c}from"./p-DfMTDFcE.js";import{d as h}from"./p-D_iZPukF.js";import{d as m}from"./p-5-gQbIIz.js";import{d as f}from"./p-Bq_ypMSy.js";import{d as p}from"./p-pPtjNRqC.js";import{d as u}from"./p-DEYCF-oJ.js";import{d as b}from"./p-0XTyQNRG.js";import{d as g}from"./p-7MwoWtTJ.js";import{d as k}from"./p-d76Ry5nh.js";import{d as E}from"./p-D8OWhnID.js";import{d as C}from"./p-DvGrsLgt.js";const j=()=>`.sc-ds-data-filter-h{display:inline-flex;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}ds-filter-menu.sc-ds-data-filter{min-inline-size:0;max-inline-size:100%;--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}`;const x=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.dsChange=t(this,"dsChange",7);this.dsClear=t(this,"dsClear",7);this.dsMatchModeChange=t(this,"dsMatchModeChange",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.hasBorder=true;this.filters=[];this.values={};this.matchModes={};this.label="Filter";this.ariaLabel=null;this.menuLabel=null;this.categoriesLabel="Filter categories";this.clearLabel="Clear";this.searchPlaceholder="Search";this.noResultsText="No results"}render(){const s=this.ariaLabel?.trim()||"Filter table";const e=this.menuLabel?.trim()||s;return i(a,{key:"ce3b35d3d2e0fed666cf6317bef427313d2e8ae8"},i("ds-filter-menu",{key:"a21462dcd63dbaeabb2feb517f43048e5b6b74d2",neutralTrigger:true,applyRequired:true,open:this.open,triggerLabel:this.label,showSelectedCount:false,showIndicator:false,icon:"Filters",size:"md",width:"hug",hasBorder:this.hasBorder,activeFill:false,collapseLabel:true,align:"start","aria-label":s,filters:this.filters,values:this.values,matchModes:this.matchModes,activeFilterId:this.activeFilterId,menuLabel:e,categoriesLabel:this.categoriesLabel,clearLabel:this.clearLabel,searchPlaceholder:this.searchPlaceholder,noResultsText:this.noResultsText,footerLayout:"categories-clear",onDsChange:s=>this.forward(s,this.dsChange),onDsClear:s=>this.forward(s,this.dsClear),onDsMatchModeChange:s=>this.forward(s,this.dsMatchModeChange),onDsActiveFilterChange:s=>this.forward(s,this.dsActiveFilterChange),onDsClose:s=>this.forward(s,this.dsClose),onDsOpenChange:s=>{s.stopPropagation();this.open=s.detail;this.dsOpenChange.emit(s.detail)},onDsAfterClose:s=>this.forward(s,this.dsAfterClose)}))}forward(s,e){s.stopPropagation();e.emit(s.detail)}static get style(){return j()}},[2,"ds-data-filter",{open:[1028],hasBorder:[4,"has-border"],filters:[16],values:[16],matchModes:[16],activeFilterId:[1,"active-filter-id"],label:[1],ariaLabel:[1,"aria-label"],menuLabel:[1,"menu-label"],categoriesLabel:[1,"categories-label"],clearLabel:[1,"clear-label"],searchPlaceholder:[1,"search-placeholder"],noResultsText:[1,"no-results-text"]}]);function D(){if(typeof customElements==="undefined"){return}const s=["ds-data-filter","ds-badge","ds-button-unfilled","ds-calendar","ds-checkbox","ds-chip","ds-divider","ds-empty-state","ds-filter-menu","ds-icon","ds-input","ds-loader","ds-tab-group","ds-tag","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-data-filter":if(!customElements.get(r(s))){customElements.define(r(s),x)}break;case"ds-badge":if(!customElements.get(r(s))){o()}break;case"ds-button-unfilled":if(!customElements.get(r(s))){l()}break;case"ds-calendar":if(!customElements.get(r(s))){d()}break;case"ds-checkbox":if(!customElements.get(r(s))){n()}break;case"ds-chip":if(!customElements.get(r(s))){c()}break;case"ds-divider":if(!customElements.get(r(s))){h()}break;case"ds-empty-state":if(!customElements.get(r(s))){m()}break;case"ds-filter-menu":if(!customElements.get(r(s))){f()}break;case"ds-icon":if(!customElements.get(r(s))){p()}break;case"ds-input":if(!customElements.get(r(s))){u()}break;case"ds-loader":if(!customElements.get(r(s))){b()}break;case"ds-tab-group":if(!customElements.get(r(s))){g()}break;case"ds-tag":if(!customElements.get(r(s))){k()}break;case"ds-text":if(!customElements.get(r(s))){E()}break;case"ds-tooltip":if(!customElements.get(r(s))){C()}break}}))}D();const y=x;const v=D;export{y as DsDataFilter,v as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-data-filter.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{D as o,d as s}from"./p-
|
|
1
|
+
import{D as o,d as s}from"./p-PzYJqN8B.js";const t=o;const p=s;export{t as DsDataGroup,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-data-group.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,c as t,h as i,a,t as r}from"./index.js";import{A as d,r as o}from"./p-B8ZonS3S.js";import{d as n,n as h}from"./p-kDZ0sEII.js";import{t as c,a as l,b as f,r as p,c as m}from"./p-aD5cw_m2.js";import{l as u,r as b,t as g}from"./p-BYrBU_U9.js";import{A as v}from"./p-CwUXroLs.js";import{r as k}from"./p-CochmPyg.js";import{T as w}from"./p-CeXf9-X3.js";import{d as y}from"./p-CwdRaJER.js";import{d as x}from"./p-D6FRqNhN.js";import{d as C}from"./p-CUDocY23.js";import{d as j}from"./p-Co1rUdOR.js";import{d as E}from"./p-JBki_jyY.js";import{d as D}from"./p-BDdlJZyL.js";import{d as z}from"./p-B0BQCVkq.js";import{d as F}from"./p-CZNZTcYS.js";import{d as O}from"./p-g0jsfEXz.js";import{d as B}from"./p-DjkUFlDW.js";import{d as R}from"./p-BwdnVqAY.js";import{d as _}from"./p-0XTyQNRG.js";import{d as I}from"./p-Dnt5xUBD.js";import{d as M}from"./p-B9y6azEw.js";import{d as A}from"./p-Cgn-BORA.js";import{d as L}from"./p-DRdoGSGX.js";import{d as P}from"./p-B9TM6FqC.js";import{d as S}from"./p-D8OWhnID.js";import{d as $}from"./p-DIQiHX0q.js";const T=()=>`.sc-ds-data-preferences-h,.sc-ds-data-preferences:where(.ds-table),.sc-ds-data-preferences:where(.tooltip-popup),.sc-ds-data-preferences:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.sc-ds-data-preferences-h{display:inline-flex}.data-preferences.sc-ds-data-preferences{position:fixed;margin:0;padding:0;border:0;border-radius:var(--ds-radius-menu);width:min(var(--dimension-menu-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100dvh - var(--dimension-space-400));display:flex;flex-direction:column;overflow:hidden;background:var(--color-background-primary);color:var(--color-foreground-secondary);box-shadow:var(--effect-shadow-elevated-floating)}.data-preferences.sc-ds-data-preferences::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:var(--effect-highlight-elevated-floating);pointer-events:none;z-index:4}.data-preferences__tabs.sc-ds-data-preferences{display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;flex:0 0 var(--dimension-size-500);min-block-size:var(--dimension-size-500);padding:var(--dimension-space-050);background:var(--color-background-primary);border-bottom:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.data-preferences__body.sc-ds-data-preferences{min-height:0;overflow:auto;overscroll-behavior:contain}.sc-ds-data-preferences-h:has(.data-preferences-panel){display:flex;flex:1;min-height:0}.data-preferences-panel.sc-ds-data-preferences{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.data-preferences-panel.sc-ds-data-preferences .data-preferences__tabs.sc-ds-data-preferences{flex:0 0 auto;padding:var(--dimension-space-200)}`;const U={minVisible:0,reorderable:false};let q=0;const X=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsCustomizeOptionChange=t(this,"dsCustomizeOptionChange",7);this.dsPreferencesTabChange=t(this,"dsPreferencesTabChange",7);this.dsFilterChange=t(this,"dsFilterChange",7);this.dsFilterMatchModeChange=t(this,"dsFilterMatchModeChange",7);this.dsActiveFilterChange=t(this,"dsActiveFilterChange",7);this.dsFiltersClear=t(this,"dsFiltersClear",7);this.dsSortChange=t(this,"dsSortChange",7);this.dsGroupChange=t(this,"dsGroupChange",7);this.dsGroupClear=t(this,"dsGroupClear",7);this.dsFieldsConfigChange=t(this,"dsFieldsConfigChange",7);this.hasBorder=true;this.filters=[];this.values={};this.matchModes={};this.fields=[];this.customizeOptions=[];this.customizeSections=[];this.customizeLabel="Customize table";this.catalogReorderable=true;this.sort=null;this.groupingOptions=[];this.grouping=null;this.hiddenFieldIds=[];this.fieldOrder=[];this.embedded=false;this.activeTab="filters";this.label="Configure view";this.open=false;this.tab="filters";this.pos={x:0,y:0};this.ready=false;this.popupId=`ds-data-preferences-${++q}`;this.position=new d({getAnchor:()=>this.trigger??null,getPopup:()=>this.popup??null,getOwnerDocument:()=>this.el.ownerDocument,measure:(e,s)=>{const t=o(e);const i=k(w.space100,8);s.style.maxWidth=`${Math.max(0,Math.min(window.innerWidth,t?.width??window.innerWidth)-i*2)}px`;s.style.maxHeight=`${Math.max(0,Math.min(window.innerHeight,t?.height??window.innerHeight)-i*2)}px`;return{anchorRect:e.getBoundingClientRect(),popupWidth:s.offsetWidth,popupHeight:s.offsetHeight,side:"bottom",align:"end",sideOffsetPx:k(w.space050,4),alignOffsetPx:0,viewportPadPx:k(w.space100,8),viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:t}},apply:({x:e,y:s})=>{this.pos={x:e,y:s}},onReady:()=>{this.ready=true},topLayer:true,observeResize:true,observeAnchorMotion:true,liveUpdate:"double-frame"});this.interaction=new v({getAnchor:()=>this.trigger??null,getPopup:()=>this.popup??null,getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.close()})}catalogItems(){return c(this.fields).map((e=>({id:e.id,label:l(e)})))}disconnectedCallback(){this.position.unobserve();this.interaction.disconnect()}close(){this.position.unobserve();this.interaction.disconnect();if(this.popup?.matches(":popover-open"))this.popup.hidePopover();this.open=false;void this.trigger?.setFocus()}toggle(){if(this.open){this.close();return}this.open=true;this.ready=false;this.position.observe();this.interaction.connect();this.position.schedule((async()=>{await(this.popup?.querySelector("ds-tab-group")?.componentOnReady?.());requestAnimationFrame((()=>{if(this.open)this.popup?.querySelector('[role="tab"][aria-selected="true"]')?.focus()}))}))}onKeydown(e){if(this.embedded||!this.open||e.defaultPrevented)return;if(e.key==="Escape"){e.preventDefault();e.stopPropagation();this.close()}else if(e.key==="Tab"&&this.interaction.tabLeavesPopup(e)){e.preventDefault();this.close();this.interaction.moveFocusAfterTab(e.shiftKey)}}forward(e,s){e.stopPropagation();s.emit(e.detail)}render(){const e=this.embedded?this.activeTab:this.tab;const s=["filters","sort","group","customize"].map((e=>({id:e,label:e==="filters"?"Filters":e[0].toUpperCase()+e.slice(1),panelId:`${this.popupId}-${e}`})));return i(a,{key:"a7670b5db350505db011d737f6a4f021d60803ef"},!this.embedded&&i("ds-tooltip",{key:"9550b2a9918ae2177aa2d157451f29dc3b7f90e5",label:this.label,side:"bottom",size:"sm"},i("ds-button-unfilled",{key:"8feacf2d0f9c27183527fab3a42a624a37305577",hasBorder:this.hasBorder,ref:e=>{this.trigger=e},variant:"icon",icon:"Preferences",size:"md",ariaLabel:this.label,haspopup:"dialog",expanded:this.open,surfaceOpen:this.open,controls:this.popupId,onDsClick:()=>this.toggle()})),(this.open||this.embedded)&&i("div",{key:"0e443c05fa6b282ee5dc76258a94908489e7f9ce",ref:e=>{this.popup=e},id:this.popupId,popover:this.embedded?undefined:"manual",role:this.embedded?undefined:"dialog","aria-label":this.label,class:{"data-preferences":!this.embedded,"data-preferences-panel":this.embedded},style:this.embedded?undefined:{left:`${this.pos.x}px`,top:`${this.pos.y}px`,visibility:this.ready?"visible":"hidden"}},i("div",{key:"c5be5e509c9f7d7d7e6325e7e572f4c064f8c0eb",class:"data-preferences__tabs"},i("ds-tab-group",{key:"89d4853f2d3048b0aec82e7e0b10de5ed1ab1c3a",ariaLabel:"Table preference sections",size:"md",presentation:this.embedded?"segmented":"tabs",width:this.embedded?"fill":"hug",tabs:s,value:e,onDsChange:e=>{e.stopPropagation();this.tab=e.detail;this.dsPreferencesTabChange.emit(this.tab)}})),i("div",{key:"22a887061519c6fa5111f805c84414ac9d7b6a8d",class:"data-preferences__body",id:`${this.popupId}-${e}`,role:"tabpanel","aria-label":s.find((s=>s.id===e))?.label},i("div",{key:"944244d8309a8c9ca1a65e2c7b2945590b9715e3",hidden:e!=="filters"},i("ds-filter-menu",{key:"24cf8819fae1820d97bd32191164c048560339c4",embedded:true,vertical:this.embedded,applyRequired:!this.embedded,filters:this.filters,values:this.values,matchModes:this.matchModes,activeFilterId:this.activeFilterId,footerLayout:"categories-clear",onDsChange:e=>this.forward(e,this.dsFilterChange),onDsMatchModeChange:e=>this.forward(e,this.dsFilterMatchModeChange),onDsActiveFilterChange:e=>this.forward(e,this.dsActiveFilterChange),onDsClear:e=>this.forward(e,this.dsFiltersClear)})),e==="sort"&&i("ds-menu",{key:"9cd0e7d33ecd7e0f77871ec138a1cb954e64296c",embedded:true,menuLabel:"Sort table",sections:n(this.sortColumns??this.fields,this.sort),onDsSelect:e=>{e.stopPropagation();this.dsSortChange.emit({sort:h(this.sortColumns??this.fields,this.sort,e.detail)})}}),e==="group"&&i("ds-data-group",{key:"7cf74edd676cf37e6aad322b4f4bd91372a231be",embedded:true,vertical:this.embedded,options:this.groupingOptions,grouping:this.grouping,onDsGroupChange:e=>this.forward(e,this.dsGroupChange),onDsClear:e=>this.forward(e,this.dsGroupClear)}),e==="customize"&&i("ds-menu",{key:"3fc0e5ee003977860a9be3bec48d659111217d9e",embedded:true,menuLabel:this.customizeLabel,sections:[...this.fields.length?[{header:this.catalogHeader??(this.customizeOptions.length?"Columns":undefined),items:this.catalogReorderable?f(this.fields,this.hiddenFieldIds,this.fieldOrder):u(this.catalogItems(),this.hiddenFieldIds,this.fieldOrder,U)}]:[],...this.customizeSections,...this.customizeOptions.length?[{header:"Options",items:this.customizeOptions}]:[]],onDsSelect:e=>{e.stopPropagation();if(!e.detail.value||e.detail.isInactive)return;if([...this.customizeOptions,...this.customizeSections.flatMap((e=>"items"in e?e.items:[]))].some((s=>s.value===e.detail.value))){this.dsCustomizeOptionChange.emit(e.detail.value);return}if(!this.catalogReorderable){const s=this.catalogItems().map((e=>e.id));this.dsFieldsConfigChange.emit({hiddenFieldIds:g(s,this.hiddenFieldIds,e.detail.value,U),fieldOrder:b(s,this.fieldOrder)});return}this.dsFieldsConfigChange.emit({hiddenFieldIds:m(this.fields,this.hiddenFieldIds,e.detail.value),fieldOrder:p(this.fields,this.fieldOrder)})},onDsReorder:e=>{e.stopPropagation();if(!this.catalogReorderable)return;this.dsFieldsConfigChange.emit({hiddenFieldIds:this.hiddenFieldIds,fieldOrder:e.detail.items.filter((e=>e.reorderable)).map((e=>e.value)).filter(Boolean)})}}))))}get el(){return this}static get style(){return T()}},[2,"ds-data-preferences",{hasBorder:[4,"has-border"],filters:[16],values:[16],matchModes:[16],activeFilterId:[1,"active-filter-id"],fields:[16],customizeOptions:[16],customizeSections:[16],customizeLabel:[1,"customize-label"],catalogHeader:[1,"catalog-header"],catalogReorderable:[4,"catalog-reorderable"],sortColumns:[16],sort:[16],groupingOptions:[16],grouping:[16],hiddenFieldIds:[16],fieldOrder:[16],embedded:[4],activeTab:[1,"active-tab"],label:[1],open:[32],tab:[32],pos:[32],ready:[32]},[[0,"keydown","onKeydown"]]]);function G(){if(typeof customElements==="undefined"){return}const e=["ds-data-preferences","ds-badge","ds-button-unfilled","ds-calendar","ds-checkbox","ds-chip","ds-data-group","ds-divider","ds-empty-state","ds-filter-menu","ds-icon","ds-input","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-tab-group","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-data-preferences":if(!customElements.get(r(e))){customElements.define(r(e),X)}break;case"ds-badge":if(!customElements.get(r(e))){y()}break;case"ds-button-unfilled":if(!customElements.get(r(e))){x()}break;case"ds-calendar":if(!customElements.get(r(e))){C()}break;case"ds-checkbox":if(!customElements.get(r(e))){j()}break;case"ds-chip":if(!customElements.get(r(e))){E()}break;case"ds-data-group":if(!customElements.get(r(e))){D()}break;case"ds-divider":if(!customElements.get(r(e))){z()}break;case"ds-empty-state":if(!customElements.get(r(e))){F()}break;case"ds-filter-menu":if(!customElements.get(r(e))){O()}break;case"ds-icon":if(!customElements.get(r(e))){B()}break;case"ds-input":if(!customElements.get(r(e))){R()}break;case"ds-loader":if(!customElements.get(r(e))){_()}break;case"ds-menu":if(!customElements.get(r(e))){I()}break;case"ds-swatch-picker":if(!customElements.get(r(e))){M()}break;case"ds-switch":if(!customElements.get(r(e))){A()}break;case"ds-tab-group":if(!customElements.get(r(e))){L()}break;case"ds-tag":if(!customElements.get(r(e))){P()}break;case"ds-text":if(!customElements.get(r(e))){S()}break;case"ds-tooltip":if(!customElements.get(r(e))){$()}break}}))}G();const Y=X;const Z=G;export{Y as DsDataPreferences,Z as defineCustomElement};
|
|
1
|
+
import{p as e,H as s,c as t,h as i,a,t as r}from"./index.js";import{A as d,r as o}from"./p-CE6MaXBg.js";import{d as n,n as h}from"./p-kDZ0sEII.js";import{t as c,a as l,b as f,r as p,c as m}from"./p-aD5cw_m2.js";import{l as u,r as b,t as g}from"./p-BYrBU_U9.js";import{C as v}from"./p-DlsjHRU3.js";import{A as w}from"./p-CwUXroLs.js";import{r as y}from"./p-ioGH5SoA.js";import{T as k}from"./p-CeXf9-X3.js";import{d as x}from"./p-CwdRaJER.js";import{d as j}from"./p-D-J7GgjY.js";import{d as C}from"./p-BcpIK9S6.js";import{d as E}from"./p--pJyciTI.js";import{d as D}from"./p-DfMTDFcE.js";import{d as z}from"./p-PzYJqN8B.js";import{d as F}from"./p-D_iZPukF.js";import{d as I}from"./p-5-gQbIIz.js";import{d as M}from"./p-Bq_ypMSy.js";import{d as O}from"./p-pPtjNRqC.js";import{d as _}from"./p-DEYCF-oJ.js";import{d as R}from"./p-0XTyQNRG.js";import{d as B}from"./p-t2Ebn8si.js";import{d as P}from"./p-B9y6azEw.js";import{d as A}from"./p-Bf-BphXP.js";import{d as L}from"./p-7MwoWtTJ.js";import{d as T}from"./p-d76Ry5nh.js";import{d as $}from"./p-D8OWhnID.js";import{d as S}from"./p-DvGrsLgt.js";const G=()=>`.sc-ds-data-preferences-h,.sc-ds-data-preferences:where(.ds-table),.sc-ds-data-preferences:where(.tooltip-popup),.sc-ds-data-preferences:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.sc-ds-data-preferences-h{display:inline-flex}.data-preferences.sc-ds-data-preferences{position:fixed;margin:0;padding:0;border:0;border-radius:var(--ds-radius-menu);width:min(var(--dimension-menu-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100dvh - var(--dimension-space-400));display:flex;flex-direction:column;overflow:hidden;background:var(--color-background-primary);color:var(--color-foreground-secondary);box-shadow:var(--effect-shadow-elevated-floating)}.data-preferences.sc-ds-data-preferences::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:var(--effect-highlight-elevated-floating);pointer-events:none;z-index:4}.data-preferences__tabs.sc-ds-data-preferences{display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;flex:0 0 var(--dimension-size-500);min-block-size:var(--dimension-size-500);padding:var(--dimension-space-050);background:var(--color-background-primary);border-bottom:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.data-preferences__body.sc-ds-data-preferences{min-height:0;overflow:auto;overscroll-behavior:contain}.sc-ds-data-preferences-h:has(.data-preferences-panel){display:flex;flex:1;min-height:0}.data-preferences-panel.sc-ds-data-preferences{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.data-preferences-panel.sc-ds-data-preferences .data-preferences__tabs.sc-ds-data-preferences{flex:0 0 auto;padding:var(--dimension-space-200)}`;const J={minVisible:0,reorderable:false};let X=0;const H=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsCustomizeOptionChange=t(this,"dsCustomizeOptionChange",7);this.dsPreferencesTabChange=t(this,"dsPreferencesTabChange",7);this.dsFilterChange=t(this,"dsFilterChange",7);this.dsFilterMatchModeChange=t(this,"dsFilterMatchModeChange",7);this.dsActiveFilterChange=t(this,"dsActiveFilterChange",7);this.dsFiltersClear=t(this,"dsFiltersClear",7);this.dsSortChange=t(this,"dsSortChange",7);this.dsGroupChange=t(this,"dsGroupChange",7);this.dsGroupClear=t(this,"dsGroupClear",7);this.dsFieldsConfigChange=t(this,"dsFieldsConfigChange",7);this.hasBorder=true;this.filters=[];this.values={};this.matchModes={};this.fields=[];this.customizeOptions=[];this.customizeSections=[];this.customizeLabel="Customize table";this.catalogReorderable=true;this.sort=null;this.groupingOptions=[];this.grouping=null;this.hiddenFieldIds=[];this.fieldOrder=[];this.embedded=false;this.activeTab="filters";this.label="Configure view";this.open=false;this.tab="filters";this.pos={x:0,y:0};this.ready=false;this.popupId=`ds-data-preferences-${++X}`;this.tasks=new v((()=>this.el.isConnected));this.position=new d({getAnchor:()=>this.trigger??null,getPopup:()=>this.popup??null,getOwnerDocument:()=>this.el.ownerDocument,measure:(e,s)=>{const t=o(e);const i=y(k.space100,8);s.style.maxWidth=`${Math.max(0,Math.min(window.innerWidth,t?.width??window.innerWidth)-i*2)}px`;s.style.maxHeight=`${Math.max(0,Math.min(window.innerHeight,t?.height??window.innerHeight)-i*2)}px`;return{anchorRect:e.getBoundingClientRect(),popupWidth:s.offsetWidth,popupHeight:s.offsetHeight,side:"bottom",align:"end",sideOffsetPx:y(k.space050,4),alignOffsetPx:0,viewportPadPx:y(k.space100,8),viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:t}},apply:({x:e,y:s})=>{this.pos={x:e,y:s}},onReady:()=>{this.ready=true},topLayer:true,observeResize:true,observeAnchorMotion:true,liveUpdate:"double-frame"});this.interaction=new w({getAnchor:()=>this.trigger??null,getPopup:()=>this.popup??null,getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.close()})}catalogItems(){return c(this.fields).map((e=>({id:e.id,label:l(e)})))}disconnectedCallback(){this.close(false)}close(e=true){this.tasks.cancel();this.position.unobserve();this.interaction.disconnect();if(this.popup?.matches(":popover-open"))this.popup.hidePopover();this.open=false;this.ready=false;if(e)void this.trigger?.setFocus()}toggle(){if(!this.el.isConnected)return;if(this.open){this.close();return}this.open=true;this.ready=false;this.position.observe();this.interaction.connect();this.position.schedule((async()=>{const e=this.tasks.guard((()=>{this.tasks.frame((()=>{if(this.open)this.popup?.querySelector('[role="tab"][aria-selected="true"]')?.focus()}))}));await(this.popup?.querySelector("ds-tab-group")?.componentOnReady?.());e()}))}onKeydown(e){if(this.embedded||!this.open||e.defaultPrevented)return;if(e.key==="Escape"){e.preventDefault();e.stopPropagation();this.close()}else if(e.key==="Tab"&&this.interaction.tabLeavesPopup(e)){e.preventDefault();this.close();this.interaction.moveFocusAfterTab(e.shiftKey)}}forward(e,s){e.stopPropagation();s.emit(e.detail)}render(){const e=this.embedded?this.activeTab:this.tab;const s=["filters","sort","group","customize"].map((e=>({id:e,label:e==="filters"?"Filters":e[0].toUpperCase()+e.slice(1),panelId:`${this.popupId}-${e}`})));return i(a,{key:"384bd01c7a643bcd80f53c3ea93628600ce201e4"},!this.embedded&&i("ds-tooltip",{key:"2c1880c11e979a6907c29424ada3f945e8eb6c86",label:this.label,side:"bottom",size:"sm"},i("ds-button-unfilled",{key:"d1bd40d1872e5c169da1e9d502512b23971fb83d",hasBorder:this.hasBorder,ref:e=>{this.trigger=e},variant:"icon",icon:"Preferences",size:"md",ariaLabel:this.label,haspopup:"dialog",expanded:this.open,surfaceOpen:this.open,controls:this.popupId,onDsClick:()=>this.toggle()})),(this.open||this.embedded)&&i("div",{key:"a3d9fef5f4ba423e75979a413d717fbdb1a6e0a6",ref:e=>{this.popup=e},id:this.popupId,popover:this.embedded?undefined:"manual",role:this.embedded?undefined:"dialog","aria-label":this.label,class:{"data-preferences":!this.embedded,"data-preferences-panel":this.embedded},style:this.embedded?undefined:{left:`${this.pos.x}px`,top:`${this.pos.y}px`,visibility:this.ready?"visible":"hidden"}},i("div",{key:"f0ee61e877cbc0b7e86fdb4226d72e587c5a46ac",class:"data-preferences__tabs"},i("ds-tab-group",{key:"42eaae5ce29bf6a75ecf91442bc80f0065d9efa2",ariaLabel:"Table preference sections",size:"md",presentation:this.embedded?"segmented":"tabs",width:this.embedded?"fill":"hug",tabs:s,value:e,onDsChange:e=>{e.stopPropagation();this.tab=e.detail;this.dsPreferencesTabChange.emit(this.tab)}})),i("div",{key:"8a0c896c72fbfcce337485f792ae002b7ec8ee90",class:"data-preferences__body",id:`${this.popupId}-${e}`,role:"tabpanel","aria-label":s.find((s=>s.id===e))?.label},i("div",{key:"b380959b3cd8949b07e885ec302bb0745643aabf",hidden:e!=="filters"},i("ds-filter-menu",{key:"c99af171e01e8d726ff4e9c8ed7fd5dd5186e4f4",embedded:true,vertical:this.embedded,applyRequired:!this.embedded,filters:this.filters,values:this.values,matchModes:this.matchModes,activeFilterId:this.activeFilterId,footerLayout:"categories-clear",onDsChange:e=>this.forward(e,this.dsFilterChange),onDsMatchModeChange:e=>this.forward(e,this.dsFilterMatchModeChange),onDsActiveFilterChange:e=>this.forward(e,this.dsActiveFilterChange),onDsClear:e=>this.forward(e,this.dsFiltersClear)})),e==="sort"&&i("ds-menu",{key:"16c6314b325b5bd0a4428af6ba934148ded9cd61",embedded:true,menuLabel:"Sort table",sections:n(this.sortColumns??this.fields,this.sort),onDsSelect:e=>{e.stopPropagation();this.dsSortChange.emit({sort:h(this.sortColumns??this.fields,this.sort,e.detail)})}}),e==="group"&&i("ds-data-group",{key:"354969896e38b854c3153037d0b0f514e98f58d5",embedded:true,vertical:this.embedded,options:this.groupingOptions,grouping:this.grouping,onDsGroupChange:e=>this.forward(e,this.dsGroupChange),onDsClear:e=>this.forward(e,this.dsGroupClear)}),e==="customize"&&i("ds-menu",{key:"a1a36faf8e90d9264bd8079d9ebb75f48730822a",embedded:true,menuLabel:this.customizeLabel,sections:[...this.fields.length?[{header:this.catalogHeader??(this.customizeOptions.length?"Columns":undefined),items:this.catalogReorderable?f(this.fields,this.hiddenFieldIds,this.fieldOrder):u(this.catalogItems(),this.hiddenFieldIds,this.fieldOrder,J)}]:[],...this.customizeSections,...this.customizeOptions.length?[{header:"Options",items:this.customizeOptions}]:[]],onDsSelect:e=>{e.stopPropagation();if(!e.detail.value||e.detail.isInactive)return;if([...this.customizeOptions,...this.customizeSections.flatMap((e=>"items"in e?e.items:[]))].some((s=>s.value===e.detail.value))){this.dsCustomizeOptionChange.emit(e.detail.value);return}if(!this.catalogReorderable){const s=this.catalogItems().map((e=>e.id));this.dsFieldsConfigChange.emit({hiddenFieldIds:g(s,this.hiddenFieldIds,e.detail.value,J),fieldOrder:b(s,this.fieldOrder)});return}this.dsFieldsConfigChange.emit({hiddenFieldIds:m(this.fields,this.hiddenFieldIds,e.detail.value),fieldOrder:p(this.fields,this.fieldOrder)})},onDsReorder:e=>{e.stopPropagation();if(!this.catalogReorderable)return;this.dsFieldsConfigChange.emit({hiddenFieldIds:this.hiddenFieldIds,fieldOrder:e.detail.items.filter((e=>e.reorderable)).map((e=>e.value)).filter(Boolean)})}}))))}get el(){return this}static get style(){return G()}},[2,"ds-data-preferences",{hasBorder:[4,"has-border"],filters:[16],values:[16],matchModes:[16],activeFilterId:[1,"active-filter-id"],fields:[16],customizeOptions:[16],customizeSections:[16],customizeLabel:[1,"customize-label"],catalogHeader:[1,"catalog-header"],catalogReorderable:[4,"catalog-reorderable"],sortColumns:[16],sort:[16],groupingOptions:[16],grouping:[16],hiddenFieldIds:[16],fieldOrder:[16],embedded:[4],activeTab:[1,"active-tab"],label:[1],open:[32],tab:[32],pos:[32],ready:[32]},[[0,"keydown","onKeydown"]]]);function U(){if(typeof customElements==="undefined"){return}const e=["ds-data-preferences","ds-badge","ds-button-unfilled","ds-calendar","ds-checkbox","ds-chip","ds-data-group","ds-divider","ds-empty-state","ds-filter-menu","ds-icon","ds-input","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-tab-group","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-data-preferences":if(!customElements.get(r(e))){customElements.define(r(e),H)}break;case"ds-badge":if(!customElements.get(r(e))){x()}break;case"ds-button-unfilled":if(!customElements.get(r(e))){j()}break;case"ds-calendar":if(!customElements.get(r(e))){C()}break;case"ds-checkbox":if(!customElements.get(r(e))){E()}break;case"ds-chip":if(!customElements.get(r(e))){D()}break;case"ds-data-group":if(!customElements.get(r(e))){z()}break;case"ds-divider":if(!customElements.get(r(e))){F()}break;case"ds-empty-state":if(!customElements.get(r(e))){I()}break;case"ds-filter-menu":if(!customElements.get(r(e))){M()}break;case"ds-icon":if(!customElements.get(r(e))){O()}break;case"ds-input":if(!customElements.get(r(e))){_()}break;case"ds-loader":if(!customElements.get(r(e))){R()}break;case"ds-menu":if(!customElements.get(r(e))){B()}break;case"ds-swatch-picker":if(!customElements.get(r(e))){P()}break;case"ds-switch":if(!customElements.get(r(e))){A()}break;case"ds-tab-group":if(!customElements.get(r(e))){L()}break;case"ds-tag":if(!customElements.get(r(e))){T()}break;case"ds-text":if(!customElements.get(r(e))){$()}break;case"ds-tooltip":if(!customElements.get(r(e))){S()}break}}))}U();const q=H;const W=U;export{q as DsDataPreferences,W as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-data-preferences.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["dataPreferencesCss","TOGGLE_ONLY_CATALOG","minVisible","reorderable","preferencesSequence","DataPreferences","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","filters","values","matchModes","fields","customizeOptions","customizeSections","customizeLabel","catalogReorderable","sort","groupingOptions","grouping","hiddenFieldIds","fieldOrder","embedded","activeTab","label","open","tab","pos","x","y","ready","popupId","position","AnchoredPositionController","getAnchor","trigger","getPopup","popup","getOwnerDocument","el","ownerDocument","measure","anchor","collisionRect","resolveAnchoredOverlayBoundaryRect","pad","resolveCssLengthPx","TOKEN_DEFAULTS","space100","style","maxWidth","Math","max","min","window","innerWidth","width","maxHeight","innerHeight","height","anchorRect","getBoundingClientRect","popupWidth","offsetWidth","popupHeight","offsetHeight","side","align","sideOffsetPx","space050","alignOffsetPx","viewportPadPx","viewportWidth","viewportHeight","apply","onReady","topLayer","observeResize","observeAnchorMotion","liveUpdate","interaction","AnchoredOverlayInteractionController","onOutsideActivation","close","catalogItems","tableDataColumns","map","column","id","tableColumnCustomizerLabel","disconnectedCallback","unobserve","disconnect","matches","hidePopover","setFocus","toggle","observe","connect","schedule","async","querySelector","componentOnReady","requestAnimationFrame","focus","onKeydown","event","defaultPrevented","key","preventDefault","stopPropagation","tabLeavesPopup","moveFocusAfterTab","shiftKey","forward","emitter","emit","detail","render","currentTab","tabs","toUpperCase","slice","panelId","h","Host","size","ref","variant","icon","ariaLabel","haspopup","expanded","surfaceOpen","controls","onDsClick","popover","undefined","role","class","left","top","visibility","presentation","value","onDsChange","dsPreferencesTabChange","find","hidden","vertical","applyRequired","activeFilterId","footerLayout","e","dsFilterChange","onDsMatchModeChange","dsFilterMatchModeChange","onDsActiveFilterChange","dsActiveFilterChange","onDsClear","dsFiltersClear","menuLabel","sections","dataSortMenuSections","sortColumns","onDsSelect","dsSortChange","nextDataSortStateFromMenuItem","options","onDsGroupChange","dsGroupChange","dsGroupClear","length","header","catalogHeader","items","tableColumnCustomizerMenuItems","listCustomizerMenuItems","isInactive","flatMap","section","some","option","dsCustomizeOptionChange","ids","item","dsFieldsConfigChange","toggleListHidden","resolveListOrder","toggleTableColumnHidden","resolveTableColumnOrder","onDsReorder","filter","Boolean"],"sources":["src/wc/components/DataPreferences/DataPreferences.css?tag=ds-data-preferences&encapsulation=scoped","src/wc/components/DataPreferences/DataPreferences.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n\n:host {\n display: inline-flex;\n}\n\n.data-preferences {\n position: fixed;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: var(--ds-radius-menu);\n width: min(var(--dimension-menu-width-lg), calc(100vw - var(--dimension-space-200)));\n max-height: calc(100dvh - var(--dimension-space-400));\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--color-background-primary);\n color: var(--color-foreground-secondary);\n box-shadow: var(--effect-shadow-elevated-floating);\n}\n\n.data-preferences::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n box-shadow: var(--effect-highlight-elevated-floating);\n pointer-events: none;\n z-index: 4;\n}\n\n.data-preferences__tabs {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n flex: 0 0 var(--dimension-size-500);\n min-block-size: var(--dimension-size-500);\n padding: var(--dimension-space-050);\n background: var(--color-background-primary);\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.data-preferences__body {\n min-height: 0;\n overflow: auto;\n overscroll-behavior: contain;\n}\n\n:host:has(.data-preferences-panel) {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.data-preferences-panel {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n min-width: 0;\n}\n.data-preferences-panel .data-preferences__tabs {\n flex: 0 0 auto;\n padding: var(--dimension-space-200);\n}\n","import type { DataField } from '../../utils/data-field';\nimport type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport { resolveAnchoredOverlayBoundaryRect } from '../../utils/anchored-overlay-boundary';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport type {\n FilterMenuFilter,\n FilterMenuValues,\n FilterMenuMatchModes,\n FilterMenuChangeDetail,\n FilterMenuMatchModeChangeDetail,\n} from '../FilterMenu/FilterMenu';\nimport type {\n TableColumn,\n DataSortState,\n DataSortChangeDetail,\n DataGroupingState,\n DataFieldsConfigChangeDetail,\n} from '../Table/table-types';\nimport type { DataGroupOption } from '../DataGroup/DataGroup';\nimport { dataSortMenuSections, nextDataSortStateFromMenuItem } from '../DataSort/data-sort-menu';\nimport {\n tableColumnCustomizerLabel,\n tableColumnCustomizerMenuItems,\n tableDataColumns,\n toggleTableColumnHidden,\n resolveTableColumnOrder,\n} from '../Table/table-column-customizer';\nimport {\n listCustomizerMenuItems,\n resolveListOrder,\n toggleListHidden,\n type ListCustomizerOptions,\n} from '../../utils/list-customizer';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport { AnchoredOverlayInteractionController } from '../../utils/anchored-overlay-interaction-controller';\nimport { resolveCssLengthPx } from '../../utils/resolve-css-length-px';\nimport { TOKEN_DEFAULTS } from '../../utils/token-defaults';\n\n/** Toggle-only catalog: every entry may hide and no row carries a drag handle. */\nconst TOGGLE_ONLY_CATALOG: ListCustomizerOptions = { minVisible: 0, reorderable: false };\n\nexport type PreferencesTab = 'filters' | 'sort' | 'group' | 'customize';\nlet preferencesSequence = 0;\n\n@Component({ tag: 'ds-data-preferences', styleUrl: 'DataPreferences.css', scoped: true })\nexport class DataPreferences {\n @Element() el!: HTMLElement;\n /** Show the trigger border. */\n @Prop() hasBorder: boolean = true;\n @Prop() filters: FilterMenuFilter[] = [];\n @Prop() values: FilterMenuValues = {};\n @Prop() matchModes: FilterMenuMatchModes = {};\n @Prop() activeFilterId: string | undefined;\n @Prop() fields: DataField[] = [];\n /** Additional toggle options in the column customizer. */\n @Prop() customizeOptions: MenuItemData[] = [];\n @Prop() customizeSections: MenuSection[] = [];\n /** Accessible name for the Customize menu. */\n @Prop() customizeLabel: string = 'Customize table';\n /**\n * Section header above the catalog rows. Defaults to Columns when\n * customizeOptions supply a second section, matching the table.\n */\n @Prop() catalogHeader?: string;\n /**\n * Drag-reorder the catalog rows and keep the last visible entry locked, as a\n * table requires. Pass false for a catalog that only shows and hides, where\n * every entry may be hidden and rows carry no drag handle.\n */\n @Prop() catalogReorderable: boolean = true;\n @Event() dsCustomizeOptionChange!: EventEmitter<string>;\n /** Optional sort fields when they differ from customizable content. */\n @Prop() sortColumns?: TableColumn[];\n @Prop() sort: DataSortState | null = null;\n @Prop() groupingOptions: DataGroupOption[] = [];\n @Prop() grouping: DataGroupingState | null = null;\n @Prop() hiddenFieldIds: string[] = [];\n @Prop() fieldOrder: string[] = [];\n /** Render shared content without its popup or trigger. */\n @Prop() embedded = false;\n @Prop() activeTab: PreferencesTab = 'filters';\n @Event() dsPreferencesTabChange!: EventEmitter<PreferencesTab>;\n @Prop() label = 'Configure view';\n @Event() dsFilterChange!: EventEmitter<FilterMenuChangeDetail>;\n @Event() dsFilterMatchModeChange!: EventEmitter<FilterMenuMatchModeChangeDetail>;\n @Event() dsActiveFilterChange!: EventEmitter<string>;\n @Event() dsFiltersClear!: EventEmitter<void>;\n @Event() dsSortChange!: EventEmitter<DataSortChangeDetail>;\n @Event() dsGroupChange!: EventEmitter<DataGroupingState>;\n @Event() dsGroupClear!: EventEmitter<void>;\n @Event() dsFieldsConfigChange!: EventEmitter<DataFieldsConfigChangeDetail>;\n\n /** Catalog rows as domain-neutral items, so a non-table catalog needs no column shape. */\n private catalogItems(): { id: string; label: string }[] {\n return tableDataColumns(this.fields).map(column => ({\n id: column.id,\n label: tableColumnCustomizerLabel(column),\n }));\n }\n @State() private open = false;\n @State() private tab: PreferencesTab = 'filters';\n @State() private pos = { x: 0, y: 0 };\n @State() private ready = false;\n private readonly popupId = `ds-data-preferences-${++preferencesSequence}`;\n private trigger?: HTMLDsButtonUnfilledElement;\n private popup?: HTMLElement;\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, popup) => {\n const collisionRect = resolveAnchoredOverlayBoundaryRect(anchor);\n const pad = resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8);\n popup.style.maxWidth = `${Math.max(0, Math.min(window.innerWidth, collisionRect?.width ?? window.innerWidth) - pad * 2)}px`;\n popup.style.maxHeight = `${Math.max(0, Math.min(window.innerHeight, collisionRect?.height ?? window.innerHeight) - pad * 2)}px`;\n return {\n anchorRect: anchor.getBoundingClientRect(),\n popupWidth: popup.offsetWidth,\n popupHeight: popup.offsetHeight,\n side: 'bottom',\n align: 'end',\n sideOffsetPx: resolveCssLengthPx(TOKEN_DEFAULTS.space050, 4),\n alignOffsetPx: 0,\n viewportPadPx: resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8),\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect,\n };\n },\n apply: ({ x, y }) => {\n this.pos = { x, y };\n },\n onReady: () => {\n this.ready = true;\n },\n topLayer: true,\n observeResize: true,\n observeAnchorMotion: true,\n liveUpdate: 'double-frame',\n });\n private readonly interaction = new AnchoredOverlayInteractionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n onOutsideActivation: () => this.close(),\n });\n disconnectedCallback() {\n this.position.unobserve();\n this.interaction.disconnect();\n }\n private close() {\n this.position.unobserve();\n this.interaction.disconnect();\n if (this.popup?.matches(':popover-open')) this.popup.hidePopover();\n this.open = false;\n void this.trigger?.setFocus();\n }\n private toggle() {\n if (this.open) {\n this.close();\n return;\n }\n this.open = true;\n this.ready = false;\n this.position.observe();\n this.interaction.connect();\n this.position.schedule(async () => {\n await this.popup?.querySelector('ds-tab-group')?.componentOnReady?.();\n requestAnimationFrame(() => {\n if (this.open)\n this.popup?.querySelector<HTMLElement>('[role=\"tab\"][aria-selected=\"true\"]')?.focus();\n });\n });\n }\n @Listen('keydown')\n onKeydown(event: KeyboardEvent) {\n if (this.embedded || !this.open || event.defaultPrevented) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n } else if (event.key === 'Tab' && this.interaction.tabLeavesPopup(event)) {\n event.preventDefault();\n this.close();\n this.interaction.moveFocusAfterTab(event.shiftKey);\n }\n }\n private forward<T>(event: CustomEvent<T>, emitter: EventEmitter<T>) {\n event.stopPropagation();\n emitter.emit(event.detail);\n }\n render() {\n const currentTab = this.embedded ? this.activeTab : this.tab;\n const tabs = ['filters', 'sort', 'group', 'customize'].map(id => ({\n id,\n label: id === 'filters' ? 'Filters' : id[0].toUpperCase() + id.slice(1),\n panelId: `${this.popupId}-${id}`,\n }));\n return (\n <Host>\n {!this.embedded && (\n <ds-tooltip label={this.label} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n hasBorder={this.hasBorder}\n ref={el => {\n this.trigger = el;\n }}\n variant=\"icon\"\n icon=\"Preferences\"\n size=\"md\"\n ariaLabel={this.label}\n haspopup=\"dialog\"\n expanded={this.open}\n surfaceOpen={this.open}\n controls={this.popupId}\n onDsClick={() => this.toggle()}\n />\n </ds-tooltip>\n )}\n {(this.open || this.embedded) && (\n <div\n ref={el => {\n this.popup = el;\n }}\n id={this.popupId}\n popover={this.embedded ? undefined : 'manual'}\n role={this.embedded ? undefined : 'dialog'}\n aria-label={this.label}\n class={{\n 'data-preferences': !this.embedded,\n 'data-preferences-panel': this.embedded,\n }}\n style={\n this.embedded\n ? undefined\n : {\n left: `${this.pos.x}px`,\n top: `${this.pos.y}px`,\n visibility: this.ready ? 'visible' : 'hidden',\n }\n }\n >\n <div class=\"data-preferences__tabs\">\n <ds-tab-group\n ariaLabel=\"Table preference sections\"\n size=\"md\"\n presentation={this.embedded ? 'segmented' : 'tabs'}\n width={this.embedded ? 'fill' : 'hug'}\n tabs={tabs}\n value={currentTab}\n onDsChange={event => {\n event.stopPropagation();\n this.tab = event.detail as PreferencesTab;\n this.dsPreferencesTabChange.emit(this.tab);\n }}\n />\n </div>\n <div\n class=\"data-preferences__body\"\n id={`${this.popupId}-${currentTab}`}\n role=\"tabpanel\"\n aria-label={tabs.find(tab => tab.id === currentTab)?.label}\n >\n <div hidden={currentTab !== 'filters'}>\n <ds-filter-menu\n embedded\n vertical={this.embedded}\n applyRequired={!this.embedded}\n filters={this.filters}\n values={this.values}\n matchModes={this.matchModes}\n activeFilterId={this.activeFilterId}\n footerLayout=\"categories-clear\"\n onDsChange={e => this.forward(e, this.dsFilterChange)}\n onDsMatchModeChange={e => this.forward(e, this.dsFilterMatchModeChange)}\n onDsActiveFilterChange={e => this.forward(e, this.dsActiveFilterChange)}\n onDsClear={e => this.forward(e, this.dsFiltersClear)}\n />\n </div>\n {currentTab === 'sort' && (\n <ds-menu\n embedded\n menuLabel=\"Sort table\"\n sections={dataSortMenuSections(this.sortColumns ?? this.fields, this.sort)}\n onDsSelect={e => {\n e.stopPropagation();\n this.dsSortChange.emit({\n sort: nextDataSortStateFromMenuItem(\n this.sortColumns ?? this.fields,\n this.sort,\n e.detail\n ),\n });\n }}\n />\n )}\n {currentTab === 'group' && (\n <ds-data-group\n embedded\n vertical={this.embedded}\n options={this.groupingOptions}\n grouping={this.grouping}\n onDsGroupChange={e => this.forward(e, this.dsGroupChange)}\n onDsClear={e => this.forward(e, this.dsGroupClear)}\n />\n )}\n {currentTab === 'customize' && (\n <ds-menu\n embedded\n menuLabel={this.customizeLabel}\n sections={[\n ...(this.fields.length\n ? [\n {\n header:\n this.catalogHeader ??\n (this.customizeOptions.length ? 'Columns' : undefined),\n items: this.catalogReorderable\n ? tableColumnCustomizerMenuItems(\n this.fields,\n this.hiddenFieldIds,\n this.fieldOrder\n )\n : listCustomizerMenuItems(\n this.catalogItems(),\n this.hiddenFieldIds,\n this.fieldOrder,\n TOGGLE_ONLY_CATALOG\n ),\n },\n ]\n : []),\n ...this.customizeSections,\n ...(this.customizeOptions.length\n ? [{ header: 'Options', items: this.customizeOptions }]\n : []),\n ]}\n onDsSelect={e => {\n e.stopPropagation();\n if (!e.detail.value || e.detail.isInactive) return;\n if (\n [\n ...this.customizeOptions,\n ...this.customizeSections.flatMap(section =>\n 'items' in section ? section.items : []\n ),\n ].some(option => option.value === e.detail.value)\n ) {\n this.dsCustomizeOptionChange.emit(e.detail.value);\n return;\n }\n if (!this.catalogReorderable) {\n const ids = this.catalogItems().map(item => item.id);\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleListHidden(\n ids,\n this.hiddenFieldIds,\n e.detail.value,\n TOGGLE_ONLY_CATALOG\n ),\n fieldOrder: resolveListOrder(ids, this.fieldOrder),\n });\n return;\n }\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleTableColumnHidden(\n this.fields,\n this.hiddenFieldIds,\n e.detail.value\n ),\n fieldOrder: resolveTableColumnOrder(this.fields, this.fieldOrder),\n });\n }}\n onDsReorder={e => {\n e.stopPropagation();\n if (!this.catalogReorderable) return;\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: this.hiddenFieldIds,\n fieldOrder: e.detail.items\n .filter(item => item.reorderable)\n .map(item => item.value!)\n .filter(Boolean),\n });\n }}\n />\n )}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["dataPreferencesCss","TOGGLE_ONLY_CATALOG","minVisible","reorderable","preferencesSequence","DataPreferences","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","hasBorder","filters","values","matchModes","fields","customizeOptions","customizeSections","customizeLabel","catalogReorderable","sort","groupingOptions","grouping","hiddenFieldIds","fieldOrder","embedded","activeTab","label","open","tab","pos","x","y","ready","popupId","tasks","ConnectionTasks","el","isConnected","position","AnchoredPositionController","getAnchor","trigger","getPopup","popup","getOwnerDocument","ownerDocument","measure","anchor","collisionRect","resolveAnchoredOverlayBoundaryRect","pad","resolveCssLengthPx","TOKEN_DEFAULTS","space100","style","maxWidth","Math","max","min","window","innerWidth","width","maxHeight","innerHeight","height","anchorRect","getBoundingClientRect","popupWidth","offsetWidth","popupHeight","offsetHeight","side","align","sideOffsetPx","space050","alignOffsetPx","viewportPadPx","viewportWidth","viewportHeight","apply","onReady","topLayer","observeResize","observeAnchorMotion","liveUpdate","interaction","AnchoredOverlayInteractionController","onOutsideActivation","close","catalogItems","tableDataColumns","map","column","id","tableColumnCustomizerLabel","disconnectedCallback","restoreFocus","cancel","unobserve","disconnect","matches","hidePopover","setFocus","toggle","observe","connect","schedule","async","focus","guard","frame","querySelector","componentOnReady","onKeydown","event","defaultPrevented","key","preventDefault","stopPropagation","tabLeavesPopup","moveFocusAfterTab","shiftKey","forward","emitter","emit","detail","render","currentTab","tabs","toUpperCase","slice","panelId","h","Host","size","ref","variant","icon","ariaLabel","haspopup","expanded","surfaceOpen","controls","onDsClick","popover","undefined","role","class","left","top","visibility","presentation","value","onDsChange","dsPreferencesTabChange","find","hidden","vertical","applyRequired","activeFilterId","footerLayout","e","dsFilterChange","onDsMatchModeChange","dsFilterMatchModeChange","onDsActiveFilterChange","dsActiveFilterChange","onDsClear","dsFiltersClear","menuLabel","sections","dataSortMenuSections","sortColumns","onDsSelect","dsSortChange","nextDataSortStateFromMenuItem","options","onDsGroupChange","dsGroupChange","dsGroupClear","length","header","catalogHeader","items","tableColumnCustomizerMenuItems","listCustomizerMenuItems","isInactive","flatMap","section","some","option","dsCustomizeOptionChange","ids","item","dsFieldsConfigChange","toggleListHidden","resolveListOrder","toggleTableColumnHidden","resolveTableColumnOrder","onDsReorder","filter","Boolean"],"sources":["src/wc/components/DataPreferences/DataPreferences.css?tag=ds-data-preferences&encapsulation=scoped","src/wc/components/DataPreferences/DataPreferences.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n\n:host {\n display: inline-flex;\n}\n\n.data-preferences {\n position: fixed;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: var(--ds-radius-menu);\n width: min(var(--dimension-menu-width-lg), calc(100vw - var(--dimension-space-200)));\n max-height: calc(100dvh - var(--dimension-space-400));\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--color-background-primary);\n color: var(--color-foreground-secondary);\n box-shadow: var(--effect-shadow-elevated-floating);\n}\n\n.data-preferences::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n box-shadow: var(--effect-highlight-elevated-floating);\n pointer-events: none;\n z-index: 4;\n}\n\n.data-preferences__tabs {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n flex: 0 0 var(--dimension-size-500);\n min-block-size: var(--dimension-size-500);\n padding: var(--dimension-space-050);\n background: var(--color-background-primary);\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.data-preferences__body {\n min-height: 0;\n overflow: auto;\n overscroll-behavior: contain;\n}\n\n:host:has(.data-preferences-panel) {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n.data-preferences-panel {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n min-width: 0;\n}\n.data-preferences-panel .data-preferences__tabs {\n flex: 0 0 auto;\n padding: var(--dimension-space-200);\n}\n","import type { DataField } from '../../utils/data-field';\nimport type { MenuItemData, MenuSection } from '../Menu/menu-types';\nimport { resolveAnchoredOverlayBoundaryRect } from '../../utils/anchored-overlay-boundary';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport type {\n FilterMenuFilter,\n FilterMenuValues,\n FilterMenuMatchModes,\n FilterMenuChangeDetail,\n FilterMenuMatchModeChangeDetail,\n} from '../FilterMenu/FilterMenu';\nimport type {\n TableColumn,\n DataSortState,\n DataSortChangeDetail,\n DataGroupingState,\n DataFieldsConfigChangeDetail,\n} from '../Table/table-types';\nimport type { DataGroupOption } from '../DataGroup/DataGroup';\nimport { dataSortMenuSections, nextDataSortStateFromMenuItem } from '../DataSort/data-sort-menu';\nimport {\n tableColumnCustomizerLabel,\n tableColumnCustomizerMenuItems,\n tableDataColumns,\n toggleTableColumnHidden,\n resolveTableColumnOrder,\n} from '../Table/table-column-customizer';\nimport {\n listCustomizerMenuItems,\n resolveListOrder,\n toggleListHidden,\n type ListCustomizerOptions,\n} from '../../utils/list-customizer';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\nimport { AnchoredOverlayInteractionController } from '../../utils/anchored-overlay-interaction-controller';\nimport { resolveCssLengthPx } from '../../utils/resolve-css-length-px';\nimport { TOKEN_DEFAULTS } from '../../utils/token-defaults';\n\n/** Toggle-only catalog: every entry may hide and no row carries a drag handle. */\nconst TOGGLE_ONLY_CATALOG: ListCustomizerOptions = { minVisible: 0, reorderable: false };\n\nexport type PreferencesTab = 'filters' | 'sort' | 'group' | 'customize';\nlet preferencesSequence = 0;\n\n@Component({ tag: 'ds-data-preferences', styleUrl: 'DataPreferences.css', scoped: true })\nexport class DataPreferences {\n @Element() el!: HTMLElement;\n /** Show the trigger border. */\n @Prop() hasBorder: boolean = true;\n @Prop() filters: FilterMenuFilter[] = [];\n @Prop() values: FilterMenuValues = {};\n @Prop() matchModes: FilterMenuMatchModes = {};\n @Prop() activeFilterId: string | undefined;\n @Prop() fields: DataField[] = [];\n /** Additional toggle options in the column customizer. */\n @Prop() customizeOptions: MenuItemData[] = [];\n @Prop() customizeSections: MenuSection[] = [];\n /** Accessible name for the Customize menu. */\n @Prop() customizeLabel: string = 'Customize table';\n /**\n * Section header above the catalog rows. Defaults to Columns when\n * customizeOptions supply a second section, matching the table.\n */\n @Prop() catalogHeader?: string;\n /**\n * Drag-reorder the catalog rows and keep the last visible entry locked, as a\n * table requires. Pass false for a catalog that only shows and hides, where\n * every entry may be hidden and rows carry no drag handle.\n */\n @Prop() catalogReorderable: boolean = true;\n @Event() dsCustomizeOptionChange!: EventEmitter<string>;\n /** Optional sort fields when they differ from customizable content. */\n @Prop() sortColumns?: TableColumn[];\n @Prop() sort: DataSortState | null = null;\n @Prop() groupingOptions: DataGroupOption[] = [];\n @Prop() grouping: DataGroupingState | null = null;\n @Prop() hiddenFieldIds: string[] = [];\n @Prop() fieldOrder: string[] = [];\n /** Render shared content without its popup or trigger. */\n @Prop() embedded = false;\n @Prop() activeTab: PreferencesTab = 'filters';\n @Event() dsPreferencesTabChange!: EventEmitter<PreferencesTab>;\n @Prop() label = 'Configure view';\n @Event() dsFilterChange!: EventEmitter<FilterMenuChangeDetail>;\n @Event() dsFilterMatchModeChange!: EventEmitter<FilterMenuMatchModeChangeDetail>;\n @Event() dsActiveFilterChange!: EventEmitter<string>;\n @Event() dsFiltersClear!: EventEmitter<void>;\n @Event() dsSortChange!: EventEmitter<DataSortChangeDetail>;\n @Event() dsGroupChange!: EventEmitter<DataGroupingState>;\n @Event() dsGroupClear!: EventEmitter<void>;\n @Event() dsFieldsConfigChange!: EventEmitter<DataFieldsConfigChangeDetail>;\n\n /** Catalog rows as domain-neutral items, so a non-table catalog needs no column shape. */\n private catalogItems(): { id: string; label: string }[] {\n return tableDataColumns(this.fields).map(column => ({\n id: column.id,\n label: tableColumnCustomizerLabel(column),\n }));\n }\n @State() private open = false;\n @State() private tab: PreferencesTab = 'filters';\n @State() private pos = { x: 0, y: 0 };\n @State() private ready = false;\n private readonly popupId = `ds-data-preferences-${++preferencesSequence}`;\n private trigger?: HTMLDsButtonUnfilledElement;\n private popup?: HTMLElement;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, popup) => {\n const collisionRect = resolveAnchoredOverlayBoundaryRect(anchor);\n const pad = resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8);\n popup.style.maxWidth = `${Math.max(0, Math.min(window.innerWidth, collisionRect?.width ?? window.innerWidth) - pad * 2)}px`;\n popup.style.maxHeight = `${Math.max(0, Math.min(window.innerHeight, collisionRect?.height ?? window.innerHeight) - pad * 2)}px`;\n return {\n anchorRect: anchor.getBoundingClientRect(),\n popupWidth: popup.offsetWidth,\n popupHeight: popup.offsetHeight,\n side: 'bottom',\n align: 'end',\n sideOffsetPx: resolveCssLengthPx(TOKEN_DEFAULTS.space050, 4),\n alignOffsetPx: 0,\n viewportPadPx: resolveCssLengthPx(TOKEN_DEFAULTS.space100, 8),\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect,\n };\n },\n apply: ({ x, y }) => {\n this.pos = { x, y };\n },\n onReady: () => {\n this.ready = true;\n },\n topLayer: true,\n observeResize: true,\n observeAnchorMotion: true,\n liveUpdate: 'double-frame',\n });\n private readonly interaction = new AnchoredOverlayInteractionController({\n getAnchor: () => this.trigger ?? null,\n getPopup: () => this.popup ?? null,\n getOwnerDocument: () => this.el.ownerDocument,\n onOutsideActivation: () => this.close(),\n });\n disconnectedCallback() {\n this.close(false);\n }\n private close(restoreFocus = true) {\n this.tasks.cancel();\n this.position.unobserve();\n this.interaction.disconnect();\n if (this.popup?.matches(':popover-open')) this.popup.hidePopover();\n this.open = false;\n this.ready = false;\n if (restoreFocus) void this.trigger?.setFocus();\n }\n private toggle() {\n if (!this.el.isConnected) return;\n if (this.open) {\n this.close();\n return;\n }\n this.open = true;\n this.ready = false;\n this.position.observe();\n this.interaction.connect();\n this.position.schedule(async () => {\n const focus = this.tasks.guard(() => {\n this.tasks.frame(() => {\n if (this.open)\n this.popup?.querySelector<HTMLElement>('[role=\"tab\"][aria-selected=\"true\"]')?.focus();\n });\n });\n await this.popup?.querySelector('ds-tab-group')?.componentOnReady?.();\n focus();\n });\n }\n @Listen('keydown')\n onKeydown(event: KeyboardEvent) {\n if (this.embedded || !this.open || event.defaultPrevented) return;\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n } else if (event.key === 'Tab' && this.interaction.tabLeavesPopup(event)) {\n event.preventDefault();\n this.close();\n this.interaction.moveFocusAfterTab(event.shiftKey);\n }\n }\n private forward<T>(event: CustomEvent<T>, emitter: EventEmitter<T>) {\n event.stopPropagation();\n emitter.emit(event.detail);\n }\n render() {\n const currentTab = this.embedded ? this.activeTab : this.tab;\n const tabs = ['filters', 'sort', 'group', 'customize'].map(id => ({\n id,\n label: id === 'filters' ? 'Filters' : id[0].toUpperCase() + id.slice(1),\n panelId: `${this.popupId}-${id}`,\n }));\n return (\n <Host>\n {!this.embedded && (\n <ds-tooltip label={this.label} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n hasBorder={this.hasBorder}\n ref={el => {\n this.trigger = el;\n }}\n variant=\"icon\"\n icon=\"Preferences\"\n size=\"md\"\n ariaLabel={this.label}\n haspopup=\"dialog\"\n expanded={this.open}\n surfaceOpen={this.open}\n controls={this.popupId}\n onDsClick={() => this.toggle()}\n />\n </ds-tooltip>\n )}\n {(this.open || this.embedded) && (\n <div\n ref={el => {\n this.popup = el;\n }}\n id={this.popupId}\n popover={this.embedded ? undefined : 'manual'}\n role={this.embedded ? undefined : 'dialog'}\n aria-label={this.label}\n class={{\n 'data-preferences': !this.embedded,\n 'data-preferences-panel': this.embedded,\n }}\n style={\n this.embedded\n ? undefined\n : {\n left: `${this.pos.x}px`,\n top: `${this.pos.y}px`,\n visibility: this.ready ? 'visible' : 'hidden',\n }\n }\n >\n <div class=\"data-preferences__tabs\">\n <ds-tab-group\n ariaLabel=\"Table preference sections\"\n size=\"md\"\n presentation={this.embedded ? 'segmented' : 'tabs'}\n width={this.embedded ? 'fill' : 'hug'}\n tabs={tabs}\n value={currentTab}\n onDsChange={event => {\n event.stopPropagation();\n this.tab = event.detail as PreferencesTab;\n this.dsPreferencesTabChange.emit(this.tab);\n }}\n />\n </div>\n <div\n class=\"data-preferences__body\"\n id={`${this.popupId}-${currentTab}`}\n role=\"tabpanel\"\n aria-label={tabs.find(tab => tab.id === currentTab)?.label}\n >\n <div hidden={currentTab !== 'filters'}>\n <ds-filter-menu\n embedded\n vertical={this.embedded}\n applyRequired={!this.embedded}\n filters={this.filters}\n values={this.values}\n matchModes={this.matchModes}\n activeFilterId={this.activeFilterId}\n footerLayout=\"categories-clear\"\n onDsChange={e => this.forward(e, this.dsFilterChange)}\n onDsMatchModeChange={e => this.forward(e, this.dsFilterMatchModeChange)}\n onDsActiveFilterChange={e => this.forward(e, this.dsActiveFilterChange)}\n onDsClear={e => this.forward(e, this.dsFiltersClear)}\n />\n </div>\n {currentTab === 'sort' && (\n <ds-menu\n embedded\n menuLabel=\"Sort table\"\n sections={dataSortMenuSections(this.sortColumns ?? this.fields, this.sort)}\n onDsSelect={e => {\n e.stopPropagation();\n this.dsSortChange.emit({\n sort: nextDataSortStateFromMenuItem(\n this.sortColumns ?? this.fields,\n this.sort,\n e.detail\n ),\n });\n }}\n />\n )}\n {currentTab === 'group' && (\n <ds-data-group\n embedded\n vertical={this.embedded}\n options={this.groupingOptions}\n grouping={this.grouping}\n onDsGroupChange={e => this.forward(e, this.dsGroupChange)}\n onDsClear={e => this.forward(e, this.dsGroupClear)}\n />\n )}\n {currentTab === 'customize' && (\n <ds-menu\n embedded\n menuLabel={this.customizeLabel}\n sections={[\n ...(this.fields.length\n ? [\n {\n header:\n this.catalogHeader ??\n (this.customizeOptions.length ? 'Columns' : undefined),\n items: this.catalogReorderable\n ? tableColumnCustomizerMenuItems(\n this.fields,\n this.hiddenFieldIds,\n this.fieldOrder\n )\n : listCustomizerMenuItems(\n this.catalogItems(),\n this.hiddenFieldIds,\n this.fieldOrder,\n TOGGLE_ONLY_CATALOG\n ),\n },\n ]\n : []),\n ...this.customizeSections,\n ...(this.customizeOptions.length\n ? [{ header: 'Options', items: this.customizeOptions }]\n : []),\n ]}\n onDsSelect={e => {\n e.stopPropagation();\n if (!e.detail.value || e.detail.isInactive) return;\n if (\n [\n ...this.customizeOptions,\n ...this.customizeSections.flatMap(section =>\n 'items' in section ? section.items : []\n ),\n ].some(option => option.value === e.detail.value)\n ) {\n this.dsCustomizeOptionChange.emit(e.detail.value);\n return;\n }\n if (!this.catalogReorderable) {\n const ids = this.catalogItems().map(item => item.id);\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleListHidden(\n ids,\n this.hiddenFieldIds,\n e.detail.value,\n TOGGLE_ONLY_CATALOG\n ),\n fieldOrder: resolveListOrder(ids, this.fieldOrder),\n });\n return;\n }\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: toggleTableColumnHidden(\n this.fields,\n this.hiddenFieldIds,\n e.detail.value\n ),\n fieldOrder: resolveTableColumnOrder(this.fields, this.fieldOrder),\n });\n }}\n onDsReorder={e => {\n e.stopPropagation();\n if (!this.catalogReorderable) return;\n this.dsFieldsConfigChange.emit({\n hiddenFieldIds: this.hiddenFieldIds,\n fieldOrder: e.detail.items\n .filter(item => item.reorderable)\n .map(item => item.value!)\n .filter(Boolean),\n });\n }}\n />\n )}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","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-CwdRaJER.js";import{d as o}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-CwdRaJER.js";import{d as o}from"./p-Dg6hnCc2.js";import{d as l}from"./p-D-J7GgjY.js";import{d as r}from"./p--pJyciTI.js";import{d as h}from"./p-DfMTDFcE.js";import{d as c}from"./p-D_iZPukF.js";import{d as m}from"./p-5-gQbIIz.js";import{d as f}from"./p-CbCN9ew9.js";import{d as u}from"./p-pPtjNRqC.js";import{d as b}from"./p-DEYCF-oJ.js";import{d as p}from"./p-0XTyQNRG.js";import{d as v}from"./p-t2Ebn8si.js";import{d as w}from"./p-BGSG6xIS.js";import{d as g}from"./p-C1oczmAc.js";import{d as k}from"./p-B9y6azEw.js";import{d as D}from"./p-Bf-BphXP.js";import{d as E}from"./p-d76Ry5nh.js";import{d as y}from"./p-D8OWhnID.js";import{d as C}from"./p-DvGrsLgt.js";const j=()=>`.sc-ds-data-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-data-saved-views{display:block;min-inline-size:0;max-inline-size:100%}`;let x=0;const V=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.hasBorder=true;this.views=[];this.value="__default__";this.dirty=false;this.defaultViewId="__default__";this.defaultViewLabel="Default";this.label="Saved views";this.triggerLabel="Views";this.compact=false;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-data-saved-views-${++x}`;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,surfaceOpen:this.actionViewId===e.id}})));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:"aca7b5770415dba795fb2b3462dacc9eeb6cb19a"},i("ds-select",{key:"67156d547d9749fa92b731dcb0b9be1c40d13a76",neutralTrigger:true,hasBorder:this.hasBorder,id:this.selectId,size:"md",icon:"ViewMenu",indicator:"none",collapseLabel:true,iconOnly:this.compact,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:"d5021327151b6109325da3193fad16f9c48b68b8",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:"a3d1f93c0a674f6730cbb5560fa4e6ed92998876",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:"55f918571bca72ceb6c89534949c71e30dd0f972",fieldId:this.fieldId,error:this.nameError.length>0,errorMessage:this.nameError},i("ds-input",{key:"153560c297577619959852df52f2592f634f1778",id:this.inputId,size:"md","aria-label":"Name",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("ds-button-filled",{key:"a661e4f1428a1966e60e76ec9c39f4edd1187046",slot:"footer",label:this.dialogMode==="rename"?"Rename":"Save",size:"md",onDsClick:()=>this.submitDialog()}),i("ds-button-unfilled",{key:"376db6696bca21c31f990e49ab5fa820496e7c80",slot:"footer",label:"Cancel",size:"md",onDsClick:()=>this.dialogOpen=false})))}get el(){return this}static get style(){return j()}},[2,"ds-data-saved-views",{hasBorder:[4,"has-border"],views:[16],value:[1],dirty:[4],defaultViewId:[1,"default-view-id"],defaultViewLabel:[1,"default-view-label"],label:[1],triggerLabel:[1,"trigger-label"],compact:[4],createLabel:[1,"create-label"],actionViewId:[32],actionAnchorId:[32],actionMenuOpen:[32],actionMenuInitialFocusVisible:[32],dialogOpen:[32],dialogMode:[32],dialogViewId:[32],nameDraft:[32],nameError:[32]}]);function I(){if(typeof customElements==="undefined"){return}const e=["ds-data-saved-views","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-chip","ds-divider","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-data-saved-views":if(!customElements.get(n(e))){customElements.define(n(e),V)}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-chip":if(!customElements.get(n(e))){h()}break;case"ds-divider":if(!customElements.get(n(e))){c()}break;case"ds-empty-state":if(!customElements.get(n(e))){m()}break;case"ds-field":if(!customElements.get(n(e))){f()}break;case"ds-icon":if(!customElements.get(n(e))){u()}break;case"ds-input":if(!customElements.get(n(e))){b()}break;case"ds-loader":if(!customElements.get(n(e))){p()}break;case"ds-menu":if(!customElements.get(n(e))){v()}break;case"ds-modal":if(!customElements.get(n(e))){w()}break;case"ds-select":if(!customElements.get(n(e))){g()}break;case"ds-swatch-picker":if(!customElements.get(n(e))){k()}break;case"ds-switch":if(!customElements.get(n(e))){D()}break;case"ds-tag":if(!customElements.get(n(e))){E()}break;case"ds-text":if(!customElements.get(n(e))){y()}break;case"ds-tooltip":if(!customElements.get(n(e))){C()}break}}))}I();const A=V;const z=I;export{A as DsDataSavedViews,z as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-data-saved-views.js.map
|