@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
package/dist/vue/ds-menu.js
CHANGED
|
@@ -26,12 +26,14 @@ export const DsMenu = /*@__PURE__*/ defineContainer('ds-menu', defineDsMenu, [
|
|
|
26
26
|
'dsClose',
|
|
27
27
|
'dsAfterClose',
|
|
28
28
|
'dsSelect',
|
|
29
|
+
'dsItemToggle',
|
|
29
30
|
'dsSwatchSelect',
|
|
30
31
|
'dsReorder'
|
|
31
32
|
], [
|
|
32
33
|
'dsClose',
|
|
33
34
|
'dsAfterClose',
|
|
34
35
|
'dsSelect',
|
|
36
|
+
'dsItemToggle',
|
|
35
37
|
'dsSwatchSelect',
|
|
36
38
|
'dsReorder'
|
|
37
39
|
]);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* auto-generated vue proxies */
|
|
4
|
+
import { defineContainer } from './vue-runtime.js';
|
|
5
|
+
import { defineCustomElement as defineDsNavigationTabGroup } from '@ds-mo/ui/components/ds-navigation-tab-group.js';
|
|
6
|
+
export const DsNavigationTabGroup = /*@__PURE__*/ defineContainer('ds-navigation-tab-group', defineDsNavigationTabGroup, [
|
|
7
|
+
'value',
|
|
8
|
+
'tabs',
|
|
9
|
+
'size',
|
|
10
|
+
'width',
|
|
11
|
+
'ariaLabel',
|
|
12
|
+
'ariaLabelledby',
|
|
13
|
+
'dsChange'
|
|
14
|
+
], [
|
|
15
|
+
'dsChange'
|
|
16
|
+
]);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* auto-generated vue proxies */
|
|
4
|
+
import { defineContainer } from './vue-runtime.js';
|
|
5
|
+
import { defineCustomElement as defineDsSelectToggle } from '@ds-mo/ui/components/ds-select-toggle.js';
|
|
6
|
+
export const DsSelectToggle = /*@__PURE__*/ defineContainer('ds-select-toggle', defineDsSelectToggle, [
|
|
7
|
+
'options',
|
|
8
|
+
'value',
|
|
9
|
+
'variant',
|
|
10
|
+
'collapseLabel',
|
|
11
|
+
'size',
|
|
12
|
+
'width',
|
|
13
|
+
'hasBorder',
|
|
14
|
+
'isInactive',
|
|
15
|
+
'ariaLabel',
|
|
16
|
+
'dsChange'
|
|
17
|
+
], [
|
|
18
|
+
'dsChange'
|
|
19
|
+
]);
|
package/dist/vue/ds-table.js
CHANGED
|
@@ -6,6 +6,7 @@ import { defineCustomElement as defineDsTable } from '@ds-mo/ui/components/ds-ta
|
|
|
6
6
|
export const DsTable = /*@__PURE__*/ defineContainer('ds-table', defineDsTable, [
|
|
7
7
|
'columns',
|
|
8
8
|
'responsiveLayout',
|
|
9
|
+
'chromeLayout',
|
|
9
10
|
'cellSpans',
|
|
10
11
|
'interactionMode',
|
|
11
12
|
'cellRange',
|
|
@@ -19,11 +20,13 @@ export const DsTable = /*@__PURE__*/ defineContainer('ds-table', defineDsTable,
|
|
|
19
20
|
'highlightFieldIds',
|
|
20
21
|
'caption',
|
|
21
22
|
'captionVisibility',
|
|
23
|
+
'alternateView',
|
|
22
24
|
'columnCustomizer',
|
|
23
25
|
'captionControlsBorderless',
|
|
24
26
|
'hideColumnCustomizerTrigger',
|
|
25
27
|
'hiddenFieldIds',
|
|
26
28
|
'fieldOrder',
|
|
29
|
+
'pinnedFieldIds',
|
|
27
30
|
'displayedCount',
|
|
28
31
|
'totalCount',
|
|
29
32
|
'resultSummaryLabel',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ds-mo/ui",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.7.0",
|
|
4
4
|
"description": "CompoMo — composable web components styled with TokoMo design tokens",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"@angular/core": ">=19 <23",
|
|
134
134
|
"@angular/forms": ">=19 <23",
|
|
135
135
|
"@ds-mo/icons": "^8.1.1",
|
|
136
|
-
"@ds-mo/tokens": "^6.
|
|
136
|
+
"@ds-mo/tokens": "^6.7.0",
|
|
137
137
|
"@eslint/css": "^2.0.0",
|
|
138
138
|
"eslint": "^10.7.0",
|
|
139
139
|
"react": "^18 || ^19",
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
"@csstools/css-tokenizer": "^4.0.0",
|
|
180
180
|
"@csstools/media-query-list-parser": "^5.0.0",
|
|
181
181
|
"@ds-mo/icons": "^8.1.1",
|
|
182
|
-
"@ds-mo/tokens": "^6.
|
|
182
|
+
"@ds-mo/tokens": "^6.7.0",
|
|
183
183
|
"@eslint/css": "^2.0.0",
|
|
184
184
|
"@eslint/js": "^10.0.1",
|
|
185
185
|
"@fontsource-variable/inter": "^5.3.0",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as t,H as e,h as s,a,t as c}from"./index.js";import{d as i}from"./p-pPtjNRqC.js";import{d as n}from"./p-D8OWhnID.js";const d=()=>`.sc-ds-empty-state-h{display:block;width:100%;height:100%}.sc-ds-empty-state-h,.empty-state.sc-ds-empty-state,.empty-state__text.sc-ds-empty-state{box-sizing:border-box}.empty-state.sc-ds-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;text-align:center}.empty-state__icon.sc-ds-empty-state{margin-block-end:var(--dimension-space-100);flex:0 0 auto}.empty-state__text.sc-ds-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--dimension-space-050);width:100%}.empty-state__actions.sc-ds-empty-state{margin-block-start:var(--dimension-space-200);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--dimension-space-100)}.empty-state__actions.sc-ds-empty-state:not(:has([slot='actions'])){display:none}.empty-state__title.sc-ds-empty-state,.empty-state__body.sc-ds-empty-state{text-wrap:balance}`;const o=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.body=""}render(){const t=Boolean(this.heading?.trim());const e=t&&Boolean(this.icon);return s(a,{key:"6ea8a4d0280bbdcdef24efc4892e7340aed2ae4d"},s("div",{key:"61dac60e28b85f0ca8a09e44a40d242f3ff9a3d1",class:"empty-state"},e&&s("ds-icon",{key:"accd0905aa16624c19e2bfaaa4a95489f313150c",class:"empty-state__icon",name:this.icon,size:"xl",color:"primary"}),s("div",{key:"28ea020256109ab293cb3ad664536833022c8246",class:"empty-state__text"},t&&s("ds-text",{key:"217db4ba696a4fbd8e58d3f94714cda5ab849370",class:"empty-state__title",as:"div",variant:"text-title-small",color:"primary",align:"center"},this.heading),this.body&&s("ds-text",{key:"c6eec1c3fa558ca8caea08318eab899cdeeac9c1",class:"empty-state__body",as:"p",variant:"text-body-medium",color:"secondary",align:"center"},this.body)),s("div",{key:"2bdae0fe08a322219d2c01f7c12b6f67b477a288",class:"empty-state__actions"},s("slot",{key:"849d21c66f5ed99f6d287cef63b66d7438ee0a8a",name:"actions"}))))}static get style(){return d()}},[262,"ds-empty-state",{icon:[1],heading:[1],body:[1]}]);function m(){if(typeof customElements==="undefined"){return}const t=["ds-empty-state","ds-icon","ds-text"];t.forEach((t=>{switch(t){case"ds-empty-state":if(!customElements.get(c(t))){customElements.define(c(t),o)}break;case"ds-icon":if(!customElements.get(c(t))){i()}break;case"ds-text":if(!customElements.get(c(t))){n()}break}}))}m();export{o as E,m as d};
|
|
2
|
-
//# sourceMappingURL=p-5-gQbIIz.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tabGroupCss","TabGroup","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","value","tabs","size","width","presentation","hasContainer","ariaLabel","selectableTabs","getSelectableTabs","focusableTabId","some","tab","id","isInactive","find","selectTab","options","dsChange","emit","focus","focusTab","btn","el","querySelector","preventScroll","onValueChange","next","prev","undefined","requestAnimationFrame","active","document","activeElement","contains","activeId","getAttribute","focusId","nextTab","blur","findEnabled","from","step","len","length","n","i","handleKeyDown","e","focusedId","target","closest","dataset","currentIdx","findIndex","t","nextIdx","key","first","lastEnabled","reverse","preventDefault","getBgClass","background","render","bgClass","h","Host","class","controlWidthClass","role","ariaLabelledby","map","index","isTabDivider","isSelected","variant","showIcon","showLabel","emphasizeLabel","type","label","String","panelId","disabled","tabIndex","onClick","tab__content","dot","name","icon","color","as","CONTROL_TEXT_VARIANT","emphasis","hasRing"],"sources":["src/wc/components/TabGroup/TabGroup.css?tag=ds-tab-group&encapsulation=scoped","src/wc/components/TabGroup/TabGroup.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/control-density-inset.css';\n@import '../../utils/control-width.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n@import '../../utils/control-inactive.css';\n\n:host {\n display: block;\n --_tab-group-surface-border: var(--color-border-tertiary);\n --_tab-group-divider: var(--color-border-secondary);\n}\n\n:host(.tab-group-host--on-faint) {\n --_tab-group-selected-fill: var(--color-interaction-active);\n}\n\n:host(.tab-group-host--on-medium) {\n --_tab-group-surface-border: var(--color-border-on-medium-background-tertiary);\n --_tab-group-divider: var(--color-border-on-medium-background-secondary);\n --_tab-group-selected-fill: var(--color-interaction-on-medium-background-active);\n}\n\n:host(.tab-group-host--on-bold) {\n --_tab-group-surface-border: var(--color-border-on-bold-background-tertiary);\n --_tab-group-divider: var(--color-border-on-bold-background-secondary);\n --_tab-group-selected-fill: var(--color-interaction-on-bold-background-active);\n}\n\n:host(.tab-group-host--on-strong) {\n --_tab-group-surface-border: var(--color-border-on-strong-background-tertiary);\n --_tab-group-divider: var(--color-border-on-strong-background-secondary);\n --_tab-group-selected-fill: var(--color-interaction-on-strong-background-active);\n}\n\n:host(.tab-group-host--on-translucent) {\n --_tab-group-surface-border: var(--color-translucent-border-tertiary);\n --_tab-group-divider: var(--color-translucent-border-secondary);\n --_tab-group-selected-fill: var(--color-translucent-interaction-active);\n}\n\n:host(.tab-group-host--on-inverted) {\n --_tab-group-surface-border: var(--color-inverted-border-tertiary);\n --_tab-group-divider: var(--color-inverted-border-secondary);\n --_tab-group-selected-fill: var(--color-inverted-interaction-active);\n}\n\n:host(.tab-group-host--on-media) {\n --_tab-group-surface-border: var(--color-media-border-tertiary);\n --_tab-group-divider: var(--color-media-border-secondary);\n --_tab-group-selected-fill: var(--color-media-interaction-active);\n}\n\n:host(.tab-group-host--on-always-dark) {\n --_tab-group-surface-border: var(--color-always-dark-border-tertiary);\n --_tab-group-divider: var(--color-always-dark-border-secondary);\n --_tab-group-selected-fill: var(--color-always-dark-interaction-active);\n}\n\n.tab-list {\n display: flex;\n align-items: center;\n gap: var(--ds-control-gap);\n position: relative;\n width: max-content;\n max-width: 100%;\n height: var(--ds-control-height);\n padding: calc(var(--dimension-space-025) - var(--dimension-stroke-width-012));\n background-color: var(--color-background-secondary);\n border: var(--dimension-stroke-width-012) solid var(--_tab-group-surface-border);\n border-radius: var(--dimension-radius-half);\n box-sizing: border-box;\n}\n\n:host(.ds-control-width--fill) .tab-list {\n width: 100%;\n}\n\n:host(.tab-group-host--surface) .tab-list {\n background-color: transparent;\n}\n\n:host(.tab-group-host--containerless) .tab-list {\n padding: 0;\n border: 0;\n background-color: transparent;\n}\n\n.tab {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-control-gap);\n padding: 0 var(--ds-control-padding-inline);\n background-color: transparent;\n border: none;\n border-radius: var(--dimension-radius-half);\n cursor: default;\n -webkit-user-select: none;\n user-select: none;\n color: var(--color-foreground-secondary);\n transition: color var(--effect-motion-short-2);\n flex-shrink: 0;\n height: var(--ds-control-height);\n min-width: var(--ds-control-height);\n box-sizing: border-box;\n --_dot: var(--color-foreground-bold-brand);\n /* Hover/press: `.ds-interaction-fill` fills cover the complete segment. */\n}\n\n:host(.ds-control-width--fill) .tab {\n flex: 1 1 0;\n min-width: 0;\n overflow: hidden;\n}\n\n:host(.ds-control-width--fill) .tab__content {\n max-width: 100%;\n overflow: hidden;\n}\n\n:host(.ds-control-width--fill) .tab__label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.tab--selected {\n color: var(--color-foreground-primary);\n background-color: var(--color-background-primary);\n /* Inset stroke on interaction-fill ::after — stays above hover wash. */\n --ds-interaction-border-width: var(--dimension-stroke-width-012);\n --ds-interaction-border-color: var(--_tab-group-surface-border);\n}\n\n:host(.tab-group-host--surface) .tab--selected {\n background-color: var(--_tab-group-selected-fill);\n}\n\n.tab--selected:not(.ds-interaction-fill) {\n box-shadow: inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color);\n}\n\n/* Inactive: `.ds-control-inactive` (50% opacity) — applied via class in TSX. */\n\n.tab__content {\n position: relative;\n z-index: 2;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-control-gap);\n min-width: 0;\n}\n\n.tab__content--dot {\n padding-right: var(--dimension-space-050);\n}\n\n.tab__label {\n padding: 0 var(--ds-control-label-inset);\n white-space: nowrap;\n}\n\n.tab__icon {\n flex-shrink: 0;\n}\n\n.tab__dot {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n pointer-events: none;\n}\n\n.on-medium {\n color: var(--color-foreground-on-medium-background-secondary);\n}\n\n.on-medium.tab--selected {\n color: var(--color-foreground-on-medium-background-primary);\n}\n\n.on-bold {\n color: var(--color-foreground-on-bold-background-secondary);\n}\n\n.on-bold.tab--selected {\n color: var(--color-foreground-on-bold-background-primary);\n}\n\n.on-strong {\n color: var(--color-foreground-on-strong-background-secondary);\n}\n\n.on-strong.tab--selected {\n color: var(--color-foreground-on-strong-background-primary);\n}\n\n.on-translucent {\n color: var(--color-translucent-foreground-secondary);\n}\n\n.on-translucent.tab--selected {\n color: var(--color-translucent-foreground-primary);\n}\n\n.on-inverted {\n color: var(--color-inverted-foreground-secondary);\n}\n\n.on-inverted.tab--selected {\n color: var(--color-inverted-foreground-primary);\n}\n\n.on-media {\n color: var(--color-media-foreground-secondary);\n}\n\n.on-media.tab--selected {\n color: var(--color-media-foreground-primary);\n}\n\n.on-always-dark {\n color: var(--color-always-dark-foreground-secondary);\n}\n\n.on-always-dark.tab--selected {\n color: var(--color-always-dark-foreground-primary);\n}\n\n.tab-divider {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--dimension-stroke-width-012);\n align-self: center;\n padding: 0;\n flex-shrink: 0;\n pointer-events: none;\n}\n\n.tab-divider__line {\n width: var(--dimension-stroke-width-012);\n height: var(--typography-lineheight-sm);\n flex-shrink: 0;\n background-color: var(--_tab-group-divider);\n}\n\n:host(.tab-group-host--tabs) .tab-list {\n gap: var(--dimension-space-050);\n border-radius: 0;\n}\n\n:host(.tab-group-host--tabs) .tab {\n border-radius: var(--ds-control-radius);\n}\n\n:host(.tab-group-host--tabs) .tab--selected {\n background-color: transparent;\n --ds-interaction-border-width: 0px;\n}\n","import {\n Component,\n Prop,\n Event,\n EventEmitter,\n Element,\n Listen,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { controlWidthClass, CONTROL_TEXT_VARIANT, type ControlWidth } from '../../utils';\nimport {\n getSelectableTabs,\n isTabDivider,\n type TabGroupItem,\n type TabItemTab,\n} from './tab-item-utils';\n\nexport type TabBackground =\n | 'faint'\n | 'medium'\n | 'bold'\n | 'strong'\n | 'translucent'\n | 'inverted'\n | 'media'\n | 'always-dark';\n\nexport type TabGroupSize = 'sm' | 'md' | 'lg';\nexport type TabGroupWidth = ControlWidth;\n\n@Component({\n tag: 'ds-tab-group',\n styleUrl: 'TabGroup.css',\n scoped: true,\n})\nexport class TabGroup {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) value: string = '';\n @Prop() tabs: TabGroupItem[] = [];\n /** Control density: 24px small, 32px medium, or 40px large track. */\n @Prop() size: TabGroupSize = 'md';\n /** Width fit — hug content (default) or fill the parent with equal-width segments. */\n @Prop() width: TabGroupWidth = 'hug';\n /** Show the segmented control's outer background, border, and inset. */\n @Prop() presentation: 'segmented' | 'tabs' = 'segmented';\n @Prop() hasContainer: boolean = true;\n @Prop() background: TabBackground | undefined;\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n @Prop({ attribute: 'aria-labelledby' }) ariaLabelledby: string | undefined;\n\n @Event() dsChange!: EventEmitter<string>;\n\n private get selectableTabs(): TabItemTab[] {\n return getSelectableTabs(this.tabs);\n }\n\n private get focusableTabId(): string {\n return this.selectableTabs.some(tab => tab.id === this.value && !tab.isInactive)\n ? this.value\n : (this.selectableTabs.find(tab => !tab.isInactive)?.id ?? '');\n }\n\n private selectTab(id: string, options?: { focus?: boolean }) {\n this.value = id;\n this.dsChange.emit(id);\n if (options?.focus !== false) {\n this.focusTab(id);\n }\n }\n\n private focusTab(id: string) {\n const btn = this.el.querySelector(`[data-tab-id=\"${id}\"]`) as HTMLElement | null;\n btn?.focus({ preventScroll: true });\n }\n\n /** Keep focus on the selected tab when value changes externally (e.g. BarNav menu). */\n @Watch('value')\n onValueChange(next: string, prev: string | undefined) {\n if (prev === undefined || next === prev) return;\n\n requestAnimationFrame(() => {\n const active = document.activeElement as HTMLElement | null;\n if (!active || !this.el.contains(active)) return;\n\n const activeId = active.getAttribute('data-tab-id');\n if (activeId === next) return;\n\n const focusId = this.selectableTabs.some(tab => tab.id === next && !tab.isInactive)\n ? next\n : this.focusableTabId;\n const nextTab = this.el.querySelector(`[data-tab-id=\"${focusId}\"]`) as HTMLElement | null;\n if (nextTab) {\n nextTab.focus({ preventScroll: true });\n } else {\n active.blur();\n }\n });\n }\n\n /**\n * Find the next non-inactive tab index relative to `from`, stepping by `step`.\n * Returns `from` unchanged if no other enabled tab exists.\n */\n private findEnabled(from: number, step: 1 | -1): number {\n const tabs = this.selectableTabs;\n const len = tabs.length;\n for (let n = 0; n < len; n++) {\n const i = (from + step * (n + 1) + len * (n + 1)) % len;\n if (!tabs[i]?.isInactive) return i;\n }\n return from;\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n const tabs = this.selectableTabs;\n if (!tabs.length) return;\n\n const focusedId = (e.target as Element | null)?.closest<HTMLElement>('[data-tab-id]')?.dataset[\n 'tabId'\n ];\n const currentIdx = tabs.findIndex(t => t.id === (focusedId ?? this.focusableTabId));\n\n let nextIdx: number | null = null;\n\n if (e.key === 'ArrowRight') {\n nextIdx = this.findEnabled(currentIdx, 1);\n } else if (e.key === 'ArrowLeft') {\n nextIdx = this.findEnabled(currentIdx, -1);\n }\n\n if (e.key === 'Home') {\n const first = tabs.findIndex(t => !t.isInactive);\n nextIdx = first === -1 ? null : first;\n } else if (e.key === 'End') {\n const lastEnabled = [...tabs].reverse().findIndex(t => !t.isInactive);\n nextIdx = lastEnabled === -1 ? null : tabs.length - 1 - lastEnabled;\n }\n\n if (nextIdx !== null) {\n e.preventDefault();\n const next = tabs[nextIdx];\n this.selectTab(next.id);\n }\n }\n\n private getBgClass(): string {\n if (!this.background) return '';\n if (this.background === 'always-dark') return 'on-always-dark';\n return `on-${this.background}`;\n }\n\n render() {\n const bgClass = this.getBgClass();\n const focusableTabId = this.focusableTabId;\n\n return (\n <Host\n class={{\n 'tab-group-host': true,\n [`tab-group-host--${this.size}`]: true,\n [`ds-control--${this.size}`]: true,\n 'tab-group-host--containerless': !this.hasContainer || this.presentation === 'tabs',\n 'tab-group-host--tabs': this.presentation === 'tabs',\n 'tab-group-host--surface': !!bgClass,\n [`tab-group-host--${bgClass}`]: !!bgClass,\n ...controlWidthClass(this.width),\n }}\n >\n <div\n role=\"tablist\"\n class=\"tab-list\"\n aria-label={this.ariaLabel}\n aria-labelledby={this.ariaLabelledby}\n >\n {this.tabs.map((tab, index) => {\n if (isTabDivider(tab)) {\n return (\n <div key={`divider-${index}`} class=\"tab-divider\" aria-hidden=\"true\">\n <div class=\"tab-divider__line\" />\n </div>\n );\n }\n\n const isSelected = tab.id === this.value;\n const variant = tab.variant ?? 'label';\n const showIcon = variant === 'icon' || variant === 'icon-label';\n const showLabel = variant === 'label' || variant === 'icon-label';\n const emphasizeLabel = isSelected && !bgClass;\n return (\n <button\n key={tab.id}\n type=\"button\"\n role=\"tab\"\n data-tab-id={tab.id}\n class={{\n tab: true,\n 'tab--selected': isSelected,\n [`ds-control--${this.size}`]: true,\n 'ds-control--inset': this.presentation !== 'tabs',\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': !tab.isInactive,\n 'ds-interaction-fill--on-faint': bgClass === 'on-faint',\n 'ds-interaction-fill--on-medium': bgClass === 'on-medium',\n 'ds-interaction-fill--on-bold': bgClass === 'on-bold',\n 'ds-interaction-fill--on-strong': bgClass === 'on-strong',\n 'ds-interaction-fill--on-translucent': bgClass === 'on-translucent',\n 'ds-interaction-fill--on-inverted': bgClass === 'on-inverted',\n 'ds-interaction-fill--on-media': bgClass === 'on-media',\n 'ds-interaction-fill--on-always-dark': bgClass === 'on-always-dark',\n 'ds-control-inactive': !!tab.isInactive,\n [bgClass]: !!bgClass,\n }}\n aria-label={variant === 'icon' ? tab.label : undefined}\n aria-selected={String(isSelected)}\n aria-disabled={tab.isInactive ? 'true' : undefined}\n aria-controls={tab.panelId ?? undefined}\n disabled={tab.isInactive}\n tabIndex={tab.id === focusableTabId ? 0 : -1}\n onClick={() => !tab.isInactive && this.selectTab(tab.id)}\n >\n <span\n class={{\n tab__content: true,\n [`tab__content--${variant}`]: true,\n 'tab__content--dot': !!tab.dot,\n }}\n >\n {showIcon && (\n <ds-icon class=\"tab__icon\" name={tab.icon} size={this.size} color=\"inherit\" />\n )}\n {showLabel && (\n <ds-text\n class=\"tab__label\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT[this.size]}\n emphasis={emphasizeLabel}\n color=\"inherit\"\n >\n {tab.label}\n </ds-text>\n )}\n {tab.dot && (\n <ds-badge\n class=\"tab__dot\"\n variant=\"dot\"\n hasRing={false}\n label=\"\"\n aria-hidden=\"true\"\n />\n )}\n </span>\n </button>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as e,H as t,c as s,h as r,a,t as i}from"./index.js";import{l as o,t as d}from"./p-TVkFIMXz.js";import{d as n}from"./p-D8OWhnID.js";import{D as c}from"./p-DOUk4KoT.js";import{s as l,r as h}from"./p-DGVZhrMd.js";import{C as x}from"./p-CuwopElg.js";import{c as f}from"./p-DuFm-ieS.js";const u=()=>`.text-field-support.sc-ds-textarea{display:flex;align-items:baseline;gap:var(--dimension-space-100);width:100%}.text-field-support.sc-ds-textarea>.sc-ds-textarea:first-child:not(.text-field-count){flex:1;min-width:0}.text-field-count.sc-ds-textarea{flex:none;white-space:nowrap}@media (forced-colors: active){.sc-ds-textarea:root,.sc-ds-textarea-h,.ds-forced-colors-scope.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill.sc-ds-textarea{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-textarea-h::before,.ds-interaction-fill.sc-ds-textarea::before,.ds-interaction-fill.sc-ds-textarea-h::after,.ds-interaction-fill.sc-ds-textarea::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-textarea-h::before,.ds-interaction-fill.sc-ds-textarea::before{z-index:1}.ds-interaction-fill.sc-ds-textarea-h::after,.ds-interaction-fill.sc-ds-textarea::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-textarea-h,.ds-interaction-fill--bordered.sc-ds-textarea{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-textarea-h::before,.ds-interaction-fill--selected.sc-ds-textarea::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-textarea-h,.ds-interaction-fill--selected.sc-ds-textarea{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-textarea-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-textarea:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-textarea-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-textarea:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-textarea-h::after,.ds-interaction-fill--grouped.sc-ds-textarea::after,.ds-interaction-fill--grouped.sc-ds-textarea-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-textarea:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-textarea-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-textarea:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-textarea-h,.ds-interaction-fill--grouped.sc-ds-textarea{--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-textarea-h>.ds-interaction-fill__content.sc-ds-textarea,.ds-interaction-fill.sc-ds-textarea>.ds-interaction-fill__content.sc-ds-textarea,.ds-interaction-fill__content.sc-ds-textarea{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-textarea-h,.ds-interaction-fill--on-faint.sc-ds-textarea{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-textarea-h,.ds-interaction-fill--on-medium.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-bold.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-strong.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-translucent.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-inverted.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-media.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-always-dark.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-chrome.sc-ds-textarea{--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-textarea-h,.ds-interaction-fill--on-navigation.sc-ds-textarea{--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-textarea-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-textarea:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-textarea-h::after,.ds-interaction-fill.sc-ds-textarea::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-textarea-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-textarea: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-textarea-h::before,.ds-interaction-fill--selected.sc-ds-textarea::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-textarea-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-textarea: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-textarea:root,.sc-ds-textarea-h,.ds-forced-colors-scope.sc-ds-textarea{--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-textarea-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-textarea-h,.ds-focus-ring.sc-ds-textarea,.ds-focus-ring-inset.sc-ds-textarea-h,.ds-focus-ring-inset.sc-ds-textarea{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-textarea-h:focus-visible,.ds-focus-ring.sc-ds-textarea: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-textarea-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-textarea{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-textarea-h:focus-visible,.ds-focus-ring-inset.sc-ds-textarea:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-textarea-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-textarea: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-textarea-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-textarea{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-textarea-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-textarea::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-textarea-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-textarea:root,.sc-ds-textarea-h,.ds-forced-colors-scope.sc-ds-textarea{--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-textarea-h,.ds-control-inactive.sc-ds-textarea{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-textarea-h,.ds-control-inactive.sc-ds-textarea{color:var(--ds-forced-color-disabled);opacity:1}}.sc-ds-textarea-h,.sc-ds-textarea:where(.ds-table),.sc-ds-textarea:where(.tooltip-popup),.sc-ds-textarea: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-textarea,.ds-control--lg.sc-ds-textarea-h,.ds-control--md.sc-ds-textarea-h,.ds-control--md.sc-ds-textarea,.ds-control--sm.sc-ds-textarea-h,.ds-control--sm.sc-ds-textarea,.ds-control--xs.sc-ds-textarea-h,.ds-control--xs.sc-ds-textarea{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-textarea-h,.ds-control--lg.sc-ds-textarea{--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-textarea-h,.ds-control--md.sc-ds-textarea{--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-textarea-h,.ds-control--sm.sc-ds-textarea{--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-textarea-h,.ds-control--xs.sc-ds-textarea{--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-width--hug.sc-ds-textarea-h,.ds-control-width--hug.sc-ds-textarea{width:fit-content;max-width:100%;flex:0 0 auto}.ds-control-width--fill.sc-ds-textarea-h,.ds-control-width--fill.sc-ds-textarea{width:100%;min-width:0;flex:1 1 auto;align-self:stretch}.ds-field-stack.sc-ds-textarea-h,.ds-field-stack.sc-ds-textarea{display:flex;flex-direction:column;gap:var(--dimension-space-050)}.ds-field-stack.ds-field-stack--supporting-inset.sc-ds-textarea-h .error-text.sc-ds-textarea,.ds-field-stack.ds-field-stack--supporting-inset.sc-ds-textarea .error-text.sc-ds-textarea,.ds-field-stack.ds-field-stack--supporting-inset.sc-ds-textarea .field__description.sc-ds-textarea,.ds-field-stack.ds-field-stack--supporting-inset.sc-ds-textarea .field__error.sc-ds-textarea{padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-text--display-medium.sc-ds-textarea-h,.ds-text--display-medium.sc-ds-textarea{font-size:var(--typography-fontsize-3xl);line-height:var(--typography-lineheight-3xl)}.ds-text--display-small.sc-ds-textarea-h,.ds-text--display-small.sc-ds-textarea{font-size:var(--typography-fontsize-2xl);line-height:var(--typography-lineheight-2xl)}.ds-text--title-large.sc-ds-textarea-h,.ds-text--title-large.sc-ds-textarea{font-size:var(--typography-fontsize-xl);line-height:var(--typography-lineheight-xl)}.ds-text--title-medium.sc-ds-textarea-h,.ds-text--title-medium.sc-ds-textarea{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg)}.ds-text--title-small.sc-ds-textarea-h,.ds-text--title-small.sc-ds-textarea{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md)}.ds-text--body-large.sc-ds-textarea-h,.ds-text--body-large.sc-ds-textarea{font-size:var(--typography-fontsize-lg);line-height:var(--typography-lineheight-lg)}.ds-text--body-medium.sc-ds-textarea-h,.ds-text--body-medium.sc-ds-textarea{font-size:var(--typography-fontsize-md);line-height:var(--typography-lineheight-md)}.ds-text--body-small.sc-ds-textarea-h,.ds-text--body-small.sc-ds-textarea{font-size:var(--typography-fontsize-sm);line-height:var(--typography-lineheight-sm)}.ds-text--caption.sc-ds-textarea-h,.ds-text--caption.sc-ds-textarea{font-size:var(--typography-fontsize-xs);line-height:var(--typography-lineheight-xs);text-transform:uppercase}.ds-text--display-medium.ds-text--emphasis.sc-ds-textarea-h,.ds-text--display-small.ds-text--emphasis.sc-ds-textarea-h,.ds-text--display-medium.ds-text--emphasis.sc-ds-textarea,.ds-text--display-small.ds-text--emphasis.sc-ds-textarea{font-weight:var(--typography-weight-bold);letter-spacing:var(--typography-letterspacing-negative-double)}.ds-text--display-medium.ds-text--regular.sc-ds-textarea-h,.ds-text--display-small.ds-text--regular.sc-ds-textarea-h,.ds-text--display-medium.ds-text--regular.sc-ds-textarea,.ds-text--display-small.ds-text--regular.sc-ds-textarea{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-large.ds-text--emphasis.sc-ds-textarea-h,.ds-text--title-large.ds-text--emphasis.sc-ds-textarea{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative-double)}.ds-text--title-large.ds-text--regular.sc-ds-textarea-h,.ds-text--title-large.ds-text--regular.sc-ds-textarea{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-medium.ds-text--emphasis.sc-ds-textarea-h,.ds-text--title-small.ds-text--emphasis.sc-ds-textarea-h,.ds-text--title-medium.ds-text--emphasis.sc-ds-textarea,.ds-text--title-small.ds-text--emphasis.sc-ds-textarea{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--title-medium.ds-text--regular.sc-ds-textarea-h,.ds-text--title-small.ds-text--regular.sc-ds-textarea-h,.ds-text--title-medium.ds-text--regular.sc-ds-textarea,.ds-text--title-small.ds-text--regular.sc-ds-textarea{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-large.ds-text--emphasis.sc-ds-textarea-h,.ds-text--body-medium.ds-text--emphasis.sc-ds-textarea-h,.ds-text--body-large.ds-text--emphasis.sc-ds-textarea,.ds-text--body-medium.ds-text--emphasis.sc-ds-textarea{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative)}.ds-text--body-large.ds-text--regular.sc-ds-textarea-h,.ds-text--body-medium.ds-text--regular.sc-ds-textarea-h,.ds-text--body-large.ds-text--regular.sc-ds-textarea,.ds-text--body-medium.ds-text--regular.sc-ds-textarea{font-weight:var(--typography-weight-regular);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-small.ds-text--emphasis.sc-ds-textarea-h,.ds-text--body-small.ds-text--emphasis.sc-ds-textarea{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-negative-half)}.ds-text--body-small.ds-text--regular.sc-ds-textarea-h,.ds-text--body-small.ds-text--regular.sc-ds-textarea{font-weight:var(--typography-weight-regular);letter-spacing:var(--typography-letterspacing-none)}.ds-text--caption.ds-text--emphasis.sc-ds-textarea-h,.ds-text--caption.ds-text--emphasis.sc-ds-textarea{font-weight:var(--typography-weight-semibold);letter-spacing:var(--typography-letterspacing-positive)}.ds-text--caption.ds-text--regular.sc-ds-textarea-h,.ds-text--caption.ds-text--regular.sc-ds-textarea{font-weight:var(--typography-weight-medium);letter-spacing:var(--typography-letterspacing-positive)}@media (forced-colors: active){.sc-ds-textarea:root,.sc-ds-textarea-h,.ds-forced-colors-scope.sc-ds-textarea{--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}}.textarea-host.sc-ds-textarea-h{display:inline-flex;--ds-textarea-fg:var(--color-foreground-primary);--ds-textarea-placeholder:var(--color-foreground-secondary);--ds-textarea-placeholder-active:var(--color-foreground-quaternary);--ds-textarea-border:var(--color-border-secondary)}.ds-control-width--fill.sc-ds-textarea-h,.ds-control-width--fill.sc-ds-textarea-h .textarea-control.sc-ds-textarea{width:100%}.textarea-control.sc-ds-textarea{display:flex;box-sizing:border-box;min-width:0;overflow:hidden;background:transparent;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));color:var(--ds-textarea-fg)}.textarea-control--resizable.sc-ds-textarea{padding-block-end:var(--dimension-space-025);padding-inline-end:var(--dimension-space-025)}.textarea-control--bordered.sc-ds-textarea{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--ds-textarea-border)}.textarea-control--error.sc-ds-textarea{--ds-interaction-border-width:var(--dimension-stroke-width-018);--ds-interaction-border-color:var(--color-border-bold-negative)}.textarea-control--bordered.sc-ds-textarea:focus-within:not(.textarea-control--error){--ds-interaction-border-width:var(--dimension-stroke-width-018);--ds-interaction-border-color:var(--color-border-bold-brand)}.ds-control-inactive.sc-ds-textarea-h .textarea-control.sc-ds-textarea::after{background:transparent}.native-textarea.sc-ds-textarea{position:relative;z-index:2;box-sizing:border-box;min-width:0;width:100%;padding-block:var(--ds-control-padding-inline, var(--dimension-space-075));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) );background:transparent;border:none;border-radius:inherit;outline:none;color:var(--ds-textarea-fg);font-family:inherit;-webkit-appearance:none;appearance:none}.native-textarea--resize-vertical.sc-ds-textarea{resize:vertical}.native-textarea--resize-none.sc-ds-textarea{resize:none}.native-textarea.sc-ds-textarea:disabled{cursor:not-allowed}.native-textarea.sc-ds-textarea:read-only:not(:disabled){cursor:default}.native-textarea.sc-ds-textarea::placeholder{color:var(--ds-textarea-placeholder)}.native-textarea.sc-ds-textarea:focus::placeholder{color:var(--ds-textarea-placeholder-active)}.error-text.sc-ds-textarea{width:100%}@media (forced-colors: active){.textarea-control--bordered.sc-ds-textarea:focus-within:not(.textarea-control--error)::after{outline-color:var(--ds-forced-color-selected)}.textarea-control--error.sc-ds-textarea::after{outline-style:dashed}}`;let v=0;const g=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.dsChange=s(this,"dsChange",7);this.internals=this.attachInternals();this.generatedId=`ds-textarea-${++v}`;this.errorId=`${this.generatedId}-error`;this.value="";this.disabled=false;this.readOnly=false;this.required=false;this.requiredMessage=c;this.lengthBehavior="error";this.showCharacterCount=true;this.rows=4;this.resize="vertical";this.inputMode="";this.enterKeyHint="";this.spellCheck=true;this.size="md";this.width="fill";this.hasBorder=true;this.hasInteractionFill=true;this.isInactive=false;this.autoFocus=false;this.error=false;this.ariaLabel=null;this.constraintMessage="";this.submitted=false;this.initialValue="";this.formDisabled=false;this.focused=false;this.touched=false;this.handleInput=e=>{this.value=e.target.value;this.dsChange.emit(this.value)};this.handleFocus=()=>{this.focused=true};this.handleBlur=()=>{this.focused=false;this.touched=true}}get managedByField(){return Boolean(this.el.closest("ds-field"))}get visibleConstraintMessage(){return this.touched||this.submitted||this.maxLength!==undefined&&this.value.length>this.maxLength?this.constraintMessage:""}get hasCounter(){return this.showCharacterCount&&o(this.maxLength)!==undefined}componentWillLoad(){this.initialValue=this.value;this.syncFormValue()}syncFormValue(){const e=this.isInactive||this.disabled||this.formDisabled;l(this.internals,this.value,{inactive:e});const t=e||this.readOnly?{flags:{},message:""}:d(this);this.constraintMessage=t.message;this.internals.setValidity(t.flags,t.message)}formDisabledCallback(e){this.formDisabled=e;this.syncFormValue()}formResetCallback(){this.value=this.initialValue;this.touched=false;this.submitted=false}formStateRestoreCallback(e){this.value=h(e)}async setFocus(){this.textareaEl?.focus()}render(){const e=this.inputId??this.generatedId;const t=this.isInactive||this.disabled||this.formDisabled;const s=this.value.length>0;const i=this.value!==this.initialValue;const d=this.error&&this.errorMessage?this.errorMessage:this.visibleConstraintMessage;const n=this.error||Boolean(this.visibleConstraintMessage);const c=Boolean(d)&&!this.managedByField;const l=this.hasCounter&&!this.managedByField;const h=x[this.size];const u=Number.isFinite(this.rows)?Math.max(1,Math.floor(this.rows)):4;const v=[this.ariaDescribedby,c?this.errorId:undefined,l?`${this.generatedId}-count`:undefined].filter(Boolean).join(" ")||undefined;return r(a,{key:"fcc92f1a0a4d536817f4f7376fe664ae9ed6e3f3",class:{"textarea-host":true,"ds-field-stack":true,"ds-field-stack--supporting-inset":!this.hasBorder,"ds-control-inactive":t,[`ds-control--${this.size}`]:true,...f(this.width)},"data-disabled":t?"":undefined,"data-readonly":this.readOnly?"":undefined,"data-required":this.required?"":undefined,"data-invalid":n?"":undefined,"data-constraint-message":this.visibleConstraintMessage||undefined,"data-character-count":this.hasCounter?String(this.value.length):undefined,"data-character-limit":this.hasCounter?String(o(this.maxLength)):undefined,onInvalid:()=>{this.submitted=true},"data-filled":s?"":undefined,"data-focused":this.focused?"":undefined,"data-dirty":i?"":undefined,"data-touched":this.touched?"":undefined},r("div",{key:"f2926f2bbc4eebe34170edf16f78f1572891c553",class:{"textarea-control":true,"textarea-control--resizable":this.resize==="vertical","textarea-control--bordered":this.hasBorder,"textarea-control--error":this.hasBorder&&n,"ds-interaction-fill":this.hasInteractionFill,[`ds-control--${this.size}`]:true}},r("textarea",{key:"333bd1ad0a9149186512815f60328b5450c62153",ref:e=>{this.textareaEl=e},id:e,value:this.value,placeholder:this.placeholder,rows:u,disabled:t,readOnly:this.readOnly,required:this.required,minLength:o(this.minLength),maxLength:this.lengthBehavior==="restrict"?o(this.maxLength):undefined,autoFocus:this.autoFocus,autoComplete:this.autoComplete,inputMode:this.inputMode||undefined,enterKeyHint:this.enterKeyHint||undefined,spellcheck:this.spellCheck,class:`native-textarea native-textarea--resize-${this.resize} ds-text--${h.replace("text-","")} ds-text--regular ds-interaction-fill__content`,"aria-label":this.ariaLabel,"aria-labelledby":this.ariaLabelledby,"aria-describedby":v,"aria-invalid":n?"true":undefined,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur})),(c||l)&&r("div",{key:"9716c5609c7ad9333609dfa64880edf94be30113",class:"text-field-support"},c&&r("ds-text",{key:"52d0ad55236d531d6e71344b4f219954b05cadf5",class:"error-text",as:"div",variant:"text-body-small",color:"negative",textId:this.errorId,role:"alert"},d),l&&r("ds-text",{key:"96d2e1af9d31c1833a33e95efa61c2e101cc6e1e",as:"span",class:"text-field-count",variant:"text-body-small",color:n?"negative":"secondary",textId:`${this.generatedId}-count`},this.value.length,"/",o(this.maxLength))))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],required:[{syncFormValue:0}],readOnly:[{syncFormValue:0}],minLength:[{syncFormValue:0}],maxLength:[{syncFormValue:0}],requiredMessage:[{syncFormValue:0}]}}static get style(){return u()}},[66,"ds-textarea",{value:[1025],name:[513],form:[513],disabled:[516],readOnly:[516,"read-only"],required:[516],requiredMessage:[1,"required-message"],minLength:[2,"min-length"],maxLength:[2,"max-length"],lengthBehavior:[1,"length-behavior"],showCharacterCount:[4,"show-character-count"],placeholder:[1],rows:[2],resize:[1],autoComplete:[1,"autocomplete"],inputMode:[1,"inputmode"],enterKeyHint:[1,"enterkeyhint"],spellCheck:[4,"spellcheck"],size:[1],width:[1],hasBorder:[4,"has-border"],hasInteractionFill:[4,"has-interaction-fill"],isInactive:[4,"is-inactive"],autoFocus:[4,"auto-focus"],error:[4],errorMessage:[1,"error-message"],inputId:[1,"input-id"],ariaLabel:[1,"aria-label"],ariaLabelledby:[1,"aria-labelledby"],ariaDescribedby:[1,"aria-describedby"],constraintMessage:[32],submitted:[32],formDisabled:[32],focused:[32],touched:[32],setFocus:[64]},undefined,{value:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],required:[{syncFormValue:0}],readOnly:[{syncFormValue:0}],minLength:[{syncFormValue:0}],maxLength:[{syncFormValue:0}],requiredMessage:[{syncFormValue:0}]}]);function p(){if(typeof customElements==="undefined"){return}const e=["ds-textarea","ds-text"];e.forEach((e=>{switch(e){case"ds-textarea":if(!customElements.get(i(e))){customElements.define(i(e),g)}break;case"ds-text":if(!customElements.get(i(e))){n()}break}}))}p();export{g as T,p as d};
|
|
2
|
-
//# sourceMappingURL=p-B95UP66y.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as n,H as t,c as o,h as i,a as s,t as e}from"./index.js";import{r as d,b as r}from"./p-DZ58Sg5a.js";import{d as l}from"./p-CwdRaJER.js";import{d as a}from"./p-pPtjNRqC.js";import{d as c}from"./p-0XTyQNRG.js";import{d as u}from"./p-D8OWhnID.js";import{d as f}from"./p-DvGrsLgt.js";import{c as b}from"./p-DuFm-ieS.js";const h=899;function v(n){return n>0&&n<=h}function g(n){return n.contentBoxSize[0]?.inlineSize??n.contentRect.width}function p(n,t){if(typeof ResizeObserver==="undefined"){t(false);return()=>undefined}const o=n.closest("ds-table")??n.closest("ds-data-toolbar");if(!o){t(false);return()=>undefined}const i=n=>{if(n<=0)return;t(v(n))};const s=new ResizeObserver((n=>{i(n[0]?g(n[0]):0)}));s.observe(o);i(o.clientWidth);return()=>s.disconnect()}const m=()=>`.sc-ds-button-unfilled-h,.sc-ds-button-unfilled:where(.ds-table),.sc-ds-button-unfilled:where(.tooltip-popup),.sc-ds-button-unfilled: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-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--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-button-unfilled-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-button-unfilled-h,.ds-focus-ring.sc-ds-button-unfilled,.ds-focus-ring-inset.sc-ds-button-unfilled-h,.ds-focus-ring-inset.sc-ds-button-unfilled{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-button-unfilled-h:focus-visible,.ds-focus-ring.sc-ds-button-unfilled: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-button-unfilled-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-button-unfilled{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-button-unfilled-h:focus-visible,.ds-focus-ring-inset.sc-ds-button-unfilled:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-button-unfilled-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-button-unfilled: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-button-unfilled-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled::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-button-unfilled-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--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-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill.sc-ds-button-unfilled{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-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before,.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before{z-index:1}.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::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-button-unfilled-h,.ds-interaction-fill--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h::before,.ds-interaction-fill--selected.sc-ds-button-unfilled::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h,.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-button-unfilled-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-button-unfilled-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-button-unfilled-h::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-button-unfilled-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-button-unfilled-h,.ds-interaction-fill--grouped.sc-ds-button-unfilled{--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-button-unfilled-h>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill.sc-ds-button-unfilled>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill__content.sc-ds-button-unfilled{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-button-unfilled-h,.ds-interaction-fill--on-faint.sc-ds-button-unfilled{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-button-unfilled-h,.ds-interaction-fill--on-medium.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-bold.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-strong.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-translucent.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-inverted.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-media.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-always-dark.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-chrome.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-interaction-fill--on-navigation.sc-ds-button-unfilled{--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-button-unfilled-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-button-unfilled:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::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-button-unfilled-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-button-unfilled: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-button-unfilled-h::before,.ds-interaction-fill--selected.sc-ds-button-unfilled::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-button-unfilled-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-button-unfilled: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)}}.ds-control-press-scale.sc-ds-button-unfilled{transition:scale var(--effect-motion-short-2)}.ds-control-press-scale.sc-ds-button-unfilled:active:not(:disabled):not(.ds-control-inactive):not([aria-busy='true']){scale:var(--ds-control-press-active-scale, var(--dimension-scale-subtle))}@media (prefers-reduced-motion: reduce){.ds-control-press-scale.sc-ds-button-unfilled,.ds-control-press-scale.sc-ds-button-unfilled:active:not(:disabled):not(.ds-control-inactive):not([aria-busy='true']){scale:none;transition:none}}@media (forced-colors: active){.sc-ds-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control-inactive.sc-ds-button-unfilled{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-button-unfilled-h,.ds-control-inactive.sc-ds-button-unfilled{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-button-unfilled,.ds-control--lg.sc-ds-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled,.ds-control--sm.sc-ds-button-unfilled-h,.ds-control--sm.sc-ds-button-unfilled,.ds-control--xs.sc-ds-button-unfilled-h,.ds-control--xs.sc-ds-button-unfilled{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-button-unfilled-h,.ds-control--lg.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control--sm.sc-ds-button-unfilled{--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-button-unfilled-h,.ds-control--xs.sc-ds-button-unfilled{--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.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--lg.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-025))}.ds-control--md.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--md.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-025))}.ds-control--sm.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--sm.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-025))}.ds-control--xs.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--xs.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-200) - var(--dimension-space-050));--ds-control-padding-inline:calc(var(--dimension-space-025) - var(--dimension-space-025))}.ds-control--lg.ds-control--inset-double.sc-ds-button-unfilled-h,.ds-control--lg.ds-control--inset-double.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-100) - var(--dimension-space-050))}.ds-control--md.ds-control--inset-double.sc-ds-button-unfilled-h,.ds-control--md.ds-control--inset-double.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-075) - var(--dimension-space-050))}.ds-control--sm.ds-control--inset-double.sc-ds-button-unfilled-h,.ds-control--sm.ds-control--inset-double.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-100));--ds-control-padding-inline:calc(var(--dimension-space-050) - var(--dimension-space-050))}.ds-control-frame.sc-ds-button-unfilled{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-button-unfilled{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-button-unfilled{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-button-unfilled{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-button-unfilled{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-button-unfilled{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-control-width--hug.sc-ds-button-unfilled-h,.ds-control-width--hug.sc-ds-button-unfilled{width:fit-content;max-width:100%;flex:0 0 auto}.ds-control-width--fill.sc-ds-button-unfilled-h,.ds-control-width--fill.sc-ds-button-unfilled{width:100%;min-width:0;flex:1 1 auto;align-self:stretch}.sc-ds-button-unfilled-h{display:inline-flex;outline:none}.ds-button-host--icon.ds-control-width--hug.sc-ds-button-unfilled-h{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))}.ds-button-host--icon.ds-control-width--fill.sc-ds-button-unfilled-h{height:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400))}.ds-control-width--fill.sc-ds-button-unfilled-h .ds-button.sc-ds-button-unfilled{width:100%}.ds-button.sc-ds-button-unfilled{justify-content:center;overflow:hidden;min-inline-size:var(--ds-control-height);border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));border-start-start-radius:var( --ds-button-radius-start-start, var(--ds-control-radius, var(--dimension-radius-025)) );border-start-end-radius:var( --ds-button-radius-start-end, var(--ds-control-radius, var(--dimension-radius-025)) );border-end-start-radius:var( --ds-button-radius-end-start, var(--ds-control-radius, var(--dimension-radius-025)) );border-end-end-radius:var( --ds-button-radius-end-end, var(--ds-control-radius, var(--dimension-radius-025)) );cursor:default;-webkit-user-select:none;user-select:none}.ds-button--icon.sc-ds-button-unfilled{width:100%;height:100%;padding:0}.ds-button--rounded.sc-ds-button-unfilled{--ds-control-radius:var(--dimension-radius-half)}.ds-button--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012)}.ds-button--bordered.sc-ds-button-unfilled:not(.ds-interaction-fill){box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-button__icon-wrap.sc-ds-button-unfilled,.ds-button__label.sc-ds-button-unfilled,.ds-button__chevron.sc-ds-button-unfilled{position:relative;z-index:2}.ds-button__label.sc-ds-button-unfilled{flex-shrink:0;min-width:0;white-space:nowrap}.ds-button__label--loading.sc-ds-button-unfilled,.ds-button__chevron--loading.sc-ds-button-unfilled{visibility:hidden}.ds-button.sc-ds-button-unfilled>.ds-button__loader-overlay.sc-ds-button-unfilled{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.ds-button__dot.sc-ds-button-unfilled{position:absolute;top:0;right:0;z-index:2;pointer-events:none}@media (forced-colors: active){.ds-button.sc-ds-button-unfilled{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}.ds-button-split.sc-ds-button-unfilled{position:relative;display:inline-flex;align-items:stretch;min-width:0;overflow:hidden;gap:0;border-radius:var(--ds-control-radius, var(--dimension-radius-025));background:transparent}.ds-control-width--fill.sc-ds-button-unfilled-h .ds-button-split.sc-ds-button-unfilled{width:100%}.ds-button-split.sc-ds-button-unfilled>.ds-button-split__primary.sc-ds-button-unfilled{flex:1 1 auto;width:auto;min-width:0;border-start-end-radius:var(--dimension-radius-000);border-end-end-radius:var(--dimension-radius-000)}.ds-button-split.sc-ds-button-unfilled>.ds-button-split__menu.sc-ds-button-unfilled{flex:0 0 var(--ds-control-height);width:var(--ds-control-height);min-width:var(--ds-control-height);border-start-start-radius:var(--dimension-radius-000);border-end-start-radius:var(--dimension-radius-000)}.ds-button-split__divider.sc-ds-button-unfilled{position:relative;z-index:3;align-self:stretch;flex:0 0 0;margin-inline-start:calc(-1 * var(--dimension-stroke-width-012));border-inline-start:var(--dimension-stroke-width-012) solid var(--ds-button-split-divider);pointer-events:none}.ds-button-split__divider--content-height.sc-ds-button-unfilled{align-self:center;block-size:var(--ds-button-split-divider-content-height)}.ds-button-split__outline.sc-ds-button-unfilled{position:absolute;z-index:3;inset:0;border:var(--dimension-stroke-width-012) solid var(--ds-button-split-border);border-radius:inherit;pointer-events:none}.ds-control--lg.sc-ds-button-unfilled-h{--ds-button-split-divider-content-height:var(--dimension-size-300)}.ds-control--md.sc-ds-button-unfilled-h{--ds-button-split-divider-content-height:var(--dimension-size-250)}.ds-control--sm.sc-ds-button-unfilled-h,.ds-control--xs.sc-ds-button-unfilled-h{--ds-button-split-divider-content-height:var(--dimension-size-200)}.ds-button-split-host--primary-icon.ds-control-width--hug.sc-ds-button-unfilled-h .ds-button-split.sc-ds-button-unfilled>.ds-button-split__primary.sc-ds-button-unfilled{flex:0 0 var(--ds-control-height);width:var(--ds-control-height);min-width:var(--ds-control-height);height:var(--ds-control-height)}.ds-button-split--rounded.sc-ds-button-unfilled{border-radius:var(--dimension-radius-half)}.ds-table-caption-control.sc-ds-button-unfilled-h{--ds-choice-popup-min-inline-size:var(--dimension-menu-width-xs)}.ds-table-caption-control.ds-table-caption-control--compact.sc-ds-button-unfilled-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-button-unfilled-h .trigger.sc-ds-button-unfilled{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-button-unfilled-h .trigger--has-value.sc-ds-button-unfilled:not(.trigger--label-placeholder){--ds-select-prefix-fg:var(--ds-select-fg-active)}.sc-ds-button-unfilled-h{--ds-button-unfilled-fg:var(--color-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-background-secondary);--ds-button-unfilled-border:var(--color-border-secondary);--ds-button-split-border:var(--color-border-secondary);--ds-button-split-divider:var(--color-border-tertiary)}.button-unfilled-host--background-medium.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-border-on-medium-background-secondary);--ds-button-split-divider:var(--color-border-on-medium-background-tertiary)}.button-unfilled-host--background-bold.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-border-on-bold-background-secondary);--ds-button-split-divider:var(--color-border-on-bold-background-tertiary)}.button-unfilled-host--background-strong.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-border-on-strong-background-secondary);--ds-button-split-divider:var(--color-border-on-strong-background-tertiary)}.button-unfilled-host--background-translucent.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-translucent-border-secondary);--ds-button-split-divider:var(--color-translucent-border-tertiary)}.button-unfilled-host--background-inverted.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-inverted-border-secondary);--ds-button-split-divider:var(--color-inverted-border-tertiary)}.button-unfilled-host--background-media.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-media-border-secondary);--ds-button-split-divider:var(--color-media-border-tertiary)}.button-unfilled-host--background-always-dark.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-always-dark-border-secondary);--ds-button-split-divider:var(--color-always-dark-border-tertiary)}.button-unfilled-host--background-chrome.sc-ds-button-unfilled-h{--ds-button-split-border:var(--color-chrome-border-secondary);--ds-button-split-divider:var(--color-chrome-divider)}.button-unfilled.sc-ds-button-unfilled{background:transparent;color:var(--ds-button-unfilled-fg)}.button-unfilled--active.sc-ds-button-unfilled{color:var(--ds-button-unfilled-fg-active)}.button-unfilled--bordered.sc-ds-button-unfilled{--ds-interaction-border-color:var(--ds-button-unfilled-border)}.button-unfilled--background-medium.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-medium-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-medium-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-medium-neutral);--ds-button-unfilled-border:var(--color-border-on-medium-background-secondary)}.button-unfilled--background-bold.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-bold-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-bold-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-bold-neutral);--ds-button-unfilled-border:var(--color-border-on-bold-background-secondary)}.button-unfilled--background-strong.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-strong-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-strong-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-strong-neutral);--ds-button-unfilled-border:var(--color-border-on-strong-background-secondary)}.button-unfilled--background-translucent.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-translucent-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-translucent-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-translucent-translucent);--ds-button-unfilled-border:var(--color-translucent-border-secondary)}.button-unfilled--background-inverted.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-inverted-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-inverted-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-inverted-background);--ds-button-unfilled-border:var(--color-inverted-border-secondary)}.button-unfilled--background-media.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-media-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-media-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-media-background);--ds-button-unfilled-border:var(--color-media-border-secondary)}.button-unfilled--on-always-dark.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-always-dark-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-always-dark-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-always-dark-background);--ds-button-unfilled-border:var(--color-always-dark-border-secondary)}.button-unfilled--background-chrome.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-chrome-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-chrome-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-chrome-background-theme);--ds-button-unfilled-border:var(--color-chrome-border-secondary)}.button-unfilled.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-button-unfilled-dot-ring:var(--ds-interaction-active)}`;const k=n(class n extends t{constructor(n){super();if(n!==false){this.__registerHost()}this.dsClick=o(this,"dsClick",7);this.dsMenuClick=o(this,"dsMenuClick",7);this.dsChange=o(this,"dsChange",7);this.variant="label";this.size="md";this.isInset=false;this.insetDepth="single";this.width="hug";this.label="";this.labelEmphasis=true;this.icon="";this.isActive=false;this.activeFill=true;this.hasBorder=true;this.rounded=false;this.pressScale=true;this.dot=false;this.isInactive=false;this.isLoading=false;this.type="button";this.ariaLabel=null;this.split=false;this.menuAriaLabel="More options";this.collapseLabel=false;this.hasMenu=false;this.captionCompact=false;this.buttonEl=null;this.menuButtonEl=null;this.hasLoaded=false;this.handleClick=n=>{if(this.isInactive||this.isLoading){n.preventDefault();n.stopPropagation();return}this.dsClick.emit(n);if(this.pressed!==undefined)this.dsChange.emit(!this.pressed)};this.handleMenuClick=n=>{if(this.isInactive||this.isLoading){n.preventDefault();n.stopPropagation();return}this.dsMenuClick.emit(n)}}componentDidLoad(){this.hasLoaded=true;this.syncCaptionCompactObserver()}connectedCallback(){if(this.hasLoaded)this.syncCaptionCompactObserver()}disconnectedCallback(){this.disconnectCaptionCompactObserver()}onCollapseLabelChange(){this.syncCaptionCompactObserver()}async setFocus(n="primary"){(n==="menu"?this.menuButtonEl:this.buttonEl)?.focus()}get captionIconOnly(){return this.collapseLabel&&this.captionCompact&&this.variant==="icon-label"&&Boolean(this.icon)}get visualVariant(){return this.captionIconOnly?"icon":this.variant}get showDot(){return this.variant==="icon"&&this.dot&&!this.isLoading}syncCaptionCompactObserver(){this.disconnectCaptionCompactObserver();if(!this.collapseLabel){if(this.captionCompact)this.captionCompact=false;return}this.captionCompactDisconnect=p(this.el,(n=>{if(this.captionCompact!==n)this.captionCompact=n}))}disconnectCaptionCompactObserver(){this.captionCompactDisconnect?.();this.captionCompactDisconnect=undefined}get resolvedHaspopup(){return this.haspopup??(this.hasMenu?"menu":undefined)}get doubleInset(){return this.isInset&&this.insetDepth==="double"&&this.size!=="xs"}get resolvedSurfaceOpen(){const n=this.expanded===true&&(this.split||this.resolvedHaspopup!==undefined);return(this.surfaceOpen??n)&&!this.isInactive}get visuallyActive(){return this.isActive||this.pressed===true}get dotRing(){if((this.isActive||this.pressed===true)&&this.activeFill){return"var(--ds-interaction-active)"}return"var(--ds-button-unfilled-dot-ring)"}get accessibleName(){if(this.ariaLabel)return this.ariaLabel;if(this.isLoading&&this.variant==="label"&&this.label)return this.label;return undefined}buttonClass(n,t,o){const i=this.background;const s={"button-unfilled":true,"ds-button":true,"ds-focus-ring-inset":true,"ds-control-press-scale":this.pressScale&&!this.split,"ds-interaction-fill":true,"ds-interaction-fill--selected":(this.isActive||this.pressed===true)&&this.activeFill&&!this.isInactive,"ds-interaction-fill--on-faint":i==="faint","ds-interaction-fill--on-medium":i==="medium","ds-interaction-fill--on-bold":i==="bold","ds-interaction-fill--on-strong":i==="strong","ds-interaction-fill--on-translucent":i==="translucent","ds-interaction-fill--on-inverted":i==="inverted","ds-interaction-fill--on-media":i==="media","ds-interaction-fill--on-always-dark":i==="always-dark","ds-interaction-fill--on-chrome":i==="chrome","button-unfilled--active":this.visuallyActive,"button-unfilled--expanded":t,"ds-interaction-fill--surface-open":t,"ds-button--expanded":t,"button-unfilled--bordered":o,"ds-button--bordered":o,"button-unfilled--rounded":this.rounded,"ds-button--rounded":this.rounded,"ds-control-inactive":this.isInactive,"ds-control--lg":this.size==="lg","ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs","ds-control--inset":this.isInset&&!this.doubleInset,"ds-control--inset-double":this.doubleInset,"ds-control-frame":true,"button-unfilled--icon":n==="icon","ds-button--icon":n==="icon","button-unfilled--label":n==="label","button-unfilled--icon-label":n==="icon-label","button-unfilled--background-faint":i==="faint","button-unfilled--background-medium":i==="medium","button-unfilled--background-bold":i==="bold","button-unfilled--background-strong":i==="strong","button-unfilled--background-translucent":i==="translucent","button-unfilled--background-inverted":i==="inverted","button-unfilled--background-media":i==="media","button-unfilled--on-always-dark":i==="always-dark","button-unfilled--background-chrome":i==="chrome"};return s}render(){const n=i("button",{key:"f4de57793646de4d1fff4e5c51c365da2f069f4c",ref:n=>{this.buttonEl=n??null},type:this.type,class:{...this.buttonClass(this.visualVariant,!this.split&&this.resolvedSurfaceOpen,this.hasBorder&&!this.split),"ds-button-split__primary":this.split},disabled:this.isInactive,tabIndex:this.focusTabIndex??0,"aria-label":this.accessibleName,"aria-busy":this.isLoading?"true":undefined,"aria-disabled":this.isLoading?"true":undefined,"aria-controls":this.split?undefined:this.controls,"aria-expanded":this.split||this.expanded===undefined?undefined:String(this.expanded),"aria-haspopup":this.split?undefined:this.resolvedHaspopup,"aria-pressed":this.pressed===undefined?undefined:String(this.pressed),onPointerDown:n=>r(n,this.pressScale&&!this.split&&!this.isInactive&&!this.isLoading),onClick:this.handleClick},d({namespace:"button-unfilled",variant:this.visualVariant,size:this.size,label:this.label,labelEmphasis:this.labelEmphasis,icon:this.icon,hasMenu:!this.split&&this.hasMenu,isLoading:this.isLoading,dot:{visible:this.showDot,background:this.dotRing}}));const t=this.split?i("div",{class:{"ds-button-split":true,"ds-button-split--rounded":this.rounded}},n,i("span",{class:{"ds-button-split__divider":true,"ds-button-split__divider--content-height":!this.hasBorder},"aria-hidden":"true"}),i("button",{ref:n=>{this.menuButtonEl=n??null},class:{...this.buttonClass("icon",this.resolvedSurfaceOpen,false),"ds-button-split__menu":true},type:"button",disabled:this.isInactive||this.isLoading,tabIndex:this.focusTabIndex??0,"aria-label":this.menuAriaLabel,"aria-controls":this.controls,"aria-expanded":String(this.expanded===true),"aria-haspopup":"menu",onClick:this.handleMenuClick},d({namespace:"button-unfilled",variant:"icon",size:this.size,label:"",labelEmphasis:true,icon:"ChevronDown",hasMenu:false,isLoading:false})),this.hasBorder?i("span",{class:"ds-button-split__outline","aria-hidden":"true"}):null):n;return i(s,{key:"1d5e2d228dfb8bd2d7cae1a4f4cab466d2b3ae5a",class:{"button-unfilled-host":true,"button-unfilled-host--icon":this.visualVariant==="icon"&&!this.split,"ds-button-host--icon":this.visualVariant==="icon"&&!this.split,"ds-button-split-host":this.split,"ds-button-split-host--primary-icon":this.split&&this.visualVariant==="icon",[`button-unfilled-host--background-${this.background}`]:this.split&&this.background!==undefined,"ds-control--lg":this.size==="lg","ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs","ds-control--inset":this.isInset&&!this.doubleInset,"ds-control--inset-double":this.doubleInset,"ds-table-caption-control":this.collapseLabel,"ds-table-caption-control--compact":this.captionIconOnly,...b(this.width)},tabIndex:-1},this.collapseLabel?i("ds-tooltip",{label:this.captionIconOnly?this.label||this.accessibleName||"":"",side:"top",size:"sm"},t):t)}get el(){return this}static get watchers(){return{collapseLabel:[{onCollapseLabelChange:0}]}}static get style(){return m()}},[2,"ds-button-unfilled",{variant:[1],size:[1],isInset:[4,"is-inset"],insetDepth:[1,"inset-depth"],width:[1],label:[1],labelEmphasis:[4,"label-emphasis"],icon:[1],isActive:[4,"is-active"],activeFill:[4,"active-fill"],hasBorder:[4,"has-border"],rounded:[4],pressScale:[4,"press-scale"],dot:[4],isInactive:[4,"is-inactive"],isLoading:[4,"is-loading"],type:[1],background:[1],ariaLabel:[1,"aria-label"],controls:[1],expanded:[4],surfaceOpen:[4,"surface-open"],haspopup:[1],split:[4],menuAriaLabel:[1,"menu-aria-label"],pressed:[4],collapseLabel:[516,"collapse-label"],hasMenu:[4,"has-menu"],focusTabIndex:[2,"tab-index"],captionCompact:[32],setFocus:[64]},undefined,{collapseLabel:[{onCollapseLabelChange:0}]}]);function y(){if(typeof customElements==="undefined"){return}const n=["ds-button-unfilled","ds-badge","ds-icon","ds-loader","ds-text","ds-tooltip"];n.forEach((n=>{switch(n){case"ds-button-unfilled":if(!customElements.get(e(n))){customElements.define(e(n),k)}break;case"ds-badge":if(!customElements.get(e(n))){l()}break;case"ds-icon":if(!customElements.get(e(n))){a()}break;case"ds-loader":if(!customElements.get(e(n))){c()}break;case"ds-text":if(!customElements.get(e(n))){u()}break;case"ds-tooltip":if(!customElements.get(e(n))){f()}break}}))}y();export{k as B,y as d,p as o};
|
|
2
|
-
//# sourceMappingURL=p-BLeHHoVb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["TABLE_CAPTION_COMPACT_MAX_PX","isTableCaptionCompact","width","tableCaptionInlineSize","entry","contentBoxSize","inlineSize","contentRect","observeTableCaptionCompact","host","onChange","ResizeObserver","undefined","owner","closest","sync","observer","entries","observe","clientWidth","disconnect","buttonUnfilledCss","ButtonUnfilled","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","size","isInset","insetDepth","label","labelEmphasis","icon","isActive","activeFill","hasBorder","rounded","pressScale","dot","isInactive","isLoading","type","ariaLabel","split","menuAriaLabel","collapseLabel","hasMenu","captionCompact","buttonEl","menuButtonEl","hasLoaded","handleClick","event","preventDefault","stopPropagation","dsClick","emit","pressed","dsChange","handleMenuClick","dsMenuClick","componentDidLoad","syncCaptionCompactObserver","connectedCallback","disconnectedCallback","disconnectCaptionCompactObserver","onCollapseLabelChange","setFocus","segment","focus","captionIconOnly","Boolean","visualVariant","showDot","captionCompactDisconnect","el","compact","resolvedHaspopup","haspopup","doubleInset","resolvedSurfaceOpen","legacy","expanded","surfaceOpen","visuallyActive","dotRing","accessibleName","buttonClass","bordered","bg","background","cls","render","primaryButton","h","key","ref","class","disabled","tabIndex","focusTabIndex","controls","String","onPointerDown","beginElevatedControlPress","onClick","renderButtonContent","namespace","visible","control","Host","controlWidthClass","side"],"sources":["src/wc/utils/table-caption-compact.ts","src/wc/components/ButtonUnfilled/ButtonUnfilled.css?tag=ds-button-unfilled&encapsulation=scoped","src/wc/components/ButtonUnfilled/ButtonUnfilled.tsx"],"sourcesContent":["/** Shared compact breakpoint for table captions and standalone data toolbars. */\nexport const TABLE_CAPTION_COMPACT_MAX_PX = 899;\n\nexport function isTableCaptionCompact(width: number): boolean {\n return width > 0 && width <= TABLE_CAPTION_COMPACT_MAX_PX;\n}\n\nexport function tableCaptionInlineSize(entry: ResizeObserverEntry): number {\n return entry.contentBoxSize[0]?.inlineSize ?? entry.contentRect.width;\n}\n\nexport function observeTableCaptionCompact(\n host: HTMLElement,\n onChange: (compact: boolean) => void\n): () => void {\n if (typeof ResizeObserver === 'undefined') {\n onChange(false);\n return () => undefined;\n }\n\n // Table captions own the complete control row; their slotted toolbar uses\n // display: contents and has no measurable box. Standalone toolbars own theirs.\n const owner = host.closest('ds-table') ?? host.closest('ds-data-toolbar');\n if (!owner) {\n onChange(false);\n return () => undefined;\n }\n\n const sync = (width: number) => {\n if (width <= 0) return;\n onChange(isTableCaptionCompact(width));\n };\n\n const observer = new ResizeObserver(entries => {\n sync(entries[0] ? tableCaptionInlineSize(entries[0]) : 0);\n });\n observer.observe(owner);\n sync(owner.clientWidth);\n return () => observer.disconnect();\n}\n","@import '../../utils/radius.css';\n@import '../../utils/button-base.css';\n@import '../../utils/button-split.css';\n@import '../../utils/table-caption-control.css';\n\n:host {\n --ds-button-unfilled-fg: var(--color-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-secondary);\n --ds-button-unfilled-border: var(--color-border-secondary);\n --ds-button-split-border: var(--color-border-secondary);\n --ds-button-split-divider: var(--color-border-tertiary);\n}\n\n:host(.button-unfilled-host--background-medium) {\n --ds-button-split-border: var(--color-border-on-medium-background-secondary);\n --ds-button-split-divider: var(--color-border-on-medium-background-tertiary);\n}\n\n:host(.button-unfilled-host--background-bold) {\n --ds-button-split-border: var(--color-border-on-bold-background-secondary);\n --ds-button-split-divider: var(--color-border-on-bold-background-tertiary);\n}\n\n:host(.button-unfilled-host--background-strong) {\n --ds-button-split-border: var(--color-border-on-strong-background-secondary);\n --ds-button-split-divider: var(--color-border-on-strong-background-tertiary);\n}\n\n:host(.button-unfilled-host--background-translucent) {\n --ds-button-split-border: var(--color-translucent-border-secondary);\n --ds-button-split-divider: var(--color-translucent-border-tertiary);\n}\n\n:host(.button-unfilled-host--background-inverted) {\n --ds-button-split-border: var(--color-inverted-border-secondary);\n --ds-button-split-divider: var(--color-inverted-border-tertiary);\n}\n\n:host(.button-unfilled-host--background-media) {\n --ds-button-split-border: var(--color-media-border-secondary);\n --ds-button-split-divider: var(--color-media-border-tertiary);\n}\n\n:host(.button-unfilled-host--background-always-dark) {\n --ds-button-split-border: var(--color-always-dark-border-secondary);\n --ds-button-split-divider: var(--color-always-dark-border-tertiary);\n}\n\n:host(.button-unfilled-host--background-chrome) {\n --ds-button-split-border: var(--color-chrome-border-secondary);\n --ds-button-split-divider: var(--color-chrome-divider);\n}\n\n.button-unfilled {\n background: transparent;\n color: var(--ds-button-unfilled-fg);\n /* Hover/press/selected fill: `.ds-interaction-fill` (+ `--selected` / `--on-*`).\n Active foreground changes remain independent from popup-open pressed paint. */\n}\n\n.button-unfilled--active {\n color: var(--ds-button-unfilled-fg-active);\n}\n\n/*\n * An open popup is a transient pressed state, not a selected state. Keep the\n * pressed wash visible for the popup's complete rendered lifecycle without\n * promoting the resting foreground or selected fill.\n */\n/* Inset stroke via interaction-fill ::after (above selected / hover washes). */\n.button-unfilled--bordered {\n --ds-interaction-border-color: var(--ds-button-unfilled-border);\n}\n\n/* Inactive: `.ds-control-inactive` (50% opacity). */\n\n/* Foreground / chrome tokens per surface — interaction tokens come from util `--on-*`. */\n.button-unfilled--background-medium {\n --ds-button-unfilled-fg: var(--color-foreground-on-medium-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-medium-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-medium-neutral);\n --ds-button-unfilled-border: var(--color-border-on-medium-background-secondary);\n}\n\n.button-unfilled--background-bold {\n --ds-button-unfilled-fg: var(--color-foreground-on-bold-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-bold-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-bold-neutral);\n --ds-button-unfilled-border: var(--color-border-on-bold-background-secondary);\n}\n\n.button-unfilled--background-strong {\n --ds-button-unfilled-fg: var(--color-foreground-on-strong-background-secondary);\n --ds-button-unfilled-fg-active: var(--color-foreground-on-strong-background-primary);\n --ds-button-unfilled-dot-ring: var(--color-background-strong-neutral);\n --ds-button-unfilled-border: var(--color-border-on-strong-background-secondary);\n}\n\n.button-unfilled--background-translucent {\n --ds-button-unfilled-fg: var(--color-translucent-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-translucent-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-translucent-translucent);\n --ds-button-unfilled-border: var(--color-translucent-border-secondary);\n}\n\n.button-unfilled--background-inverted {\n --ds-button-unfilled-fg: var(--color-inverted-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-inverted-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-inverted-background);\n --ds-button-unfilled-border: var(--color-inverted-border-secondary);\n}\n\n.button-unfilled--background-media {\n --ds-button-unfilled-fg: var(--color-media-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-media-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-media-background);\n --ds-button-unfilled-border: var(--color-media-border-secondary);\n}\n\n.button-unfilled--on-always-dark {\n --ds-button-unfilled-fg: var(--color-always-dark-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-always-dark-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-always-dark-background);\n --ds-button-unfilled-border: var(--color-always-dark-border-secondary);\n}\n\n.button-unfilled--background-chrome {\n --ds-button-unfilled-fg: var(--color-chrome-foreground-secondary);\n --ds-button-unfilled-fg-active: var(--color-chrome-foreground-primary);\n --ds-button-unfilled-dot-ring: var(--color-chrome-background-theme);\n --ds-button-unfilled-border: var(--color-chrome-border-secondary);\n}\n\n/*\n * After surface ring defaults: selected fill remaps the knock-out to the active\n * wash so the badge halo matches the selected background.\n */\n.button-unfilled.ds-interaction-fill--selected {\n --ds-button-unfilled-dot-ring: var(--ds-interaction-active);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { controlWidthClass } from '../../utils';\nimport { beginElevatedControlPress } from '../../utils/control-press';\nimport { renderButtonContent } from '../../utils/button-render';\nimport type { ControlInsetDepth } from '../../utils/control-text';\nimport { observeTableCaptionCompact } from '../../utils/table-caption-compact';\nimport type { ButtonPopup, ButtonSize, ButtonVariant, ButtonWidth } from '../../utils/button-types';\n\nexport type ButtonUnfilledBackground =\n | 'faint'\n | 'medium'\n | 'bold'\n | 'strong'\n | 'translucent'\n | 'inverted'\n | 'media'\n | 'always-dark'\n | 'chrome';\n\nexport type ButtonUnfilledVariant = ButtonVariant;\nexport type ButtonUnfilledSize = ButtonSize;\nexport type ButtonUnfilledWidth = ButtonWidth;\nexport type ButtonUnfilledPopup = ButtonPopup;\n\n@Component({\n tag: 'ds-button-unfilled',\n styleUrl: 'ButtonUnfilled.css',\n scoped: true,\n})\nexport class ButtonUnfilled {\n @Element() el!: HTMLElement;\n\n /**\n * Content layout. Default is label-only; pass `icon` for icon-only chrome\n * (nav / tool rails) or `icon-label` for leading icon + text.\n */\n @Prop() variant: ButtonUnfilledVariant = 'label';\n\n /** Control density (height, padding, icon, type). */\n @Prop() size: ButtonUnfilledSize = 'md';\n\n /** Use reduced outer geometry when nested inside a control of the same size. */\n @Prop() isInset: boolean = false;\n\n /** Single removes 4px overall; double removes 8px overall (xs stays single). */\n @Prop() insetDepth: ControlInsetDepth = 'single';\n\n /** Width fit — hug content (default) or fill the parent. */\n @Prop() width: ButtonUnfilledWidth = 'hug';\n\n /** Visible text for `label` / `icon-label` variants. */\n @Prop() label: string = '';\n\n /** Whether the visible label uses the emphasized weight. */\n @Prop() labelEmphasis: boolean = true;\n\n /** Icon name passed to <ds-icon> for `icon` / `icon-label` variants. */\n @Prop() icon: string = '';\n\n /**\n * Owner-controlled visual emphasis inside a composite. This does not add\n * toggle semantics and does not emit dsChange.\n */\n @Prop() isActive: boolean = false;\n\n /**\n * When active, render the selected interaction fill.\n * Default `true` for general UI. Shell chrome (nav / tool rails) should pass\n * `false` so selection is foreground-only (primary color, no fill).\n */\n @Prop() activeFill: boolean = true;\n\n /** Show a 1px secondary inset border. Default on; shell chrome can pass `false`. */\n @Prop() hasBorder: boolean = true;\n\n /** Use the half-radius treatment instead of the default control radius. */\n @Prop() rounded: boolean = false;\n\n /**\n * Scale down during a physical pointer press.\n * Disable when an owning composite requires fixed child or background geometry.\n */\n @Prop() pressScale: boolean = true;\n\n /** Show a notification dot at the top-right of the icon zone (icon variant only). */\n @Prop() dot: boolean = false;\n\n /** Disables interaction. */\n @Prop() isInactive: boolean = false;\n\n /** Shows an inline loader and prevents interaction without applying inactive opacity. */\n @Prop() isLoading: boolean = false;\n\n /** Native button type. */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Actual parent surface context. Omit on primary and secondary surfaces; use\n * chrome for shell surfaces.\n */\n @Prop() background: ButtonUnfilledBackground | undefined;\n\n /** Accessible name override. Required for icon-only buttons. */\n @Prop({ attribute: 'aria-label' }) ariaLabel: string | null = null;\n @Prop() controls: string | undefined;\n /**\n * Controlled disclosure state forwarded to aria-expanded.\n * Using expanded alone for surface-open styling is deprecated; set surfaceOpen\n * explicitly to separate the rendered surface lifecycle from disclosure state.\n */\n @Prop() expanded: boolean | undefined;\n\n /**\n * The associated menu, picker, or panel is visible, including its exit motion.\n * Holds only the pressed wash; does not set ARIA, selection, or press scaling.\n * In split mode this applies only to the menu segment. Explicit false disables\n * the legacy expanded-derived wash; omission preserves that compatibility path.\n */\n @Prop() surfaceOpen: boolean | undefined;\n @Prop() haspopup: ButtonUnfilledPopup | undefined;\n\n /**\n * Append a separate ChevronDown menu segment while preserving this button's\n * variant, size, surface, active, loading, border, and width treatment.\n */\n @Prop() split: boolean = false;\n\n /** Accessible name for the appended menu segment in split mode. */\n @Prop() menuAriaLabel: string = 'More options';\n\n /**\n * Controlled state for a genuine toggle button. Adds aria-pressed, promotes\n * active styling, and makes activation emit dsChange with the requested state.\n */\n @Prop() pressed: boolean | undefined;\n\n /**\n * Collapse the visible label and chevron to an icon-only control when the\n * owning `ds-table` caption is narrower than 900px. The trigger omits those\n * parts rather than clipping them.\n */\n @Prop({ reflect: true }) collapseLabel: boolean = false;\n\n /**\n * Mark the button as a Menu trigger. Implies `aria-haspopup=\"menu\"` and covers\n * both menu-button shapes:\n *\n * - `label` / `icon-label` — the action *has* a menu; a trailing chevron carries\n * the affordance.\n * - `icon` — the button *is* a menu. No chevron is added, so the glyph must\n * convey the menu on its own. Use `Ellipses` for generic more-options;\n * use a specific icon when the menu has a named purpose, such as\n * `Table` for Customize table.\n *\n * Use `haspopup` directly for non-menu popups.\n */\n @Prop() hasMenu: boolean = false;\n\n /**\n * Native `tabindex` for roving keyboard groups in shell chrome.\n * Omit for the default button tab stop (`0`).\n */\n @Prop({ attribute: 'tab-index' }) focusTabIndex?: number;\n\n @Event() dsClick!: EventEmitter<MouseEvent>;\n @Event() dsMenuClick!: EventEmitter<MouseEvent>;\n @Event() dsChange!: EventEmitter<boolean>;\n\n @State() private captionCompact = false;\n\n private buttonEl: HTMLButtonElement | null = null;\n private menuButtonEl: HTMLButtonElement | null = null;\n private captionCompactDisconnect: (() => void) | undefined;\n private hasLoaded = false;\n\n componentDidLoad(): void {\n this.hasLoaded = true;\n this.syncCaptionCompactObserver();\n }\n\n connectedCallback(): void {\n if (this.hasLoaded) this.syncCaptionCompactObserver();\n }\n\n disconnectedCallback(): void {\n this.disconnectCaptionCompactObserver();\n }\n\n @Watch('collapseLabel')\n onCollapseLabelChange() {\n this.syncCaptionCompactObserver();\n }\n\n @Method()\n async setFocus(segment: 'primary' | 'menu' = 'primary') {\n (segment === 'menu' ? this.menuButtonEl : this.buttonEl)?.focus();\n }\n\n private handleClick = (event: MouseEvent) => {\n if (this.isInactive || this.isLoading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.dsClick.emit(event);\n if (this.pressed !== undefined) this.dsChange.emit(!this.pressed);\n };\n\n private handleMenuClick = (event: MouseEvent) => {\n if (this.isInactive || this.isLoading) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.dsMenuClick.emit(event);\n };\n\n private get captionIconOnly(): boolean {\n return (\n this.collapseLabel &&\n this.captionCompact &&\n this.variant === 'icon-label' &&\n Boolean(this.icon)\n );\n }\n\n private get visualVariant(): ButtonUnfilledVariant {\n return this.captionIconOnly ? 'icon' : this.variant;\n }\n\n private get showDot(): boolean {\n return this.variant === 'icon' && this.dot && !this.isLoading;\n }\n\n private syncCaptionCompactObserver(): void {\n this.disconnectCaptionCompactObserver();\n if (!this.collapseLabel) {\n if (this.captionCompact) this.captionCompact = false;\n return;\n }\n this.captionCompactDisconnect = observeTableCaptionCompact(this.el, compact => {\n if (this.captionCompact !== compact) this.captionCompact = compact;\n });\n }\n\n private disconnectCaptionCompactObserver(): void {\n this.captionCompactDisconnect?.();\n this.captionCompactDisconnect = undefined;\n }\n\n private get resolvedHaspopup(): ButtonUnfilledPopup | undefined {\n return this.haspopup ?? (this.hasMenu ? 'menu' : undefined);\n }\n\n private get doubleInset(): boolean {\n return this.isInset && this.insetDepth === 'double' && this.size !== 'xs';\n }\n\n private get resolvedSurfaceOpen(): boolean {\n const legacy = this.expanded === true && (this.split || this.resolvedHaspopup !== undefined);\n return (this.surfaceOpen ?? legacy) && !this.isInactive;\n }\n\n private get visuallyActive(): boolean {\n return this.isActive || this.pressed === true;\n }\n\n /** Knock-out ring: selected fill → active wash; otherwise surface token. */\n private get dotRing(): string {\n if ((this.isActive || this.pressed === true) && this.activeFill) {\n return 'var(--ds-interaction-active)';\n }\n return 'var(--ds-button-unfilled-dot-ring)';\n }\n\n private get accessibleName(): string | undefined {\n if (this.ariaLabel) return this.ariaLabel;\n if (this.isLoading && this.variant === 'label' && this.label) return this.label;\n return undefined;\n }\n\n private buttonClass(\n variant: ButtonUnfilledVariant,\n expanded: boolean,\n bordered: boolean\n ): Record<string, boolean> {\n const bg = this.background;\n const cls: Record<string, boolean> = {\n 'button-unfilled': true,\n 'ds-button': true,\n 'ds-focus-ring-inset': true,\n 'ds-control-press-scale': this.pressScale && !this.split,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--selected':\n (this.isActive || this.pressed === true) && this.activeFill && !this.isInactive,\n 'ds-interaction-fill--on-faint': bg === 'faint',\n 'ds-interaction-fill--on-medium': bg === 'medium',\n 'ds-interaction-fill--on-bold': bg === 'bold',\n 'ds-interaction-fill--on-strong': bg === 'strong',\n 'ds-interaction-fill--on-translucent': bg === 'translucent',\n 'ds-interaction-fill--on-inverted': bg === 'inverted',\n 'ds-interaction-fill--on-media': bg === 'media',\n 'ds-interaction-fill--on-always-dark': bg === 'always-dark',\n 'ds-interaction-fill--on-chrome': bg === 'chrome',\n 'button-unfilled--active': this.visuallyActive,\n 'button-unfilled--expanded': expanded,\n 'ds-interaction-fill--surface-open': expanded,\n 'ds-button--expanded': expanded,\n 'button-unfilled--bordered': bordered,\n 'ds-button--bordered': bordered,\n 'button-unfilled--rounded': this.rounded,\n 'ds-button--rounded': this.rounded,\n 'ds-control-inactive': this.isInactive,\n 'ds-control--lg': this.size === 'lg',\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'ds-control--inset': this.isInset && !this.doubleInset,\n 'ds-control--inset-double': this.doubleInset,\n 'ds-control-frame': true,\n 'button-unfilled--icon': variant === 'icon',\n 'ds-button--icon': variant === 'icon',\n 'button-unfilled--label': variant === 'label',\n 'button-unfilled--icon-label': variant === 'icon-label',\n 'button-unfilled--background-faint': bg === 'faint',\n 'button-unfilled--background-medium': bg === 'medium',\n 'button-unfilled--background-bold': bg === 'bold',\n 'button-unfilled--background-strong': bg === 'strong',\n 'button-unfilled--background-translucent': bg === 'translucent',\n 'button-unfilled--background-inverted': bg === 'inverted',\n 'button-unfilled--background-media': bg === 'media',\n 'button-unfilled--on-always-dark': bg === 'always-dark',\n 'button-unfilled--background-chrome': bg === 'chrome',\n };\n return cls;\n }\n\n render() {\n const primaryButton = (\n <button\n ref={el => {\n this.buttonEl = el ?? null;\n }}\n type={this.type}\n class={{\n ...this.buttonClass(\n this.visualVariant,\n !this.split && this.resolvedSurfaceOpen,\n this.hasBorder && !this.split\n ),\n 'ds-button-split__primary': this.split,\n }}\n disabled={this.isInactive}\n tabIndex={this.focusTabIndex ?? 0}\n aria-label={this.accessibleName}\n aria-busy={this.isLoading ? 'true' : undefined}\n aria-disabled={this.isLoading ? 'true' : undefined}\n aria-controls={this.split ? undefined : this.controls}\n aria-expanded={\n this.split || this.expanded === undefined ? undefined : String(this.expanded)\n }\n aria-haspopup={this.split ? undefined : this.resolvedHaspopup}\n aria-pressed={this.pressed === undefined ? undefined : String(this.pressed)}\n onPointerDown={event =>\n beginElevatedControlPress(\n event,\n this.pressScale && !this.split && !this.isInactive && !this.isLoading\n )\n }\n onClick={this.handleClick}\n >\n {renderButtonContent({\n namespace: 'button-unfilled',\n variant: this.visualVariant,\n size: this.size,\n label: this.label,\n labelEmphasis: this.labelEmphasis,\n icon: this.icon,\n hasMenu: !this.split && this.hasMenu,\n isLoading: this.isLoading,\n dot: {\n visible: this.showDot,\n background: this.dotRing,\n },\n })}\n </button>\n );\n\n const control = this.split ? (\n <div\n class={{\n 'ds-button-split': true,\n 'ds-button-split--rounded': this.rounded,\n }}\n >\n {primaryButton}\n <span\n class={{\n 'ds-button-split__divider': true,\n 'ds-button-split__divider--content-height': !this.hasBorder,\n }}\n aria-hidden=\"true\"\n />\n <button\n ref={el => {\n this.menuButtonEl = el ?? null;\n }}\n class={{\n ...this.buttonClass('icon', this.resolvedSurfaceOpen, false),\n 'ds-button-split__menu': true,\n }}\n type=\"button\"\n disabled={this.isInactive || this.isLoading}\n tabIndex={this.focusTabIndex ?? 0}\n aria-label={this.menuAriaLabel}\n aria-controls={this.controls}\n aria-expanded={String(this.expanded === true)}\n aria-haspopup=\"menu\"\n onClick={this.handleMenuClick}\n >\n {renderButtonContent({\n namespace: 'button-unfilled',\n variant: 'icon',\n size: this.size,\n label: '',\n labelEmphasis: true,\n icon: 'ChevronDown',\n hasMenu: false,\n isLoading: false,\n })}\n </button>\n {this.hasBorder ? <span class=\"ds-button-split__outline\" aria-hidden=\"true\" /> : null}\n </div>\n ) : (\n primaryButton\n );\n\n return (\n <Host\n class={{\n 'button-unfilled-host': true,\n 'button-unfilled-host--icon': this.visualVariant === 'icon' && !this.split,\n 'ds-button-host--icon': this.visualVariant === 'icon' && !this.split,\n 'ds-button-split-host': this.split,\n 'ds-button-split-host--primary-icon': this.split && this.visualVariant === 'icon',\n [`button-unfilled-host--background-${this.background}`]:\n this.split && this.background !== undefined,\n 'ds-control--lg': this.size === 'lg',\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'ds-control--inset': this.isInset && !this.doubleInset,\n 'ds-control--inset-double': this.doubleInset,\n 'ds-table-caption-control': this.collapseLabel,\n 'ds-table-caption-control--compact': this.captionIconOnly,\n ...controlWidthClass(this.width),\n }}\n tabIndex={-1}\n >\n {this.collapseLabel ? (\n <ds-tooltip\n label={this.captionIconOnly ? this.label || this.accessibleName || '' : ''}\n side=\"top\"\n size=\"sm\"\n >\n {control}\n </ds-tooltip>\n ) : (\n control\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{p as s,H as e,c as t,h as i,a as o,t as r}from"./index.js";import{C as n}from"./p-DlsjHRU3.js";import{D as d,s as c}from"./p-DOUk4KoT.js";import{s as a}from"./p-DGVZhrMd.js";const h=()=>`@media (forced-colors: active){:root,:host,.ds-forced-colors-scope{--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}}:host{--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)}:host(.ds-focus-ring),.ds-focus-ring,:host(.ds-focus-ring-inset),.ds-focus-ring-inset{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}:host(.ds-focus-ring:focus-visible),.ds-focus-ring:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}:host(.ds-focus-ring.ds-focus-ring--visible),.ds-focus-ring.ds-focus-ring--visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}:host(.ds-focus-ring-inset:focus-visible),.ds-focus-ring-inset:focus-visible{outline:none}:host(.ds-focus-ring-inset:focus-visible)::after,.ds-focus-ring-inset:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}:host(.ds-focus-ring-inset.ds-focus-ring--visible),.ds-focus-ring-inset.ds-focus-ring--visible{outline:none}:host(.ds-focus-ring-inset.ds-focus-ring--visible)::after,.ds-focus-ring-inset.ds-focus-ring--visible::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){:host{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){:root,:host,.ds-forced-colors-scope{--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}}:host(.ds-control-inactive),.ds-control-inactive{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){:host(.ds-control-inactive),.ds-control-inactive{color:var(--ds-forced-color-disabled);opacity:1}}@media (forced-colors: active){:root,:host,.ds-forced-colors-scope{--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}}:host{--ds-switch-width:var(--dimension-size-400);--ds-switch-height:var(--dimension-size-250);--ds-switch-thumb-size:var(--dimension-size-150);--ds-switch-gap:var(--dimension-space-050);--ds-switch-stroke:var(--dimension-stroke-width-012);--ds-switch-inset:var(--ds-switch-gap);--ds-switch-thumb-hover:var(--color-interaction-hover);--ds-switch-thumb-pressed:var(--color-interaction-pressed);--ds-switch-travel:calc( var(--ds-switch-width) - var(--ds-switch-thumb-size) - var(--ds-switch-inset) - var(--ds-switch-inset) );position:relative;display:inline-flex;width:var(--ds-switch-width);height:var(--ds-switch-height);padding:0;border:none;border-radius:var(--dimension-radius-half);box-sizing:border-box;flex-shrink:0;overflow:visible;cursor:default;user-select:none;outline:none;background-color:transparent;box-shadow:inset 0 0 0 var(--ds-switch-stroke) var(--color-border-secondary);transition:none}:host(.switch--transitions-enabled){transition:background-color var(--effect-motion-short-3), box-shadow var(--effect-motion-short-3)}:host(.switch--lg){--ds-switch-width:var(--dimension-size-500);--ds-switch-height:var(--dimension-size-300);--ds-switch-thumb-size:var(--dimension-iconography-sm);--ds-switch-gap:var(--dimension-space-050)}:host(.switch--sm){--ds-switch-width:var(--dimension-size-300);--ds-switch-height:var(--dimension-size-200);--ds-switch-thumb-size:calc(var(--dimension-size-base) * 5 / 4);--ds-switch-gap:calc(var(--dimension-space-025) + var(--dimension-space-012))}:host(.switch--xs){--ds-switch-width:var(--dimension-size-250);--ds-switch-height:var(--dimension-size-150);--ds-switch-thumb-size:var(--dimension-size-100);--ds-switch-gap:var(--dimension-space-025)}:host(.checked){background-color:var(--color-background-bold-brand);box-shadow:none}:host(.switch--readonly),:host(.switch--presentation){cursor:default}:host(.switch--presentation){pointer-events:none}.thumb{position:absolute;top:50%;left:var(--ds-switch-inset);width:var(--ds-switch-thumb-size);height:var(--ds-switch-thumb-size);border-radius:var(--dimension-radius-half);background-color:var(--color-foreground-tertiary);box-shadow:none;transform:translateY(-50%);transition:none;pointer-events:none}:host(.switch--transitions-enabled) .thumb{transition:background-color var(--effect-motion-short-3), transform var(--effect-motion-short-3)}.thumb::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none}@media (hover: hover) and (pointer: fine){:host(:hover:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation)) .thumb::after{background:var(--ds-switch-thumb-hover)}}:host(:active:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation)) .thumb::after{background:var(--ds-switch-thumb-pressed)}:host(.checked) .thumb{background-color:var(--color-background-primary);box-shadow:none;transform:translate3d(var(--ds-switch-travel), -50%, 0)}@media (prefers-reduced-motion: reduce){:host,:host(.switch--transitions-enabled){transition:none}.thumb,:host(.switch--transitions-enabled) .thumb{transition:none}}@media (forced-colors: active){:host{border:var(--ds-switch-stroke) solid var(--ds-forced-color-content);box-shadow:none}:host(.checked){background-color:var(--ds-forced-color-selected);border-color:var(--ds-forced-color-selected)}.thumb{background-color:var(--ds-forced-color-content)}:host(.checked) .thumb{background-color:var(--ds-forced-color-on-selected)}}`;let l=0;const u=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.__attachShadow();this.dsChange=t(this,"dsChange",7);this.internals=this.attachInternals();this.checked=false;this.value="on";this.disabled=false;this.readOnly=false;this.required=false;this.requiredMessage=d;this.isInactive=false;this.size="md";this.presentation=false;this.initialChecked=false;this.checkedUpdateObserved=false;this.hasLoaded=false;this.formDisabled=false;this.focused=false;this.touched=false;this.transitionsEnabled=false;this.tasks=new n((()=>this.el.isConnected));this.handleClick=()=>{if(this.presentation||this.readOnly||this.isInactive||this.disabled||this.formDisabled)return;this.checkedUpdateObserved=true;this.checked=!this.checked;this.dsChange.emit(this.checked)};this.handleKeyDown=s=>{if(this.presentation||this.readOnly||this.isInactive||this.disabled||this.formDisabled)return;if(s.key===" "||s.key==="Enter"){s.preventDefault();this.handleClick()}};this.handleFocus=()=>{if(!this.presentation)this.focused=true};this.handleBlur=()=>{if(this.presentation)return;this.focused=false;this.touched=true}}connectedCallback(){if(!this.hasLoaded)return;this.syncNativeLabels();if(!this.transitionsEnabled)this.scheduleTransitionsEnable()}componentWillLoad(){this.initialChecked=this.checked;this.syncFormValue()}componentDidLoad(){this.hasLoaded=true;this.syncNativeLabels();this.scheduleTransitionsEnable()}disconnectedCallback(){this.tasks.cancel();this.transitionsFrame=undefined;this.focused=false}handleCheckedChange(){if(!this.hasLoaded||this.checkedUpdateObserved)return;this.checkedUpdateObserved=true;this.transitionsEnabled=false;this.scheduleTransitionsEnable()}scheduleTransitionsEnable(){this.tasks.cancelFrame(this.transitionsFrame);this.transitionsFrame=this.tasks.frame((()=>{this.transitionsEnabled=true;this.transitionsFrame=undefined}))}syncFormValue(){const s=this.presentation||this.isInactive||this.disabled||this.formDisabled;const e=this.checked?this.value:this.uncheckedValue??null;const t=this.checked?"checked":"unchecked";a(this.internals,e,{inactive:s,state:t});const i=this.required&&!s&&!this.checked;c(this.internals,i,this.requiredMessage)}formDisabledCallback(s){this.formDisabled=s;this.syncFormValue()}formResetCallback(){this.checked=this.initialChecked;this.focused=false;this.touched=false}formStateRestoreCallback(s){this.checked=s==="checked"}syncNativeLabels(){if(this.presentation)return;if(this.el.hasAttribute("aria-label")||this.el.hasAttribute("aria-labelledby"))return;const s=Array.from(this.internals.labels).map((s=>{if(!s.id)s.id=`ds-switch-label-${++l}`;return s.id}));if(s.length)this.el.setAttribute("aria-labelledby",s.join(" "))}render(){const s=this.isInactive||this.disabled||this.formDisabled;const e=this.required&&!s&&!this.checked;const t=this.checked!==this.initialChecked;return i(o,{key:"865f5420fcdd503e1f18c9a426a69d0936805591",role:this.presentation?undefined:"switch","aria-checked":this.presentation?undefined:String(this.checked),"aria-disabled":!this.presentation&&s?"true":undefined,"aria-readonly":!this.presentation&&this.readOnly?"true":undefined,"aria-required":!this.presentation&&this.required?"true":undefined,"aria-invalid":!this.presentation&&e?"true":undefined,"aria-hidden":this.presentation?"true":undefined,"data-checked":this.checked?"":undefined,"data-unchecked":!this.checked?"":undefined,"data-disabled":s?"":undefined,"data-readonly":this.readOnly?"":undefined,"data-required":this.required?"":undefined,"data-focused":!this.presentation&&this.focused?"":undefined,"data-filled":!this.presentation&&this.checked?"":undefined,"data-dirty":!this.presentation&&t?"":undefined,"data-touched":!this.presentation&&this.touched?"":undefined,"data-valid":!this.presentation&&!s&&!e?"":undefined,"data-invalid":!this.presentation&&e?"":undefined,tabIndex:this.presentation||s?-1:0,class:{switch:true,checked:this.checked,"switch--lg":this.size==="lg","switch--md":this.size==="md","switch--sm":this.size==="sm","switch--xs":this.size==="xs","switch--readonly":this.readOnly,"switch--presentation":this.presentation,"switch--transitions-enabled":this.transitionsEnabled,"ds-focus-ring":true,"ds-control-inactive":s},onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur},i("span",{key:"13ea5be5c2e5246e1e3d6066a3701dd2e121d7a6",class:"thumb"}))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{checked:[{handleCheckedChange:0},{syncFormValue:0}],value:[{syncFormValue:0}],uncheckedValue:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],presentation:[{syncFormValue:0}],required:[{syncFormValue:0}],requiredMessage:[{syncFormValue:0}]}}static get style(){return h()}},[65,"ds-switch",{checked:[1028],name:[513],value:[1],uncheckedValue:[1,"unchecked-value"],form:[513],disabled:[516],readOnly:[516,"read-only"],required:[516],requiredMessage:[1,"required-message"],isInactive:[4,"is-inactive"],size:[1],presentation:[4],formDisabled:[32],focused:[32],touched:[32],transitionsEnabled:[32]},undefined,{checked:[{handleCheckedChange:0},{syncFormValue:0}],value:[{syncFormValue:0}],uncheckedValue:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],presentation:[{syncFormValue:0}],required:[{syncFormValue:0}],requiredMessage:[{syncFormValue:0}]}]);function f(){if(typeof customElements==="undefined"){return}const s=["ds-switch"];s.forEach((s=>{switch(s){case"ds-switch":if(!customElements.get(r(s))){customElements.define(r(s),u)}break}}))}f();export{u as S,f as d};
|
|
2
|
-
//# sourceMappingURL=p-Bf-BphXP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["switchCss","generatedLabelId","Switch","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","checked","value","disabled","readOnly","required","requiredMessage","DEFAULT_REQUIRED_MESSAGE","isInactive","size","presentation","initialChecked","checkedUpdateObserved","hasLoaded","formDisabled","focused","touched","transitionsEnabled","tasks","ConnectionTasks","el","isConnected","handleClick","dsChange","emit","handleKeyDown","event","key","preventDefault","handleFocus","handleBlur","connectedCallback","syncNativeLabels","scheduleTransitionsEnable","componentWillLoad","syncFormValue","componentDidLoad","disconnectedCallback","cancel","transitionsFrame","undefined","handleCheckedChange","cancelFrame","frame","inactive","submissionValue","uncheckedValue","state","setFormControlValue","internals","missing","setRequiredValidity","formDisabledCallback","formResetCallback","formStateRestoreCallback","hasAttribute","labelIds","Array","from","labels","map","label","id","length","setAttribute","join","render","invalid","dirty","h","Host","role","String","tabIndex","class","switch","onClick","onKeyDown","onFocus","onBlur"],"sources":["src/wc/components/Switch/Switch.css?tag=ds-switch&encapsulation=shadow","src/wc/components/Switch/Switch.tsx"],"sourcesContent":["@import '../../utils/focus-ring.css';\n@import '../../utils/control-inactive.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n --ds-switch-width: var(--dimension-size-400);\n --ds-switch-height: var(--dimension-size-250);\n --ds-switch-thumb-size: var(--dimension-size-150);\n --ds-switch-gap: var(--dimension-space-050);\n --ds-switch-stroke: var(--dimension-stroke-width-012);\n --ds-switch-inset: var(--ds-switch-gap);\n --ds-switch-thumb-hover: var(--color-interaction-hover);\n --ds-switch-thumb-pressed: var(--color-interaction-pressed);\n --ds-switch-travel: calc(\n var(--ds-switch-width) - var(--ds-switch-thumb-size) - var(--ds-switch-inset) -\n var(--ds-switch-inset)\n );\n position: relative;\n display: inline-flex;\n width: var(--ds-switch-width);\n height: var(--ds-switch-height);\n padding: 0;\n border: none;\n border-radius: var(--dimension-radius-half);\n box-sizing: border-box;\n flex-shrink: 0;\n overflow: visible;\n cursor: default;\n user-select: none;\n outline: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 var(--ds-switch-stroke) var(--color-border-secondary);\n transition: none;\n}\n\n:host(.switch--transitions-enabled) {\n transition:\n background-color var(--effect-motion-short-3),\n box-shadow var(--effect-motion-short-3);\n}\n\n:host(.switch--lg) {\n --ds-switch-width: var(--dimension-size-500);\n --ds-switch-height: var(--dimension-size-300);\n --ds-switch-thumb-size: var(--dimension-iconography-sm);\n --ds-switch-gap: var(--dimension-space-050);\n}\n\n:host(.switch--sm) {\n --ds-switch-width: var(--dimension-size-300);\n --ds-switch-height: var(--dimension-size-200);\n --ds-switch-thumb-size: calc(var(--dimension-size-base) * 5 / 4);\n --ds-switch-gap: calc(var(--dimension-space-025) + var(--dimension-space-012));\n}\n\n:host(.switch--xs) {\n --ds-switch-width: var(--dimension-size-250);\n --ds-switch-height: var(--dimension-size-150);\n --ds-switch-thumb-size: var(--dimension-size-100);\n --ds-switch-gap: var(--dimension-space-025);\n}\n\n:host(.checked) {\n background-color: var(--color-background-bold-brand);\n box-shadow: none;\n}\n\n:host(.switch--readonly),\n:host(.switch--presentation) {\n cursor: default;\n}\n\n:host(.switch--presentation) {\n pointer-events: none;\n}\n\n/* Inactive: `.ds-control-inactive` (50% opacity). */\n\n.thumb {\n position: absolute;\n top: 50%;\n left: var(--ds-switch-inset);\n width: var(--ds-switch-thumb-size);\n height: var(--ds-switch-thumb-size);\n border-radius: var(--dimension-radius-half);\n background-color: var(--color-foreground-tertiary);\n box-shadow: none;\n transform: translateY(-50%);\n transition: none;\n pointer-events: none;\n}\n\n:host(.switch--transitions-enabled) .thumb {\n transition:\n background-color var(--effect-motion-short-3),\n transform var(--effect-motion-short-3);\n}\n\n.thumb::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: transparent;\n pointer-events: none;\n}\n\n@media (hover: hover) and (pointer: fine) {\n :host(\n :hover:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(\n .switch--presentation\n )\n )\n .thumb::after {\n background: var(--ds-switch-thumb-hover);\n }\n}\n\n:host(\n :active:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(\n .switch--presentation\n )\n )\n .thumb::after {\n background: var(--ds-switch-thumb-pressed);\n}\n\n:host(.checked) .thumb {\n background-color: var(--color-background-primary);\n box-shadow: none;\n transform: translate3d(var(--ds-switch-travel), -50%, 0);\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host,\n :host(.switch--transitions-enabled) {\n transition: none;\n }\n\n .thumb,\n :host(.switch--transitions-enabled) .thumb {\n transition: none;\n }\n}\n\n@media (forced-colors: active) {\n :host {\n border: var(--ds-switch-stroke) solid var(--ds-forced-color-content);\n box-shadow: none;\n }\n\n :host(.checked) {\n background-color: var(--ds-forced-color-selected);\n border-color: var(--ds-forced-color-selected);\n }\n\n .thumb {\n background-color: var(--ds-forced-color-content);\n }\n\n :host(.checked) .thumb {\n background-color: var(--ds-forced-color-on-selected);\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Prop,\n State,\n Event,\n EventEmitter,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { DEFAULT_REQUIRED_MESSAGE, setFormControlValue, setRequiredValidity } from '../../utils';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\n\nexport type SwitchSize = 'lg' | 'md' | 'sm' | 'xs';\n\nlet generatedLabelId = 0;\n\n@Component({\n tag: 'ds-switch',\n styleUrl: 'Switch.css',\n shadow: true,\n formAssociated: true,\n})\nexport class Switch {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n /** Current on/off state. The initial value is restored when the owning form resets. */\n @Prop({ mutable: true }) checked: boolean = false;\n\n @Prop({ reflect: true }) name: string | undefined;\n @Prop() value: string = 'on';\n\n /** Optional value submitted when unchecked; omitted by default like a native checkbox. */\n @Prop() uncheckedValue: string | undefined;\n\n /** Associates the switch with a form by id when it is rendered outside that form. */\n @Prop({ reflect: true }) form: string | undefined;\n\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) readOnly: boolean = false;\n @Prop({ reflect: true }) required: boolean = false;\n @Prop() requiredMessage: string = DEFAULT_REQUIRED_MESSAGE;\n @Prop() isInactive: boolean = false;\n\n /** Compact track size for placement inside controls, menus, and form rows. */\n @Prop() size: SwitchSize = 'md';\n\n /**\n * Removes standalone control semantics so a composite owner such as a\n * `menuitemcheckbox` can use the switch as an aria-hidden visual indicator.\n */\n @Prop() presentation: boolean = false;\n\n @Event() dsChange!: EventEmitter<boolean>;\n\n private initialChecked = false;\n private checkedUpdateObserved = false;\n private hasLoaded = false;\n @State() private formDisabled = false;\n @State() private focused = false;\n @State() private touched = false;\n @State() private transitionsEnabled = false;\n\n private transitionsFrame?: number;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n\n connectedCallback() {\n if (!this.hasLoaded) return;\n this.syncNativeLabels();\n if (!this.transitionsEnabled) this.scheduleTransitionsEnable();\n }\n\n componentWillLoad() {\n this.initialChecked = this.checked;\n this.syncFormValue();\n }\n\n componentDidLoad() {\n this.hasLoaded = true;\n this.syncNativeLabels();\n this.scheduleTransitionsEnable();\n }\n\n disconnectedCallback() {\n this.tasks.cancel();\n this.transitionsFrame = undefined;\n this.focused = false;\n }\n\n @Watch('checked')\n handleCheckedChange() {\n if (!this.hasLoaded || this.checkedUpdateObserved) return;\n\n this.checkedUpdateObserved = true;\n this.transitionsEnabled = false;\n this.scheduleTransitionsEnable();\n }\n\n private scheduleTransitionsEnable() {\n this.tasks.cancelFrame(this.transitionsFrame);\n this.transitionsFrame = this.tasks.frame(() => {\n this.transitionsEnabled = true;\n this.transitionsFrame = undefined;\n });\n }\n\n @Watch('checked')\n @Watch('value')\n @Watch('uncheckedValue')\n @Watch('disabled')\n @Watch('isInactive')\n @Watch('presentation')\n @Watch('required')\n @Watch('requiredMessage')\n syncFormValue() {\n const inactive = this.presentation || this.isInactive || this.disabled || this.formDisabled;\n const submissionValue = this.checked ? this.value : (this.uncheckedValue ?? null);\n const state = this.checked ? 'checked' : 'unchecked';\n setFormControlValue(this.internals, submissionValue, { inactive, state });\n\n const missing = this.required && !inactive && !this.checked;\n setRequiredValidity(this.internals, missing, this.requiredMessage);\n }\n\n formDisabledCallback(disabled: boolean) {\n this.formDisabled = disabled;\n this.syncFormValue();\n }\n\n formResetCallback() {\n this.checked = this.initialChecked;\n this.focused = false;\n this.touched = false;\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n this.checked = state === 'checked';\n }\n\n private syncNativeLabels() {\n if (this.presentation) return;\n if (this.el.hasAttribute('aria-label') || this.el.hasAttribute('aria-labelledby')) return;\n\n const labelIds = (Array.from(this.internals.labels) as HTMLLabelElement[]).map(label => {\n if (!label.id) label.id = `ds-switch-label-${++generatedLabelId}`;\n return label.id;\n });\n if (labelIds.length) this.el.setAttribute('aria-labelledby', labelIds.join(' '));\n }\n\n private handleClick = () => {\n if (this.presentation || this.readOnly || this.isInactive || this.disabled || this.formDisabled)\n return;\n this.checkedUpdateObserved = true;\n this.checked = !this.checked;\n this.dsChange.emit(this.checked);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.presentation || this.readOnly || this.isInactive || this.disabled || this.formDisabled)\n return;\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n private handleFocus = () => {\n if (!this.presentation) this.focused = true;\n };\n\n private handleBlur = () => {\n if (this.presentation) return;\n this.focused = false;\n this.touched = true;\n };\n\n render() {\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n const invalid = this.required && !inactive && !this.checked;\n const dirty = this.checked !== this.initialChecked;\n // Switch owns its structural track and thumb strokes so nested interaction layers cannot cover them.\n return (\n <Host\n role={this.presentation ? undefined : 'switch'}\n aria-checked={this.presentation ? undefined : String(this.checked)}\n aria-disabled={!this.presentation && inactive ? 'true' : undefined}\n aria-readonly={!this.presentation && this.readOnly ? 'true' : undefined}\n aria-required={!this.presentation && this.required ? 'true' : undefined}\n aria-invalid={!this.presentation && invalid ? 'true' : undefined}\n aria-hidden={this.presentation ? 'true' : undefined}\n data-checked={this.checked ? '' : undefined}\n data-unchecked={!this.checked ? '' : undefined}\n data-disabled={inactive ? '' : undefined}\n data-readonly={this.readOnly ? '' : undefined}\n data-required={this.required ? '' : undefined}\n data-focused={!this.presentation && this.focused ? '' : undefined}\n data-filled={!this.presentation && this.checked ? '' : undefined}\n data-dirty={!this.presentation && dirty ? '' : undefined}\n data-touched={!this.presentation && this.touched ? '' : undefined}\n data-valid={!this.presentation && !inactive && !invalid ? '' : undefined}\n data-invalid={!this.presentation && invalid ? '' : undefined}\n tabIndex={this.presentation || inactive ? -1 : 0}\n class={{\n switch: true,\n checked: this.checked,\n 'switch--lg': this.size === 'lg',\n 'switch--md': this.size === 'md',\n 'switch--sm': this.size === 'sm',\n 'switch--xs': this.size === 'xs',\n 'switch--readonly': this.readOnly,\n 'switch--presentation': this.presentation,\n 'switch--transitions-enabled': this.transitionsEnabled,\n 'ds-focus-ring': true,\n 'ds-control-inactive': inactive,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <span class=\"thumb\" />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|