@ds-mo/ui 15.5.1 → 15.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +372 -25
- package/dist/angular/ds-data-preferences.d.ts +1 -1
- package/dist/angular/ds-data-preferences.js +3 -3
- package/dist/angular/ds-menu.d.ts +7 -1
- package/dist/angular/ds-menu.js +5 -2
- package/dist/angular/ds-navigation-tab-group.d.ts +15 -0
- package/dist/angular/ds-navigation-tab-group.js +42 -0
- package/dist/angular/ds-select-toggle.d.ts +15 -0
- package/dist/angular/ds-select-toggle.js +42 -0
- package/dist/angular/ds-table.d.ts +1 -1
- package/dist/angular/ds-table.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +2 -0
- package/dist/angular/proxies.d.ts +2 -0
- package/dist/angular/proxies.js +2 -0
- package/dist/components/THIRD-PARTY-NOTICES +1 -1
- package/dist/components/bundled-dependencies.json +1 -1
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-bar-action.js +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-setting.js +1 -1
- package/dist/components/ds-card-settings-scope.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-checkbox-group.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-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-search.js.map +1 -1
- package/dist/components/ds-data-sort.js +1 -1
- package/dist/components/ds-data-toolbar.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-inline-banner-settings.js +1 -1
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-time.js +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-map-cluster-marker.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-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-navigation-tab-group.d.ts +11 -0
- package/dist/components/ds-navigation-tab-group.js +2 -0
- package/dist/components/ds-navigation-tab-group.js.map +1 -0
- package/dist/components/ds-pagination.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-paper-texture.js +1 -1
- package/dist/components/ds-radio-tile.js +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-score.js +1 -1
- package/dist/components/ds-select-toggle.d.ts +11 -0
- package/dist/components/ds-select-toggle.js +2 -0
- package/dist/components/ds-select-toggle.js.map +1 -0
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-setting-row-checkbox.js +1 -1
- package/dist/components/ds-setting-row-radio.js +1 -1
- package/dist/components/ds-setting-row-radio.js.map +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-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-slider.js.map +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/ds-textarea.js +1 -1
- package/dist/components/ds-time-picker.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-toast.js.map +1 -1
- package/dist/components/ds-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/{p--pJyciTI.js → p--_bPiNCd.js} +2 -2
- package/dist/components/{p-UJMEz8_O.js → p-3SCy1PHa.js} +2 -2
- package/dist/components/{p-7MwoWtTJ.js → p-4sBUSsqs.js} +2 -2
- package/dist/components/p-4sBUSsqs.js.map +1 -0
- package/dist/components/{p-kwS-vkau.js → p-5aZVNYQz.js} +2 -2
- package/dist/components/{p-DKGW3gRa.js → p-AGqUGzNZ.js} +2 -2
- package/dist/components/p-BJf49edB.js +2 -0
- package/dist/components/p-BJf49edB.js.map +1 -0
- package/dist/components/{p-BNarCFJZ.js → p-BKyE025p.js} +2 -2
- package/dist/components/{p-S1Ct3FJV.js → p-BNN9KkXe.js} +2 -2
- package/dist/components/p-BPDo1eQV.js +2 -0
- package/dist/components/p-BPDo1eQV.js.map +1 -0
- package/dist/components/{p-CwdRaJER.js → p-BWJb2rih.js} +2 -2
- package/dist/components/{p-D8OWhnID.js → p-BbvAWFJA.js} +2 -2
- package/dist/components/p-Bdp2V6-c.js +2 -0
- package/dist/components/{p-Da3aFRk2.js.map → p-Bdp2V6-c.js.map} +1 -1
- package/dist/components/p-BjBFJ2dd.js +2 -0
- package/dist/components/{p-C5BBIDVm.js.map → p-BjBFJ2dd.js.map} +1 -1
- package/dist/components/{p-BmIllmq2.js → p-BwNW5nqj.js} +2 -2
- package/dist/components/{p-CzdE3M3g.js → p-C0L-VnSr.js} +2 -2
- package/dist/components/p-C2e7BkNn.js +2 -0
- package/dist/components/p-C2e7BkNn.js.map +1 -0
- package/dist/components/{p-BnuNaXR2.js → p-C4t7HnfZ.js} +2 -2
- package/dist/components/{p-C1ZfBbJ_.js → p-C7_awFtr.js} +2 -2
- package/dist/components/p-CCsxoztj.js +2 -0
- package/dist/components/{p-BuGlC5r8.js.map → p-CCsxoztj.js.map} +1 -1
- package/dist/components/{p-C378wwRj.js → p-CHyxUWqL.js} +2 -2
- package/dist/components/{p-d76Ry5nh.js → p-CKSJwSWd.js} +2 -2
- package/dist/components/p-CLqqb0Jp.js +2 -0
- package/dist/components/{p-CcwxySms.js.map → p-CLqqb0Jp.js.map} +1 -1
- package/dist/components/{p-C9H-3JOA.js → p-CRhoeCC8.js} +2 -2
- package/dist/components/p-CWc6Blcp.js +2 -0
- package/dist/components/{p-B95UP66y.js.map → p-CWc6Blcp.js.map} +1 -1
- package/dist/components/p-CXB_T13u.js +2 -0
- package/dist/components/{p-CNeDJTGX.js.map → p-CXB_T13u.js.map} +1 -1
- package/dist/components/{p-DZLtFn-r.js → p-CgC4SM5b.js} +2 -2
- package/dist/components/p-CqAC2IQO.js +2 -0
- package/dist/components/{p-5-gQbIIz.js.map → p-CqAC2IQO.js.map} +1 -1
- package/dist/components/{p--VQc5GDy.js → p-Cs8Gq-PZ.js} +2 -2
- package/dist/components/p-Ct2KQHF4.js +2 -0
- package/dist/components/{p-Df9S0aWi.js.map → p-Ct2KQHF4.js.map} +1 -1
- package/dist/components/{p-DYsRXun3.js → p-CvIHBa8S.js} +2 -2
- package/dist/components/{p-YC7UM4jH.js → p-D1tmszmN.js} +2 -2
- package/dist/components/{p-BlbfbYg6.js → p-D62yUMhr.js} +2 -2
- package/dist/components/{p-CgQB8Ct5.js → p-D9l0QBgN.js} +2 -2
- package/dist/components/{p-Dr5rkAhe.js → p-DGrSro-o.js} +2 -2
- package/dist/components/{p-BVxK8ce0.js → p-DKvHBXwn.js} +2 -2
- package/dist/components/p-D_xZ5SFL.js +2 -0
- package/dist/components/{p-bQE1NZVe.js.map → p-D_xZ5SFL.js.map} +1 -1
- package/dist/components/p-DdNJPBCS.js +2 -0
- package/dist/components/{p-a-cIN_BX.js.map → p-DdNJPBCS.js.map} +1 -1
- package/dist/components/p-DiPqdcD4.js +2 -0
- package/dist/components/{p-DPwptvZl.js.map → p-DiPqdcD4.js.map} +1 -1
- package/dist/components/p-Dkh_40bl.js +2 -0
- package/dist/components/p-Dkh_40bl.js.map +1 -0
- package/dist/components/p-DlCLfwP4.js +2 -0
- package/dist/components/p-DmgDVoDb.js +2 -0
- package/dist/components/{p-CXlklL-0.js.map → p-DmgDVoDb.js.map} +1 -1
- package/dist/components/{p-DXL5D30P.js → p-Du8LT8JS.js} +2 -2
- package/dist/components/p-DuCfCvPs.js +2 -0
- package/dist/components/p-DuCfCvPs.js.map +1 -0
- package/dist/components/{p-BuDxlhnQ.js → p-Dyjs8_Cl.js} +2 -2
- package/dist/components/{p-BYrBU_U9.js → p-HMDczkQf.js} +2 -2
- package/dist/components/p-LJXiEPw1.js +2 -0
- package/dist/components/{p-D9_iDlkT.js.map → p-LJXiEPw1.js.map} +1 -1
- package/dist/components/{p-CbCN9ew9.js → p-QGtBlTMt.js} +2 -2
- package/dist/components/{p-C35Tki38.js → p-UBQ5O7B-.js} +2 -2
- package/dist/components/{p-DVsGfz7J.js → p-dSNHIJz6.js} +2 -2
- package/dist/components/{p-B9y6azEw.js → p-eKnJNQtL.js} +2 -2
- package/dist/components/{p-sDm8BEMy.js → p-g2OUK8Z0.js} +2 -2
- package/dist/components/{p-DSmDyI2o.js → p-n_OBbh94.js} +2 -2
- package/dist/components/{p-BfVMaZZE.js → p-oBpjD9OA.js} +2 -2
- package/dist/components/p-pJ6gbwSa.js +2 -0
- package/dist/components/p-pJ6gbwSa.js.map +1 -0
- package/dist/components/{p-DfMTDFcE.js → p-v9Nhw5yM.js} +2 -2
- package/dist/docs/components.json +1067 -213
- package/dist/lint/index.js +1 -1
- package/dist/mcp-data/registry/agent-activity.json +1 -1
- package/dist/mcp-data/registry/agent-questionnaire.json +1 -1
- package/dist/mcp-data/registry/agent-response.json +1 -1
- package/dist/mcp-data/registry/agent-source-list.json +1 -1
- package/dist/mcp-data/registry/agent-tool-call.json +1 -1
- package/dist/mcp-data/registry/attachment-list.json +1 -1
- package/dist/mcp-data/registry/avatar.json +1 -1
- package/dist/mcp-data/registry/badge.json +1 -1
- package/dist/mcp-data/registry/banner.json +1 -1
- package/dist/mcp-data/registry/bar-action.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/bar-title.json +1 -1
- package/dist/mcp-data/registry/bar-workflow.json +1 -1
- package/dist/mcp-data/registry/breadcrumb.json +1 -1
- package/dist/mcp-data/registry/button-filled.json +1 -1
- package/dist/mcp-data/registry/button-inverted.json +1 -1
- package/dist/mcp-data/registry/button-unfilled.json +1 -1
- package/dist/mcp-data/registry/calendar.json +1 -1
- package/dist/mcp-data/registry/card-action-center.json +1 -1
- package/dist/mcp-data/registry/card-chart.json +1 -1
- package/dist/mcp-data/registry/card-navigation.json +1 -1
- package/dist/mcp-data/registry/card-overview.json +1 -1
- package/dist/mcp-data/registry/card-setting.json +1 -1
- package/dist/mcp-data/registry/card-settings-scope.json +1 -1
- package/dist/mcp-data/registry/chart-legend.json +1 -1
- package/dist/mcp-data/registry/chart.json +1 -1
- package/dist/mcp-data/registry/checkbox-group.json +1 -1
- package/dist/mcp-data/registry/checkbox.json +1 -1
- package/dist/mcp-data/registry/chip.json +1 -1
- package/dist/mcp-data/registry/code-block.json +1 -1
- package/dist/mcp-data/registry/conversation-list-item.json +1 -1
- package/dist/mcp-data/registry/conversation-list-section.json +1 -1
- package/dist/mcp-data/registry/conversation-list.json +1 -1
- package/dist/mcp-data/registry/data-customize.json +1 -1
- package/dist/mcp-data/registry/data-filter.json +1 -1
- package/dist/mcp-data/registry/data-group.json +1 -1
- package/dist/mcp-data/registry/data-preferences.json +22 -6
- package/dist/mcp-data/registry/data-saved-views.json +1 -1
- package/dist/mcp-data/registry/data-search.json +1 -1
- package/dist/mcp-data/registry/data-sort.json +1 -1
- package/dist/mcp-data/registry/data-toolbar.json +1 -1
- package/dist/mcp-data/registry/divider.json +1 -1
- package/dist/mcp-data/registry/empty-state.json +1 -1
- package/dist/mcp-data/registry/field.json +1 -1
- package/dist/mcp-data/registry/filter-menu.json +1 -1
- package/dist/mcp-data/registry/icon.json +1 -1
- package/dist/mcp-data/registry/inline-banner-settings.json +1 -1
- 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/input.json +1 -1
- package/dist/mcp-data/registry/loader.json +1 -1
- package/dist/mcp-data/registry/map-cluster-marker.json +1 -1
- package/dist/mcp-data/registry/map-entity-marker.json +1 -1
- package/dist/mcp-data/registry/markdown.json +1 -1
- package/dist/mcp-data/registry/menu.json +31 -12
- package/dist/mcp-data/registry/message-actions.json +1 -1
- package/dist/mcp-data/registry/message-bubble.json +1 -1
- package/dist/mcp-data/registry/message-composer.json +1 -1
- package/dist/mcp-data/registry/message-scroller.json +1 -1
- package/dist/mcp-data/registry/message.json +1 -1
- package/dist/mcp-data/registry/mobile-bar-nav.json +1 -1
- package/dist/mcp-data/registry/mobile-header.json +1 -1
- package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
- package/dist/mcp-data/registry/mobile-sheet-nav.json +1 -1
- package/dist/mcp-data/registry/modal.json +1 -1
- package/dist/mcp-data/registry/navigation-tab-group.json +279 -0
- package/dist/mcp-data/registry/pagination.json +1 -1
- package/dist/mcp-data/registry/panel-nav.json +1 -1
- package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
- package/dist/mcp-data/registry/panel-tool-header.json +1 -1
- package/dist/mcp-data/registry/panel-tool-search.json +1 -1
- package/dist/mcp-data/registry/panel-tools.json +1 -1
- package/dist/mcp-data/registry/paper-texture.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 +378 -25
- package/dist/mcp-data/registry/score.json +1 -1
- package/dist/mcp-data/registry/scroll-overlay.json +1 -1
- package/dist/mcp-data/registry/select-toggle.json +351 -0
- package/dist/mcp-data/registry/select.json +1 -1
- package/dist/mcp-data/registry/setting-row-checkbox.json +1 -1
- package/dist/mcp-data/registry/setting-row-radio.json +1 -1
- package/dist/mcp-data/registry/setting-row-toggle.json +1 -1
- package/dist/mcp-data/registry/shell-app.json +1 -1
- package/dist/mcp-data/registry/shell-page.json +1 -1
- package/dist/mcp-data/registry/shell-tools.json +1 -1
- package/dist/mcp-data/registry/skeleton.json +1 -1
- package/dist/mcp-data/registry/slider.json +7 -6
- package/dist/mcp-data/registry/swatch-picker.json +1 -1
- package/dist/mcp-data/registry/switch.json +3 -3
- package/dist/mcp-data/registry/tab-group.json +15 -9
- package/dist/mcp-data/registry/table.json +80 -21
- package/dist/mcp-data/registry/tag.json +1 -1
- package/dist/mcp-data/registry/text.json +1 -1
- package/dist/mcp-data/registry/textarea.json +1 -1
- package/dist/mcp-data/registry/time-picker.json +1 -1
- package/dist/mcp-data/registry/toast.json +1 -1
- package/dist/mcp-data/registry/tooltip-chart.json +1 -1
- package/dist/mcp-data/registry/tooltip.json +1 -1
- package/dist/mcp-data/registry/typing-indicator.json +1 -1
- package/dist/react/components.d.ts +2 -0
- package/dist/react/components.js +2 -0
- package/dist/react/ds-menu.d.ts +2 -1
- package/dist/react/ds-menu.js +1 -0
- package/dist/react/ds-navigation-tab-group.d.ts +12 -0
- package/dist/react/ds-navigation-tab-group.js +12 -0
- package/dist/react/ds-select-toggle.d.ts +12 -0
- package/dist/react/ds-select-toggle.js +12 -0
- package/dist/styles/table.css +41 -0
- package/dist/types/components/DataPreferences/DataPreferences.d.ts +3 -0
- package/dist/types/components/Menu/Menu.d.ts +5 -1
- package/dist/types/components/Menu/menu-types.d.ts +36 -0
- package/dist/types/components/NavigationTabGroup/NavigationTabGroup.d.ts +16 -0
- package/dist/types/components/SelectToggle/SelectToggle.d.ts +46 -0
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/TabGroup/TabGroup.d.ts +2 -2
- package/dist/types/components/Table/Table.d.ts +14 -2
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Table/table-column-customizer.d.ts +23 -4
- package/dist/types/components/Table/table-layout-controller.d.ts +2 -1
- package/dist/types/components/Table/table-types.d.ts +3 -1
- package/dist/types/components.d.ts +279 -21
- package/dist/vue/components.d.ts +2 -0
- package/dist/vue/components.js +2 -0
- package/dist/vue/ds-data-preferences.js +1 -0
- package/dist/vue/ds-menu.js +2 -0
- package/dist/vue/ds-navigation-tab-group.d.ts +3 -0
- package/dist/vue/ds-navigation-tab-group.js +16 -0
- package/dist/vue/ds-select-toggle.d.ts +3 -0
- package/dist/vue/ds-select-toggle.js +19 -0
- package/dist/vue/ds-table.js +3 -0
- package/package.json +3 -3
- package/dist/components/p-5-gQbIIz.js +0 -2
- package/dist/components/p-7MwoWtTJ.js.map +0 -1
- package/dist/components/p-B95UP66y.js +0 -2
- package/dist/components/p-BLeHHoVb.js +0 -2
- package/dist/components/p-BLeHHoVb.js.map +0 -1
- package/dist/components/p-Bf-BphXP.js +0 -2
- package/dist/components/p-Bf-BphXP.js.map +0 -1
- package/dist/components/p-BuGlC5r8.js +0 -2
- package/dist/components/p-C5BBIDVm.js +0 -2
- package/dist/components/p-CE6MaXBg.js +0 -2
- package/dist/components/p-CE6MaXBg.js.map +0 -1
- package/dist/components/p-CNeDJTGX.js +0 -2
- package/dist/components/p-CXlklL-0.js +0 -2
- package/dist/components/p-CcwxySms.js +0 -2
- package/dist/components/p-D9_iDlkT.js +0 -2
- package/dist/components/p-DPwptvZl.js +0 -2
- package/dist/components/p-Da3aFRk2.js +0 -2
- package/dist/components/p-Df9S0aWi.js +0 -2
- package/dist/components/p-DvGrsLgt.js +0 -2
- package/dist/components/p-DvGrsLgt.js.map +0 -1
- package/dist/components/p-a-cIN_BX.js +0 -2
- package/dist/components/p-aD5cw_m2.js +0 -2
- package/dist/components/p-aD5cw_m2.js.map +0 -1
- package/dist/components/p-bQE1NZVe.js +0 -2
- package/dist/components/p-kDZ0sEII.js +0 -2
- package/dist/components/p-t2Ebn8si.js +0 -2
- package/dist/components/p-t2Ebn8si.js.map +0 -1
- /package/dist/components/{p--pJyciTI.js.map → p--_bPiNCd.js.map} +0 -0
- /package/dist/components/{p-UJMEz8_O.js.map → p-3SCy1PHa.js.map} +0 -0
- /package/dist/components/{p-kwS-vkau.js.map → p-5aZVNYQz.js.map} +0 -0
- /package/dist/components/{p-DKGW3gRa.js.map → p-AGqUGzNZ.js.map} +0 -0
- /package/dist/components/{p-BNarCFJZ.js.map → p-BKyE025p.js.map} +0 -0
- /package/dist/components/{p-S1Ct3FJV.js.map → p-BNN9KkXe.js.map} +0 -0
- /package/dist/components/{p-CwdRaJER.js.map → p-BWJb2rih.js.map} +0 -0
- /package/dist/components/{p-D8OWhnID.js.map → p-BbvAWFJA.js.map} +0 -0
- /package/dist/components/{p-BmIllmq2.js.map → p-BwNW5nqj.js.map} +0 -0
- /package/dist/components/{p-CzdE3M3g.js.map → p-C0L-VnSr.js.map} +0 -0
- /package/dist/components/{p-BnuNaXR2.js.map → p-C4t7HnfZ.js.map} +0 -0
- /package/dist/components/{p-C1ZfBbJ_.js.map → p-C7_awFtr.js.map} +0 -0
- /package/dist/components/{p-C378wwRj.js.map → p-CHyxUWqL.js.map} +0 -0
- /package/dist/components/{p-d76Ry5nh.js.map → p-CKSJwSWd.js.map} +0 -0
- /package/dist/components/{p-C9H-3JOA.js.map → p-CRhoeCC8.js.map} +0 -0
- /package/dist/components/{p-DZLtFn-r.js.map → p-CgC4SM5b.js.map} +0 -0
- /package/dist/components/{p--VQc5GDy.js.map → p-Cs8Gq-PZ.js.map} +0 -0
- /package/dist/components/{p-DYsRXun3.js.map → p-CvIHBa8S.js.map} +0 -0
- /package/dist/components/{p-YC7UM4jH.js.map → p-D1tmszmN.js.map} +0 -0
- /package/dist/components/{p-BlbfbYg6.js.map → p-D62yUMhr.js.map} +0 -0
- /package/dist/components/{p-CgQB8Ct5.js.map → p-D9l0QBgN.js.map} +0 -0
- /package/dist/components/{p-Dr5rkAhe.js.map → p-DGrSro-o.js.map} +0 -0
- /package/dist/components/{p-BVxK8ce0.js.map → p-DKvHBXwn.js.map} +0 -0
- /package/dist/components/{p-kDZ0sEII.js.map → p-DlCLfwP4.js.map} +0 -0
- /package/dist/components/{p-DXL5D30P.js.map → p-Du8LT8JS.js.map} +0 -0
- /package/dist/components/{p-BuDxlhnQ.js.map → p-Dyjs8_Cl.js.map} +0 -0
- /package/dist/components/{p-BYrBU_U9.js.map → p-HMDczkQf.js.map} +0 -0
- /package/dist/components/{p-CbCN9ew9.js.map → p-QGtBlTMt.js.map} +0 -0
- /package/dist/components/{p-C35Tki38.js.map → p-UBQ5O7B-.js.map} +0 -0
- /package/dist/components/{p-DVsGfz7J.js.map → p-dSNHIJz6.js.map} +0 -0
- /package/dist/components/{p-B9y6azEw.js.map → p-eKnJNQtL.js.map} +0 -0
- /package/dist/components/{p-sDm8BEMy.js.map → p-g2OUK8Z0.js.map} +0 -0
- /package/dist/components/{p-DSmDyI2o.js.map → p-n_OBbh94.js.map} +0 -0
- /package/dist/components/{p-BfVMaZZE.js.map → p-oBpjD9OA.js.map} +0 -0
- /package/dist/components/{p-DfMTDFcE.js.map → p-v9Nhw5yM.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["MODIFIER_GLYPHS","Set","MODIFIER_LABELS","alt","cmd","command","control","ctrl","option","shift","canonicalKeyLabel","label","toLowerCase","shortcutKeyLabels","shortcut","normalized","trim","includes","split","map","part","filter","Boolean","test","characters","Array","from","labels","length","has","push","join","tooltipCss","FALLBACK_HEIGHT","md","TOKEN_DEFAULTS","size400","sm","size300","xs","size200","lastDismissedAt","tooltipIdCounter","activeTooltip","createDsText","opts","el","document","createElement","as","variant","emphasis","color","wrap","textContent","text","styleTooltipLabel","wrapLabel","style","flexShrink","minWidth","maxWidth","whiteSpace","padding","Tooltip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","size","side","align","sideOffset","TOKEN_CSS_LENGTHS","space050","alignOffset","delay","animationDelayMedium3","shortcutKeyPosition","describedBy","tooltipId","delayTimer","closeTimer","anchor","popupEl","anchorObserver","didLoad","position","AnchoredPositionController","getAnchor","getPopup","getOwnerDocument","ownerDocument","measure","tip","anchorRect","getBoundingClientRect","popupWidth","offsetWidth","tooltipFallbackWidthPx","popupHeight","offsetHeight","tooltipFallbackHeightPx","sideOffsetPx","alignOffsetPx","viewportPadPx","viewportWidth","window","innerWidth","viewportHeight","innerHeight","collisionRect","resolveAnchoredOverlayBoundaryRect","boundary","apply","x","y","resolvedSide","dataset","transform","Math","round","liveUpdate","observeResize","skipEnterAnimation","isOpen","programmaticAnchor","lastInteractionWasKeyboard","pointerEnterHandler","event","pointerType","show","pointerLeaveHandler","hide","pointerDownHandler","hideInstant","keyDownHandler","focusHandler","matches","blurHandler","e","next","relatedTarget","contains","escapeHandler","key","preventDefault","handleSlotChange","slot","querySelector","assignedElements","firstElementChild","tagName","unbindAnchor","bindAnchor","connectedCallback","connectAnchor","componentDidLoad","MutationObserver","observe","childList","disconnectedCallback","disconnect","clearTimers","destroyPopup","onContentOrPositionChange","renderPopupContent","schedulePosition","resolveCssLengthPx","hoverDelayMs","resolveCssTimeMs","instantReopenMs","animationDurationMedium1","fadeOutMs","resolveMotionTimeMs","motionShort3","animationDurationShort3","tooltipFallbackWidth","token","presentFrom","sameAnchor","linkDescribedBy","dismiss","slotted","child","addEventListener","unlinkDescribedBy","removeEventListener","ids","getAttribute","add","setAttribute","id","removeAttribute","clearTimeout","setupOpenListeners","teardownOpenListeners","unobserve","remove","reapplyLabelStyles","requestAnimationFrame","update","observeResizeTargets","Date","now","instant","mountPopup","setTimeout","classList","className","Object","assign","left","top","zIndex","pointerEvents","body","appendChild","toggle","textVariant","CONTROL_TEXT_VARIANT","density","sc","inner","appendShortcut","shortcutKey","group","hint","wide","replaceChildren","render","h","Host","display","onSlotchange"],"sources":["src/wc/utils/shortcut-key.ts","src/wc/components/Tooltip/Tooltip.css?tag=ds-tooltip&encapsulation=scoped","src/wc/components/Tooltip/Tooltip.tsx"],"sourcesContent":["const MODIFIER_GLYPHS = new Set(['⌘', '⇧', '⌥', '⌃']);\nconst MODIFIER_LABELS: Readonly<Record<string, string>> = {\n alt: '⌥',\n cmd: '⌘',\n command: '⌘',\n control: '⌃',\n ctrl: '⌃',\n option: '⌥',\n shift: '⇧',\n};\n\nfunction canonicalKeyLabel(label: string): string {\n return MODIFIER_LABELS[label.toLowerCase()] ?? label;\n}\n\n/** Split a shortcut chord into the labels rendered on individual keycaps. */\nexport function shortcutKeyLabels(shortcut: string): string[] {\n const normalized = shortcut.trim();\n if (!normalized) return [];\n\n if (normalized.includes('+')) {\n return normalized\n .split('+')\n .map(part => part.trim())\n .filter(Boolean)\n .map(canonicalKeyLabel);\n }\n\n if (/\\s/.test(normalized)) {\n return normalized.split(/\\s+/).filter(Boolean).map(canonicalKeyLabel);\n }\n\n const characters = Array.from(normalized);\n const labels: string[] = [];\n while (characters.length > 1 && MODIFIER_GLYPHS.has(characters[0])) {\n labels.push(characters.shift()!);\n }\n labels.push(characters.join(''));\n return labels;\n}\n","@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/key-hint.css';\n@import '../../utils/forced-colors.css';\n\n.tooltip-popup {\n box-sizing: border-box;\n background-color: var(--color-background-primary);\n border-radius: var(--ds-radius-tooltip-control, var(--dimension-radius-025));\n box-shadow: var(--effect-elevation-elevated-floating);\n white-space: nowrap;\n pointer-events: none;\n animation: tooltipFadeIn var(--effect-motion-short-2) forwards;\n will-change: transform;\n backface-visibility: hidden;\n}\n\n/* Warm handoff between nearby triggers — no enter fade (avoids 20–100ms lag). */\n.tooltip-popup--instant {\n animation: none;\n opacity: 1;\n}\n\n.tooltip-popup--closing {\n animation: tooltipFadeOut var(--effect-motion-short-3) forwards;\n}\n\n/* Density: md / sm / xs via `.ds-control--*` on `.tooltip-inner`. */\n.tooltip-inner {\n box-sizing: border-box;\n height: var(--ds-control-height, var(--dimension-size-400));\n display: flex;\n align-items: center;\n gap: var(--ds-control-gap, var(--dimension-space-050));\n padding: 0 var(--ds-control-padding-inline, var(--dimension-space-075));\n}\n\n/*\n * Label layout lives on ds-text (metric-box + control label-inset).\n * NOTE: Stencil scopes this to `ds-text.sc-ds-tooltip`, but portaled\n * createElement ds-text loses that class when Text's <Host class> renders.\n * `renderPopupContent` therefore also sets these as inline styles.\n */\n.tooltip-inner > ds-text {\n flex-shrink: 0;\n min-width: max-content;\n max-width: none;\n padding: 0 var(--ds-control-label-inset, var(--dimension-space-025));\n color: var(--color-foreground-primary);\n}\n\n.tooltip-popup--wrap {\n white-space: normal;\n max-inline-size: var(--dimension-panel-width-xs);\n}\n\n.tooltip-popup--wrap .tooltip-inner {\n height: auto;\n min-height: var(--ds-control-height, var(--dimension-size-400));\n padding-block: var(--dimension-space-050);\n align-items: flex-start;\n}\n\n.tooltip-popup--wrap .tooltip-inner > ds-text {\n flex: 1 1 auto;\n min-width: 0;\n max-width: 100%;\n white-space: pre-line;\n}\n\n@keyframes tooltipFadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes tooltipFadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .tooltip-popup,\n .tooltip-popup--instant {\n animation: none;\n opacity: 1;\n }\n\n .tooltip-popup--closing {\n animation: none;\n opacity: 0;\n }\n}\n\n@media (forced-colors: active) {\n .tooltip-popup {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import { Component, Prop, Element, Method, Watch, h, Host } from '@stencil/core';\nimport {\n CONTROL_TEXT_VARIANT,\n resolveCssLengthPx,\n resolveCssTimeMs,\n resolveMotionTimeMs,\n TOKEN_CSS_LENGTHS,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport type { TextVariant } from '../Text/text-types';\nimport { shortcutKeyLabels } from '../../utils/shortcut-key';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport {\n resolveAnchoredOverlayBoundaryRect,\n type AnchoredOverlayBoundary,\n} from '../../utils/anchored-overlay-boundary';\n// Side-effect: register `ds-text` — the portal builds it via createElement, not JSX.\nimport '../Text/Text';\n\nexport type TooltipSide = 'top' | 'right' | 'bottom' | 'left';\nexport type TooltipAlign = 'start' | 'center' | 'end';\nexport type TooltipSize = 'md' | 'sm' | 'xs';\n\nconst FALLBACK_HEIGHT: Record<TooltipSize, string> = {\n md: TOKEN_DEFAULTS.size400,\n sm: TOKEN_DEFAULTS.size300,\n xs: TOKEN_DEFAULTS.size200,\n};\n\nlet lastDismissedAt = 0;\nlet tooltipIdCounter = 0;\n/** Currently open tooltip — force-cleared on warm handoff so tips don't cross-fade. */\nlet activeTooltip: Tooltip | null = null;\n\ntype DsTextEl = HTMLElement & {\n as: string;\n variant: TextVariant;\n emphasis: boolean;\n color: string;\n wrap: string;\n};\n\nfunction createDsText(opts: {\n variant: TextVariant;\n emphasis?: boolean;\n color?: string;\n wrap?: 'wrap' | 'nowrap' | 'balance' | 'pretty';\n text: string;\n}): DsTextEl {\n const el = document.createElement('ds-text') as DsTextEl;\n el.as = 'span';\n el.variant = opts.variant;\n el.emphasis = opts.emphasis ?? false;\n el.color = opts.color ?? 'inherit';\n if (opts.wrap) el.wrap = opts.wrap;\n el.textContent = opts.text;\n return el;\n}\n\n/**\n * Control-density label styles for portaled ds-text.\n * Scoped CSS requires `sc-ds-tooltip` on the host, but Text's `<Host class>`\n * overwrites imperative className — so these must be inline to stick.\n */\nfunction styleTooltipLabel(el: HTMLElement, wrapLabel = false) {\n el.style.flexShrink = wrapLabel ? '1' : '0';\n el.style.minWidth = wrapLabel ? '0' : 'max-content';\n el.style.maxWidth = wrapLabel ? '100%' : 'none';\n el.style.whiteSpace = wrapLabel ? 'pre-line' : '';\n el.style.padding = '0 var(--ds-control-label-inset, var(--dimension-space-025))';\n el.style.color = 'var(--color-foreground-primary)';\n}\n\n/**\n * Imperative body portal for the popup.\n * Stencil must not own the portaled node — moving a VDOM child to `document.body`\n * causes recreate → re-portal → @State loops that freeze the page.\n */\n@Component({\n tag: 'ds-tooltip',\n styleUrl: 'Tooltip.css',\n scoped: true,\n})\nexport class Tooltip {\n @Element() el!: HTMLElement;\n\n /**\n * Tooltip text. Empty/whitespace skips show — useful when the wrapper must stay\n * mounted for layout/animation stability (e.g. PanelNav expand/collapse).\n */\n @Prop() label!: string;\n\n /** Control density (height, padding, type). */\n @Prop() size: TooltipSize = 'md';\n\n @Prop() side: TooltipSide = 'top';\n @Prop() align: TooltipAlign = 'center';\n /** Gap between anchor and tooltip — number (px) or TokoMo length. */\n @Prop() sideOffset: number | string = TOKEN_CSS_LENGTHS.space050;\n /** Cross-axis offset — number (px) or TokoMo length. */\n @Prop() alignOffset: number | string = 0;\n /** Explicit collision owner, `viewport`, or the nearest data-ds-overlay-boundary ancestor. */\n @Prop() boundary: AnchoredOverlayBoundary | undefined;\n /**\n * Hover show delay before the tooltip appears.\n * Default: `--effect-animation-delay-medium-3` (1000ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Applies to the\n * initial hover/focus show only — after a recent dismiss, reopen is instant.\n * Prefer the default; override only for denser chrome or rare/destructive actions.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayMedium3;\n @Prop() shortcutKey: string | undefined;\n @Prop() shortcutKeyPosition: 'start' | 'end' = 'end';\n /**\n * Link the trigger with aria-describedby while the popup is open. Disable when\n * the label is already in the DOM, such as a truncated table cell.\n */\n @Prop() describedBy = true;\n /** Allow wrapping at a panel-xs max width and preserve explicit line breaks. */\n @Prop() wrapLabel = false;\n\n private tooltipId = `ds-tooltip-${++tooltipIdCounter}`;\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private anchor: HTMLElement | null = null;\n private popupEl: HTMLElement | null = null;\n private anchorObserver: MutationObserver | null = null;\n private didLoad = false;\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.anchor,\n getPopup: () => this.popupEl,\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchor, tip) => ({\n anchorRect: anchor.getBoundingClientRect(),\n // Fall back to token metrics until `ds-text` upgrades and reports a width.\n popupWidth: tip.offsetWidth || this.tooltipFallbackWidthPx,\n popupHeight: tip.offsetHeight || this.tooltipFallbackHeightPx,\n side: this.side,\n align: this.align,\n sideOffsetPx: this.sideOffsetPx,\n alignOffsetPx: this.alignOffsetPx,\n viewportPadPx: this.viewportPadPx,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect: resolveAnchoredOverlayBoundaryRect(anchor, this.boundary),\n }),\n apply: ({ x, y, resolvedSide }) => {\n if (!this.popupEl) return;\n this.popupEl.dataset.side = resolvedSide;\n this.popupEl.style.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;\n },\n liveUpdate: 'frame',\n observeResize: true,\n });\n private skipEnterAnimation = false;\n private isOpen = false;\n private programmaticAnchor = false;\n private lastInteractionWasKeyboard = false;\n private pointerEnterHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.show();\n };\n private pointerLeaveHandler = (event: PointerEvent) => {\n if (event.pointerType === 'touch') return;\n this.hide();\n };\n private pointerDownHandler = (event: PointerEvent) => {\n this.lastInteractionWasKeyboard = false;\n if (event.pointerType === 'touch' && (this.isOpen || this.popupEl)) this.hideInstant();\n };\n private keyDownHandler = () => {\n this.lastInteractionWasKeyboard = true;\n };\n /** focusin/focusout so nested focus targets (e.g. ds-button-* inner button) still open the tip. */\n private focusHandler = () => {\n if (this.lastInteractionWasKeyboard || this.anchor?.matches(':focus-visible')) this.show();\n };\n private blurHandler: (e: FocusEvent) => void = e => {\n const next = e.relatedTarget as Node | null;\n if (next && this.anchor?.contains(next)) return;\n this.hide();\n };\n private escapeHandler = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || !this.isOpen) return;\n event.preventDefault();\n this.hide();\n };\n\n connectedCallback() {\n if (!this.didLoad) return;\n this.connectAnchor();\n }\n\n componentDidLoad() {\n this.didLoad = true;\n this.connectAnchor();\n }\n\n private connectAnchor() {\n this.bindAnchor();\n if (this.anchorObserver) return;\n this.anchorObserver = new MutationObserver(() => this.handleSlotChange());\n this.anchorObserver.observe(this.el, { childList: true });\n }\n\n disconnectedCallback() {\n if (activeTooltip === this) activeTooltip = null;\n this.anchorObserver?.disconnect();\n this.anchorObserver = null;\n this.unbindAnchor();\n this.clearTimers();\n this.destroyPopup();\n }\n\n @Watch('label')\n @Watch('size')\n @Watch('side')\n @Watch('align')\n @Watch('sideOffset')\n @Watch('alignOffset')\n @Watch('boundary')\n @Watch('shortcutKey')\n @Watch('shortcutKeyPosition')\n @Watch('wrapLabel')\n onContentOrPositionChange() {\n if (!this.label?.trim()) {\n if (this.isOpen || this.popupEl) this.hideInstant();\n return;\n }\n if (!this.popupEl || !this.isOpen) return;\n this.renderPopupContent();\n this.schedulePosition();\n }\n\n private get viewportPadPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.space050, TOKEN_DEFAULTS.space050);\n }\n\n private get sideOffsetPx(): number {\n return resolveCssLengthPx(this.sideOffset, TOKEN_DEFAULTS.space050);\n }\n\n private get alignOffsetPx(): number {\n return resolveCssLengthPx(this.alignOffset, 0);\n }\n\n private get hoverDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayMedium3);\n }\n\n private get instantReopenMs(): number {\n return resolveCssTimeMs(\n TOKEN_DEFAULTS.animationDurationMedium1,\n TOKEN_DEFAULTS.animationDurationMedium1\n );\n }\n\n private get fadeOutMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort3, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private get tooltipFallbackWidthPx(): number {\n return resolveCssLengthPx(\n TOKEN_DEFAULTS.tooltipFallbackWidth,\n TOKEN_DEFAULTS.tooltipFallbackWidth\n );\n }\n\n private get tooltipFallbackHeightPx(): number {\n const token = FALLBACK_HEIGHT[this.size];\n return resolveCssLengthPx(token, token);\n }\n\n /**\n * Present against an external anchor the host already measured.\n * Does not bind hover or focus on that anchor — the owner drives show/hide.\n */\n @Method()\n async presentFrom(anchor: HTMLElement, label?: string) {\n if (label != null) this.label = label;\n if (!this.label?.trim()) {\n this.hide();\n return;\n }\n const sameAnchor = this.anchor === anchor;\n if (!sameAnchor) {\n this.unbindAnchor();\n this.anchor = anchor;\n this.programmaticAnchor = true;\n if (this.popupEl && this.describedBy) this.linkDescribedBy();\n }\n if (this.popupEl) {\n this.renderPopupContent();\n this.schedulePosition();\n return;\n }\n if (this.delayTimer && sameAnchor) return;\n this.show();\n }\n\n /** Dismiss a popup opened through presentFrom or the slotted trigger. */\n @Method()\n async dismiss() {\n this.hide();\n }\n\n private bindAnchor() {\n if (this.programmaticAnchor) return;\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const slotted = slot?.assignedElements?.() ?? [];\n const child = (slotted[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (!child || child.tagName === 'SLOT' || child === this.anchor) return;\n this.anchor = child;\n child.addEventListener('pointerenter', this.pointerEnterHandler);\n child.addEventListener('pointerleave', this.pointerLeaveHandler);\n child.addEventListener('pointerdown', this.pointerDownHandler);\n child.addEventListener('keydown', this.keyDownHandler);\n child.addEventListener('focusin', this.focusHandler);\n child.addEventListener('focusout', this.blurHandler);\n }\n\n private unbindAnchor() {\n if (!this.anchor) return;\n this.unlinkDescribedBy();\n if (!this.programmaticAnchor) {\n this.anchor.removeEventListener('pointerenter', this.pointerEnterHandler);\n this.anchor.removeEventListener('pointerleave', this.pointerLeaveHandler);\n this.anchor.removeEventListener('pointerdown', this.pointerDownHandler);\n this.anchor.removeEventListener('keydown', this.keyDownHandler);\n this.anchor.removeEventListener('focusin', this.focusHandler);\n this.anchor.removeEventListener('focusout', this.blurHandler);\n }\n this.anchor = null;\n this.programmaticAnchor = false;\n }\n\n private linkDescribedBy() {\n if (!this.describedBy || !this.anchor || !this.popupEl) return;\n const ids = new Set(\n (this.anchor.getAttribute('aria-describedby') ?? '').split(/\\s+/).filter(Boolean)\n );\n ids.add(this.tooltipId);\n this.anchor.setAttribute('aria-describedby', Array.from(ids).join(' '));\n }\n\n private unlinkDescribedBy() {\n if (!this.anchor) return;\n const ids = (this.anchor.getAttribute('aria-describedby') ?? '')\n .split(/\\s+/)\n .filter(id => id && id !== this.tooltipId);\n if (ids.length) this.anchor.setAttribute('aria-describedby', ids.join(' '));\n else this.anchor.removeAttribute('aria-describedby');\n }\n\n private handleSlotChange = () => {\n if (this.programmaticAnchor) return;\n const slot = this.el.querySelector('slot') as HTMLSlotElement | null;\n const next = (slot?.assignedElements?.()[0] ?? this.el.firstElementChild) as HTMLElement | null;\n if (next === this.anchor || next?.tagName === 'SLOT') return;\n if (this.isOpen || this.popupEl) this.hideInstant();\n this.unbindAnchor();\n this.bindAnchor();\n };\n\n private clearTimers() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private setupOpenListeners() {\n // Binds scroll/resize + the resize observer; placement itself is scheduled\n // by schedulePosition() so the label restyle stays interleaved.\n this.position.observe();\n document.addEventListener('keydown', this.escapeHandler);\n }\n\n private teardownOpenListeners() {\n this.position.unobserve();\n document.removeEventListener('keydown', this.escapeHandler);\n }\n\n private destroyPopup() {\n this.teardownOpenListeners();\n this.unlinkDescribedBy();\n if (!this.popupEl) return;\n this.popupEl.remove();\n this.popupEl = null;\n }\n\n /**\n * Position after `ds-text` upgrades and lays out. Measuring synchronously in\n * `mountPopup` reads a collapsed/fallback width and places left/right tips wrong.\n */\n private schedulePosition() {\n if (!this.popupEl) return;\n\n const reapplyLabelStyles = () => {\n const label = this.popupEl?.querySelector(':scope > .tooltip-inner > ds-text');\n if (label instanceof HTMLElement) styleTooltipLabel(label, this.wrapLabel);\n };\n\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.position.update();\n requestAnimationFrame(() => {\n reapplyLabelStyles();\n this.position.update();\n });\n });\n\n // The popup remounts on every show, so re-target the observer bound in start().\n this.position.observeResizeTargets();\n }\n\n /** Drop the open tip immediately (warm handoff to another tooltip). */\n private hideInstant() {\n this.clearTimers();\n lastDismissedAt = Date.now();\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }\n\n private show() {\n // Empty label = wrapper present for DOM stability (e.g. PanelNav expand/collapse)\n // but no tip should appear.\n if (!this.label?.trim()) return;\n this.clearTimers();\n let instant = Date.now() - lastDismissedAt < this.instantReopenMs;\n if (activeTooltip && activeTooltip !== this) {\n activeTooltip.hideInstant();\n instant = true;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias -- module singleton tracks the active instance\n activeTooltip = this;\n this.skipEnterAnimation = instant;\n if (instant) {\n this.mountPopup();\n return;\n }\n this.delayTimer = setTimeout(() => {\n this.delayTimer = null;\n if (!this.label?.trim()) return;\n this.mountPopup();\n }, this.hoverDelayMs);\n }\n\n private hide() {\n this.clearTimers();\n if (!this.popupEl && !this.isOpen) return;\n lastDismissedAt = Date.now();\n if (!this.popupEl) {\n this.isOpen = false;\n return;\n }\n this.popupEl.classList.remove('tooltip-popup--instant');\n this.popupEl.classList.add('tooltip-popup--closing');\n if (this.fadeOutMs === 0) {\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n if (activeTooltip === this) activeTooltip = null;\n this.destroyPopup();\n this.isOpen = false;\n this.skipEnterAnimation = false;\n }, this.fadeOutMs);\n }\n\n private mountPopup() {\n if (!this.popupEl) {\n const tip = document.createElement('div');\n tip.id = this.tooltipId;\n tip.setAttribute('role', 'tooltip');\n // `sc-ds-tooltip` is required for Stencil scoped CSS to match outside the host.\n tip.className = 'tooltip-popup ds-forced-colors-scope sc-ds-tooltip';\n Object.assign(tip.style, {\n position: 'fixed',\n left: '0',\n top: '0',\n zIndex: 'var(--dimension-z-index-tooltip)',\n pointerEvents: 'none',\n });\n document.body.appendChild(tip);\n this.popupEl = tip;\n }\n\n this.setupOpenListeners();\n this.linkDescribedBy();\n this.popupEl.classList.toggle('tooltip-popup--instant', this.skipEnterAnimation);\n this.popupEl.classList.toggle('tooltip-popup--wrap', this.wrapLabel);\n this.popupEl.classList.remove('tooltip-popup--closing');\n this.renderPopupContent();\n this.schedulePosition();\n this.isOpen = true;\n }\n\n private renderPopupContent() {\n if (!this.popupEl) return;\n this.popupEl.classList.toggle('tooltip-popup--wrap', this.wrapLabel);\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const density =\n this.size === 'md'\n ? 'ds-control--md'\n : this.size === 'sm'\n ? 'ds-control--sm'\n : 'ds-control--xs';\n // Every layout node needs `sc-ds-tooltip` so scoped selectors (`.foo.sc-ds-tooltip`) match.\n const sc = 'sc-ds-tooltip';\n\n const inner = document.createElement('div');\n inner.className = `tooltip-inner ${density} ${sc}`;\n\n const appendShortcut = (position: 'start' | 'end') => {\n if (!this.shortcutKey || this.shortcutKeyPosition !== position) return;\n const group = document.createElement('span');\n group.className = `key-hint-group ${sc}`;\n group.setAttribute('aria-hidden', 'true');\n\n for (const label of shortcutKeyLabels(this.shortcutKey)) {\n const hint = document.createElement('span');\n const wide = Array.from(label).length > 1 ? ' key-hint--wide' : '';\n hint.className = `key-hint${wide} ${sc}`;\n const text = document.createElement('span');\n text.className = `key-hint__label ${sc}`;\n text.textContent = label;\n hint.appendChild(text);\n group.appendChild(hint);\n }\n inner.appendChild(group);\n };\n\n appendShortcut('start');\n\n // ds-text is the layout box (metric-box + 2px control label-inset).\n // Inline styles required — see styleTooltipLabel.\n const label = createDsText({\n variant: textVariant,\n wrap: this.wrapLabel ? 'wrap' : 'nowrap',\n text: this.label,\n });\n styleTooltipLabel(label, this.wrapLabel);\n inner.appendChild(label);\n\n appendShortcut('end');\n\n this.popupEl.replaceChildren(inner);\n }\n\n render() {\n return (\n <Host style={{ display: 'contents' }}>\n <slot onSlotchange={this.handleSlotChange} />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as o,H as i,c as e,h as s,a as t,t as r}from"./index.js";import{A as a,r as d}from"./p-CE6MaXBg.js";import{C as n}from"./p-DlsjHRU3.js";import{A as c}from"./p-CwUXroLs.js";import{b as l,d as u,C as p}from"./p-CNeDJTGX.js";import{d as h}from"./p-CwdRaJER.js";import{d as g}from"./p-BLeHHoVb.js";import{d as f}from"./p-DfMTDFcE.js";import{d as v}from"./p-D_iZPukF.js";import{d as m}from"./p-5-gQbIIz.js";import{d as b}from"./p-pPtjNRqC.js";import{d as x}from"./p-0XTyQNRG.js";import{d as w}from"./p-D8OWhnID.js";import{d as y}from"./p-DvGrsLgt.js";import{r as _}from"./p-ioGH5SoA.js";import{r as k}from"./p-DhKvqh5G.js";import{b as z,T as C,a as j}from"./p-CeXf9-X3.js";const D=()=>`.sc-ds-data-group-h,.sc-ds-data-group:where(.ds-table),.sc-ds-data-group:where(.tooltip-popup),.sc-ds-data-group: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)}@media (forced-colors: active){.sc-ds-data-group:root,.sc-ds-data-group-h,.ds-forced-colors-scope.sc-ds-data-group{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-data-group-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-data-group-h,.ds-focus-ring.sc-ds-data-group,.ds-focus-ring-inset.sc-ds-data-group-h,.ds-focus-ring-inset.sc-ds-data-group{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-data-group-h:focus-visible,.ds-focus-ring.sc-ds-data-group:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-data-group-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-data-group{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-data-group-h:focus-visible,.ds-focus-ring-inset.sc-ds-data-group:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-data-group-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-data-group:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-group-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-group{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-group-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-data-group::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-data-group-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-data-group:root,.sc-ds-data-group-h,.ds-forced-colors-scope.sc-ds-data-group{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}@media (forced-colors: active){.sc-ds-data-group:root,.sc-ds-data-group-h,.ds-forced-colors-scope.sc-ds-data-group{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-data-group-h,.ds-interaction-fill.sc-ds-data-group{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent;--ds-interaction-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-data-group-h::before,.ds-interaction-fill.sc-ds-data-group::before,.ds-interaction-fill.sc-ds-data-group-h::after,.ds-interaction-fill.sc-ds-data-group::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-data-group-h::before,.ds-interaction-fill.sc-ds-data-group::before{z-index:1}.ds-interaction-fill.sc-ds-data-group-h::after,.ds-interaction-fill.sc-ds-data-group::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-data-group-h,.ds-interaction-fill--bordered.sc-ds-data-group{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-data-group-h::before,.ds-interaction-fill--selected.sc-ds-data-group::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-data-group-h,.ds-interaction-fill--selected.sc-ds-data-group{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-data-group-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-data-group:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-data-group-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-data-group:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-data-group-h::after,.ds-interaction-fill--grouped.sc-ds-data-group::after,.ds-interaction-fill--grouped.sc-ds-data-group-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-data-group:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-data-group-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-data-group:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-data-group-h,.ds-interaction-fill--grouped.sc-ds-data-group{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-data-group-h>.ds-interaction-fill__content.sc-ds-data-group,.ds-interaction-fill.sc-ds-data-group>.ds-interaction-fill__content.sc-ds-data-group,.ds-interaction-fill__content.sc-ds-data-group{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-data-group-h,.ds-interaction-fill--on-faint.sc-ds-data-group{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-data-group-h,.ds-interaction-fill--on-medium.sc-ds-data-group{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-data-group-h,.ds-interaction-fill--on-bold.sc-ds-data-group{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-data-group-h,.ds-interaction-fill--on-strong.sc-ds-data-group{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-data-group-h,.ds-interaction-fill--on-translucent.sc-ds-data-group{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-data-group-h,.ds-interaction-fill--on-inverted.sc-ds-data-group{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-data-group-h,.ds-interaction-fill--on-media.sc-ds-data-group{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-data-group-h,.ds-interaction-fill--on-always-dark.sc-ds-data-group{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-data-group-h,.ds-interaction-fill--on-chrome.sc-ds-data-group{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-data-group-h,.ds-interaction-fill--on-navigation.sc-ds-data-group{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-data-group-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-data-group:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-data-group-h::after,.ds-interaction-fill.sc-ds-data-group::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-data-group-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-data-group:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-data-group-h::before,.ds-interaction-fill--selected.sc-ds-data-group::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-data-group-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-data-group:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-data-group:root,.sc-ds-data-group-h,.ds-forced-colors-scope.sc-ds-data-group{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-control-inactive.sc-ds-data-group-h,.ds-control-inactive.sc-ds-data-group{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-data-group-h,.ds-control-inactive.sc-ds-data-group{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-data-group,.ds-control--lg.sc-ds-data-group-h,.ds-control--md.sc-ds-data-group-h,.ds-control--md.sc-ds-data-group,.ds-control--sm.sc-ds-data-group-h,.ds-control--sm.sc-ds-data-group,.ds-control--xs.sc-ds-data-group-h,.ds-control--xs.sc-ds-data-group{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-data-group-h,.ds-control--lg.sc-ds-data-group{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-data-group-h,.ds-control--md.sc-ds-data-group{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-data-group-h,.ds-control--sm.sc-ds-data-group{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-data-group-h,.ds-control--xs.sc-ds-data-group{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-space--sm.sc-ds-data-group-h,.ds-chrome-space--sm.sc-ds-data-group{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-data-group-h,.ds-chrome-space--md.sc-ds-data-group{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-data-group-h,.ds-chrome-space--lg.sc-ds-data-group{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-data-group-h,.ds-chrome-row.sc-ds-data-group,.ds-chrome-column.sc-ds-data-group-h,.ds-chrome-column.sc-ds-data-group,.ds-chrome-grid.sc-ds-data-group-h,.ds-chrome-grid.sc-ds-data-group{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-data-group-h,.ds-chrome-row.sc-ds-data-group{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-data-group-h,.ds-chrome-column.sc-ds-data-group{flex-direction:column}.ds-chrome-grid.sc-ds-data-group-h,.ds-chrome-grid.sc-ds-data-group{display:grid;align-items:center}.ds-control-frame.sc-ds-data-group{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-data-group{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-data-group{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-data-group{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-data-group{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-data-group{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-empty-region.sc-ds-data-group{display:flex;flex:1 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:0}.ds-empty-region--padded.sc-ds-data-group{padding:var(--dimension-space-200)}.sc-ds-data-group:where(.ds-text-decoration,.ds-text-action).sc-ds-data-group{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-data-group{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-data-group{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-data-group{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-data-group{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-data-group:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-data-group{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-choice-popup.sc-ds-data-group{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--ds-choice-popup-min-inline-size, var(--dimension-menu-width-xs));max-width:min(var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--ds-radius-menu);box-shadow:var(--effect-shadow-elevated-floating);color:var(--color-foreground-secondary);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-data-group::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-data-group{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-data-group{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-data-group{opacity:0}}@media (forced-colors: active){.ds-choice-popup.sc-ds-data-group{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}.ds-choice-popup.sc-ds-data-group::after{box-shadow:none}}.ds-choice-list.sc-ds-data-group{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section--divided.sc-ds-data-group{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-data-group{text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-section--headed-after-first.sc-ds-data-group{margin-block-start:var(--dimension-space-050)}.select-option-row.sc-ds-data-group{display:flex;flex-direction:column;min-width:0}.ds-choice-item.sc-ds-data-group{width:100%;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent;cursor:default;-webkit-user-select:none;user-select:none;text-align:left;color:inherit}.ds-choice-item.sc-ds-data-group:has(.ds-choice-item__subtext){height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));align-items:flex-start}.ds-choice-item.ds-control--xs.sc-ds-data-group:has(.ds-choice-item__subtext){padding-block:0}.ds-choice-item__content.sc-ds-data-group{display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}ds-text.ds-choice-item__label.sc-ds-data-group{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ds-text.ds-choice-item__subtext.sc-ds-data-group{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ds-choice-item__icon.sc-ds-data-group,.ds-choice-item__suffix.sc-ds-data-group{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.ds-choice-item.ds-interaction-fill--selected.sc-ds-data-group .ds-choice-item__icon.sc-ds-data-group{color:var(--color-foreground-primary)}.ds-choice-item__tag.sc-ds-data-group{flex-shrink:0;pointer-events:none}.ds-choice-empty.sc-ds-data-group,.ds-choice-loading.sc-ds-data-group{min-height:var(--dimension-size-600);padding:var(--dimension-space-100)}.ds-choice-footer.sc-ds-data-group{position:relative;box-sizing:border-box;padding-block:var(--dimension-space-050)}.ds-choice-footer.sc-ds-data-group::before{content:'';position:absolute;inset:0 0 auto;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.ds-choice-footer__content.sc-ds-data-group{display:flex;align-items:center;justify-content:space-between;column-gap:var(--dimension-space-050);box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400))}.ds-choice-footer__summary.sc-ds-data-group,.ds-choice-footer__summary-measure.sc-ds-data-group,.ds-choice-footer__clear.sc-ds-data-group ds-text.sc-ds-data-group,.ds-choice-footer__action.sc-ds-data-group ds-text.sc-ds-data-group{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__summary.sc-ds-data-group,.ds-choice-footer__summary-measure.sc-ds-data-group,.ds-choice-footer__clear.sc-ds-data-group,.ds-choice-footer__action.sc-ds-data-group{white-space:nowrap}.ds-choice-footer__summary-measure.sc-ds-data-group{position:absolute;visibility:hidden;pointer-events:none}.ds-choice-footer__clear.sc-ds-data-group,.ds-choice-footer__action.sc-ds-data-group{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;cursor:default}@media (forced-colors: active){.ds-choice-section--divided.sc-ds-data-group{border-bottom-color:var(--ds-forced-color-content)}.ds-choice-footer.sc-ds-data-group::before{background-color:var(--ds-forced-color-content)}}.ds-control-frame.sc-ds-data-group{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-data-group{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-data-group{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-data-group{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-data-group{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-data-group{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-table-caption-control.sc-ds-data-group-h{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}.ds-table-caption-control.ds-table-caption-control--compact.sc-ds-data-group-h{flex:0 0 auto;width:var(--ds-control-height, var(--dimension-size-400));height:var(--ds-control-height, var(--dimension-size-400));min-width:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400));max-width:var(--ds-control-height, var(--dimension-size-400));inline-size:var(--ds-control-height, var(--dimension-size-400));min-inline-size:var(--ds-control-height, var(--dimension-size-400));max-inline-size:var(--ds-control-height, var(--dimension-size-400))}.ds-table-caption-control.ds-table-caption-control--compact.sc-ds-data-group-h .trigger.sc-ds-data-group{justify-content:center;inline-size:100%;min-inline-size:100%;height:100%;padding-inline:0}.ds-table-caption-control.ds-table-caption-control--compact.sc-ds-data-group-h .trigger--has-value.sc-ds-data-group:not(.trigger--label-placeholder){--ds-select-prefix-fg:var(--ds-select-fg-active)}.sc-ds-data-group-h{display:inline-flex;min-inline-size:0;max-inline-size:var(--dimension-menu-width-xs)}[hidden].sc-ds-data-group-h{display:none}.data-group__body.sc-ds-data-group{display:grid;grid-template-columns:var(--dimension-menu-width-xs) var(--dimension-menu-width-sm);min-height:calc(var(--dimension-size-800) * 4 + var(--dimension-space-150));max-height:calc(100vh - var(--dimension-size-800) - var(--dimension-size-600))}.data-group__data-pane.sc-ds-data-group,.data-group__order-pane.sc-ds-data-group{display:flex;min-width:0;min-height:0;flex-direction:column}.data-group__data-pane.sc-ds-data-group{border-inline-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.data-group__list.sc-ds-data-group{flex:1 1 auto}.data-group__empty.sc-ds-data-group{flex:1 1 auto}.data-group__footer.sc-ds-data-group{flex:0 0 auto}.data-group__footer.sc-ds-data-group .ds-choice-footer__content.sc-ds-data-group{justify-content:flex-start}.data-group__footer[aria-hidden='true'].sc-ds-data-group::before{visibility:hidden}.data-group__footer[aria-hidden='true'].sc-ds-data-group .ds-choice-footer__content.sc-ds-data-group{visibility:hidden}@media (forced-colors: active){.data-group__data-pane.sc-ds-data-group{border-inline-end-color:var(--ds-forced-color-content)}}.data-preferences-embedded.sc-ds-data-group{display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--color-foreground-secondary)}.sc-ds-data-group-h:has(.data-preferences-embedded){display:block;max-inline-size:none}.data-preferences-embedded.sc-ds-data-group .data-group__body.sc-ds-data-group{grid-template-columns:min(var(--dimension-menu-width-xs), 40%) minmax(0, 1fr)}.data-group-vertical.sc-ds-data-group-h .data-group__body.sc-ds-data-group{grid-template-columns:minmax(0, 1fr)}.data-group-vertical.sc-ds-data-group-h .data-group__data-pane.sc-ds-data-group{border-inline-end:0}.data-group-vertical.sc-ds-data-group-h .data-group__footer.sc-ds-data-group{display:none}`;const T=[{label:"Ascending",direction:"asc"},{label:"Descending",direction:"desc"}];let E=0;const O=o(class o extends i{constructor(o){super();if(o!==false){this.__registerHost()}this.dsGroupChange=e(this,"dsGroupChange",7);this.dsClear=e(this,"dsClear",7);this.dsOpenChange=e(this,"dsOpenChange",7);this.hasBorder=true;this.vertical=false;this.embedded=false;this.options=[];this.grouping=null;this.ariaLabel=null;this.open=false;this.emptyMessage="Select a group to choose its order.";this.clearLabel="Clear";this.shouldRender=false;this.closing=false;this.positionReady=false;this.pos={x:0,y:0};this.focusRingVisible=false;this.componentId=`ds-data-group-${++E}`;this.triggerId=`${this.componentId}-trigger`;this.popupId=`${this.componentId}-popup`;this.triggerElement=null;this.pendingInitialFocusVisible=false;this.closeTimer=null;this.loaded=false;this.tasks=new n((()=>this.el.isConnected));this.position=new a({getAnchor:()=>this.triggerElement,getPopup:()=>this.el.querySelector(".data-group-popup"),getOwnerDocument:()=>this.el.ownerDocument,measure:(o,i)=>{if(!this.open)return null;const e=_(C.space050,C.space050);return{anchorRect:o.getBoundingClientRect(),popupWidth:i.offsetWidth||this.popupFallbackWidth,popupHeight:i.offsetHeight||this.popupFallbackHeight,side:"bottom",align:"end",sideOffsetPx:_(j.space050,C.space050),alignOffsetPx:k({align:"end",alignOffsetPx:0,sectionInsetPx:e}),viewportPadPx:_(C.space050,C.space050),viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:d(o)}},apply:({x:o,y:i})=>{this.pos={x:o,y:i}},onReady:()=>{this.positionReady=true},liveUpdate:"double-frame",observeResize:true,topLayer:true});this.interaction=new c({getAnchor:()=>this.triggerElement,getPopup:()=>this.el.querySelector(".data-group-popup"),getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.close()})}componentDidLoad(){this.loaded=true;if(this.open)this.onOpenChange(true)}connectedCallback(){if(this.loaded&&this.open)this.onOpenChange(true)}disconnectedCallback(){this.teardown();this.shouldRender=false;this.closing=false;this.positionReady=false;this.pendingInitialFocusVisible=false}onOpenChange(o){if(this.embedded||!this.loaded||!this.el.isConnected)return;if(o){this.teardown();this.shouldRender=true;this.closing=false;this.positionReady=false;this.focusRingVisible=this.pendingInitialFocusVisible;this.interaction.connect();this.position.observe();this.position.schedule((()=>this.focusInitialDataPoint()));return}if(!this.shouldRender||this.closing)return;this.tasks.cancel();this.position.cancel();this.closing=true;this.interaction.disconnect();this.position.unobserve();const i=z(C.motionShort2,C.animationDurationShort3);if(i<=0)this.finishClose();else this.closeTimer=setTimeout((()=>this.finishClose()),i)}handleKeyDown(o){if(this.embedded&&(o.key==="Escape"||o.key==="Tab"))return;if(!this.shouldRender&&!this.embedded||this.closing)return;if(o.key==="Escape"){o.preventDefault();this.close();return}if(o.key!=="Tab"||!this.interaction.tabLeavesPopup(o))return;o.preventDefault();this.close(false);this.interaction.moveFocusAfterTab(o.shiftKey)}get popupFallbackWidth(){return _(C.menuWidthLg,C.menuWidthLg)}get popupFallbackHeight(){return _(C.menuFallbackHeight,C.menuFallbackHeight)}teardown(){this.tasks.cancel();this.position.unobserve();this.interaction.disconnect();if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}toggle(o=false){if(this.open){this.close();return}this.pendingInitialFocusVisible=o;this.open=true;this.dsOpenChange.emit(true);this.onOpenChange(true)}close(o=true){if(o)this.interaction.focusAnchor();this.open=false;this.dsOpenChange.emit(false);this.onOpenChange(false)}finishClose(){if(this.open||!this.closing||!this.el.isConnected)return;const o=this.el.querySelector(".data-group-popup");if(o?.matches(":popover-open"))o.hidePopover();this.shouldRender=false;this.closing=false;this.closeTimer=null}focusInitialDataPoint(){this.tasks.frame((()=>{if(!this.open||this.closing)return;const o=this.grouping?this.el.querySelector(`[data-group-value="${CSS.escape(this.grouping.fieldId)}"] [role="option"]`):null;const i=o??this.el.querySelector('[data-group-value] [role="option"]:not([aria-disabled="true"])');i?.focus();this.pendingInitialFocusVisible=false}))}selectData(o){if(o.value==="__none__"){this.dsClear.emit();return}if(o.isInactive)return;if(this.grouping?.fieldId===o.value){this.dsGroupChange.emit({...this.grouping});return}const i=o.orderOptions?.[0];this.dsGroupChange.emit({fieldId:o.value,direction:i?.direction??"asc",...i?.orderBy?{orderBy:i.orderBy}:{}})}get activeOrderOptions(){const o=this.options.find((o=>o.value===this.grouping?.fieldId))?.orderOptions;return o?.length?o:T}get selectedOrderIndex(){if(!this.grouping)return-1;const o=this.activeOrderOptions.findIndex((o=>o.direction===this.grouping?.direction&&o.orderBy===this.grouping?.orderBy));if(o>=0)return o;if(this.grouping.orderBy===undefined){return this.activeOrderOptions.findIndex((o=>o.direction===this.grouping?.direction))}return-1}selectOrder(o,i){if(!this.grouping||this.selectedOrderIndex===i)return;const e={fieldId:this.grouping.fieldId,direction:o.direction};if(o.orderBy)e.orderBy=o.orderBy;this.dsGroupChange.emit(e)}moveFocus(o,i,e,s){if(s&&(o.key==="ArrowLeft"||o.key==="ArrowRight")){o.preventDefault();this.focusRingVisible=true;this.el.querySelector(s)?.focus();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(o.key))return;o.preventDefault();const t=Array.from(this.el.querySelectorAll(i)).filter((o=>o.getAttribute("aria-disabled")!=="true"));if(!t.length)return;let r;if(o.key==="Home")r=0;else if(o.key==="End")r=t.length-1;else r=(e+(o.key==="ArrowDown"?1:-1)+t.length)%t.length;this.focusRingVisible=true;t[r]?.focus()}renderDataOption(o,i){const e=o.value==="__none__"?!this.grouping:o.value===this.grouping?.fieldId;return s(p,{id:`${this.componentId}-data-${i}`,option:{...o},selected:e,active:e,focusRingVisible:this.focusRingVisible,usesSubtext:Boolean(o.description),tabIndex:e||!this.grouping&&i===0?0:-1,onHover:()=>{this.focusRingVisible=false},onSelect:()=>this.selectData(o),onKeyDown:i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.selectData(o);return}this.moveFocus(i,'[data-group-value] [role="option"]',this.options.filter((o=>!o.isInactive)).findIndex((i=>i.value===o.value)),this.grouping?`[data-group-order-index="${this.selectedOrderIndex}"] [role="option"]`:undefined)}})}renderOrder(o,i){const e=i===this.selectedOrderIndex;return s(p,{id:`${this.componentId}-order-${i}`,option:{label:o.label,value:String(i)},selected:e,active:e,focusRingVisible:this.focusRingVisible,usesSubtext:false,tabIndex:e?0:-1,onHover:()=>{this.focusRingVisible=false},onSelect:()=>this.selectOrder(o,i),onKeyDown:e=>{if(e.key==="Enter"||e.key===" "){e.preventDefault();this.selectOrder(o,i);return}this.moveFocus(e,'[data-group-order-index] [role="option"]',i,`[data-group-value="${CSS.escape(this.grouping?.fieldId??"")}"] [role="option"]`)}})}render(){const o=this.ariaLabel?.trim()||"Group table";const i={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,zIndex:"9998",visibility:this.positionReady?"visible":"hidden"};return s(t,{key:"aef6b3065e081df1e049281537538372ca849a77",class:{"data-group-vertical":this.vertical},hidden:this.options.length===0?true:undefined},this.options.length&&!this.embedded?s("ds-button-unfilled",{hasBorder:this.hasBorder,ref:o=>{this.triggerElement=o??null},id:this.triggerId,variant:"icon-label",size:"md",icon:"SectionList",label:"Group",labelEmphasis:false,pressScale:false,"aria-label":o,haspopup:"dialog",collapseLabel:true,expanded:this.open,surfaceOpen:this.open||this.closing,controls:this.popupId,onDsClick:o=>this.toggle(o.detail.detail===0)}):null,this.shouldRender||this.embedded?s("div",{id:this.popupId,popover:this.embedded?undefined:"manual",class:{"data-group-popup":true,"ds-choice-popup":!this.embedded,"data-preferences-embedded":this.embedded,"ds-choice-popup--closing":this.closing},style:this.embedded?undefined:i,role:"dialog","aria-label":o},s("div",{class:"data-group__body"},s("div",{class:"data-group__data-pane"},s(l,{heading:"Data",ariaLabel:"Group data",className:"data-group__list"},this.vertical&&this.renderDataOption({label:"No grouping",value:"__none__"},-1),this.options.map(((o,i)=>s("div",{"data-group-value":o.value},this.renderDataOption(o,i))))),s("div",{hidden:this.vertical,class:"data-group__footer ds-choice-footer","aria-hidden":!this.grouping?"true":undefined},s("div",{class:"ds-choice-footer__content ds-control--md"},this.grouping?s("button",{class:"ds-choice-footer__clear ds-text-action ds-focus-ring",type:"button",onClick:()=>this.dsClear.emit()},s("ds-text",{as:"span",variant:"text-body-medium",color:"inherit"},this.clearLabel)):null))),s("div",{class:"data-group__order-pane"},this.grouping?s(l,{heading:"Order",ariaLabel:"Group order",className:"data-group__list"},this.activeOrderOptions.map(((o,i)=>s("div",{"data-group-order-index":i},this.renderOrder(o,i))))):s("div",{class:"data-group__empty ds-choice-empty ds-empty-region"},s("ds-empty-state",{body:this.emptyMessage}))))):null)}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return D()}},[2,"ds-data-group",{hasBorder:[4,"has-border"],vertical:[4],embedded:[4],options:[16],grouping:[16],ariaLabel:[1,"aria-label"],open:[1028],emptyMessage:[1,"empty-message"],clearLabel:[1,"clear-label"],shouldRender:[32],closing:[32],positionReady:[32],pos:[32],focusRingVisible:[32]},[[0,"keydown","handleKeyDown"]],{open:[{onOpenChange:0}]}]);function H(){if(typeof customElements==="undefined"){return}const o=["ds-data-group","ds-badge","ds-button-unfilled","ds-chip","ds-divider","ds-empty-state","ds-icon","ds-input","ds-loader","ds-text","ds-tooltip"];o.forEach((o=>{switch(o){case"ds-data-group":if(!customElements.get(r(o))){customElements.define(r(o),O)}break;case"ds-badge":if(!customElements.get(r(o))){h()}break;case"ds-button-unfilled":if(!customElements.get(r(o))){g()}break;case"ds-chip":if(!customElements.get(r(o))){f()}break;case"ds-divider":if(!customElements.get(r(o))){v()}break;case"ds-empty-state":if(!customElements.get(r(o))){m()}break;case"ds-icon":if(!customElements.get(r(o))){b()}break;case"ds-input":if(!customElements.get(r(o))){u()}break;case"ds-loader":if(!customElements.get(r(o))){x()}break;case"ds-text":if(!customElements.get(r(o))){w()}break;case"ds-tooltip":if(!customElements.get(r(o))){y()}break}}))}H();export{O as D,H as d};
|
|
2
|
-
//# sourceMappingURL=p-a-cIN_BX.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{l as n,r as t,t as r,a as e}from"./p-BYrBU_U9.js";const u={minVisible:1,reorderable:true};let s=0;function o(){s+=1;return`ds-table-column-customizer-${s}`}function a(n){return n.kind==="action"}function i(n){return n.label.trim()||n.accessibleLabel?.trim()||n.id}function c(n){return n.filter((n=>!a(n)))}function f(n,r){return t(c(n).map((n=>n.id)),r)}function l(n,t){return e(c(n).map((n=>n.id)),t,u)}function b(n,t={}){if(!t.columnCustomizer)return n;const r=new Map(n.map((n=>[n.id,n])));const e=new Set(l(n,t.hiddenFieldIds));const u=f(n,t.fieldOrder).map((n=>r.get(n))).filter((n=>!!n&&!e.has(n.id)));return[...u,...n.filter(a)]}function m(n,t,e){const s=n.find((n=>n.id===e));if(!s||a(s)){return l(n,t)}return r(c(n).map((n=>n.id)),t,e,u)}function d(t,r,e){return n(c(t).map((n=>({id:n.id,label:i(n)}))),r,e,u)}export{i as a,d as b,m as c,b as d,l as e,a as i,o as n,f as r,c as t};
|
|
2
|
-
//# sourceMappingURL=p-aD5cw_m2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["TABLE_COLUMN_CUSTOMIZER","minVisible","reorderable","columnCustomizerSeq","nextTableColumnCustomizerElementId","isTableActionColumn","column","kind","tableColumnCustomizerLabel","label","trim","accessibleLabel","id","tableDataColumns","columns","filter","resolveTableColumnOrder","fieldOrder","resolveListOrder","map","resolveTableHiddenColumnIds","hiddenFieldIds","resolveListHiddenIds","resolveTableVisibleColumns","options","columnCustomizer","byId","Map","hidden","Set","visibleData","get","has","toggleTableColumnHidden","fieldId","find","candidate","toggleListHidden","tableColumnCustomizerMenuItems","listCustomizerMenuItems"],"sources":["src/wc/components/Table/table-column-customizer.ts"],"sourcesContent":["import type { MenuItemData } from '../Menu/menu-types';\nimport {\n canToggleListHidden,\n listCustomizerMenuItems,\n moveListOrder,\n moveListOrderBy,\n resolveListHiddenIds,\n resolveListOrder,\n toggleListHidden,\n type ListCustomizerOptions,\n} from '../../utils/list-customizer';\nimport type { TableColumn } from './table-types';\n\n/**\n * Table's customizer policy: the last visible data column cannot be hidden, and\n * rows reorder. Everything below is a thin adapter over the domain-neutral\n * helpers in utils/list-customizer so other catalogs can reuse the same state\n * machine with different policy.\n */\nconst TABLE_COLUMN_CUSTOMIZER: ListCustomizerOptions = { minVisible: 1, reorderable: true };\n\nlet columnCustomizerSeq = 0;\n\nexport function nextTableColumnCustomizerElementId(): string {\n columnCustomizerSeq += 1;\n return `ds-table-column-customizer-${columnCustomizerSeq}`;\n}\n\nexport function isTableActionColumn(column: TableColumn): boolean {\n return column.kind === 'action';\n}\n\nexport function tableColumnCustomizerLabel(column: TableColumn): string {\n return column.label.trim() || column.accessibleLabel?.trim() || column.id;\n}\n\nexport function tableDataColumns(columns: TableColumn[]): TableColumn[] {\n return columns.filter(column => !isTableActionColumn(column));\n}\n\n/** Data-column ids in display order. Unknown, duplicate, and action ids are ignored. */\nexport function resolveTableColumnOrder(\n columns: TableColumn[],\n fieldOrder: string[] | undefined\n): string[] {\n return resolveListOrder(\n tableDataColumns(columns).map(column => column.id),\n fieldOrder\n );\n}\n\n/**\n * Hidden data-column ids. Action and unknown ids are dropped. At least one data\n * column remains visible when the catalog has any data columns.\n */\nexport function resolveTableHiddenColumnIds(\n columns: TableColumn[],\n hiddenFieldIds: string[] | undefined\n): string[] {\n return resolveListHiddenIds(\n tableDataColumns(columns).map(column => column.id),\n hiddenFieldIds,\n TABLE_COLUMN_CUSTOMIZER\n );\n}\n\nexport function resolveTableVisibleColumns(\n columns: TableColumn[],\n options: {\n columnCustomizer?: boolean;\n hiddenFieldIds?: string[];\n fieldOrder?: string[];\n } = {}\n): TableColumn[] {\n if (!options.columnCustomizer) return columns;\n\n const byId = new Map(columns.map(column => [column.id, column]));\n const hidden = new Set(resolveTableHiddenColumnIds(columns, options.hiddenFieldIds));\n const visibleData = resolveTableColumnOrder(columns, options.fieldOrder)\n .map(id => byId.get(id))\n .filter((column): column is TableColumn => !!column && !hidden.has(column.id));\n\n return [...visibleData, ...columns.filter(isTableActionColumn)];\n}\n\nexport function canToggleTableColumnHidden(\n columns: TableColumn[],\n hiddenFieldIds: string[] | undefined,\n fieldId: string\n): boolean {\n const column = columns.find(candidate => candidate.id === fieldId);\n if (!column || isTableActionColumn(column)) return false;\n\n return canToggleListHidden(\n tableDataColumns(columns).map(candidate => candidate.id),\n hiddenFieldIds,\n fieldId,\n TABLE_COLUMN_CUSTOMIZER\n );\n}\n\nexport function toggleTableColumnHidden(\n columns: TableColumn[],\n hiddenFieldIds: string[] | undefined,\n fieldId: string\n): string[] {\n const column = columns.find(candidate => candidate.id === fieldId);\n if (!column || isTableActionColumn(column)) {\n return resolveTableHiddenColumnIds(columns, hiddenFieldIds);\n }\n\n return toggleListHidden(\n tableDataColumns(columns).map(candidate => candidate.id),\n hiddenFieldIds,\n fieldId,\n TABLE_COLUMN_CUSTOMIZER\n );\n}\n\nexport function moveTableColumnOrder(order: string[], fromId: string, toId: string): string[] {\n return moveListOrder(order, fromId, toId);\n}\n\nexport function moveTableColumnInOrder(order: string[], fieldId: string, offset: number): string[] {\n return moveListOrderBy(order, fieldId, offset);\n}\n\nexport interface TableColumnCustomizerItem {\n column: TableColumn;\n label: string;\n visible: boolean;\n hideable: boolean;\n reorderable: boolean;\n}\n\nexport function tableColumnCustomizerItems(\n columns: TableColumn[],\n hiddenFieldIds: string[] | undefined,\n fieldOrder: string[] | undefined\n): TableColumnCustomizerItem[] {\n const byId = new Map(columns.map(column => [column.id, column]));\n const resolvedHidden = resolveTableHiddenColumnIds(columns, hiddenFieldIds);\n const hidden = new Set(resolvedHidden);\n const dataItems = resolveTableColumnOrder(columns, fieldOrder).flatMap(id => {\n const column = byId.get(id);\n if (!column) return [];\n return [\n {\n column,\n label: tableColumnCustomizerLabel(column),\n visible: !hidden.has(id),\n hideable: canToggleTableColumnHidden(columns, resolvedHidden, id),\n reorderable: true,\n },\n ];\n });\n return dataItems;\n}\n\n/** Menu switch rows for the table-owned column customizer. */\nexport function tableColumnCustomizerMenuItems(\n columns: TableColumn[],\n hiddenFieldIds: string[] | undefined,\n fieldOrder: string[] | undefined\n): MenuItemData[] {\n return listCustomizerMenuItems(\n tableDataColumns(columns).map(column => ({\n id: column.id,\n label: tableColumnCustomizerLabel(column),\n })),\n hiddenFieldIds,\n fieldOrder,\n TABLE_COLUMN_CUSTOMIZER\n );\n}\n"],"mappings":"yDAmBA,MAAMA,EAAiD,CAAEC,WAAY,EAAGC,YAAa,MAErF,IAAIC,EAAsB,E,SAEVC,IACdD,GAAuB,EACvB,MAAO,8BAA8BA,GACvC,CAEM,SAAUE,EAAoBC,GAClC,OAAOA,EAAOC,OAAS,QACzB,CAEM,SAAUC,EAA2BF,GACzC,OAAOA,EAAOG,MAAMC,QAAUJ,EAAOK,iBAAiBD,QAAUJ,EAAOM,EACzE,CAEM,SAAUC,EAAiBC,GAC/B,OAAOA,EAAQC,QAAOT,IAAWD,EAAoBC,IACvD,CAGM,SAAUU,EACdF,EACAG,GAEA,OAAOC,EACLL,EAAiBC,GAASK,KAAIb,GAAUA,EAAOM,KAC/CK,EAEJ,CAMM,SAAUG,EACdN,EACAO,GAEA,OAAOC,EACLT,EAAiBC,GAASK,KAAIb,GAAUA,EAAOM,KAC/CS,EACArB,EAEJ,C,SAEgBuB,EACdT,EACAU,EAII,IAEJ,IAAKA,EAAQC,iBAAkB,OAAOX,EAEtC,MAAMY,EAAO,IAAIC,IAAIb,EAAQK,KAAIb,GAAU,CAACA,EAAOM,GAAIN,MACvD,MAAMsB,EAAS,IAAIC,IAAIT,EAA4BN,EAASU,EAAQH,iBACpE,MAAMS,EAAcd,EAAwBF,EAASU,EAAQP,YAC1DE,KAAIP,GAAMc,EAAKK,IAAInB,KACnBG,QAAQT,KAAoCA,IAAWsB,EAAOI,IAAI1B,EAAOM,MAE5E,MAAO,IAAIkB,KAAgBhB,EAAQC,OAAOV,GAC5C,C,SAkBgB4B,EACdnB,EACAO,EACAa,GAEA,MAAM5B,EAASQ,EAAQqB,MAAKC,GAAaA,EAAUxB,KAAOsB,IAC1D,IAAK5B,GAAUD,EAAoBC,GAAS,CAC1C,OAAOc,EAA4BN,EAASO,E,CAG9C,OAAOgB,EACLxB,EAAiBC,GAASK,KAAIiB,GAAaA,EAAUxB,KACrDS,EACAa,EACAlC,EAEJ,C,SA2CgBsC,EACdxB,EACAO,EACAJ,GAEA,OAAOsB,EACL1B,EAAiBC,GAASK,KAAIb,IAAM,CAClCM,GAAIN,EAAOM,GACXH,MAAOD,EAA2BF,OAEpCe,EACAJ,EACAjB,EAEJ,Q","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as e,H as o,c as s,h as a,a as d,t as n}from"./index.js";import{d as r}from"./p-CwdRaJER.js";import{d as i}from"./p-BLeHHoVb.js";import{d as l}from"./p-pPtjNRqC.js";import{d as t}from"./p-0XTyQNRG.js";import{d as c}from"./p-D8OWhnID.js";import{d as h}from"./p-DvGrsLgt.js";const p=()=>`.sc-ds-panel-tool-header-h,.sc-ds-panel-tool-header:where(.ds-table),.sc-ds-panel-tool-header:where(.tooltip-popup),.sc-ds-panel-tool-header: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)}.ds-control--lg.sc-ds-panel-tool-header,.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header,.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header,.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--lg.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-control--lg.sc-ds-panel-tool-header,.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header,.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header,.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--lg.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-header.sc-ds-panel-tool-header{display:flex;align-items:center;box-sizing:border-box;min-width:0;min-block-size:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100)}.ds-chrome-header--wrapping.sc-ds-panel-tool-header{flex-wrap:wrap}.ds-chrome-header--bounded.sc-ds-panel-tool-header{border-block-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.ds-chrome-header__leading.sc-ds-panel-tool-header,.ds-chrome-header__trailing.sc-ds-panel-tool-header{display:flex;align-items:center;flex:0 0 auto;min-width:0}.ds-chrome-header__trailing.sc-ds-panel-tool-header{margin-inline-start:auto;gap:var(--dimension-space-100)}.ds-chrome-header__copy.sc-ds-panel-tool-header{display:flex;flex:1 1 0;min-width:0;padding:var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box}.ds-chrome-header__copy--wrapping.sc-ds-panel-tool-header{align-items:baseline;flex-wrap:wrap;column-gap:var(--dimension-space-100);row-gap:var(--dimension-space-050)}.ds-chrome-header__copy--stacked.sc-ds-panel-tool-header{align-items:stretch;flex-direction:column;gap:var(--dimension-space-050)}.ds-chrome-header__heading.sc-ds-panel-tool-header,.ds-chrome-header__description.sc-ds-panel-tool-header{width:auto;min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025));box-sizing:border-box}.ds-chrome-header__heading.sc-ds-panel-tool-header{flex:0 1 auto}.ds-chrome-header__copy--wrapping.sc-ds-panel-tool-header .ds-chrome-header__description.sc-ds-panel-tool-header{flex:1 1 var(--dimension-card-width-xs)}.sc-ds-panel-tool-header-h{display:block;flex:0 0 auto;box-sizing:border-box;--_panel-tool-header-fg-primary:var(--_shell-tools-fg-primary, var(--color-foreground-primary));--_panel-tool-header-divider:var(--_shell-tools-divider, var(--color-border-tertiary))}.panel-tool-header.sc-ds-panel-tool-header{height:var(--dimension-size-600);color:var(--_panel-tool-header-fg-primary);border-block-end-color:var(--_panel-tool-header-divider);-webkit-user-select:none;user-select:none}.panel-tool-header__leading.sc-ds-panel-tool-header:empty,.panel-tool-header__trailing.sc-ds-panel-tool-header:empty{display:none}.panel-tool-header__trailing.sc-ds-panel-tool-header{gap:var(--dimension-space-050);justify-content:flex-end}ds-text.panel-tool-header__heading.sc-ds-panel-tool-header{display:inline-flex;flex:1 1 0;align-items:center;width:auto;min-width:0;height:var(--ds-control-height);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));box-sizing:border-box;text-align:left;-webkit-user-select:none;user-select:none}`;const m=e(class e extends o{constructor(e){super();if(e!==false){this.__registerHost()}this.dsBack=s(this,"dsBack",7);this.dsMenuToggle=s(this,"dsMenuToggle",7);this.dsAction=s(this,"dsAction",7);this.heading="";this.showBack=false;this.backIcon="ChevronLeft";this.backAriaLabel="Back";this.showMenu=true;this.menuAriaLabel="More options";this.menuTriggerId="";this.menuExpanded=false;this.actions=[]}async focusMenuTrigger(){const e=this.el.querySelector('ds-button-unfilled.panel-tool-header__menu, ds-button-unfilled[data-header-action-id="menu"]');await(e?.setFocus?.())}render(){const e=this.actions.length>0;const o=e?this.actions:this.showMenu?[{id:"menu",icon:"Ellipses",ariaLabel:this.menuAriaLabel,triggerId:this.menuTriggerId,controls:this.menuControls,expanded:this.menuExpanded,surfaceOpen:this.menuSurfaceOpen,haspopup:"menu"}]:[];return a(d,{key:"36e0849b683317a67451148492b3b088440d34e7"},a("header",{key:"70e7876494c95e421b6807d08f7f5ec13caea94b",class:"panel-tool-header ds-chrome-header ds-chrome-header--bounded"},a("div",{key:"7de753cf669a2cafe7add12bb8799008f9871e7a",class:"panel-tool-header__leading ds-chrome-header__leading"},this.showBack?a("ds-tooltip",{label:this.backAriaLabel,side:"bottom",size:"sm"},a("ds-button-unfilled",{class:"panel-tool-header__back",variant:"icon",icon:this.backIcon,size:"md",background:"chrome","aria-label":this.backAriaLabel,activeFill:false,hasBorder:false,onDsClick:e=>this.dsBack.emit(e.detail)})):null),a("ds-text",{key:"7639b3fef0697a63865a3583107696ea0504d51a",class:"panel-tool-header__heading ds-chrome-header__heading ds-control--md",as:"h2",variant:"text-body-medium",emphasis:true,color:"inherit",lineTruncation:1},this.heading),a("div",{key:"55e4c90c936cb535d72480ae08f8cd74cc9cf6d9",class:"panel-tool-header__trailing ds-chrome-header__trailing"},o.map((o=>a("ds-tooltip",{key:o.id,label:o.ariaLabel,side:"bottom",size:"sm"},a("ds-button-unfilled",{id:o.triggerId||undefined,"data-header-action-id":o.id,class:{"panel-tool-header__action":true,"panel-tool-header__menu":o.id==="menu"},variant:"icon",icon:o.icon,size:"md",background:"chrome","aria-label":o.ariaLabel,haspopup:o.haspopup,controls:o.controls,expanded:o.expanded,surfaceOpen:o.surfaceOpen,pressed:o.pressed,isInactive:o.isInactive,activeFill:false,hasBorder:false,onDsClick:s=>{if(!e&&o.id==="menu")this.dsMenuToggle.emit(s.detail);this.dsAction.emit({id:o.id,originalEvent:s.detail,anchor:s.currentTarget})}})))))))}get el(){return this}static get style(){return p()}},[2,"ds-panel-tool-header",{heading:[1],showBack:[4,"show-back"],backIcon:[1,"back-icon"],backAriaLabel:[1,"back-aria-label"],showMenu:[4,"show-menu"],menuAriaLabel:[1,"menu-aria-label"],menuTriggerId:[1,"menu-trigger-id"],menuControls:[1,"menu-controls"],menuExpanded:[4,"menu-expanded"],menuSurfaceOpen:[4,"menu-surface-open"],actions:[16],focusMenuTrigger:[64]}]);function g(){if(typeof customElements==="undefined"){return}const e=["ds-panel-tool-header","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-panel-tool-header":if(!customElements.get(n(e))){customElements.define(n(e),m)}break;case"ds-badge":if(!customElements.get(n(e))){r()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){i()}break;case"ds-icon":if(!customElements.get(n(e))){l()}break;case"ds-loader":if(!customElements.get(n(e))){t()}break;case"ds-text":if(!customElements.get(n(e))){c()}break;case"ds-tooltip":if(!customElements.get(n(e))){h()}break}}))}g();export{m as P,g as d};
|
|
2
|
-
//# sourceMappingURL=p-bQE1NZVe.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./p-aD5cw_m2.js";const n="direction:asc";const t="direction:desc";const c="field:";function i(n){const t=[];const c=new Set;for(const i of n){if(e(i)||!i.sortable)continue;const n=i.segments?.filter((e=>e.sortKey.trim()))??[];if(n.length>0){for(const e of n){if(c.has(e.sortKey))continue;c.add(e.sortKey);t.push({id:e.sortKey,label:e.dataLabel?.trim()||e.label.trim()||e.sortKey})}continue}if(c.has(i.id))continue;c.add(i.id);t.push({id:i.id,label:i.dataLabel?.trim()||i.label.trim()||i.accessibleLabel?.trim()||i.id})}return t}function r(e,r){const o=i(e);return[{header:"Data",items:o.map((e=>({label:e.label,value:`${c}${encodeURIComponent(e.id)}`,isSelected:r?.fieldId===e.id})))},{header:"Order",items:[{label:"Ascending",value:n,icon:"ArrowUp",isSelected:r?.direction==="asc"},{label:"Descending",value:t,icon:"ArrowDown",isSelected:r?.direction==="desc"}]}]}function o(e,n){if(e===n)return true;if(!e||!n)return false;return e.fieldId===n.fieldId&&e.direction===n.direction}function s(e,r,o){const s=i(e);if(s.length===0)return r??null;if(o.value===n||o.value===t){const e=o.value===n?"asc":"desc";const t=s.some((e=>e.id===r?.fieldId))?r.fieldId:s[0].id;return{fieldId:t,direction:e}}if(!o.value?.startsWith(c))return r??null;let l;try{l=decodeURIComponent(o.value.slice(c.length))}catch{return r??null}if(!s.some((e=>e.id===l)))return r??null;if(r?.fieldId===l)return r??null;return{fieldId:l,direction:r?.direction??"asc"}}export{i as a,o as b,r as d,s as n};
|
|
2
|
-
//# sourceMappingURL=p-kDZ0sEII.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as e,H as i,c as s,h as n,a as o,t}from"./index.js";import{A as r,r as d,c}from"./p-CE6MaXBg.js";import{C as a}from"./p-DlsjHRU3.js";import{A as l}from"./p-CwUXroLs.js";import{d as h}from"./p-CwdRaJER.js";import{d as u}from"./p-pPtjNRqC.js";import{d as m}from"./p-B9y6azEw.js";import{d as f}from"./p-Bf-BphXP.js";import{d as p}from"./p-d76Ry5nh.js";import{d as v}from"./p-D8OWhnID.js";import{a as g,b,T as x}from"./p-CeXf9-X3.js";import{c as w,r as y}from"./p-DhKvqh5G.js";import{r as _}from"./p-ioGH5SoA.js";import{C as k,a as C}from"./p-CuwopElg.js";function P(e){return"variant"in e&&e.variant==="swatch-picker"}function A(e){return P(e)}function z(e){return e.map((e=>{if(P(e)){return{...e,...e.options?{options:e.options.map((e=>({...e})))}:{},...e.sections?{sections:e.sections.map((e=>({...e,options:e.options.map((e=>({...e})))})))}:{}}}return{...e,items:e.items.map((e=>({...e})))}}))}function I(e,i){if(!e[i]?.reorderable)return null;let s=i;while(s>0&&e[s-1]?.reorderable)s-=1;let n=i;while(n<e.length-1&&e[n+1]?.reorderable)n+=1;return{start:s,end:n}}function T(e,i,s){const n=I(e,i);if(!n)return null;const o=Math.min(Math.max(s,n.start),n.end+1);let t=o;if(i<t)t-=1;if(t===i||t<n.start||t>n.end)return null;const r=[...e];const[d]=r.splice(i,1);r.splice(t,0,d);return r}function j(e,i,s){if(s===0)return null;return T(e,i,i+(s<0?s:s+1))}function R(e,i){let s=i;for(let i=0;i<e.length;i+=1){const n=e[i];if(A(n))continue;if(s<n.items.length){return{sectionIndex:i,itemIndex:s,items:n.items}}s-=n.items.length}return null}function D(e,i,s,n){const o=e[i];if(!o)return null;const t=s.indexOf(o);if(t<0){const e=o.value;const t=e?s.findIndex((i=>i.value===e)):-1;if(t<0)return null;return{item:o,fromIndex:i,toIndex:t,sectionIndex:n,items:s}}return{item:o,fromIndex:i,toIndex:t,sectionIndex:n,items:s}}const O=()=>`.sc-ds-menu-h,.sc-ds-menu:where(.ds-table),.sc-ds-menu:where(.tooltip-popup),.sc-ds-menu: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)}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-menu-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-menu-h,.ds-focus-ring.sc-ds-menu,.ds-focus-ring-inset.sc-ds-menu-h,.ds-focus-ring-inset.sc-ds-menu{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-menu-h:focus-visible,.ds-focus-ring.sc-ds-menu:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-menu-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-menu{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-menu-h:focus-visible,.ds-focus-ring-inset.sc-ds-menu:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-menu-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-menu:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-menu::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-menu-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-menu-h,.ds-interaction-fill.sc-ds-menu{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent;--ds-interaction-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-menu-h::before,.ds-interaction-fill.sc-ds-menu::before,.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-menu-h::before,.ds-interaction-fill.sc-ds-menu::before{z-index:1}.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-menu-h,.ds-interaction-fill--bordered.sc-ds-menu{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-menu-h::before,.ds-interaction-fill--selected.sc-ds-menu::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-menu-h,.ds-interaction-fill--selected.sc-ds-menu{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-menu-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-menu:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-menu-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-menu:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-menu-h::after,.ds-interaction-fill--grouped.sc-ds-menu::after,.ds-interaction-fill--grouped.sc-ds-menu-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-menu:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-menu-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-menu:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-menu-h,.ds-interaction-fill--grouped.sc-ds-menu{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-menu-h>.ds-interaction-fill__content.sc-ds-menu,.ds-interaction-fill.sc-ds-menu>.ds-interaction-fill__content.sc-ds-menu,.ds-interaction-fill__content.sc-ds-menu{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-menu-h,.ds-interaction-fill--on-faint.sc-ds-menu{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-menu-h,.ds-interaction-fill--on-medium.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-menu-h,.ds-interaction-fill--on-bold.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-menu-h,.ds-interaction-fill--on-strong.sc-ds-menu{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-menu-h,.ds-interaction-fill--on-translucent.sc-ds-menu{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active-brand);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-menu-h,.ds-interaction-fill--on-inverted.sc-ds-menu{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active-brand);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-menu-h,.ds-interaction-fill--on-media.sc-ds-menu{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-menu-h,.ds-interaction-fill--on-always-dark.sc-ds-menu{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active-brand);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-chrome.sc-ds-menu-h,.ds-interaction-fill--on-chrome.sc-ds-menu{--ds-interaction-hover:var(--color-chrome-interaction-hover);--ds-interaction-pressed:var(--color-chrome-interaction-pressed);--ds-interaction-active:var(--color-chrome-interaction-active);--ds-focus-ring-color:var(--color-chrome-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-menu-h,.ds-interaction-fill--on-navigation.sc-ds-menu{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-menu-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-menu:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-menu-h::after,.ds-interaction-fill.sc-ds-menu::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--surface-open.sc-ds-menu-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-menu:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}.ds-interaction-fill--selected.sc-ds-menu-h::before,.ds-interaction-fill--selected.sc-ds-menu::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-menu-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-menu:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-control-inactive.sc-ds-menu-h,.ds-control-inactive.sc-ds-menu{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-menu-h,.ds-control-inactive.sc-ds-menu{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-menu,.ds-control--lg.sc-ds-menu-h,.ds-control--md.sc-ds-menu-h,.ds-control--md.sc-ds-menu,.ds-control--sm.sc-ds-menu-h,.ds-control--sm.sc-ds-menu,.ds-control--xs.sc-ds-menu-h,.ds-control--xs.sc-ds-menu{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-menu-h,.ds-control--lg.sc-ds-menu{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-menu-h,.ds-control--md.sc-ds-menu{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-menu-h,.ds-control--sm.sc-ds-menu{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-menu-h,.ds-control--xs.sc-ds-menu{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-space--sm.sc-ds-menu-h,.ds-chrome-space--sm.sc-ds-menu{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-menu-h,.ds-chrome-space--md.sc-ds-menu{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-menu-h,.ds-chrome-space--lg.sc-ds-menu{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-menu-h,.ds-chrome-row.sc-ds-menu,.ds-chrome-column.sc-ds-menu-h,.ds-chrome-column.sc-ds-menu,.ds-chrome-grid.sc-ds-menu-h,.ds-chrome-grid.sc-ds-menu{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-menu-h,.ds-chrome-row.sc-ds-menu{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-menu-h,.ds-chrome-column.sc-ds-menu{flex-direction:column}.ds-chrome-grid.sc-ds-menu-h,.ds-chrome-grid.sc-ds-menu{display:grid;align-items:center}.ds-control-frame.sc-ds-menu{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-menu{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-menu{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-menu{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-menu{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-empty-region.sc-ds-menu{display:flex;flex:1 1 auto;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:0}.ds-empty-region--padded.sc-ds-menu{padding:var(--dimension-space-200)}.sc-ds-menu:where(.ds-text-decoration,.ds-text-action).sc-ds-menu{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-menu{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-menu:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-menu{text-decoration-line:underline;text-decoration-color:currentcolor}}.ds-choice-popup.sc-ds-menu{box-sizing:border-box;display:flex;flex-direction:column;min-width:var(--ds-choice-popup-min-inline-size, var(--dimension-menu-width-xs));max-width:min(var(--dimension-panel-width-lg), calc(100vw - var(--dimension-space-200)));max-height:calc(100vh - var(--dimension-space-200));overflow:hidden;inset:auto;margin:0;padding:0;border:0;background-color:var(--color-background-primary);border-radius:var(--ds-radius-menu);box-shadow:var(--effect-shadow-elevated-floating);color:var(--color-foreground-secondary);animation:dsChoiceFadeIn var(--effect-motion-short-2) forwards;backface-visibility:hidden;will-change:transform;text-align:start}.ds-choice-popup.sc-ds-menu::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:var(--effect-highlight-elevated-floating)}.ds-choice-popup--closing.sc-ds-menu{animation:dsChoiceFadeOut var(--effect-motion-short-2) forwards}@keyframes dsChoiceFadeIn{from{opacity:0;transform:inherit scale(0.97)}to{opacity:1}}@keyframes dsChoiceFadeOut{from{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.ds-choice-popup.sc-ds-menu{animation:none;opacity:1}.ds-choice-popup--closing.sc-ds-menu{opacity:0}}@media (forced-colors: active){.ds-choice-popup.sc-ds-menu{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}.ds-choice-popup.sc-ds-menu::after{box-shadow:none}}.ds-choice-list.sc-ds-menu{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}.ds-choice-section--divided.sc-ds-menu{border-bottom:var(--dimension-stroke-width-015) solid var(--color-border-tertiary)}ds-text.ds-choice-section__header.sc-ds-menu{text-align:start;-webkit-user-select:none;user-select:none}.ds-choice-section--headed-after-first.sc-ds-menu{margin-block-start:var(--dimension-space-050)}.select-option-row.sc-ds-menu{display:flex;flex-direction:column;min-width:0}.ds-choice-item.sc-ds-menu{width:100%;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent;cursor:default;-webkit-user-select:none;user-select:none;text-align:left;color:inherit}.ds-choice-item.sc-ds-menu:has(.ds-choice-item__subtext){height:auto;min-height:var(--ds-control-height, var(--dimension-size-400));padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));align-items:flex-start}.ds-choice-item.ds-control--xs.sc-ds-menu:has(.ds-choice-item__subtext){padding-block:0}.ds-choice-item__content.sc-ds-menu{display:flex;flex:1;flex-direction:column;gap:var(--dimension-space-025);min-width:0}ds-text.ds-choice-item__label.sc-ds-menu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ds-text.ds-choice-item__subtext.sc-ds-menu{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ds-choice-item__icon.sc-ds-menu,.ds-choice-item__suffix.sc-ds-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.ds-choice-item.ds-interaction-fill--selected.sc-ds-menu .ds-choice-item__icon.sc-ds-menu{color:var(--color-foreground-primary)}.ds-choice-item__tag.sc-ds-menu{flex-shrink:0;pointer-events:none}.ds-choice-empty.sc-ds-menu,.ds-choice-loading.sc-ds-menu{min-height:var(--dimension-size-600);padding:var(--dimension-space-100)}.ds-choice-footer.sc-ds-menu{position:relative;box-sizing:border-box;padding-block:var(--dimension-space-050)}.ds-choice-footer.sc-ds-menu::before{content:'';position:absolute;inset:0 0 auto;height:var(--dimension-stroke-width-012);background-color:var(--color-border-tertiary);pointer-events:none}.ds-choice-footer__content.sc-ds-menu{display:flex;align-items:center;justify-content:space-between;column-gap:var(--dimension-space-050);box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400))}.ds-choice-footer__summary.sc-ds-menu,.ds-choice-footer__summary-measure.sc-ds-menu,.ds-choice-footer__clear.sc-ds-menu ds-text.sc-ds-menu,.ds-choice-footer__action.sc-ds-menu ds-text.sc-ds-menu{padding-inline:calc( var(--dimension-space-050) + var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-choice-footer__summary.sc-ds-menu,.ds-choice-footer__summary-measure.sc-ds-menu,.ds-choice-footer__clear.sc-ds-menu,.ds-choice-footer__action.sc-ds-menu{white-space:nowrap}.ds-choice-footer__summary-measure.sc-ds-menu{position:absolute;visibility:hidden;pointer-events:none}.ds-choice-footer__clear.sc-ds-menu,.ds-choice-footer__action.sc-ds-menu{appearance:none;display:inline-flex;align-items:center;padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;cursor:default}@media (forced-colors: active){.ds-choice-section--divided.sc-ds-menu{border-bottom-color:var(--ds-forced-color-content)}.ds-choice-footer.sc-ds-menu::before{background-color:var(--ds-forced-color-content)}}.ds-visually-hidden.sc-ds-menu-h,.ds-visually-hidden.sc-ds-menu{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@media (forced-colors: active){.sc-ds-menu:root,.sc-ds-menu-h,.ds-forced-colors-scope.sc-ds-menu{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.menu-empty.sc-ds-menu{padding:var(--dimension-space-200);box-sizing:border-box;overflow-wrap:anywhere}.menu-item--destructive.sc-ds-menu .menu-item__label.sc-ds-menu{color:var(--color-foreground-bold-negative) !important}.menu-item__dot-box.sc-ds-menu{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md));pointer-events:none}.menu-item__switch.sc-ds-menu{flex-shrink:0;margin-inline-start:calc( var(--dimension-space-100) - var(--ds-control-gap, var(--dimension-space-050)) )}.menu-item.sc-ds-menu>.menu-item__handle.sc-ds-menu{pointer-events:auto;cursor:grab;touch-action:none}.menu-item.sc-ds-menu>.menu-item__handle.sc-ds-menu:active,.menu-item--dragging.sc-ds-menu>.menu-item__handle.sc-ds-menu{cursor:grabbing}.menu-item--dragging.sc-ds-menu{opacity:var(--effect-opacity-medium)}.menu-item__drop-rail.sc-ds-menu{position:absolute;z-index:var(--dimension-z-index-raised);inset-inline:var(--dimension-space-050);block-size:var(--dimension-stroke-width-025);border-radius:var(--dimension-radius-half);background:var(--color-border-bold-brand);pointer-events:none}.menu-item__drop-rail--before.sc-ds-menu{inset-block-start:calc(-1 * var(--dimension-space-025));transform:translateY(-50%)}.menu-item__drop-rail--after.sc-ds-menu{inset-block-end:calc(-1 * var(--dimension-space-025));transform:translateY(50%)}@media (forced-colors: active){.menu-item__drop-rail.sc-ds-menu{background:var(--ds-forced-color-selected)}}.data-preferences-embedded.sc-ds-menu{display:flex;flex-direction:column;min-width:0;min-height:0;color:var(--color-foreground-secondary)}`;let H=0;const M={lg:"md",md:"sm",sm:"xs",xs:"xs"};const E=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.dsClose=s(this,"dsClose",7);this.dsAfterClose=s(this,"dsAfterClose",7);this.dsSelect=s(this,"dsSelect",7);this.dsSwatchSelect=s(this,"dsSwatchSelect",7);this.dsReorder=s(this,"dsReorder",7);this.embedded=false;this.open=false;this.items=[];this.size="md";this.selectionMode="none";this.sections=[];this.side="bottom";this.align="start";this.anchorAlignment="choice-cell";this.sideOffset=g.space050;this.alignOffset=0;this.initialFocusVisible=false;this.menuLabel="Menu";this.emptyMessage="";this.shouldRender=false;this.closing=false;this.pos={x:0,y:0};this.focusedIndex=0;this.positionReady=false;this.availableHeight=null;this.focusRingVisible=false;this.reorderFromFlat=null;this.reorderInsertBefore=null;this.reorderAnnouncement="";this.closeTimer=null;this.loaded=false;this.tasks=new a((()=>this.el.isConnected));this.suppressItemClick=false;this.reorderPointer=null;this.position=new r({getAnchor:()=>this.resolvedAnchor??null,getPopup:()=>this.el.querySelector(".menu-popup"),getOwnerDocument:()=>this.el.ownerDocument,measure:(e,i)=>{if(!this.open)return null;const s=e.getBoundingClientRect();const n=this.viewportPadPx;if(!this.minWidth){if(this.anchorAlignment==="choice-cell"&&(this.side==="top"||this.side==="bottom")){i.style.minWidth=`max(var(--dimension-menu-width-xs), ${w(s.width,n)}px)`}else{i.style.removeProperty("min-width")}}const o=this.viewportPadPx;const t=i.querySelector(".ds-choice-list");const r=Math.min(Math.max(i.offsetHeight,t?.scrollHeight??0),window.innerHeight-o*2);const a={anchorRect:s,popupWidth:i.offsetWidth||this.popupFallbackWidthPx,popupHeight:r||this.popupFallbackHeightPx,side:this.side,align:this.align,sideOffsetPx:this.sideOffsetPx,alignOffsetPx:y({align:this.align,alignOffsetPx:this.alignOffsetPx,sectionInsetPx:n,anchorAlignment:this.anchorAlignment}),viewportPadPx:o,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,collisionRect:d(e,this.boundary)};const l=c(a);return{...a,popupHeight:Math.min(a.popupHeight,l.availableHeight)}},apply:({x:e,y:i,availableHeight:s})=>{this.pos={x:e,y:i};this.availableHeight=s},onReady:()=>{this.positionReady=true},liveUpdate:"double-frame",topLayer:true,observeResize:true,observeAnchorMotion:true});this.interaction=new l({getAnchor:()=>this.resolvedAnchor,getPopup:()=>this.el.querySelector(".menu-popup"),getOwnerDocument:()=>this.el.ownerDocument,onOutsideActivation:()=>this.close()});this.lastRenderedSections=[];this.closingSections=null;this.emptyMessageId=`ds-menu-empty-${++H}`;this.lastRenderedEmptyMessage="";this.onReorderPointerMove=e=>{const i=this.reorderPointer;if(!i||e.pointerId!==i.pointerId)return;const s=this.activeSections[i.sectionIndex];if(!s||A(s))return;const n=this.resolveReorderInsertBefore(e.clientY,i.sectionIndex,i.fromIndex,s.items);if(n!==this.reorderInsertBefore)this.reorderInsertBefore=n};this.onReorderPointerUp=e=>{const i=this.reorderPointer;if(!i||e.pointerId!==i.pointerId)return;const s=this.activeSections[i.sectionIndex];const n=this.reorderInsertBefore;this.clearReorderPointer();this.tasks.microtask((()=>{this.suppressItemClick=false}));if(!s||A(s)||n===null)return;const o=T(s.items,i.fromIndex,n);if(!o)return;this.emitReorder(s.items,i.fromIndex,o,i.sectionIndex)};this.onReorderPointerCancel=e=>{if(!this.reorderPointer||e.pointerId!==this.reorderPointer.pointerId)return;this.clearReorderPointer();this.tasks.microtask((()=>{this.suppressItemClick=false}))}}componentDidLoad(){this.loaded=true;if(this.open)this.onOpenChange(true)}connectedCallback(){if(this.loaded&&this.open)this.onOpenChange(true)}disconnectedCallback(){this.cancelPositionRetry();this.cancelLivePositionUpdate();this.clearReorderPointer();this.teardownListeners();this.positionReadyCallback=undefined;this.shouldRender=false;this.closing=false;this.positionReady=false;this.closingSections=null;this.lastRenderedSections=[];this.suppressItemClick=false;this.reorderAnnouncement=""}onOpenChange(e){if(this.embedded||!this.loaded||!this.el.isConnected)return;if(e){this.teardownListeners();this.closingSections=null;this.shouldRender=true;this.closing=false;this.positionReady=false;this.availableHeight=null;this.focusRingVisible=this.initialFocusVisible;this.setupListeners();this.schedulePositionUpdate((()=>{this.focusInitialItem()}))}else if(this.shouldRender&&!this.closing){this.positionReadyCallback=undefined;this.cancelPositionRetry();this.captureClosingSections();this.closing=true;this.teardownListeners();const e=this.closeAnimationMs;if(e<=0){this.finishClose();return}this.closeTimer=setTimeout((()=>{this.closeTimer=null;this.finishClose()}),e)}}onAnchorChange(){if(this.open)this.schedulePositionUpdate()}onPositionPropsChange(){if(this.open)this.schedulePositionUpdate()}get viewportPadPx(){return _(x.space050,x.space050)}get sideOffsetPx(){return _(this.sideOffset,x.space050)}get alignOffsetPx(){return _(this.alignOffset,0)}get popupFallbackWidthPx(){return _(x.menuWidthXs,x.menuWidthXs)}get popupFallbackHeightPx(){return _(x.menuFallbackHeight,x.menuFallbackHeight)}get closeAnimationMs(){return b(x.motionShort2,x.animationDurationShort3)}finishClose(){if(this.open||!this.closing||!this.el.isConnected)return;const e=this.el.querySelector(".menu-popup");if(e?.matches(":popover-open"))e.hidePopover();this.shouldRender=false;this.closing=false;this.lastRenderedSections=[];this.closingSections=null;this.clearReorderPointer();this.reorderAnnouncement="";this.dsAfterClose.emit()}captureClosingSections(){if(this.closingSections)return;const e=this.lastRenderedSections.length?this.lastRenderedSections:this.activeSections;this.closingSections=z(e)}get resolvedAnchor(){if(this.anchor)return this.anchor;if(this.anchorId)return document.getElementById(this.anchorId);return null}compositeTabLeavesPopup(e){return this.interaction.tabLeavesPopup(e)}get activeSections(){if(this.sections.length>0)return this.sections;if(this.items.length>0)return[{items:this.items}];return[]}get flatItems(){return this.activeSections.flatMap((e=>A(e)?[]:e.items))}get hasCompositeSections(){return this.activeSections.some(A)}cancelPositionRetry(){this.position.cancel()}cancelLivePositionUpdate(){this.position.cancel()}scheduleLivePositionUpdate(){this.position.scheduleLiveUpdate()}schedulePositionUpdate(e){if(!this.open||!this.el.isConnected)return;this.positionReady=false;if(e)this.positionReadyCallback=e;const i=this.positionReadyCallback;this.position.schedule((()=>{if(this.positionReadyCallback===i){this.positionReadyCallback=undefined}i?.()}))}calculatePosition(){return this.position.update()}focusInitialItem(){if(!this.hasCompositeSections&&!this.flatItems.length&&this.emptyMessage.trim()){this.tasks.frame((()=>{if(this.open)this.el.querySelector(".menu-popup")?.focus()}));return}if(this.hasCompositeSections){this.tasks.frame((()=>{this.el.querySelector('.menu-popup [tabindex="0"]')?.focus()}));return}const e=this.flatItems;const i=e.findIndex((e=>e.isSelected&&!e.isInactive));const s=e.findIndex((e=>!e.isInactive||!!e.reorderable));this.focusedIndex=i>=0?i:s>=0?s:0;this.tasks.frame((()=>{const e=this.el.querySelectorAll(".menu-item");e[this.focusedIndex]?.focus()}))}setupListeners(){this.interaction.connect();this.position.observe()}teardownListeners(){this.tasks.cancel();this.position.unobserve();this.interaction.disconnect();if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}close(e=true){this.captureClosingSections();if(e)this.interaction.focusAnchor();this.dsClose.emit();this.open=false;this.onOpenChange(false)}handleKeyDown(e){if(this.embedded&&(e.key==="Escape"||e.key==="Tab"))return;if(!this.shouldRender&&!this.embedded||this.closing)return;if(e.key==="Escape"){e.preventDefault();this.close();return}if(e.key==="Tab"){if(this.hasCompositeSections&&!this.compositeTabLeavesPopup(e))return;e.preventDefault();this.close(false);this.interaction.moveFocusAfterTab(e.shiftKey);return}if(this.hasCompositeSections)return;if((e.key==="ArrowUp"||e.key==="ArrowDown")&&e.altKey&&!e.ctrlKey&&!e.shiftKey){this.handleReorderKey(e);return}const i=this.flatItems;const s=i.map(((e,i)=>({it:e,i}))).filter((({it:e})=>!e.isInactive||!!e.reorderable)).map((({i:e})=>e));if(!s.length)return;const n=s.indexOf(this.focusedIndex);const o=n<0?0:n;switch(e.key){case"ArrowDown":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[(o+1)%s.length];this.focusItem(this.focusedIndex);break;case"ArrowUp":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[(o-1+s.length)%s.length];this.focusItem(this.focusedIndex);break;case"Home":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[0];this.focusItem(this.focusedIndex);break;case"End":e.preventDefault();e.stopPropagation();this.focusRingVisible=true;this.focusedIndex=s[s.length-1];this.focusItem(this.focusedIndex);break}}focusItem(e){const i=this.el.querySelectorAll(".menu-item");i[e]?.focus()}handleItemClick(e){if(this.suppressItemClick){this.suppressItemClick=false;return}if(e.isInactive)return;this.captureClosingSections();this.dsSelect.emit(e)}handleSwatchSelect(e){this.dsSwatchSelect.emit(e)}handleReorderKey(e){const i=R(this.activeSections,this.focusedIndex);if(!i||!i.items[i.itemIndex]?.reorderable)return;const s=j(i.items,i.itemIndex,e.key==="ArrowUp"?-1:1);if(!s)return;e.preventDefault();e.stopPropagation();this.emitReorder(i.items,i.itemIndex,s,i.sectionIndex)}emitReorder(e,i,s,n){const o=D(e,i,s,n);if(!o)return;this.focusedIndex=this.flatIndexFor(n,o.toIndex);this.announceReorder(o);this.dsReorder.emit(o)}flatIndexFor(e,i){let s=0;for(let n=0;n<this.activeSections.length;n+=1){const o=this.activeSections[n];if(A(o))continue;if(n===e)return s+i;s+=o.items.length}return i}announceReorder(e){const i=I(e.items,e.toIndex);const s=i?i.end-i.start+1:e.items.length;const n=i?e.toIndex-i.start+1:e.toIndex+1;this.reorderAnnouncement=`${e.item.label} moved to position ${n} of ${s}`}onReorderPointerDown(e,i,s,n){if(e.button!==0)return;const o=this.activeSections[i];if(!o||A(o))return;if(!o.items[s]?.reorderable)return;e.preventDefault();e.stopPropagation();this.suppressItemClick=true;this.focusRingVisible=false;this.focusedIndex=n;this.focusItem(n);this.reorderPointer={pointerId:e.pointerId,sectionIndex:i,fromIndex:s};this.reorderFromFlat=n;this.reorderInsertBefore=s;window.addEventListener("pointermove",this.onReorderPointerMove);window.addEventListener("pointerup",this.onReorderPointerUp);window.addEventListener("pointercancel",this.onReorderPointerCancel)}resolveReorderInsertBefore(e,i,s,n){const o=I(n,s);if(!o)return s;const t=[...this.el.querySelectorAll(".menu-item")];const r=this.flatIndexFor(i,0);let d=o.end+1;for(let i=o.start;i<=o.end;i+=1){const s=t[r+i];if(!s)continue;const n=s.getBoundingClientRect();if(e<n.top+n.height/2){d=i;break}}return Math.min(Math.max(d,o.start),o.end+1)}clearReorderPointer(){if(this.reorderPointer){window.removeEventListener("pointermove",this.onReorderPointerMove);window.removeEventListener("pointerup",this.onReorderPointerUp);window.removeEventListener("pointercancel",this.onReorderPointerCancel)}this.reorderPointer=null;this.reorderFromFlat=null;this.reorderInsertBefore=null}render(){if(!this.shouldRender&&!this.embedded)return n(o,{style:{display:"contents"}});const e=this.closing?this.closingSections??this.lastRenderedSections:this.activeSections;const i=e.some(A);const s=this.closing?this.lastRenderedEmptyMessage:this.emptyMessage.trim();const t=Boolean(s)&&!i&&e.every((e=>!A(e)&&e.items.length===0));if(!this.closing){this.lastRenderedEmptyMessage=s;this.lastRenderedSections=z(e);this.closingSections=null}let r=0;const d=this.reorderFromFlat===null?null:R(e,this.reorderFromFlat);const c=d?I(d.items,d.itemIndex):null;const a={position:"fixed",left:"0",top:"0",transform:`translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,zIndex:"9998",visibility:this.positionReady?"visible":"hidden"};if(this.menuWidth)a["width"]=this.menuWidth;if(this.minWidth)a["min-width"]=this.minWidth;if(this.availableHeight!==null){a["max-height"]=`${Math.floor(this.availableHeight)}px`}return n(o,{style:{display:"contents"}},n("div",{popover:this.embedded?undefined:"manual",class:{"menu-popup":true,"menu-popup--closing":this.closing,"ds-choice-popup":!this.embedded,"data-preferences-embedded":this.embedded,"ds-choice-popup--closing":this.closing,"ds-focus-ring":t,"ds-focus-ring--visible":t&&this.focusRingVisible},style:this.embedded?undefined:a,role:i||t?"dialog":"menu","aria-label":this.menuLabel,"aria-orientation":i||t?undefined:"vertical","aria-describedby":t?this.emptyMessageId:undefined,tabIndex:t?-1:undefined},n("div",{class:"ds-choice-list"},t?n("ds-text",{textId:this.emptyMessageId,class:"menu-empty",as:"p",variant:k[this.size],color:"secondary"},s):e.map(((s,o)=>n("div",{key:o,class:{"menu-section":true,"menu-section--divided":o<e.length-1,"menu-section--swatch-picker":A(s),"ds-choice-section":true,"ds-chrome-column":true,"ds-chrome-space--sm":true,"ds-choice-section--divided":o<e.length-1,"ds-choice-section--headed-after-first":o>0&&Boolean(s.header)},role:s.header?"group":undefined,"aria-label":s.header},s.header&&n("ds-text",{class:`section-header ds-choice-section__header ds-control-section-heading ds-control--${this.size}`,as:"span",variant:C[this.size],emphasis:true,color:"primary","aria-hidden":"true"},n("span",{class:"ds-choice-section__header-label"},s.header)),P(s)?n("ds-swatch-picker",{value:s.value,groupLabel:s.groupLabel??s.header??"Swatch options",options:s.options??[],sections:s.sections??[],onDsChange:e=>{e.stopPropagation();this.handleSwatchSelect(e.detail)}}):s.items.map(((e,t)=>{const a=r++;const l=this.focusedIndex===a;const h=!i&&this.selectionMode==="single"&&!e.showSwitch;const u=s.items.some((e=>e.reorderable||!!e.icon));const m=!!e.isInactive&&!e.reorderable;const f=this.reorderFromFlat===a;const p=d?.sectionIndex===o&&c!==null&&t<=c.end&&this.reorderInsertBefore===t;const v=d?.sectionIndex===o&&c!==null&&this.reorderInsertBefore===c.end+1&&t===c.end;return n("button",{key:e.value??`${o}-${e.label}`,type:"button",class:{"menu-item":true,"ds-choice-item":true,"ds-control-frame":true,[`ds-control--${this.size}`]:true,"ds-focus-ring-inset":true,"ds-focus-ring--visible":l&&this.focusRingVisible,"ds-interaction-fill":!m,"ds-interaction-fill--selected":!!e.isSelected&&!m,"menu-item--selected":!!e.isSelected,"menu-item--switch":!!e.showSwitch,"ds-control-inactive":m,"menu-item--destructive":!!e.isDestructive,"menu-item--focused":l,"menu-item--dragging":f},role:i?undefined:e.showSwitch?"menuitemcheckbox":h?"menuitemradio":"menuitem","aria-checked":!i&&e.showSwitch?String(!!e.switchValue):h?String(!!e.isSelected):undefined,"aria-pressed":i?String(e.showSwitch?!!e.switchValue:!!e.isSelected):undefined,"aria-current":!i&&!e.showSwitch&&!h&&e.isSelected?"true":undefined,"aria-description":e.reorderable?e.isInactive?"Visibility cannot be changed. Alt + Arrow Up or Alt + Arrow Down moves this row.":"Drag to reorder. Alt + Arrow Up or Alt + Arrow Down moves this row.":undefined,"aria-disabled":e.isInactive?"true":undefined,disabled:m,tabIndex:i||this.embedded&&a===0?0:l?0:-1,onMouseDown:()=>{this.focusRingVisible=false},onClick:()=>this.handleItemClick(e),onFocus:()=>{this.focusedIndex=a}},(p||v)&&n("span",{class:{"menu-item__drop-rail":true,"menu-item__drop-rail--before":p,"menu-item__drop-rail--after":v},"data-menu-drop-rail":true,"aria-hidden":"true"}),e.reorderable?n("span",{class:"menu-item__handle ds-choice-item__icon ds-control-icon-box ds-interaction-fill__content","data-menu-handle":true,"aria-hidden":"true",onPointerDown:e=>this.onReorderPointerDown(e,o,t,a),onClick:e=>{e.preventDefault();e.stopPropagation()}},n("ds-icon",{name:"DragDots",size:this.size,color:"inherit"})):u&&e.icon?n("span",{class:"menu-item__icon ds-choice-item__icon ds-control-icon-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-icon",{name:e.icon,size:this.size,color:"inherit"})):u?n("span",{class:"menu-item__icon-spacer ds-choice-item__icon ds-control-icon-box","aria-hidden":"true"}):null,n("div",{class:"menu-item__content ds-choice-item__content ds-interaction-fill__content"},n("ds-text",{class:"menu-item__label ds-choice-item__label ds-control-label-box",as:"span",variant:k[this.size],color:e.isSelected?"primary":"secondary"},e.label),e.subtext&&n("ds-text",{class:"menu-item__subtext ds-choice-item__subtext ds-control-label-box",as:"span",variant:C[this.size],color:"secondary"},e.subtext)),e.tag&&n("ds-tag",{class:"ds-choice-item__tag ds-interaction-fill__content",label:e.tag.label,size:M[this.size],intent:e.tag.intent??"neutral",contrast:e.tag.contrast??"faint",rounded:e.tag.rounded??false,isInset:true}),e.dot&&n("span",{class:"menu-item__dot-box ds-interaction-fill__content","aria-hidden":"true"},n("ds-badge",{class:"menu-item__dot",variant:"dot",hasRing:false,label:""})),e.showSwitch&&n("ds-switch",{class:"menu-item__switch ds-interaction-fill__content",size:this.size,checked:!!e.switchValue,isInactive:!!e.isInactive,presentation:true}))}))))))),n("div",{class:"ds-visually-hidden",role:"status","aria-live":"polite"},this.reorderAnnouncement))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],boundary:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}}static get style(){return O()}},[2,"ds-menu",{embedded:[4],open:[1028],items:[16],size:[1],selectionMode:[1,"selection-mode"],sections:[16],side:[1],align:[1],anchorAlignment:[1,"anchor-alignment"],sideOffset:[8,"side-offset"],alignOffset:[8,"align-offset"],menuWidth:[1,"menu-width"],minWidth:[1,"min-width"],anchor:[16],anchorId:[1,"anchor-id"],boundary:[16],initialFocusVisible:[4,"initial-focus-visible"],menuLabel:[1,"menu-label"],emptyMessage:[1,"empty-message"],shouldRender:[32],closing:[32],pos:[32],focusedIndex:[32],positionReady:[32],availableHeight:[32],focusRingVisible:[32],reorderFromFlat:[32],reorderInsertBefore:[32],reorderAnnouncement:[32]},[[0,"keydown","handleKeyDown"]],{open:[{onOpenChange:0}],anchor:[{onAnchorChange:0}],anchorId:[{onAnchorChange:0}],boundary:[{onAnchorChange:0}],side:[{onPositionPropsChange:0}],align:[{onPositionPropsChange:0}],anchorAlignment:[{onPositionPropsChange:0}],sideOffset:[{onPositionPropsChange:0}],alignOffset:[{onPositionPropsChange:0}]}]);function B(){if(typeof customElements==="undefined"){return}const e=["ds-menu","ds-badge","ds-icon","ds-swatch-picker","ds-switch","ds-tag","ds-text"];e.forEach((e=>{switch(e){case"ds-menu":if(!customElements.get(t(e))){customElements.define(t(e),E)}break;case"ds-badge":if(!customElements.get(t(e))){h()}break;case"ds-icon":if(!customElements.get(t(e))){u()}break;case"ds-swatch-picker":if(!customElements.get(t(e))){m()}break;case"ds-switch":if(!customElements.get(t(e))){f()}break;case"ds-tag":if(!customElements.get(t(e))){p()}break;case"ds-text":if(!customElements.get(t(e))){v()}break}}))}B();export{E as M,B as d};
|
|
2
|
-
//# sourceMappingURL=p-t2Ebn8si.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isMenuSwatchPickerSection","section","variant","isMenuPickerSection","snapshotMenuSections","sections","map","options","option","swatchSection","items","item","menuReorderableRange","index","reorderable","start","end","length","moveReorderableMenuItemBefore","fromIndex","insertBefore","range","clamped","Math","min","max","toIndex","next","splice","moveReorderableMenuItemBy","offset","locateMenuItem","flatIndex","remaining","sectionIndex","itemIndex","createMenuReorderDetail","nextItems","indexOf","value","matched","findIndex","candidate","menuCss","menuId","MENU_ITEM_TAG_SIZE","lg","md","sm","xs","Menu","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","embedded","open","size","selectionMode","side","align","anchorAlignment","sideOffset","TOKEN_CSS_LENGTHS","space050","alignOffset","initialFocusVisible","menuLabel","emptyMessage","shouldRender","closing","pos","x","y","focusedIndex","positionReady","availableHeight","focusRingVisible","reorderFromFlat","reorderInsertBefore","reorderAnnouncement","closeTimer","loaded","tasks","ConnectionTasks","el","isConnected","suppressItemClick","reorderPointer","position","AnchoredPositionController","getAnchor","resolvedAnchor","getPopup","querySelector","getOwnerDocument","ownerDocument","measure","anchorEl","popup","anchorRect","getBoundingClientRect","sectionInsetPx","viewportPadPx","minWidth","style","choicePopupMinWidth","width","removeProperty","list","naturalPopupHeight","offsetHeight","scrollHeight","window","innerHeight","input","popupWidth","offsetWidth","popupFallbackWidthPx","popupHeight","popupFallbackHeightPx","sideOffsetPx","alignOffsetPx","resolveChoicePopupAlignOffset","viewportWidth","innerWidth","viewportHeight","collisionRect","resolveAnchoredOverlayBoundaryRect","boundary","unconstrained","computeAnchoredPosition","apply","onReady","liveUpdate","topLayer","observeResize","observeAnchorMotion","interaction","AnchoredOverlayInteractionController","onOutsideActivation","close","lastRenderedSections","closingSections","emptyMessageId","lastRenderedEmptyMessage","onReorderPointerMove","event","drag","pointerId","activeSections","resolveReorderInsertBefore","clientY","onReorderPointerUp","clearReorderPointer","microtask","emitReorder","onReorderPointerCancel","componentDidLoad","onOpenChange","connectedCallback","disconnectedCallback","cancelPositionRetry","cancelLivePositionUpdate","teardownListeners","positionReadyCallback","undefined","isOpen","setupListeners","schedulePositionUpdate","focusInitialItem","captureClosingSections","closeAnimationMs","finishClose","setTimeout","onAnchorChange","onPositionPropsChange","resolveCssLengthPx","TOKEN_DEFAULTS","menuWidthXs","menuFallbackHeight","resolveMotionTimeMs","motionShort2","animationDurationShort3","matches","hidePopover","dsAfterClose","emit","visibleSections","anchor","anchorId","document","getElementById","compositeTabLeavesPopup","tabLeavesPopup","flatItems","flatMap","hasCompositeSections","some","cancel","scheduleLivePositionUpdate","scheduleLiveUpdate","callback","schedule","calculatePosition","update","trim","frame","focus","flat","selectedIdx","it","isSelected","isInactive","firstEnabledIdx","btns","querySelectorAll","connect","observe","unobserve","disconnect","clearTimeout","restoreFocus","focusAnchor","dsClose","handleKeyDown","e","key","preventDefault","moveFocusAfterTab","shiftKey","altKey","ctrlKey","handleReorderKey","enabled","i","filter","cur","safe","stopPropagation","focusItem","idx","handleItemClick","dsSelect","handleSwatchSelect","dsSwatchSelect","located","detail","flatIndexFor","announceReorder","dsReorder","count","label","onReorderPointerDown","button","addEventListener","buttons","sectionStart","row","rect","top","height","removeEventListener","render","h","Host","display","showEmpty","Boolean","every","flatIdx","dragLocated","dragRange","popupStyle","left","transform","round","zIndex","visibility","menuWidth","floor","popover","class","role","tabIndex","textId","as","CONTROL_TEXT_VARIANT","color","si","header","CONTROL_SUPPORTING_TEXT_VARIANT","emphasis","groupLabel","onDsChange","isFocused","isSingleSelectionItem","showSwitch","usesLeading","icon","locked","dragging","dropBefore","dropAfter","type","isDestructive","String","switchValue","disabled","onMouseDown","onClick","onFocus","onPointerDown","name","subtext","tag","intent","contrast","rounded","isInset","dot","hasRing","checked","presentation"],"sources":["src/wc/components/Menu/menu-types.ts","src/wc/components/Menu/menu-sections.ts","src/wc/components/Menu/menu-reorder.ts","src/wc/components/Menu/Menu.css?tag=ds-menu&encapsulation=scoped","src/wc/components/Menu/Menu.tsx"],"sourcesContent":["import type { SwatchPickerOption, SwatchPickerSection } from '../SwatchPicker/swatch-picker-types';\nimport type { TagContrast, TagIntent } from '../Tag/Tag';\n\nexport type { MenuAlign, MenuSide } from './menu-position';\nexport {\n PANEL_NAV_USER_MENU_PLACEMENT,\n PANEL_TOOLS_HEADER_MENU_PLACEMENT,\n type MenuPlacement,\n} from './menu-placement';\n\nexport interface MenuItemTagData {\n label: string;\n intent?: TagIntent;\n contrast?: TagContrast;\n rounded?: boolean;\n}\n\nexport interface MenuItemData {\n label: string;\n value?: string;\n subtext?: string;\n /** Leading decorative icon. Ignored when `reorderable` is true. */\n icon?: string;\n /** Show a supplemental brand notification dot. */\n dot?: boolean;\n /** Show a non-interactive tag at the trailing edge of the row. */\n tag?: MenuItemTagData;\n isSelected?: boolean;\n isInactive?: boolean;\n isDestructive?: boolean;\n /** Render a compact switch indicator; the menu row owns interaction. */\n showSwitch?: boolean;\n switchValue?: boolean;\n /** Prefix a drag handle and allow pointer and keyboard reorder within the contiguous reorderable run. */\n reorderable?: boolean;\n}\n\n/** Next section item order after a pointer or keyboard reorder. */\nexport interface MenuReorderDetail {\n item: MenuItemData;\n fromIndex: number;\n toIndex: number;\n sectionIndex: number;\n items: MenuItemData[];\n}\n\nexport interface MenuItemsSection {\n header?: string;\n items: MenuItemData[];\n}\n\nexport interface MenuSwatchPickerSection {\n header?: string;\n variant: 'swatch-picker';\n value: string;\n options?: SwatchPickerOption[];\n sections?: SwatchPickerSection[];\n groupLabel?: string;\n}\n\nexport type MenuSection = MenuItemsSection | MenuSwatchPickerSection;\n\nexport function isMenuSwatchPickerSection(\n section: MenuSection\n): section is MenuSwatchPickerSection {\n return 'variant' in section && section.variant === 'swatch-picker';\n}\n\nexport function isMenuPickerSection(section: MenuSection): section is MenuSwatchPickerSection {\n return isMenuSwatchPickerSection(section);\n}\n\nexport type { SwatchPickerOption, SwatchPickerSection };\n","import type { MenuSection } from './menu-types';\nimport { isMenuSwatchPickerSection } from './menu-types';\n\n/** Preserve the exact menu context painted during exit motion. */\nexport function snapshotMenuSections(sections: readonly MenuSection[]): MenuSection[] {\n return sections.map(section => {\n if (isMenuSwatchPickerSection(section)) {\n return {\n ...section,\n ...(section.options ? { options: section.options.map(option => ({ ...option })) } : {}),\n ...(section.sections\n ? {\n sections: section.sections.map(swatchSection => ({\n ...swatchSection,\n options: swatchSection.options.map(option => ({ ...option })),\n })),\n }\n : {}),\n };\n }\n return { ...section, items: section.items.map(item => ({ ...item })) };\n });\n}\n","import {\n isMenuPickerSection,\n type MenuItemData,\n type MenuReorderDetail,\n type MenuSection,\n} from './menu-types';\n\nexport interface MenuReorderRange {\n start: number;\n end: number;\n}\n\n/** Contiguous reorderable run containing `index`, or null when that row cannot move. */\nexport function menuReorderableRange(\n items: readonly MenuItemData[],\n index: number\n): MenuReorderRange | null {\n if (!items[index]?.reorderable) return null;\n\n let start = index;\n while (start > 0 && items[start - 1]?.reorderable) start -= 1;\n\n let end = index;\n while (end < items.length - 1 && items[end + 1]?.reorderable) end += 1;\n\n return { start, end };\n}\n\n/**\n * Move a reorderable row so it would be inserted before `insertBefore`.\n * `insertBefore` is clamped to the contiguous reorderable run.\n */\nexport function moveReorderableMenuItemBefore(\n items: readonly MenuItemData[],\n fromIndex: number,\n insertBefore: number\n): MenuItemData[] | null {\n const range = menuReorderableRange(items, fromIndex);\n if (!range) return null;\n\n const clamped = Math.min(Math.max(insertBefore, range.start), range.end + 1);\n let toIndex = clamped;\n if (fromIndex < toIndex) toIndex -= 1;\n if (toIndex === fromIndex || toIndex < range.start || toIndex > range.end) return null;\n\n const next = [...items];\n const [item] = next.splice(fromIndex, 1);\n next.splice(toIndex, 0, item);\n return next;\n}\n\n/** Keyboard step: move one slot within the reorderable run. */\nexport function moveReorderableMenuItemBy(\n items: readonly MenuItemData[],\n fromIndex: number,\n offset: number\n): MenuItemData[] | null {\n if (offset === 0) return null;\n return moveReorderableMenuItemBefore(\n items,\n fromIndex,\n fromIndex + (offset < 0 ? offset : offset + 1)\n );\n}\n\nexport function locateMenuItem(\n sections: readonly MenuSection[],\n flatIndex: number\n): { sectionIndex: number; itemIndex: number; items: MenuItemData[] } | null {\n let remaining = flatIndex;\n for (let sectionIndex = 0; sectionIndex < sections.length; sectionIndex += 1) {\n const section = sections[sectionIndex];\n if (isMenuPickerSection(section)) continue;\n if (remaining < section.items.length) {\n return { sectionIndex, itemIndex: remaining, items: section.items };\n }\n remaining -= section.items.length;\n }\n return null;\n}\n\nexport function createMenuReorderDetail(\n items: MenuItemData[],\n fromIndex: number,\n nextItems: MenuItemData[],\n sectionIndex: number\n): MenuReorderDetail | null {\n const item = items[fromIndex];\n if (!item) return null;\n const toIndex = nextItems.indexOf(item);\n if (toIndex < 0) {\n const value = item.value;\n const matched = value ? nextItems.findIndex(candidate => candidate.value === value) : -1;\n if (matched < 0) return null;\n return { item, fromIndex, toIndex: matched, sectionIndex, items: nextItems };\n }\n return { item, fromIndex, toIndex, sectionIndex, items: nextItems };\n}\n","@import '../../utils/radius.css';\n@import '../../utils/choice-list.css';\n@import '../../utils/visually-hidden.css';\n@import '../../utils/forced-colors.css';\n\n/* Inactive: `.ds-control-inactive` (50% opacity). */\n\n.menu-empty {\n padding: var(--dimension-space-200);\n box-sizing: border-box;\n overflow-wrap: anywhere;\n}\n\n.menu-item--destructive .menu-item__label {\n /* Beat ds-text color-* host classes for destructive rows. */\n color: var(--color-foreground-bold-negative) !important;\n}\n\n/* Standard md icon zone keeps the dot aligned with other control suffixes. */\n.menu-item__dot-box {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--ds-control-icon, var(--dimension-iconography-md));\n height: var(--ds-control-icon, var(--dimension-iconography-md));\n pointer-events: none;\n}\n\n/* Switch suffix keeps an 8px label-to-control gap without changing the\n density gap between a prefix icon or drag handle and the label. */\n.menu-item__switch {\n flex-shrink: 0;\n margin-inline-start: calc(\n var(--dimension-space-100) - var(--ds-control-gap, var(--dimension-space-050))\n );\n}\n\n/* ── Prefix icon / reorder handle ────────────────────────────────────────── */\n\n.menu-item > .menu-item__handle {\n pointer-events: auto;\n cursor: grab;\n touch-action: none;\n}\n\n.menu-item > .menu-item__handle:active,\n.menu-item--dragging > .menu-item__handle {\n cursor: grabbing;\n}\n\n.menu-item--dragging {\n opacity: var(--effect-opacity-medium);\n}\n\n.menu-item__drop-rail {\n position: absolute;\n z-index: var(--dimension-z-index-raised);\n inset-inline: var(--dimension-space-050);\n block-size: var(--dimension-stroke-width-025);\n border-radius: var(--dimension-radius-half);\n background: var(--color-border-bold-brand);\n pointer-events: none;\n}\n\n.menu-item__drop-rail--before {\n inset-block-start: calc(-1 * var(--dimension-space-025));\n transform: translateY(-50%);\n}\n\n.menu-item__drop-rail--after {\n inset-block-end: calc(-1 * var(--dimension-space-025));\n transform: translateY(50%);\n}\n\n@media (forced-colors: active) {\n .menu-item__drop-rail {\n background: var(--ds-forced-color-selected);\n }\n}\n\n.data-preferences-embedded {\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n color: var(--color-foreground-secondary);\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Watch,\n Listen,\n h,\n Host,\n} from '@stencil/core';\nimport {\n choicePopupMinWidth,\n CONTROL_SUPPORTING_TEXT_VARIANT,\n CONTROL_TEXT_VARIANT,\n resolveChoicePopupAlignOffset,\n resolveCssLengthPx,\n resolveMotionTimeMs,\n TOKEN_CSS_LENGTHS,\n TOKEN_DEFAULTS,\n type ChoicePopupAnchorAlignment,\n type ControlSize,\n} from '../../utils';\nimport { AnchoredPositionController } from '../../utils/anchored-position-controller';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\nimport { AnchoredOverlayInteractionController } from '../../utils/anchored-overlay-interaction-controller';\nimport { resolveAnchoredOverlayBoundaryRect } from '../../utils/anchored-overlay-boundary';\nimport { computeAnchoredPosition, type AnchoredPositionInput } from '../../utils/anchored-position';\nimport type { MenuAlign, MenuSide } from './menu-position';\nimport {\n isMenuPickerSection,\n isMenuSwatchPickerSection,\n type MenuItemData,\n type MenuReorderDetail,\n type MenuSection,\n} from './menu-types';\nimport { snapshotMenuSections } from './menu-sections';\nimport {\n createMenuReorderDetail,\n locateMenuItem,\n menuReorderableRange,\n moveReorderableMenuItemBefore,\n moveReorderableMenuItemBy,\n} from './menu-reorder';\n\nexport type MenuSelectionMode = 'none' | 'single';\nexport type MenuSize = ControlSize;\nlet menuId = 0;\nconst MENU_ITEM_TAG_SIZE: Record<MenuSize, 'md' | 'sm' | 'xs'> = {\n lg: 'md',\n md: 'sm',\n sm: 'xs',\n xs: 'xs',\n};\n\n@Component({\n tag: 'ds-menu',\n styleUrl: 'Menu.css',\n scoped: true,\n})\nexport class Menu {\n @Element() el!: HTMLElement;\n\n /** Render content inside a parent-owned surface; the parent owns dismissal and positioning. */\n @Prop() embedded: boolean = false;\n @Prop({ mutable: true }) open: boolean = false;\n @Prop() items: MenuItemData[] = [];\n /** Choice-row density. */\n @Prop() size: MenuSize = 'md';\n /** Give ordinary rows mutually-exclusive menu semantics using isSelected. */\n @Prop() selectionMode: MenuSelectionMode = 'none';\n @Prop() sections: MenuSection[] = [];\n /** Preferred side; placement flips to the opposite side when that offers a better fit. */\n @Prop() side: MenuSide = 'bottom';\n @Prop() align: MenuAlign = 'start';\n /** Align choice-row edges to the anchor by default; use `popup-frame` only for custom frame geometry. */\n @Prop() anchorAlignment: ChoicePopupAnchorAlignment = 'choice-cell';\n /** Gap between anchor and menu — number (px) or TokoMo length (`var(--dimension-space-050)`, etc.). */\n @Prop() sideOffset: number | string = TOKEN_CSS_LENGTHS.space050;\n /** Cross-axis offset — number (px) or TokoMo length. */\n @Prop() alignOffset: number | string = 0;\n @Prop() menuWidth: string | undefined;\n @Prop() minWidth: string | undefined;\n /** External trigger element to position against. Set via JS: menuEl.anchor = buttonEl */\n @Prop() anchor: HTMLElement | undefined;\n /** ID of the external trigger element for positioning */\n @Prop() anchorId: string | undefined;\n /** Explicit collision owner; otherwise the nearest data-ds-overlay-boundary ancestor is used. */\n @Prop() boundary: HTMLElement | undefined;\n /** Show a visible ring on the initially focused menu item. Use only when the opener was keyboard-driven. */\n @Prop() initialFocusVisible: boolean = false;\n /** Accessible name for the popup menu. */\n @Prop() menuLabel: string = 'Menu';\n /** Informational message shown when there are no choices. Uses a non-modal dialog, not a fake menu item. */\n @Prop() emptyMessage: string = '';\n\n @State() private shouldRender: boolean = false;\n @State() private closing: boolean = false;\n @State() private pos: { x: number; y: number } = { x: 0, y: 0 };\n @State() private focusedIndex: number = 0;\n @State() private positionReady: boolean = false;\n @State() private availableHeight: number | null = null;\n @State() private focusRingVisible: boolean = false;\n @State() private reorderFromFlat: number | null = null;\n @State() private reorderInsertBefore: number | null = null;\n @State() private reorderAnnouncement = '';\n\n @Event() dsClose!: EventEmitter<void>;\n /** Emitted after the popup's exit motion is complete and its rendered content is removed. */\n @Event() dsAfterClose!: EventEmitter<void>;\n @Event() dsSelect!: EventEmitter<MenuItemData>;\n /** Emitted when a generic `swatch-picker` section option is chosen. */\n @Event() dsSwatchSelect!: EventEmitter<string>;\n /** Emitted after a pointer drop or keyboard move; Menu never mutates item order. */\n @Event() dsReorder!: EventEmitter<MenuReorderDetail>;\n\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private loaded = false;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n private positionReadyCallback: (() => void) | undefined;\n private suppressItemClick = false;\n private reorderPointer: {\n pointerId: number;\n sectionIndex: number;\n fromIndex: number;\n } | null = null;\n /**\n * Anchored placement. The choice-cell measurement stays here on purpose: the\n * inner-cell align offset and the `--dimension-menu-width-xs` floor are Menu\n * semantics, not shared geometry.\n */\n private readonly position = new AnchoredPositionController({\n getAnchor: () => this.resolvedAnchor ?? null,\n getPopup: () => this.el.querySelector<HTMLElement>('.menu-popup'),\n getOwnerDocument: () => this.el.ownerDocument,\n measure: (anchorEl, popup) => {\n if (!this.open) return null;\n\n const anchorRect = anchorEl.getBoundingClientRect();\n const sectionInsetPx = this.viewportPadPx;\n if (!this.minWidth) {\n if (\n this.anchorAlignment === 'choice-cell' &&\n (this.side === 'top' || this.side === 'bottom')\n ) {\n popup.style.minWidth = `max(var(--dimension-menu-width-xs), ${choicePopupMinWidth(\n anchorRect.width,\n sectionInsetPx\n )}px)`;\n } else {\n popup.style.removeProperty('min-width');\n }\n }\n\n const viewportPadPx = this.viewportPadPx;\n const list = popup.querySelector<HTMLElement>('.ds-choice-list');\n const naturalPopupHeight = Math.min(\n Math.max(popup.offsetHeight, list?.scrollHeight ?? 0),\n window.innerHeight - viewportPadPx * 2\n );\n const input: AnchoredPositionInput = {\n anchorRect,\n popupWidth: popup.offsetWidth || this.popupFallbackWidthPx,\n popupHeight: naturalPopupHeight || this.popupFallbackHeightPx,\n side: this.side,\n align: this.align,\n sideOffsetPx: this.sideOffsetPx,\n alignOffsetPx: resolveChoicePopupAlignOffset({\n align: this.align,\n alignOffsetPx: this.alignOffsetPx,\n sectionInsetPx,\n anchorAlignment: this.anchorAlignment,\n }),\n viewportPadPx,\n viewportWidth: window.innerWidth,\n viewportHeight: window.innerHeight,\n collisionRect: resolveAnchoredOverlayBoundaryRect(anchorEl, this.boundary),\n };\n const unconstrained = computeAnchoredPosition(input);\n return {\n ...input,\n popupHeight: Math.min(input.popupHeight, unconstrained.availableHeight),\n };\n },\n apply: ({ x, y, availableHeight }) => {\n this.pos = { x, y };\n this.availableHeight = availableHeight;\n },\n onReady: () => {\n this.positionReady = true;\n },\n liveUpdate: 'double-frame',\n topLayer: true,\n observeResize: true,\n observeAnchorMotion: true,\n });\n private readonly interaction = new AnchoredOverlayInteractionController({\n getAnchor: () => this.resolvedAnchor,\n getPopup: () => this.el.querySelector<HTMLElement>('.menu-popup'),\n getOwnerDocument: () => this.el.ownerDocument,\n onOutsideActivation: () => this.close(),\n });\n /** Last content actually painted while open; retained unchanged through exit motion. */\n private lastRenderedSections: MenuSection[] = [];\n private closingSections: MenuSection[] | null = null;\n private readonly emptyMessageId = `ds-menu-empty-${++menuId}`;\n private lastRenderedEmptyMessage = '';\n\n componentDidLoad() {\n this.loaded = true;\n if (this.open) this.onOpenChange(true);\n }\n\n connectedCallback() {\n if (this.loaded && this.open) this.onOpenChange(true);\n }\n\n disconnectedCallback() {\n this.cancelPositionRetry();\n this.cancelLivePositionUpdate();\n this.clearReorderPointer();\n this.teardownListeners();\n this.positionReadyCallback = undefined;\n this.shouldRender = false;\n this.closing = false;\n this.positionReady = false;\n this.closingSections = null;\n this.lastRenderedSections = [];\n this.suppressItemClick = false;\n this.reorderAnnouncement = '';\n }\n\n @Watch('open')\n onOpenChange(isOpen: boolean) {\n if (this.embedded || !this.loaded || !this.el.isConnected) return;\n if (isOpen) {\n this.teardownListeners();\n this.closingSections = null;\n this.shouldRender = true;\n this.closing = false;\n this.positionReady = false;\n this.availableHeight = null;\n this.focusRingVisible = this.initialFocusVisible;\n this.setupListeners();\n this.schedulePositionUpdate(() => {\n this.focusInitialItem();\n });\n } else if (this.shouldRender && !this.closing) {\n this.positionReadyCallback = undefined;\n this.cancelPositionRetry();\n this.captureClosingSections();\n this.closing = true;\n this.teardownListeners();\n const closeAnimationMs = this.closeAnimationMs;\n if (closeAnimationMs <= 0) {\n this.finishClose();\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n this.finishClose();\n }, closeAnimationMs);\n }\n }\n\n @Watch('anchor')\n @Watch('anchorId')\n @Watch('boundary')\n onAnchorChange() {\n if (this.open) this.schedulePositionUpdate();\n }\n\n @Watch('side')\n @Watch('align')\n @Watch('anchorAlignment')\n @Watch('sideOffset')\n @Watch('alignOffset')\n onPositionPropsChange() {\n if (this.open) this.schedulePositionUpdate();\n }\n\n private get viewportPadPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.space050, TOKEN_DEFAULTS.space050);\n }\n\n private get sideOffsetPx(): number {\n return resolveCssLengthPx(this.sideOffset, TOKEN_DEFAULTS.space050);\n }\n\n private get alignOffsetPx(): number {\n return resolveCssLengthPx(this.alignOffset, 0);\n }\n\n private get popupFallbackWidthPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.menuWidthXs, TOKEN_DEFAULTS.menuWidthXs);\n }\n\n private get popupFallbackHeightPx(): number {\n return resolveCssLengthPx(TOKEN_DEFAULTS.menuFallbackHeight, TOKEN_DEFAULTS.menuFallbackHeight);\n }\n\n private get closeAnimationMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort2, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private finishClose() {\n if (this.open || !this.closing || !this.el.isConnected) return;\n const popup = this.el.querySelector<HTMLElement>('.menu-popup');\n if (popup?.matches(':popover-open')) popup.hidePopover();\n this.shouldRender = false;\n this.closing = false;\n this.lastRenderedSections = [];\n this.closingSections = null;\n this.clearReorderPointer();\n this.reorderAnnouncement = '';\n this.dsAfterClose.emit();\n }\n\n private captureClosingSections() {\n if (this.closingSections) return;\n const visibleSections = this.lastRenderedSections.length\n ? this.lastRenderedSections\n : this.activeSections;\n this.closingSections = snapshotMenuSections(visibleSections);\n }\n\n private get resolvedAnchor(): HTMLElement | null {\n if (this.anchor) return this.anchor;\n if (this.anchorId) return document.getElementById(this.anchorId);\n return null;\n }\n\n private compositeTabLeavesPopup(event: KeyboardEvent): boolean {\n return this.interaction.tabLeavesPopup(event);\n }\n\n private get activeSections(): MenuSection[] {\n if (this.sections.length > 0) return this.sections;\n if (this.items.length > 0) return [{ items: this.items }];\n return [];\n }\n\n private get flatItems(): MenuItemData[] {\n return this.activeSections.flatMap(section =>\n isMenuPickerSection(section) ? [] : section.items\n );\n }\n\n /** Rich preference content is a non-modal dialog, not an ARIA action menu. */\n private get hasCompositeSections(): boolean {\n return this.activeSections.some(isMenuPickerSection);\n }\n\n private cancelPositionRetry() {\n this.position.cancel();\n }\n\n private cancelLivePositionUpdate() {\n this.position.cancel();\n }\n\n /** Reposition after the current scroll/layout frame without hiding the open popup. */\n private scheduleLivePositionUpdate() {\n this.position.scheduleLiveUpdate();\n }\n\n /** Retry until anchor + popup exist — do not reveal at 0,0 on a failed first pass. */\n private schedulePositionUpdate(onReady?: () => void) {\n if (!this.open || !this.el.isConnected) return;\n this.positionReady = false;\n // Opening often sets `open` and `anchorId` together. Each Watch reschedules\n // placement; keep the open-path ready callback so initial focus is not dropped.\n if (onReady) this.positionReadyCallback = onReady;\n const callback = this.positionReadyCallback;\n this.position.schedule(() => {\n if (this.positionReadyCallback === callback) {\n this.positionReadyCallback = undefined;\n }\n callback?.();\n });\n }\n\n /** @returns `true` when anchor and popup were found and `pos` was updated. */\n private calculatePosition(): boolean {\n return this.position.update();\n }\n\n /** Focus the selected item when present, otherwise the first enabled item. */\n private focusInitialItem() {\n if (!this.hasCompositeSections && !this.flatItems.length && this.emptyMessage.trim()) {\n this.tasks.frame(() => {\n if (this.open) this.el.querySelector<HTMLElement>('.menu-popup')?.focus();\n });\n return;\n }\n if (this.hasCompositeSections) {\n this.tasks.frame(() => {\n this.el.querySelector<HTMLElement>('.menu-popup [tabindex=\"0\"]')?.focus();\n });\n return;\n }\n\n const flat = this.flatItems;\n const selectedIdx = flat.findIndex(it => it.isSelected && !it.isInactive);\n const firstEnabledIdx = flat.findIndex(it => !it.isInactive || !!it.reorderable);\n this.focusedIndex = selectedIdx >= 0 ? selectedIdx : firstEnabledIdx >= 0 ? firstEnabledIdx : 0;\n\n this.tasks.frame(() => {\n const btns = this.el.querySelectorAll<HTMLElement>('.menu-item');\n btns[this.focusedIndex]?.focus();\n });\n }\n\n private setupListeners() {\n this.interaction.connect();\n this.position.observe();\n }\n\n private teardownListeners() {\n this.tasks.cancel();\n this.position.unobserve();\n this.interaction.disconnect();\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private close(restoreFocus = true) {\n this.captureClosingSections();\n if (restoreFocus) this.interaction.focusAnchor();\n this.dsClose.emit();\n this.open = false;\n this.onOpenChange(false);\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (this.embedded && (e.key === 'Escape' || e.key === 'Tab')) return;\n if ((!this.shouldRender && !this.embedded) || this.closing) return;\n\n if (e.key === 'Escape') {\n e.preventDefault();\n this.close();\n return;\n }\n\n if (e.key === 'Tab') {\n if (this.hasCompositeSections && !this.compositeTabLeavesPopup(e)) return;\n e.preventDefault();\n this.close(false);\n this.interaction.moveFocusAfterTab(e.shiftKey);\n return;\n }\n\n if (this.hasCompositeSections) return;\n\n if ((e.key === 'ArrowUp' || e.key === 'ArrowDown') && e.altKey && !e.ctrlKey && !e.shiftKey) {\n this.handleReorderKey(e);\n return;\n }\n\n const flat = this.flatItems;\n const enabled = flat\n .map((it, i) => ({ it, i }))\n .filter(({ it }) => !it.isInactive || !!it.reorderable)\n .map(({ i }) => i);\n if (!enabled.length) return;\n\n const cur = enabled.indexOf(this.focusedIndex);\n const safe = cur < 0 ? 0 : cur;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[(safe + 1) % enabled.length];\n this.focusItem(this.focusedIndex);\n break;\n case 'ArrowUp':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[(safe - 1 + enabled.length) % enabled.length];\n this.focusItem(this.focusedIndex);\n break;\n case 'Home':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[0];\n this.focusItem(this.focusedIndex);\n break;\n case 'End':\n e.preventDefault();\n e.stopPropagation();\n this.focusRingVisible = true;\n this.focusedIndex = enabled[enabled.length - 1];\n this.focusItem(this.focusedIndex);\n break;\n }\n }\n\n private focusItem(idx: number) {\n const btns = this.el.querySelectorAll<HTMLElement>('.menu-item');\n btns[idx]?.focus();\n }\n\n private handleItemClick(item: MenuItemData) {\n if (this.suppressItemClick) {\n this.suppressItemClick = false;\n return;\n }\n if (item.isInactive) return;\n // Consumers commonly change the item source while handling selection.\n // Capture first so the exit animation never paints the next menu context.\n this.captureClosingSections();\n this.dsSelect.emit(item);\n }\n\n private handleSwatchSelect(value: string) {\n this.dsSwatchSelect.emit(value);\n }\n\n private handleReorderKey(event: KeyboardEvent): void {\n const located = locateMenuItem(this.activeSections, this.focusedIndex);\n if (!located || !located.items[located.itemIndex]?.reorderable) return;\n\n const nextItems = moveReorderableMenuItemBy(\n located.items,\n located.itemIndex,\n event.key === 'ArrowUp' ? -1 : 1\n );\n if (!nextItems) return;\n\n event.preventDefault();\n event.stopPropagation();\n this.emitReorder(located.items, located.itemIndex, nextItems, located.sectionIndex);\n }\n\n private emitReorder(\n items: MenuItemData[],\n fromIndex: number,\n nextItems: MenuItemData[],\n sectionIndex: number\n ): void {\n const detail = createMenuReorderDetail(items, fromIndex, nextItems, sectionIndex);\n if (!detail) return;\n this.focusedIndex = this.flatIndexFor(sectionIndex, detail.toIndex);\n this.announceReorder(detail);\n this.dsReorder.emit(detail);\n }\n\n private flatIndexFor(sectionIndex: number, itemIndex: number): number {\n let flat = 0;\n for (let index = 0; index < this.activeSections.length; index += 1) {\n const section = this.activeSections[index];\n if (isMenuPickerSection(section)) continue;\n if (index === sectionIndex) return flat + itemIndex;\n flat += section.items.length;\n }\n return itemIndex;\n }\n\n private announceReorder(detail: MenuReorderDetail): void {\n const range = menuReorderableRange(detail.items, detail.toIndex);\n const count = range ? range.end - range.start + 1 : detail.items.length;\n const position = range ? detail.toIndex - range.start + 1 : detail.toIndex + 1;\n this.reorderAnnouncement = `${detail.item.label} moved to position ${position} of ${count}`;\n }\n\n private onReorderPointerDown(\n event: PointerEvent,\n sectionIndex: number,\n itemIndex: number,\n flatIndex: number\n ): void {\n if (event.button !== 0) return;\n const section = this.activeSections[sectionIndex];\n if (!section || isMenuPickerSection(section)) return;\n if (!section.items[itemIndex]?.reorderable) return;\n\n event.preventDefault();\n event.stopPropagation();\n this.suppressItemClick = true;\n this.focusRingVisible = false;\n this.focusedIndex = flatIndex;\n this.focusItem(flatIndex);\n this.reorderPointer = {\n pointerId: event.pointerId,\n sectionIndex,\n fromIndex: itemIndex,\n };\n this.reorderFromFlat = flatIndex;\n this.reorderInsertBefore = itemIndex;\n window.addEventListener('pointermove', this.onReorderPointerMove);\n window.addEventListener('pointerup', this.onReorderPointerUp);\n window.addEventListener('pointercancel', this.onReorderPointerCancel);\n }\n\n private onReorderPointerMove = (event: PointerEvent) => {\n const drag = this.reorderPointer;\n if (!drag || event.pointerId !== drag.pointerId) return;\n const section = this.activeSections[drag.sectionIndex];\n if (!section || isMenuPickerSection(section)) return;\n\n const insertBefore = this.resolveReorderInsertBefore(\n event.clientY,\n drag.sectionIndex,\n drag.fromIndex,\n section.items\n );\n if (insertBefore !== this.reorderInsertBefore) this.reorderInsertBefore = insertBefore;\n };\n\n private onReorderPointerUp = (event: PointerEvent) => {\n const drag = this.reorderPointer;\n if (!drag || event.pointerId !== drag.pointerId) return;\n\n const section = this.activeSections[drag.sectionIndex];\n const insertBefore = this.reorderInsertBefore;\n this.clearReorderPointer();\n this.tasks.microtask(() => {\n this.suppressItemClick = false;\n });\n if (!section || isMenuPickerSection(section) || insertBefore === null) return;\n\n const nextItems = moveReorderableMenuItemBefore(section.items, drag.fromIndex, insertBefore);\n if (!nextItems) return;\n this.emitReorder(section.items, drag.fromIndex, nextItems, drag.sectionIndex);\n };\n\n private onReorderPointerCancel = (event: PointerEvent) => {\n if (!this.reorderPointer || event.pointerId !== this.reorderPointer.pointerId) return;\n this.clearReorderPointer();\n this.tasks.microtask(() => {\n this.suppressItemClick = false;\n });\n };\n\n private resolveReorderInsertBefore(\n clientY: number,\n sectionIndex: number,\n fromIndex: number,\n items: MenuItemData[]\n ): number {\n const range = menuReorderableRange(items, fromIndex);\n if (!range) return fromIndex;\n\n const buttons = [...this.el.querySelectorAll<HTMLElement>('.menu-item')];\n const sectionStart = this.flatIndexFor(sectionIndex, 0);\n let insertBefore = range.end + 1;\n for (let itemIndex = range.start; itemIndex <= range.end; itemIndex += 1) {\n const row = buttons[sectionStart + itemIndex];\n if (!row) continue;\n const rect = row.getBoundingClientRect();\n if (clientY < rect.top + rect.height / 2) {\n insertBefore = itemIndex;\n break;\n }\n }\n return Math.min(Math.max(insertBefore, range.start), range.end + 1);\n }\n\n private clearReorderPointer(): void {\n if (this.reorderPointer) {\n window.removeEventListener('pointermove', this.onReorderPointerMove);\n window.removeEventListener('pointerup', this.onReorderPointerUp);\n window.removeEventListener('pointercancel', this.onReorderPointerCancel);\n }\n this.reorderPointer = null;\n this.reorderFromFlat = null;\n this.reorderInsertBefore = null;\n }\n\n render() {\n if (!this.shouldRender && !this.embedded) return <Host style={{ display: 'contents' }} />;\n\n const sections = this.closing\n ? (this.closingSections ?? this.lastRenderedSections)\n : this.activeSections;\n const hasCompositeSections = sections.some(isMenuPickerSection);\n const emptyMessage = this.closing ? this.lastRenderedEmptyMessage : this.emptyMessage.trim();\n const showEmpty =\n Boolean(emptyMessage) &&\n !hasCompositeSections &&\n sections.every(section => !isMenuPickerSection(section) && section.items.length === 0);\n if (!this.closing) {\n this.lastRenderedEmptyMessage = emptyMessage;\n this.lastRenderedSections = snapshotMenuSections(sections);\n this.closingSections = null;\n }\n let flatIdx = 0;\n const dragLocated =\n this.reorderFromFlat === null ? null : locateMenuItem(sections, this.reorderFromFlat);\n const dragRange = dragLocated\n ? menuReorderableRange(dragLocated.items, dragLocated.itemIndex)\n : null;\n\n const popupStyle: Record<string, string> = {\n position: 'fixed',\n left: '0',\n top: '0',\n transform: `translate(${Math.round(this.pos.x)}px, ${Math.round(this.pos.y)}px)`,\n zIndex: '9998',\n visibility: this.positionReady ? 'visible' : 'hidden',\n };\n\n if (this.menuWidth) popupStyle['width'] = this.menuWidth;\n if (this.minWidth) popupStyle['min-width'] = this.minWidth;\n if (this.availableHeight !== null) {\n popupStyle['max-height'] = `${Math.floor(this.availableHeight)}px`;\n }\n\n return (\n <Host style={{ display: 'contents' }}>\n <div\n popover={this.embedded ? undefined : 'manual'}\n class={{\n 'menu-popup': true,\n 'menu-popup--closing': this.closing,\n 'ds-choice-popup': !this.embedded,\n 'data-preferences-embedded': this.embedded,\n 'ds-choice-popup--closing': this.closing,\n 'ds-focus-ring': showEmpty,\n 'ds-focus-ring--visible': showEmpty && this.focusRingVisible,\n }}\n style={this.embedded ? undefined : popupStyle}\n role={hasCompositeSections || showEmpty ? 'dialog' : 'menu'}\n aria-label={this.menuLabel}\n aria-orientation={hasCompositeSections || showEmpty ? undefined : 'vertical'}\n aria-describedby={showEmpty ? this.emptyMessageId : undefined}\n tabIndex={showEmpty ? -1 : undefined}\n >\n <div class=\"ds-choice-list\">\n {showEmpty ? (\n <ds-text\n textId={this.emptyMessageId}\n class=\"menu-empty\"\n as=\"p\"\n variant={CONTROL_TEXT_VARIANT[this.size]}\n color=\"secondary\"\n >\n {emptyMessage}\n </ds-text>\n ) : (\n sections.map((section, si) => (\n <div\n key={si}\n class={{\n 'menu-section': true,\n 'menu-section--divided': si < sections.length - 1,\n 'menu-section--swatch-picker': isMenuPickerSection(section),\n 'ds-choice-section': true,\n 'ds-chrome-column': true,\n 'ds-chrome-space--sm': true,\n 'ds-choice-section--divided': si < sections.length - 1,\n 'ds-choice-section--headed-after-first': si > 0 && Boolean(section.header),\n }}\n role={section.header ? 'group' : undefined}\n aria-label={section.header}\n >\n {section.header && (\n <ds-text\n class={`section-header ds-choice-section__header ds-control-section-heading ds-control--${this.size}`}\n as=\"span\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT[this.size]}\n emphasis\n color=\"primary\"\n aria-hidden=\"true\"\n >\n <span class=\"ds-choice-section__header-label\">{section.header}</span>\n </ds-text>\n )}\n {isMenuSwatchPickerSection(section) ? (\n <ds-swatch-picker\n value={section.value}\n groupLabel={section.groupLabel ?? section.header ?? 'Swatch options'}\n options={section.options ?? []}\n sections={section.sections ?? []}\n onDsChange={(e: CustomEvent<string>) => {\n e.stopPropagation();\n this.handleSwatchSelect(e.detail);\n }}\n />\n ) : (\n section.items.map((item, itemIndex) => {\n const idx = flatIdx++;\n const isFocused = this.focusedIndex === idx;\n const isSingleSelectionItem =\n !hasCompositeSections &&\n this.selectionMode === 'single' &&\n !item.showSwitch;\n const usesLeading = section.items.some(\n candidate => candidate.reorderable || !!candidate.icon\n );\n const locked = !!item.isInactive && !item.reorderable;\n const dragging = this.reorderFromFlat === idx;\n const dropBefore =\n dragLocated?.sectionIndex === si &&\n dragRange !== null &&\n itemIndex <= dragRange.end &&\n this.reorderInsertBefore === itemIndex;\n const dropAfter =\n dragLocated?.sectionIndex === si &&\n dragRange !== null &&\n this.reorderInsertBefore === dragRange.end + 1 &&\n itemIndex === dragRange.end;\n return (\n <button\n key={item.value ?? `${si}-${item.label}`}\n type=\"button\"\n class={{\n 'menu-item': true,\n 'ds-choice-item': true,\n 'ds-control-frame': true,\n [`ds-control--${this.size}`]: true,\n 'ds-focus-ring-inset': true,\n 'ds-focus-ring--visible': isFocused && this.focusRingVisible,\n 'ds-interaction-fill': !locked,\n 'ds-interaction-fill--selected': !!item.isSelected && !locked,\n 'menu-item--selected': !!item.isSelected,\n 'menu-item--switch': !!item.showSwitch,\n 'ds-control-inactive': locked,\n 'menu-item--destructive': !!item.isDestructive,\n 'menu-item--focused': isFocused,\n 'menu-item--dragging': dragging,\n }}\n role={\n hasCompositeSections\n ? undefined\n : item.showSwitch\n ? 'menuitemcheckbox'\n : isSingleSelectionItem\n ? 'menuitemradio'\n : 'menuitem'\n }\n aria-checked={\n !hasCompositeSections && item.showSwitch\n ? String(!!item.switchValue)\n : isSingleSelectionItem\n ? String(!!item.isSelected)\n : undefined\n }\n aria-pressed={\n hasCompositeSections\n ? String(item.showSwitch ? !!item.switchValue : !!item.isSelected)\n : undefined\n }\n aria-current={\n !hasCompositeSections &&\n !item.showSwitch &&\n !isSingleSelectionItem &&\n item.isSelected\n ? 'true'\n : undefined\n }\n aria-description={\n item.reorderable\n ? item.isInactive\n ? 'Visibility cannot be changed. Alt + Arrow Up or Alt + Arrow Down moves this row.'\n : 'Drag to reorder. Alt + Arrow Up or Alt + Arrow Down moves this row.'\n : undefined\n }\n aria-disabled={item.isInactive ? 'true' : undefined}\n disabled={locked}\n tabIndex={\n hasCompositeSections || (this.embedded && idx === 0)\n ? 0\n : isFocused\n ? 0\n : -1\n }\n onMouseDown={() => {\n this.focusRingVisible = false;\n }}\n onClick={() => this.handleItemClick(item)}\n onFocus={() => {\n this.focusedIndex = idx;\n }}\n >\n {(dropBefore || dropAfter) && (\n <span\n class={{\n 'menu-item__drop-rail': true,\n 'menu-item__drop-rail--before': dropBefore,\n 'menu-item__drop-rail--after': dropAfter,\n }}\n data-menu-drop-rail\n aria-hidden=\"true\"\n />\n )}\n {item.reorderable ? (\n <span\n class=\"menu-item__handle ds-choice-item__icon ds-control-icon-box ds-interaction-fill__content\"\n data-menu-handle\n aria-hidden=\"true\"\n onPointerDown={event =>\n this.onReorderPointerDown(event, si, itemIndex, idx)\n }\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n }}\n >\n <ds-icon name=\"DragDots\" size={this.size} color=\"inherit\" />\n </span>\n ) : usesLeading && item.icon ? (\n <span\n class=\"menu-item__icon ds-choice-item__icon ds-control-icon-box ds-interaction-fill__content\"\n aria-hidden=\"true\"\n >\n <ds-icon name={item.icon} size={this.size} color=\"inherit\" />\n </span>\n ) : usesLeading ? (\n <span\n class=\"menu-item__icon-spacer ds-choice-item__icon ds-control-icon-box\"\n aria-hidden=\"true\"\n />\n ) : null}\n <div class=\"menu-item__content ds-choice-item__content ds-interaction-fill__content\">\n <ds-text\n class=\"menu-item__label ds-choice-item__label ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT[this.size]}\n color={item.isSelected ? 'primary' : 'secondary'}\n >\n {item.label}\n </ds-text>\n {item.subtext && (\n <ds-text\n class=\"menu-item__subtext ds-choice-item__subtext ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT[this.size]}\n color=\"secondary\"\n >\n {item.subtext}\n </ds-text>\n )}\n </div>\n {item.tag && (\n <ds-tag\n class=\"ds-choice-item__tag ds-interaction-fill__content\"\n label={item.tag.label}\n size={MENU_ITEM_TAG_SIZE[this.size]}\n intent={item.tag.intent ?? 'neutral'}\n contrast={item.tag.contrast ?? 'faint'}\n rounded={item.tag.rounded ?? false}\n isInset\n />\n )}\n {item.dot && (\n <span\n class=\"menu-item__dot-box ds-interaction-fill__content\"\n aria-hidden=\"true\"\n >\n <ds-badge\n class=\"menu-item__dot\"\n variant=\"dot\"\n hasRing={false}\n label=\"\"\n />\n </span>\n )}\n {item.showSwitch && (\n <ds-switch\n class=\"menu-item__switch ds-interaction-fill__content\"\n size={this.size}\n checked={!!item.switchValue}\n isInactive={!!item.isInactive}\n presentation\n />\n )}\n </button>\n );\n })\n )}\n </div>\n ))\n )}\n </div>\n </div>\n <div class=\"ds-visually-hidden\" role=\"status\" aria-live=\"polite\">\n {this.reorderAnnouncement}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|