@ds-mo/ui 15.2.0 → 15.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +3 -3
- package/dist/agent.json +936 -80
- package/dist/angular/ds-card-setting.d.ts +1 -1
- package/dist/angular/ds-card-setting.js +3 -3
- package/dist/angular/ds-checkbox-group.d.ts +12 -0
- package/dist/angular/ds-checkbox-group.js +38 -0
- package/dist/angular/ds-checkbox.d.ts +1 -1
- package/dist/angular/ds-checkbox.js +3 -3
- package/dist/angular/ds-inline-banner-settings.d.ts +12 -0
- package/dist/angular/ds-inline-banner-settings.js +38 -0
- package/dist/angular/ds-input-time.d.ts +1 -1
- package/dist/angular/ds-input-time.js +3 -3
- package/dist/angular/ds-input.d.ts +5 -1
- package/dist/angular/ds-input.js +10 -4
- package/dist/angular/ds-map-entity-marker.d.ts +1 -1
- package/dist/angular/ds-map-entity-marker.js +3 -3
- package/dist/angular/ds-radio-tile.d.ts +15 -0
- package/dist/angular/ds-radio-tile.js +43 -0
- package/dist/angular/ds-radio.d.ts +1 -1
- package/dist/angular/ds-radio.js +3 -3
- package/dist/angular/ds-setting-row-checkbox.d.ts +12 -0
- package/dist/angular/ds-setting-row-checkbox.js +38 -0
- package/dist/angular/ds-setting-row-radio.d.ts +12 -0
- package/dist/angular/ds-setting-row-radio.js +38 -0
- package/dist/angular/ds-setting-row-toggle.d.ts +18 -0
- package/dist/angular/ds-setting-row-toggle.js +42 -0
- package/dist/angular/ds-slider.d.ts +1 -1
- package/dist/angular/ds-slider.js +3 -3
- package/dist/angular/ds-textarea.d.ts +1 -1
- package/dist/angular/ds-textarea.js +3 -3
- package/dist/angular/ds-time-picker.d.ts +1 -1
- package/dist/angular/ds-time-picker.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +6 -0
- package/dist/angular/number-value-accessor.d.ts +9 -0
- package/dist/angular/number-value-accessor.js +39 -0
- package/dist/angular/proxies.d.ts +6 -0
- package/dist/angular/proxies.js +6 -0
- package/dist/angular/radio-value-accessor.d.ts +1 -1
- package/dist/angular/radio-value-accessor.js +2 -2
- package/dist/angular/select-value-accessor.d.ts +1 -1
- package/dist/angular/select-value-accessor.js +2 -2
- package/dist/angular/text-value-accessor.d.ts +1 -1
- package/dist/angular/text-value-accessor.js +2 -2
- 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-response.js.map +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-inverted.js.map +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-action-center.js.map +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-navigation.js.map +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-card-setting.js.map +1 -1
- package/dist/components/ds-card-settings-scope.js +1 -1
- package/dist/components/ds-card-settings-scope.js.map +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-legend.js.map +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-checkbox-group.d.ts +11 -0
- package/dist/components/ds-checkbox-group.js +2 -0
- package/dist/components/ds-checkbox-group.js.map +1 -0
- 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-item.js.map +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-customize.js.map +1 -1
- package/dist/components/ds-data-filter.js +1 -1
- package/dist/components/ds-data-filter.js.map +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-saved-views.js.map +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-divider.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.d.ts +11 -0
- package/dist/components/ds-inline-banner-settings.js +2 -0
- package/dist/components/ds-inline-banner-settings.js.map +1 -0
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-date.js.map +1 -1
- package/dist/components/ds-input-time.js +1 -1
- package/dist/components/ds-input-time.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-map-cluster-marker.js +1 -1
- package/dist/components/ds-map-entity-marker.js +1 -1
- package/dist/components/ds-map-entity-marker.js.map +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-bubble.js.map +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-composer.js.map +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-mobile-bar-nav.js +1 -1
- package/dist/components/ds-mobile-header.js +1 -1
- package/dist/components/ds-mobile-section-switcher.js +1 -1
- package/dist/components/ds-mobile-sheet-nav.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-pagination.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js.map +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tool-search.js.map +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-paper-texture.js +1 -1
- package/dist/components/ds-radio-tile.d.ts +11 -0
- package/dist/components/ds-radio-tile.js +2 -0
- package/dist/components/ds-radio-tile.js.map +1 -0
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-score.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-setting-row-checkbox.d.ts +11 -0
- package/dist/components/ds-setting-row-checkbox.js +2 -0
- package/dist/components/ds-setting-row-checkbox.js.map +1 -0
- package/dist/components/ds-setting-row-radio.d.ts +11 -0
- package/dist/components/ds-setting-row-radio.js +2 -0
- package/dist/components/ds-setting-row-radio.js.map +1 -0
- package/dist/components/ds-setting-row-toggle.d.ts +11 -0
- package/dist/components/ds-setting-row-toggle.js +2 -0
- package/dist/components/ds-setting-row-toggle.js.map +1 -0
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-app.js.map +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-slider.js.map +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.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-textarea.js.map +1 -1
- package/dist/components/ds-time-picker.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/p-7TVdPhGR.js +2 -0
- package/dist/components/{p-YrnU2fM7.js.map → p-7TVdPhGR.js.map} +1 -1
- package/dist/components/{p-7V1AhetH.js → p-B0BQCVkq.js} +2 -2
- package/dist/components/p-B0EpvBDs.js +2 -0
- package/dist/components/{p-lamoJZE4.js.map → p-B0EpvBDs.js.map} +1 -1
- package/dist/components/{p-Cu8o2rOz.js → p-B39iJO8F.js} +2 -2
- package/dist/components/p-B9TM6FqC.js +2 -0
- package/dist/components/{p-BJJh-Bf7.js.map → p-B9TM6FqC.js.map} +1 -1
- package/dist/components/{p-B6qQaYkB.js → p-B9y6azEw.js} +2 -2
- package/dist/components/p-BDdlJZyL.js +2 -0
- package/dist/components/{p-CZ7hxDy_.js.map → p-BDdlJZyL.js.map} +1 -1
- package/dist/components/{p-5SVmAjXY.js → p-BERXvOCf.js} +2 -2
- package/dist/components/{p-xhn1cZgU.js → p-BFHpU-uU.js} +2 -2
- package/dist/components/{p-CuWPWC3t.js → p-BQspV5U7.js} +2 -2
- package/dist/components/p-BWSIw8AQ.js +2 -0
- package/dist/components/p-BWSIw8AQ.js.map +1 -0
- package/dist/components/p-BhjqYTiY.js +2 -0
- package/dist/components/p-BhjqYTiY.js.map +1 -0
- package/dist/components/{p-BOhefRMt.js → p-Bk3poU91.js} +2 -2
- package/dist/components/{p-QWukusRL.js → p-BnuNaXR2.js} +2 -2
- package/dist/components/p-BwdnVqAY.js +2 -0
- package/dist/components/p-BwdnVqAY.js.map +1 -0
- package/dist/components/p-C4huuwed.js +2 -0
- package/dist/components/{p-CRk0TjQv.js.map → p-C4huuwed.js.map} +1 -1
- package/dist/components/{p-BtnTQp4K.js → p-C8V4lkVy.js} +2 -2
- package/dist/components/p-CJ1NnOEW.js +2 -0
- package/dist/components/p-CJ1NnOEW.js.map +1 -0
- package/dist/components/p-CPamUzaj.js +2 -0
- package/dist/components/{p-CNZ6-kWd.js.map → p-CPamUzaj.js.map} +1 -1
- package/dist/components/{p-Dqfc6Nvd.js → p-CUDocY23.js} +2 -2
- package/dist/components/{p-Dqfc6Nvd.js.map → p-CUDocY23.js.map} +1 -1
- package/dist/components/p-CX6ZxUQT.js +2 -0
- package/dist/components/p-CX6ZxUQT.js.map +1 -0
- package/dist/components/p-CZNZTcYS.js +2 -0
- package/dist/components/p-CZNZTcYS.js.map +1 -0
- package/dist/components/p-CbCN9ew9.js +2 -0
- package/dist/components/p-CbCN9ew9.js.map +1 -0
- package/dist/components/p-CeXf9-X3.js.map +1 -1
- package/dist/components/p-Cgn-BORA.js +2 -0
- package/dist/components/p-Cgn-BORA.js.map +1 -0
- package/dist/components/{p-mux14tWZ.js → p-Co1rUdOR.js} +2 -2
- package/dist/components/p-Co1rUdOR.js.map +1 -0
- package/dist/components/{p-CGidq1iC.js → p-CuwopElg.js} +2 -2
- package/dist/components/p-CwUXroLs.js +2 -0
- package/dist/components/{p-etg-Uk1u.js.map → p-CwUXroLs.js.map} +1 -1
- package/dist/components/{p-Cn6AfzeF.js → p-CwdRaJER.js} +2 -2
- package/dist/components/p-D6FRqNhN.js +2 -0
- package/dist/components/p-D6FRqNhN.js.map +1 -0
- package/dist/components/{p-ZwRLjD5M.js → p-D8OWhnID.js} +2 -2
- package/dist/components/p-DCyJ3_PL.js +2 -0
- package/dist/components/{p-BZ_e69zx.js.map → p-DCyJ3_PL.js.map} +1 -1
- package/dist/components/{p-C_Ma6Xa-.js → p-DIQiHX0q.js} +2 -2
- package/dist/components/{p-B3CZvMXs.js → p-DJDbskZf.js} +2 -2
- package/dist/components/p-DRdoGSGX.js +2 -0
- package/dist/components/{p-CTGgXIXM.js.map → p-DRdoGSGX.js.map} +1 -1
- package/dist/components/{p-C1gaWjOm.js → p-DSZPO06T.js} +2 -2
- package/dist/components/{p-uADksYMl.js → p-DSmDyI2o.js} +2 -2
- package/dist/components/{p-UY63jmrO.js → p-DVEx-Xg9.js} +2 -2
- package/dist/components/p-DXk1eml1.js +2 -0
- package/dist/components/{p-Dlp1HqgS.js.map → p-DXk1eml1.js.map} +1 -1
- package/dist/components/{p-p0FVyEFa.js → p-DYQa1DVF.js} +2 -2
- package/dist/components/p-DYQa1DVF.js.map +1 -0
- package/dist/components/p-DYsE6HLk.js +2 -0
- package/dist/components/p-DYsE6HLk.js.map +1 -0
- package/dist/components/{p-vfCu7XSc.js → p-DZ58Sg5a.js} +2 -2
- package/dist/components/p-DebLYW7A.js +2 -0
- package/dist/components/p-DebLYW7A.js.map +1 -0
- package/dist/components/p-DhKvqh5G.js +2 -0
- package/dist/components/p-DhKvqh5G.js.map +1 -0
- package/dist/components/{p-DFO5lV_A.js → p-DmSnHVW6.js} +2 -2
- package/dist/components/p-Dnt5xUBD.js +2 -0
- package/dist/components/{p-BR5OC2PX.js.map → p-Dnt5xUBD.js.map} +1 -1
- package/dist/components/p-Doa2blZT.js +2 -0
- package/dist/components/{p-BLuqpHvp.js.map → p-Doa2blZT.js.map} +1 -1
- package/dist/components/{p-DsLXlxt3.js → p-Dyqd-cub.js} +2 -2
- package/dist/components/p-Dyqd-cub.js.map +1 -0
- package/dist/components/p-DzvTC27M.js +2 -0
- package/dist/components/p-DzvTC27M.js.map +1 -0
- package/dist/components/p-JBki_jyY.js +2 -0
- package/dist/components/{p-C0JkLR83.js.map → p-JBki_jyY.js.map} +1 -1
- package/dist/components/p-MOJmB6vX.js +2 -0
- package/dist/components/{p-BzYW1IqO.js.map → p-MOJmB6vX.js.map} +1 -1
- package/dist/components/p-TVkFIMXz.js +2 -0
- package/dist/components/p-TVkFIMXz.js.map +1 -0
- package/dist/components/{p-ER5M085B.js → p-UJMEz8_O.js} +2 -2
- package/dist/components/{p-CR-Jjdcn.js → p-_IqSPt5V.js} +2 -2
- package/dist/components/p-g0jsfEXz.js +2 -0
- package/dist/components/{p-BfF4RZdp.js.map → p-g0jsfEXz.js.map} +1 -1
- package/dist/components/{p-BLSSaVWm.js → p-pp1IQN4Z.js} +2 -2
- package/dist/docs/components.json +2901 -835
- package/dist/framework/angular.d.ts +1 -0
- package/dist/framework/angular.js +1 -0
- package/dist/lib/shell/index.js +1 -1
- package/dist/lib/shell/index.js.map +1 -1
- package/dist/lint/index.js +1 -1
- package/dist/mcp-data/registry/agent-activity.json +2 -2
- package/dist/mcp-data/registry/agent-questionnaire.json +2 -2
- package/dist/mcp-data/registry/agent-response.json +3 -3
- package/dist/mcp-data/registry/agent-source-list.json +2 -2
- package/dist/mcp-data/registry/agent-tool-call.json +2 -2
- package/dist/mcp-data/registry/attachment-list.json +2 -2
- package/dist/mcp-data/registry/avatar.json +2 -2
- package/dist/mcp-data/registry/badge.json +2 -2
- package/dist/mcp-data/registry/banner.json +2 -2
- package/dist/mcp-data/registry/bar-action.json +2 -2
- package/dist/mcp-data/registry/bar-nav.json +5 -5
- package/dist/mcp-data/registry/bar-page-title.json +4 -4
- package/dist/mcp-data/registry/bar-title.json +4 -4
- package/dist/mcp-data/registry/bar-workflow.json +2 -2
- package/dist/mcp-data/registry/breadcrumb.json +2 -2
- package/dist/mcp-data/registry/button-filled.json +2 -2
- package/dist/mcp-data/registry/button-inverted.json +2 -2
- package/dist/mcp-data/registry/button-unfilled.json +9 -9
- package/dist/mcp-data/registry/calendar.json +2 -2
- package/dist/mcp-data/registry/card-action-center.json +2 -2
- package/dist/mcp-data/registry/card-chart.json +2 -2
- package/dist/mcp-data/registry/card-navigation.json +2 -2
- package/dist/mcp-data/registry/card-overview.json +2 -2
- package/dist/mcp-data/registry/card-setting.json +50 -15
- package/dist/mcp-data/registry/card-settings-scope.json +2 -2
- package/dist/mcp-data/registry/chart-legend.json +2 -2
- package/dist/mcp-data/registry/chart.json +2 -2
- package/dist/mcp-data/registry/checkbox-group.json +246 -0
- package/dist/mcp-data/registry/checkbox.json +26 -6
- package/dist/mcp-data/registry/chip.json +2 -2
- package/dist/mcp-data/registry/code-block.json +2 -2
- package/dist/mcp-data/registry/conversation-list-item.json +2 -2
- package/dist/mcp-data/registry/conversation-list-section.json +2 -2
- package/dist/mcp-data/registry/conversation-list.json +2 -2
- package/dist/mcp-data/registry/data-customize.json +3 -3
- package/dist/mcp-data/registry/data-filter.json +2 -2
- package/dist/mcp-data/registry/data-group.json +2 -2
- package/dist/mcp-data/registry/data-preferences.json +2 -2
- package/dist/mcp-data/registry/data-saved-views.json +2 -2
- package/dist/mcp-data/registry/data-search.json +2 -2
- package/dist/mcp-data/registry/data-sort.json +2 -2
- package/dist/mcp-data/registry/data-toolbar.json +2 -2
- package/dist/mcp-data/registry/divider.json +2 -2
- package/dist/mcp-data/registry/empty-state.json +27 -14
- package/dist/mcp-data/registry/field.json +6 -5
- package/dist/mcp-data/registry/filter-menu.json +2 -2
- package/dist/mcp-data/registry/icon.json +2 -2
- package/dist/mcp-data/registry/inline-banner-settings.json +175 -0
- package/dist/mcp-data/registry/input-date.json +2 -2
- package/dist/mcp-data/registry/input-time.json +26 -7
- package/dist/mcp-data/registry/input.json +265 -15
- package/dist/mcp-data/registry/loader.json +2 -2
- package/dist/mcp-data/registry/map-cluster-marker.json +3 -3
- package/dist/mcp-data/registry/map-entity-marker.json +56 -56
- package/dist/mcp-data/registry/markdown.json +2 -2
- package/dist/mcp-data/registry/menu.json +2 -2
- package/dist/mcp-data/registry/message-actions.json +2 -2
- package/dist/mcp-data/registry/message-bubble.json +5 -5
- package/dist/mcp-data/registry/message-composer.json +7 -7
- package/dist/mcp-data/registry/message-scroller.json +2 -2
- package/dist/mcp-data/registry/message.json +3 -3
- package/dist/mcp-data/registry/mobile-bar-nav.json +2 -2
- package/dist/mcp-data/registry/mobile-header.json +2 -2
- package/dist/mcp-data/registry/mobile-section-switcher.json +2 -2
- package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
- package/dist/mcp-data/registry/modal.json +2 -2
- package/dist/mcp-data/registry/pagination.json +2 -2
- package/dist/mcp-data/registry/panel-nav.json +4 -4
- package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
- package/dist/mcp-data/registry/panel-tool-header.json +4 -4
- package/dist/mcp-data/registry/panel-tool-search.json +3 -3
- package/dist/mcp-data/registry/panel-tools.json +4 -4
- package/dist/mcp-data/registry/paper-texture.json +2 -2
- package/dist/mcp-data/registry/radio-tile.json +399 -0
- package/dist/mcp-data/registry/radio.json +51 -9
- package/dist/mcp-data/registry/registry.json +954 -80
- package/dist/mcp-data/registry/score.json +2 -2
- package/dist/mcp-data/registry/scroll-overlay.json +2 -2
- package/dist/mcp-data/registry/select.json +2 -2
- package/dist/mcp-data/registry/setting-row-checkbox.json +197 -0
- package/dist/mcp-data/registry/setting-row-radio.json +196 -0
- package/dist/mcp-data/registry/setting-row-toggle.json +233 -0
- package/dist/mcp-data/registry/shell-app.json +4 -4
- package/dist/mcp-data/registry/shell-page.json +2 -2
- package/dist/mcp-data/registry/shell-tools.json +2 -2
- package/dist/mcp-data/registry/skeleton.json +2 -2
- package/dist/mcp-data/registry/slider.json +32 -12
- package/dist/mcp-data/registry/swatch-picker.json +2 -2
- package/dist/mcp-data/registry/switch.json +4 -4
- package/dist/mcp-data/registry/tab-group.json +2 -2
- package/dist/mcp-data/registry/table.json +5 -5
- package/dist/mcp-data/registry/tag.json +2 -2
- package/dist/mcp-data/registry/text.json +2 -2
- package/dist/mcp-data/registry/textarea.json +72 -5
- package/dist/mcp-data/registry/time-picker.json +28 -9
- package/dist/mcp-data/registry/toast.json +2 -2
- package/dist/mcp-data/registry/tooltip-chart.json +2 -2
- package/dist/mcp-data/registry/tooltip.json +2 -2
- package/dist/mcp-data/registry/typing-indicator.json +2 -2
- package/dist/react/components.d.ts +6 -0
- package/dist/react/components.js +6 -0
- package/dist/react/ds-checkbox-group.d.ts +9 -0
- package/dist/react/ds-checkbox-group.js +12 -0
- package/dist/react/ds-inline-banner-settings.d.ts +9 -0
- package/dist/react/ds-inline-banner-settings.js +12 -0
- package/dist/react/ds-input.d.ts +2 -0
- package/dist/react/ds-input.js +2 -0
- package/dist/react/ds-radio-tile.d.ts +12 -0
- package/dist/react/ds-radio-tile.js +12 -0
- package/dist/react/ds-setting-row-checkbox.d.ts +9 -0
- package/dist/react/ds-setting-row-checkbox.js +12 -0
- package/dist/react/ds-setting-row-radio.d.ts +9 -0
- package/dist/react/ds-setting-row-radio.js +12 -0
- package/dist/react/ds-setting-row-toggle.d.ts +12 -0
- package/dist/react/ds-setting-row-toggle.js +12 -0
- package/dist/types/components/BarPageTitle/BarPageTitle.d.ts +2 -0
- package/dist/types/components/BarTitle/bar-title-action-chrome.d.ts +4 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +5 -2
- package/dist/types/components/CardSetting/CardSetting.d.ts +15 -3
- package/dist/types/components/CardSetting/index.d.ts +1 -1
- package/dist/types/components/Checkbox/Checkbox.d.ts +2 -0
- package/dist/types/components/CheckboxGroup/CheckboxGroup.d.ts +20 -0
- package/dist/types/components/EmptyState/EmptyState.d.ts +3 -0
- package/dist/types/components/Field/Field.d.ts +4 -0
- package/dist/types/components/InlineBannerSettings/InlineBannerSettings.d.ts +6 -0
- package/dist/types/components/Input/Input.d.ts +50 -1
- package/dist/types/components/InputTime/InputTime.d.ts +3 -0
- package/dist/types/components/MapEntityMarker/MapEntityMarker.d.ts +5 -5
- package/dist/types/components/Radio/Radio.d.ts +8 -0
- package/dist/types/components/RadioTile/RadioTile.d.ts +40 -0
- package/dist/types/components/RadioTile/index.d.ts +2 -0
- package/dist/types/components/SettingRowCheckbox/SettingRowCheckbox.d.ts +19 -0
- package/dist/types/components/SettingRowRadio/SettingRowRadio.d.ts +19 -0
- package/dist/types/components/SettingRowToggle/SettingRowToggle.d.ts +21 -0
- package/dist/types/components/Slider/Slider.d.ts +8 -1
- package/dist/types/components/Slider/index.d.ts +1 -1
- package/dist/types/components/Switch/Switch.d.ts +7 -0
- package/dist/types/components/Textarea/Textarea.d.ts +12 -0
- package/dist/types/components/TimePicker/TimePicker.d.ts +4 -0
- package/dist/types/components.d.ts +728 -37
- package/dist/types/utils/text-constraints.d.ts +20 -0
- package/dist/vue/components.d.ts +6 -0
- package/dist/vue/components.js +6 -0
- package/dist/vue/ds-card-setting.js +1 -0
- package/dist/vue/ds-checkbox-group.d.ts +3 -0
- package/dist/vue/ds-checkbox-group.js +12 -0
- package/dist/vue/ds-checkbox.js +1 -0
- package/dist/vue/ds-inline-banner-settings.d.ts +3 -0
- package/dist/vue/ds-inline-banner-settings.js +8 -0
- package/dist/vue/ds-input-time.js +1 -0
- package/dist/vue/ds-input.js +17 -0
- package/dist/vue/ds-map-entity-marker.js +2 -2
- package/dist/vue/ds-radio-tile.d.ts +3 -0
- package/dist/vue/ds-radio-tile.js +24 -0
- package/dist/vue/ds-radio.js +2 -0
- package/dist/vue/ds-setting-row-checkbox.d.ts +3 -0
- package/dist/vue/ds-setting-row-checkbox.js +11 -0
- package/dist/vue/ds-setting-row-radio.d.ts +3 -0
- package/dist/vue/ds-setting-row-radio.js +11 -0
- package/dist/vue/ds-setting-row-toggle.d.ts +3 -0
- package/dist/vue/ds-setting-row-toggle.js +15 -0
- package/dist/vue/ds-slider.d.ts +1 -1
- package/dist/vue/ds-slider.js +2 -1
- package/dist/vue/ds-textarea.js +4 -0
- package/dist/vue/ds-time-picker.js +1 -0
- package/package.json +5 -5
- package/dist/components/p-BCnzbfma.js +0 -2
- package/dist/components/p-BCnzbfma.js.map +0 -1
- package/dist/components/p-BJJh-Bf7.js +0 -2
- package/dist/components/p-BLuqpHvp.js +0 -2
- package/dist/components/p-BR5OC2PX.js +0 -2
- package/dist/components/p-BX506yEW.js +0 -2
- package/dist/components/p-BX506yEW.js.map +0 -1
- package/dist/components/p-BZ_e69zx.js +0 -2
- package/dist/components/p-BfF4RZdp.js +0 -2
- package/dist/components/p-Br5e83Fr.js +0 -2
- package/dist/components/p-Br5e83Fr.js.map +0 -1
- package/dist/components/p-Bv9rSkp0.js +0 -2
- package/dist/components/p-Bv9rSkp0.js.map +0 -1
- package/dist/components/p-BzYW1IqO.js +0 -2
- package/dist/components/p-C0JkLR83.js +0 -2
- package/dist/components/p-C6Aavz9h.js +0 -2
- package/dist/components/p-C6Aavz9h.js.map +0 -1
- package/dist/components/p-C6zycbhC.js +0 -2
- package/dist/components/p-C6zycbhC.js.map +0 -1
- package/dist/components/p-CNZ6-kWd.js +0 -2
- package/dist/components/p-CRk0TjQv.js +0 -2
- package/dist/components/p-CTGgXIXM.js +0 -2
- package/dist/components/p-CZ7hxDy_.js +0 -2
- package/dist/components/p-Cc3ZUQlJ.js +0 -2
- package/dist/components/p-Cc3ZUQlJ.js.map +0 -1
- package/dist/components/p-D5HxZrMA.js +0 -2
- package/dist/components/p-D5HxZrMA.js.map +0 -1
- package/dist/components/p-D7K1ZHML.js +0 -2
- package/dist/components/p-D7K1ZHML.js.map +0 -1
- package/dist/components/p-Dlp1HqgS.js +0 -2
- package/dist/components/p-DsLXlxt3.js.map +0 -1
- package/dist/components/p-YrnU2fM7.js +0 -2
- package/dist/components/p-ZYWnJaye.js +0 -2
- package/dist/components/p-ZYWnJaye.js.map +0 -1
- package/dist/components/p-etg-Uk1u.js +0 -2
- package/dist/components/p-lamoJZE4.js +0 -2
- package/dist/components/p-mV4vSjSK.js +0 -2
- package/dist/components/p-mV4vSjSK.js.map +0 -1
- package/dist/components/p-mux14tWZ.js.map +0 -1
- package/dist/components/p-mxZoWfnS.js +0 -2
- package/dist/components/p-mxZoWfnS.js.map +0 -1
- package/dist/components/p-p0FVyEFa.js.map +0 -1
- package/dist/components/p-xtGGIZmU.js +0 -2
- package/dist/components/p-xtGGIZmU.js.map +0 -1
- /package/dist/components/{p-7V1AhetH.js.map → p-B0BQCVkq.js.map} +0 -0
- /package/dist/components/{p-Cu8o2rOz.js.map → p-B39iJO8F.js.map} +0 -0
- /package/dist/components/{p-B6qQaYkB.js.map → p-B9y6azEw.js.map} +0 -0
- /package/dist/components/{p-5SVmAjXY.js.map → p-BERXvOCf.js.map} +0 -0
- /package/dist/components/{p-xhn1cZgU.js.map → p-BFHpU-uU.js.map} +0 -0
- /package/dist/components/{p-CuWPWC3t.js.map → p-BQspV5U7.js.map} +0 -0
- /package/dist/components/{p-BOhefRMt.js.map → p-Bk3poU91.js.map} +0 -0
- /package/dist/components/{p-QWukusRL.js.map → p-BnuNaXR2.js.map} +0 -0
- /package/dist/components/{p-BtnTQp4K.js.map → p-C8V4lkVy.js.map} +0 -0
- /package/dist/components/{p-CGidq1iC.js.map → p-CuwopElg.js.map} +0 -0
- /package/dist/components/{p-Cn6AfzeF.js.map → p-CwdRaJER.js.map} +0 -0
- /package/dist/components/{p-ZwRLjD5M.js.map → p-D8OWhnID.js.map} +0 -0
- /package/dist/components/{p-C_Ma6Xa-.js.map → p-DIQiHX0q.js.map} +0 -0
- /package/dist/components/{p-B3CZvMXs.js.map → p-DJDbskZf.js.map} +0 -0
- /package/dist/components/{p-C1gaWjOm.js.map → p-DSZPO06T.js.map} +0 -0
- /package/dist/components/{p-uADksYMl.js.map → p-DSmDyI2o.js.map} +0 -0
- /package/dist/components/{p-UY63jmrO.js.map → p-DVEx-Xg9.js.map} +0 -0
- /package/dist/components/{p-vfCu7XSc.js.map → p-DZ58Sg5a.js.map} +0 -0
- /package/dist/components/{p-DFO5lV_A.js.map → p-DmSnHVW6.js.map} +0 -0
- /package/dist/components/{p-ER5M085B.js.map → p-UJMEz8_O.js.map} +0 -0
- /package/dist/components/{p-CR-Jjdcn.js.map → p-_IqSPt5V.js.map} +0 -0
- /package/dist/components/{p-BLSSaVWm.js.map → p-pp1IQN4Z.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_PAGE_SIZE_OPTIONS","nonNegativeInteger","value","Number","isFinite","Math","max","trunc","positiveInteger","fallback","resolvePaginationState","state","pageSize","pageSizeMode","totalItems","totalPages","ceil","pageIndex","min","options","pageSizeOptions","length","map","filter","Set","sort","left","right","firstItem","lastItem","paginationCss","paginationId","Pagination","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","fitToPage","fitToPageInactive","fitPageSizeLabel","fitPageSizeTriggerLabel","itemLabel","pageSizeLabel","label","showFirstLastButtons","loading","tableCompact","pageSizeControlId","hasLoaded","componentDidLoad","syncTableCompactObserver","connectedCallback","disconnectedCallback","tableCompactDisconnect","undefined","observeTableCaptionCompact","el","compact","requestPage","resolvedState","dsChange","emit","fitPageSize","resolvedFitPageSize","ariaLabel","previousPageIndex","previousPageSize","previousPageSizeMode","reason","requestPageSize","nextMode","handleKeyDown","event","defaultPrevented","altKey","ctrlKey","metaKey","shiftKey","fromChoiceControl","composedPath","some","node","tagName","includes","key","preventDefault","render","atStart","atEnd","page","announcedRange","announcedPage","pageSizeAriaLabel","String","push","isInactive","h","Host","class","pagination","onKeyDown","as","variant","color","id","size","inputId","ariaLabelledby","triggerLabel","indicator","allowClear","activeFill","hasBorder","onDsChange","stopPropagation","detail","orientation","icon","onDsClick","fontFeature","role"],"sources":["src/wc/components/Pagination/pagination-model.ts","src/wc/components/Pagination/Pagination.css?tag=ds-pagination&encapsulation=scoped","src/wc/components/Pagination/Pagination.tsx"],"sourcesContent":["import type { PaginationPageSizeMode, PaginationState } from './pagination-types';\n\nexport const DEFAULT_PAGE_SIZE_OPTIONS = [25, 50, 100, 200] as const;\n\nexport interface ResolvedPaginationState {\n pageIndex: number;\n pageSize: number;\n pageSizeMode: PaginationPageSizeMode;\n totalItems: number;\n totalPages: number;\n firstItem: number;\n lastItem: number;\n pageSizeOptions: number[];\n}\n\nfunction nonNegativeInteger(value: number): number {\n return Number.isFinite(value) ? Math.max(0, Math.trunc(value)) : 0;\n}\n\nfunction positiveInteger(value: number, fallback: number): number {\n return Number.isFinite(value) && value > 0 ? Math.trunc(value) : fallback;\n}\n\nexport function resolvePaginationState(\n state: Pick<\n PaginationState,\n 'pageIndex' | 'pageSize' | 'pageSizeMode' | 'totalItems' | 'pageSizeOptions'\n >\n): ResolvedPaginationState {\n const pageSize = positiveInteger(state.pageSize, DEFAULT_PAGE_SIZE_OPTIONS[0]);\n const pageSizeMode = state.pageSizeMode === 'fit' ? 'fit' : 'fixed';\n const totalItems = nonNegativeInteger(state.totalItems);\n const totalPages = Math.max(1, Math.ceil(totalItems / pageSize));\n const pageIndex = Math.min(nonNegativeInteger(state.pageIndex), totalPages - 1);\n const options = (\n state.pageSizeOptions?.length ? state.pageSizeOptions : DEFAULT_PAGE_SIZE_OPTIONS\n )\n .map(value => positiveInteger(value, 0))\n .filter(value => value > 0);\n const pageSizeOptions = [\n ...new Set(pageSizeMode === 'fixed' ? [...options, pageSize] : options),\n ].sort((left, right) => left - right);\n const firstItem = totalItems === 0 ? 0 : pageIndex * pageSize + 1;\n const lastItem = totalItems === 0 ? 0 : Math.min(totalItems, firstItem + pageSize - 1);\n\n return {\n pageIndex,\n pageSize,\n pageSizeMode,\n totalItems,\n totalPages,\n firstItem,\n lastItem,\n pageSizeOptions,\n };\n}\n","@import '../../utils/visually-hidden.css';\n\n:host {\n display: block;\n box-sizing: border-box;\n min-width: 0;\n max-width: 100%;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\n.pagination,\n.pagination__page-size,\n.pagination__navigation {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n}\n\n.pagination {\n width: max-content;\n min-width: 100%;\n gap: var(--dimension-space-100);\n}\n\n.pagination__page-size,\n.pagination__navigation {\n flex: 0 0 auto;\n}\n\n.pagination__page-size {\n gap: 0;\n}\n\n.pagination__navigation {\n gap: var(--dimension-space-050);\n}\n\n.pagination__page,\n.pagination__label {\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n white-space: nowrap;\n}\n\n.pagination .pagination__page-size-select {\n --ds-select-fg-active: var(--color-foreground-secondary);\n}\n\n.pagination__page {\n justify-content: center;\n min-inline-size: 0;\n padding-inline: var(--dimension-space-100);\n}\n\n.pagination--table-compact .pagination__boundary {\n display: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport { observeTableCaptionCompact } from '../../utils/table-caption-compact';\nimport { resolvePaginationState } from './pagination-model';\nimport type { PaginationChangeDetail, PaginationPageSizeMode } from './pagination-types';\n\nlet paginationId = 0;\n\n@Component({\n tag: 'ds-pagination',\n styleUrl: 'Pagination.css',\n scoped: true,\n})\nexport class Pagination {\n @Element() el!: HTMLElement;\n\n /** Controlled zero-based page index. */\n @Prop() pageIndex: number = 0;\n /** Controlled number of top-level items on a full page. */\n @Prop() pageSize: number = 25;\n /** Whether pageSize is a fixed choice or a measured Fit snapshot. */\n @Prop() pageSizeMode: PaginationPageSizeMode = 'fixed';\n /** Controlled total number of top-level items across every page. */\n @Prop() totalItems: number = 0;\n /** Available page sizes. Assign arrays through JavaScript. */\n @Prop() pageSizeOptions: number[] = [25, 50, 100, 200];\n /** Include the Fit to page choice. */\n @Prop() fitToPage: boolean = false;\n /** Keep the Fit to page choice visible but unavailable. */\n @Prop() fitToPageInactive: boolean = false;\n /** Effective whole-item capacity to request when Fit is selected. */\n @Prop() fitPageSize: number | undefined;\n /** Full choice-list label for Fit. */\n @Prop() fitPageSizeLabel: string = 'Fit to page';\n /** Compact closed-trigger label while Fit is selected. */\n @Prop() fitPageSizeTriggerLabel: string = 'Fit';\n /** Localized plural noun used by assistive range announcements. */\n @Prop() itemLabel: string = 'items';\n /** Visible page-size control label. */\n @Prop() pageSizeLabel: string = 'Items';\n /** Accessible page-size control label. Defaults to “{pageSizeLabel} per page”. */\n @Prop() pageSizeAriaLabel: string | undefined;\n /** Accessible name for the pagination navigation region. */\n @Prop() label: string = 'Pagination';\n /** Include direct first-page and last-page controls. */\n @Prop() showFirstLastButtons: boolean = false;\n /** Prevent interaction while the owner replaces the current data page. */\n @Prop() loading: boolean = false;\n\n /** Emits the complete next controlled state after a page or page-size request. */\n @Event() dsChange!: EventEmitter<PaginationChangeDetail>;\n\n @State() private tableCompact = false;\n\n private readonly pageSizeControlId = `ds-pagination-${++paginationId}-page-size`;\n private tableCompactDisconnect: (() => void) | undefined;\n private hasLoaded = false;\n\n componentDidLoad(): void {\n this.hasLoaded = true;\n this.syncTableCompactObserver();\n }\n\n connectedCallback(): void {\n if (this.hasLoaded) this.syncTableCompactObserver();\n }\n\n disconnectedCallback(): void {\n this.tableCompactDisconnect?.();\n this.tableCompactDisconnect = undefined;\n }\n\n private syncTableCompactObserver(): void {\n this.tableCompactDisconnect?.();\n this.tableCompactDisconnect = observeTableCaptionCompact(this.el, compact => {\n if (this.tableCompact !== compact) this.tableCompact = compact;\n });\n }\n\n private requestPage(pageIndex: number): void {\n const state = this.resolvedState;\n if (\n this.loading ||\n pageIndex === state.pageIndex ||\n pageIndex < 0 ||\n pageIndex >= state.totalPages\n ) {\n return;\n }\n this.dsChange.emit({\n pageIndex,\n pageSize: state.pageSize,\n pageSizeMode: state.pageSizeMode,\n totalItems: state.totalItems,\n pageSizeOptions: state.pageSizeOptions,\n fitToPage: this.fitToPage,\n fitToPageInactive: this.fitToPageInactive,\n fitPageSize: this.resolvedFitPageSize,\n fitPageSizeLabel: this.fitPageSizeLabel,\n fitPageSizeTriggerLabel: this.fitPageSizeTriggerLabel,\n itemLabel: this.itemLabel,\n pageSizeLabel: this.pageSizeLabel,\n ariaLabel: this.label,\n showFirstLastButtons: this.showFirstLastButtons,\n previousPageIndex: state.pageIndex,\n previousPageSize: state.pageSize,\n previousPageSizeMode: state.pageSizeMode,\n reason: 'page',\n });\n }\n\n private requestPageSize(value: string | string[]): void {\n if (this.loading || typeof value !== 'string' || (value === 'fit' && this.fitToPageInactive))\n return;\n const state = this.resolvedState;\n const nextMode: PaginationPageSizeMode = value === 'fit' ? 'fit' : 'fixed';\n const pageSize = nextMode === 'fit' ? this.resolvedFitPageSize : Number(value);\n if (!pageSize || (pageSize === state.pageSize && nextMode === state.pageSizeMode)) return;\n this.dsChange.emit({\n pageIndex: 0,\n pageSize: Math.trunc(pageSize),\n pageSizeMode: nextMode,\n totalItems: state.totalItems,\n pageSizeOptions: state.pageSizeOptions,\n fitToPage: this.fitToPage,\n fitToPageInactive: this.fitToPageInactive,\n fitPageSize: this.resolvedFitPageSize,\n fitPageSizeLabel: this.fitPageSizeLabel,\n fitPageSizeTriggerLabel: this.fitPageSizeTriggerLabel,\n itemLabel: this.itemLabel,\n pageSizeLabel: this.pageSizeLabel,\n ariaLabel: this.label,\n showFirstLastButtons: this.showFirstLastButtons,\n previousPageIndex: state.pageIndex,\n previousPageSize: state.pageSize,\n previousPageSizeMode: state.pageSizeMode,\n reason: 'page-size',\n });\n }\n\n private handleKeyDown(event: KeyboardEvent): void {\n if (\n event.defaultPrevented ||\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.shiftKey\n ) {\n return;\n }\n const fromChoiceControl = event\n .composedPath()\n .some(\n node =>\n node instanceof HTMLElement &&\n (node.tagName === 'DS-SELECT' || ['INPUT', 'SELECT', 'TEXTAREA'].includes(node.tagName))\n );\n if (fromChoiceControl || (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight')) return;\n const state = this.resolvedState;\n const pageIndex = event.key === 'ArrowLeft' ? state.pageIndex - 1 : state.pageIndex + 1;\n if (this.loading || pageIndex < 0 || pageIndex >= state.totalPages) return;\n event.preventDefault();\n this.requestPage(pageIndex);\n }\n\n private get resolvedFitPageSize(): number | undefined {\n return Number.isFinite(this.fitPageSize) && Number(this.fitPageSize) > 0\n ? Math.trunc(Number(this.fitPageSize))\n : undefined;\n }\n\n private get resolvedState() {\n return resolvePaginationState({\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n pageSizeMode: this.pageSizeMode,\n totalItems: this.totalItems,\n pageSizeOptions: this.pageSizeOptions,\n });\n }\n\n render() {\n const state = this.resolvedState;\n const atStart = state.pageIndex === 0;\n const atEnd = state.pageIndex === state.totalPages - 1;\n const page = `${state.pageIndex + 1} of ${state.totalPages}`;\n const announcedRange = `${state.firstItem}–${state.lastItem} of ${state.totalItems}`;\n const announcedPage = `Page ${state.pageIndex + 1} of ${state.totalPages}`;\n const pageSizeAriaLabel = this.pageSizeAriaLabel ?? `${this.pageSizeLabel} per page`;\n const options: Array<{ label: string; value: string; isInactive?: boolean }> =\n state.pageSizeOptions.map(value => ({ label: String(value), value: String(value) }));\n if (this.fitToPage) {\n options.push({\n label: this.fitPageSizeLabel,\n value: 'fit',\n isInactive: this.fitToPageInactive || this.resolvedFitPageSize === undefined,\n });\n }\n\n return (\n <Host>\n <nav\n class={{\n pagination: true,\n 'pagination--table-compact': this.tableCompact,\n }}\n aria-label={this.label}\n aria-busy={this.loading ? 'true' : undefined}\n onKeyDown={event => this.handleKeyDown(event)}\n >\n <div class=\"pagination__page-size\">\n <ds-text\n class=\"pagination__label\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"secondary\"\n aria-hidden=\"true\"\n >\n {this.pageSizeLabel}:\n </ds-text>\n <span id={`${this.pageSizeControlId}-label`} class=\"ds-visually-hidden\">\n {pageSizeAriaLabel}\n </span>\n <ds-select\n class=\"pagination__page-size-select\"\n size=\"md\"\n inputId={this.pageSizeControlId}\n ariaLabelledby={`${this.pageSizeControlId}-label`}\n options={options}\n value={state.pageSizeMode === 'fit' ? 'fit' : String(state.pageSize)}\n triggerLabel={state.pageSizeMode === 'fit' ? this.fitPageSizeTriggerLabel : undefined}\n indicator=\"up-down\"\n allowClear={false}\n activeFill={false}\n hasBorder={false}\n isInactive={this.loading}\n onDsChange={event => {\n event.stopPropagation();\n this.requestPageSize(event.detail);\n }}\n />\n </div>\n <ds-divider\n class=\"pagination__divider\"\n orientation=\"vertical\"\n length=\"var(--dimension-size-250)\"\n />\n <div class=\"pagination__navigation\">\n {this.showFirstLastButtons ? (\n <ds-button-unfilled\n class=\"pagination__boundary\"\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronLeftDouble\"\n ariaLabel=\"First page\"\n hasBorder={false}\n isInactive={this.loading || atStart}\n onDsClick={() => this.requestPage(0)}\n />\n ) : null}\n <ds-button-unfilled\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronLeft\"\n ariaLabel=\"Previous page\"\n hasBorder={false}\n isInactive={this.loading || atStart}\n onDsClick={() => this.requestPage(state.pageIndex - 1)}\n />\n <ds-text\n class=\"pagination__page\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"secondary\"\n fontFeature=\"tabular-nums\"\n >\n {page}\n </ds-text>\n <ds-button-unfilled\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronRight\"\n ariaLabel=\"Next page\"\n hasBorder={false}\n isInactive={this.loading || atEnd}\n onDsClick={() => this.requestPage(state.pageIndex + 1)}\n />\n {this.showFirstLastButtons ? (\n <ds-button-unfilled\n class=\"pagination__boundary\"\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronRightDouble\"\n ariaLabel=\"Last page\"\n hasBorder={false}\n isInactive={this.loading || atEnd}\n onDsClick={() => this.requestPage(state.totalPages - 1)}\n />\n ) : null}\n </div>\n <span class=\"ds-visually-hidden\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {announcedRange} {this.itemLabel}. {announcedPage}.\n </span>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEFAULT_PAGE_SIZE_OPTIONS","nonNegativeInteger","value","Number","isFinite","Math","max","trunc","positiveInteger","fallback","resolvePaginationState","state","pageSize","pageSizeMode","totalItems","totalPages","ceil","pageIndex","min","options","pageSizeOptions","length","map","filter","Set","sort","left","right","firstItem","lastItem","paginationCss","paginationId","Pagination","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","fitToPage","fitToPageInactive","fitPageSizeLabel","fitPageSizeTriggerLabel","itemLabel","pageSizeLabel","label","showFirstLastButtons","loading","tableCompact","pageSizeControlId","hasLoaded","componentDidLoad","syncTableCompactObserver","connectedCallback","disconnectedCallback","tableCompactDisconnect","undefined","observeTableCaptionCompact","el","compact","requestPage","resolvedState","dsChange","emit","fitPageSize","resolvedFitPageSize","ariaLabel","previousPageIndex","previousPageSize","previousPageSizeMode","reason","requestPageSize","nextMode","handleKeyDown","event","defaultPrevented","altKey","ctrlKey","metaKey","shiftKey","fromChoiceControl","composedPath","some","node","tagName","includes","key","preventDefault","render","atStart","atEnd","page","announcedRange","announcedPage","pageSizeAriaLabel","String","push","isInactive","h","Host","class","pagination","onKeyDown","as","variant","color","id","size","inputId","ariaLabelledby","triggerLabel","indicator","allowClear","activeFill","hasBorder","onDsChange","stopPropagation","detail","orientation","icon","onDsClick","fontFeature","role"],"sources":["src/wc/components/Pagination/pagination-model.ts","src/wc/components/Pagination/Pagination.css?tag=ds-pagination&encapsulation=scoped","src/wc/components/Pagination/Pagination.tsx"],"sourcesContent":["import type { PaginationPageSizeMode, PaginationState } from './pagination-types';\n\nexport const DEFAULT_PAGE_SIZE_OPTIONS = [25, 50, 100, 200] as const;\n\nexport interface ResolvedPaginationState {\n pageIndex: number;\n pageSize: number;\n pageSizeMode: PaginationPageSizeMode;\n totalItems: number;\n totalPages: number;\n firstItem: number;\n lastItem: number;\n pageSizeOptions: number[];\n}\n\nfunction nonNegativeInteger(value: number): number {\n return Number.isFinite(value) ? Math.max(0, Math.trunc(value)) : 0;\n}\n\nfunction positiveInteger(value: number, fallback: number): number {\n return Number.isFinite(value) && value > 0 ? Math.trunc(value) : fallback;\n}\n\nexport function resolvePaginationState(\n state: Pick<\n PaginationState,\n 'pageIndex' | 'pageSize' | 'pageSizeMode' | 'totalItems' | 'pageSizeOptions'\n >\n): ResolvedPaginationState {\n const pageSize = positiveInteger(state.pageSize, DEFAULT_PAGE_SIZE_OPTIONS[0]);\n const pageSizeMode = state.pageSizeMode === 'fit' ? 'fit' : 'fixed';\n const totalItems = nonNegativeInteger(state.totalItems);\n const totalPages = Math.max(1, Math.ceil(totalItems / pageSize));\n const pageIndex = Math.min(nonNegativeInteger(state.pageIndex), totalPages - 1);\n const options = (\n state.pageSizeOptions?.length ? state.pageSizeOptions : DEFAULT_PAGE_SIZE_OPTIONS\n )\n .map(value => positiveInteger(value, 0))\n .filter(value => value > 0);\n const pageSizeOptions = [\n ...new Set(pageSizeMode === 'fixed' ? [...options, pageSize] : options),\n ].sort((left, right) => left - right);\n const firstItem = totalItems === 0 ? 0 : pageIndex * pageSize + 1;\n const lastItem = totalItems === 0 ? 0 : Math.min(totalItems, firstItem + pageSize - 1);\n\n return {\n pageIndex,\n pageSize,\n pageSizeMode,\n totalItems,\n totalPages,\n firstItem,\n lastItem,\n pageSizeOptions,\n };\n}\n","@import '../../utils/visually-hidden.css';\n\n:host {\n display: block;\n box-sizing: border-box;\n min-width: 0;\n max-width: 100%;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n:host::-webkit-scrollbar {\n display: none;\n}\n\n.pagination,\n.pagination__page-size,\n.pagination__navigation {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n}\n\n.pagination {\n width: max-content;\n min-width: 100%;\n gap: var(--dimension-space-100);\n}\n\n.pagination__page-size,\n.pagination__navigation {\n flex: 0 0 auto;\n}\n\n.pagination__page-size {\n gap: 0;\n}\n\n.pagination__navigation {\n gap: var(--dimension-space-050);\n}\n\n.pagination__page,\n.pagination__label {\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n white-space: nowrap;\n}\n\n.pagination .pagination__page-size-select {\n --ds-select-fg-active: var(--color-foreground-secondary);\n}\n\n.pagination__page {\n justify-content: center;\n min-inline-size: 0;\n padding-inline: var(--dimension-space-100);\n}\n\n.pagination--table-compact .pagination__boundary {\n display: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core';\nimport { observeTableCaptionCompact } from '../../utils/table-caption-compact';\nimport { resolvePaginationState } from './pagination-model';\nimport type { PaginationChangeDetail, PaginationPageSizeMode } from './pagination-types';\n\nlet paginationId = 0;\n\n@Component({\n tag: 'ds-pagination',\n styleUrl: 'Pagination.css',\n scoped: true,\n})\nexport class Pagination {\n @Element() el!: HTMLElement;\n\n /** Controlled zero-based page index. */\n @Prop() pageIndex: number = 0;\n /** Controlled number of top-level items on a full page. */\n @Prop() pageSize: number = 25;\n /** Whether pageSize is a fixed choice or a measured Fit snapshot. */\n @Prop() pageSizeMode: PaginationPageSizeMode = 'fixed';\n /** Controlled total number of top-level items across every page. */\n @Prop() totalItems: number = 0;\n /** Available page sizes. Assign arrays through JavaScript. */\n @Prop() pageSizeOptions: number[] = [25, 50, 100, 200];\n /** Include the Fit to page choice. */\n @Prop() fitToPage: boolean = false;\n /** Keep the Fit to page choice visible but unavailable. */\n @Prop() fitToPageInactive: boolean = false;\n /** Effective whole-item capacity to request when Fit is selected. */\n @Prop() fitPageSize: number | undefined;\n /** Full choice-list label for Fit. */\n @Prop() fitPageSizeLabel: string = 'Fit to page';\n /** Compact closed-trigger label while Fit is selected. */\n @Prop() fitPageSizeTriggerLabel: string = 'Fit';\n /** Localized plural noun used by assistive range announcements. */\n @Prop() itemLabel: string = 'items';\n /** Visible page-size control label. */\n @Prop() pageSizeLabel: string = 'Items';\n /** Accessible page-size control label. Defaults to “{pageSizeLabel} per page”. */\n @Prop() pageSizeAriaLabel: string | undefined;\n /** Accessible name for the pagination navigation region. */\n @Prop() label: string = 'Pagination';\n /** Include direct first-page and last-page controls. */\n @Prop() showFirstLastButtons: boolean = false;\n /** Prevent interaction while the owner replaces the current data page. */\n @Prop() loading: boolean = false;\n\n /** Emits the complete next controlled state after a page or page-size request. */\n @Event() dsChange!: EventEmitter<PaginationChangeDetail>;\n\n @State() private tableCompact = false;\n\n private readonly pageSizeControlId = `ds-pagination-${++paginationId}-page-size`;\n private tableCompactDisconnect: (() => void) | undefined;\n private hasLoaded = false;\n\n componentDidLoad(): void {\n this.hasLoaded = true;\n this.syncTableCompactObserver();\n }\n\n connectedCallback(): void {\n if (this.hasLoaded) this.syncTableCompactObserver();\n }\n\n disconnectedCallback(): void {\n this.tableCompactDisconnect?.();\n this.tableCompactDisconnect = undefined;\n }\n\n private syncTableCompactObserver(): void {\n this.tableCompactDisconnect?.();\n this.tableCompactDisconnect = observeTableCaptionCompact(this.el, compact => {\n if (this.tableCompact !== compact) this.tableCompact = compact;\n });\n }\n\n private requestPage(pageIndex: number): void {\n const state = this.resolvedState;\n if (\n this.loading ||\n pageIndex === state.pageIndex ||\n pageIndex < 0 ||\n pageIndex >= state.totalPages\n ) {\n return;\n }\n this.dsChange.emit({\n pageIndex,\n pageSize: state.pageSize,\n pageSizeMode: state.pageSizeMode,\n totalItems: state.totalItems,\n pageSizeOptions: state.pageSizeOptions,\n fitToPage: this.fitToPage,\n fitToPageInactive: this.fitToPageInactive,\n fitPageSize: this.resolvedFitPageSize,\n fitPageSizeLabel: this.fitPageSizeLabel,\n fitPageSizeTriggerLabel: this.fitPageSizeTriggerLabel,\n itemLabel: this.itemLabel,\n pageSizeLabel: this.pageSizeLabel,\n ariaLabel: this.label,\n showFirstLastButtons: this.showFirstLastButtons,\n previousPageIndex: state.pageIndex,\n previousPageSize: state.pageSize,\n previousPageSizeMode: state.pageSizeMode,\n reason: 'page',\n });\n }\n\n private requestPageSize(value: string | string[]): void {\n if (this.loading || typeof value !== 'string' || (value === 'fit' && this.fitToPageInactive))\n return;\n const state = this.resolvedState;\n const nextMode: PaginationPageSizeMode = value === 'fit' ? 'fit' : 'fixed';\n const pageSize = nextMode === 'fit' ? this.resolvedFitPageSize : Number(value);\n if (!pageSize || (pageSize === state.pageSize && nextMode === state.pageSizeMode)) return;\n this.dsChange.emit({\n pageIndex: 0,\n pageSize: Math.trunc(pageSize),\n pageSizeMode: nextMode,\n totalItems: state.totalItems,\n pageSizeOptions: state.pageSizeOptions,\n fitToPage: this.fitToPage,\n fitToPageInactive: this.fitToPageInactive,\n fitPageSize: this.resolvedFitPageSize,\n fitPageSizeLabel: this.fitPageSizeLabel,\n fitPageSizeTriggerLabel: this.fitPageSizeTriggerLabel,\n itemLabel: this.itemLabel,\n pageSizeLabel: this.pageSizeLabel,\n ariaLabel: this.label,\n showFirstLastButtons: this.showFirstLastButtons,\n previousPageIndex: state.pageIndex,\n previousPageSize: state.pageSize,\n previousPageSizeMode: state.pageSizeMode,\n reason: 'page-size',\n });\n }\n\n private handleKeyDown(event: KeyboardEvent): void {\n if (\n event.defaultPrevented ||\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.shiftKey\n ) {\n return;\n }\n const fromChoiceControl = event\n .composedPath()\n .some(\n node =>\n node instanceof HTMLElement &&\n (node.tagName === 'DS-SELECT' || ['INPUT', 'SELECT', 'TEXTAREA'].includes(node.tagName))\n );\n if (fromChoiceControl || (event.key !== 'ArrowLeft' && event.key !== 'ArrowRight')) return;\n const state = this.resolvedState;\n const pageIndex = event.key === 'ArrowLeft' ? state.pageIndex - 1 : state.pageIndex + 1;\n if (this.loading || pageIndex < 0 || pageIndex >= state.totalPages) return;\n event.preventDefault();\n this.requestPage(pageIndex);\n }\n\n private get resolvedFitPageSize(): number | undefined {\n return Number.isFinite(this.fitPageSize) && Number(this.fitPageSize) > 0\n ? Math.trunc(Number(this.fitPageSize))\n : undefined;\n }\n\n private get resolvedState() {\n return resolvePaginationState({\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n pageSizeMode: this.pageSizeMode,\n totalItems: this.totalItems,\n pageSizeOptions: this.pageSizeOptions,\n });\n }\n\n render() {\n const state = this.resolvedState;\n const atStart = state.pageIndex === 0;\n const atEnd = state.pageIndex === state.totalPages - 1;\n const page = `${state.pageIndex + 1} of ${state.totalPages}`;\n const announcedRange = `${state.firstItem}–${state.lastItem} of ${state.totalItems}`;\n const announcedPage = `Page ${state.pageIndex + 1} of ${state.totalPages}`;\n const pageSizeAriaLabel = this.pageSizeAriaLabel ?? `${this.pageSizeLabel} per page`;\n const options: Array<{ label: string; value: string; isInactive?: boolean }> =\n state.pageSizeOptions.map(value => ({ label: String(value), value: String(value) }));\n if (this.fitToPage) {\n options.push({\n label: this.fitPageSizeLabel,\n value: 'fit',\n isInactive: this.fitToPageInactive || this.resolvedFitPageSize === undefined,\n });\n }\n\n return (\n <Host>\n <nav\n class={{\n pagination: true,\n 'pagination--table-compact': this.tableCompact,\n }}\n aria-label={this.label}\n aria-busy={this.loading ? 'true' : undefined}\n onKeyDown={event => this.handleKeyDown(event)}\n >\n <div class=\"pagination__page-size\">\n <ds-text\n class=\"pagination__label\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"secondary\"\n aria-hidden=\"true\"\n >\n {this.pageSizeLabel}:\n </ds-text>\n <span id={`${this.pageSizeControlId}-label`} class=\"ds-visually-hidden\">\n {pageSizeAriaLabel}\n </span>\n <ds-select\n class=\"pagination__page-size-select\"\n size=\"md\"\n inputId={this.pageSizeControlId}\n ariaLabelledby={`${this.pageSizeControlId}-label`}\n options={options}\n value={state.pageSizeMode === 'fit' ? 'fit' : String(state.pageSize)}\n triggerLabel={state.pageSizeMode === 'fit' ? this.fitPageSizeTriggerLabel : undefined}\n indicator=\"up-down\"\n allowClear={false}\n activeFill={false}\n hasBorder={false}\n isInactive={this.loading}\n onDsChange={event => {\n event.stopPropagation();\n this.requestPageSize(event.detail);\n }}\n />\n </div>\n <ds-divider\n class=\"pagination__divider\"\n orientation=\"vertical\"\n length=\"var(--dimension-size-250)\"\n />\n <div class=\"pagination__navigation\">\n {this.showFirstLastButtons ? (\n <ds-button-unfilled\n class=\"pagination__boundary\"\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronLeftDouble\"\n ariaLabel=\"First page\"\n hasBorder={false}\n isInactive={this.loading || atStart}\n onDsClick={() => this.requestPage(0)}\n />\n ) : null}\n <ds-button-unfilled\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronLeft\"\n ariaLabel=\"Previous page\"\n hasBorder={false}\n isInactive={this.loading || atStart}\n onDsClick={() => this.requestPage(state.pageIndex - 1)}\n />\n <ds-text\n class=\"pagination__page\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"secondary\"\n fontFeature=\"tabular-nums\"\n >\n {page}\n </ds-text>\n <ds-button-unfilled\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronRight\"\n ariaLabel=\"Next page\"\n hasBorder={false}\n isInactive={this.loading || atEnd}\n onDsClick={() => this.requestPage(state.pageIndex + 1)}\n />\n {this.showFirstLastButtons ? (\n <ds-button-unfilled\n class=\"pagination__boundary\"\n variant=\"icon\"\n size=\"md\"\n icon=\"ChevronRightDouble\"\n ariaLabel=\"Last page\"\n hasBorder={false}\n isInactive={this.loading || atEnd}\n onDsClick={() => this.requestPage(state.totalPages - 1)}\n />\n ) : null}\n </div>\n <span class=\"ds-visually-hidden\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {announcedRange} {this.itemLabel}. {announcedPage}.\n </span>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,c as o,h as a,a as d,t as n}from"./index.js";import{d as i}from"./p-Cn6AfzeF.js";import{d as r}from"./p-D7K1ZHML.js";import{d as l}from"./p-DjkUFlDW.js";import{d as t}from"./p-0XTyQNRG.js";import{d as c}from"./p-ZwRLjD5M.js";import{d as h}from"./p-C_Ma6Xa-.js";const p=()=>`.sc-ds-panel-tool-header-h,.sc-ds-panel-tool-header:where(.ds-table),.sc-ds-panel-tool-header:where(.tooltip-popup),.sc-ds-panel-tool-header:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.ds-control--lg.sc-ds-panel-tool-header,.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header,.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header,.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--lg.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-control--lg.sc-ds-panel-tool-header,.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header,.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header,.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--lg.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-header.sc-ds-panel-tool-header{display:flex;align-items:center;box-sizing:border-box;min-width:0;min-block-size:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100)}.ds-chrome-header--wrapping.sc-ds-panel-tool-header{flex-wrap:wrap}.ds-chrome-header--bounded.sc-ds-panel-tool-header{border-block-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.ds-chrome-header__leading.sc-ds-panel-tool-header,.ds-chrome-header__trailing.sc-ds-panel-tool-header{display:flex;align-items:center;flex:0 0 auto;min-width:0}.ds-chrome-header__trailing.sc-ds-panel-tool-header{margin-inline-start:auto;gap:var(--dimension-space-100)}.ds-chrome-header__copy.sc-ds-panel-tool-header{display:flex;flex:1 1 0;min-width:0;padding:var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box}.ds-chrome-header__copy--wrapping.sc-ds-panel-tool-header{align-items:baseline;flex-wrap:wrap;column-gap:var(--dimension-space-100);row-gap:var(--dimension-space-050)}.ds-chrome-header__copy--stacked.sc-ds-panel-tool-header{align-items:stretch;flex-direction:column;gap:var(--dimension-space-050)}.ds-chrome-header__heading.sc-ds-panel-tool-header,.ds-chrome-header__description.sc-ds-panel-tool-header{width:auto;min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025));box-sizing:border-box}.ds-chrome-header__heading.sc-ds-panel-tool-header{flex:0 1 auto}.ds-chrome-header__copy--wrapping.sc-ds-panel-tool-header .ds-chrome-header__description.sc-ds-panel-tool-header{flex:1 1 var(--dimension-card-width-xs)}.sc-ds-panel-tool-header-h{display:block;flex:0 0 auto;box-sizing:border-box}.panel-tool-header.sc-ds-panel-tool-header{height:var(--dimension-size-600);color:var(--color-foreground-primary);-webkit-user-select:none;user-select:none}.panel-tool-header__leading.sc-ds-panel-tool-header:empty,.panel-tool-header__trailing.sc-ds-panel-tool-header:empty{display:none}.panel-tool-header__trailing.sc-ds-panel-tool-header{gap:var(--dimension-space-050);justify-content:flex-end}ds-text.panel-tool-header__heading.sc-ds-panel-tool-header{display:inline-flex;flex:1 1 0;align-items:center;width:auto;min-width:0;height:var(--ds-control-height);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));box-sizing:border-box;text-align:left;-webkit-user-select:none;user-select:none}`;const m=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsBack=o(this,"dsBack",7);this.dsMenuToggle=o(this,"dsMenuToggle",7);this.dsAction=o(this,"dsAction",7);this.heading="";this.showBack=false;this.backIcon="ChevronLeft";this.backAriaLabel="Back";this.showMenu=true;this.menuAriaLabel="More options";this.menuTriggerId="";this.menuExpanded=false;this.actions=[]}async focusMenuTrigger(){const e=this.el.querySelector('ds-button-unfilled.panel-tool-header__menu, ds-button-unfilled[data-header-action-id="menu"]');await(e?.setFocus?.())}render(){const e=this.actions.length>0;const s=e?this.actions:this.showMenu?[{id:"menu",icon:"Ellipses",ariaLabel:this.menuAriaLabel,triggerId:this.menuTriggerId,controls:this.menuControls,expanded:this.menuExpanded,surfaceOpen:this.menuSurfaceOpen,haspopup:"menu"}]:[];return a(d,{key:"c7fad21f26698a2f3addb754038d12a80f05e2f2"},a("header",{key:"6a76721f9b45b3c4ae5b5ad7346ac1962c2bfab3",class:"panel-tool-header ds-chrome-header ds-chrome-header--bounded"},a("div",{key:"e6582244fb31639cbe0e9f925cd4343521233b08",class:"panel-tool-header__leading ds-chrome-header__leading"},this.showBack?a("ds-tooltip",{label:this.backAriaLabel,side:"bottom",size:"sm"},a("ds-button-unfilled",{class:"panel-tool-header__back",variant:"icon",icon:this.backIcon,size:"md","aria-label":this.backAriaLabel,activeFill:false,hasBorder:false,onDsClick:e=>this.dsBack.emit(e.detail)})):null),a("ds-text",{key:"c68b90097846026c17005a8a0f6c88a6ac384885",class:"panel-tool-header__heading ds-chrome-header__heading ds-control--md",as:"h2",variant:"text-body-medium",emphasis:true,color:"primary",lineTruncation:1},this.heading),a("div",{key:"edc82dc2c6e1c16346b65c79d276fb0ef18914cb",class:"panel-tool-header__trailing ds-chrome-header__trailing"},s.map((s=>a("ds-tooltip",{key:s.id,label:s.ariaLabel,side:"bottom",size:"sm"},a("ds-button-unfilled",{id:s.triggerId||undefined,"data-header-action-id":s.id,class:{"panel-tool-header__action":true,"panel-tool-header__menu":s.id==="menu"},variant:"icon",icon:s.icon,size:"md","aria-label":s.ariaLabel,haspopup:s.haspopup,controls:s.controls,expanded:s.expanded,surfaceOpen:s.surfaceOpen,pressed:s.pressed,isInactive:s.isInactive,activeFill:false,hasBorder:false,onDsClick:o=>{if(!e&&s.id==="menu")this.dsMenuToggle.emit(o.detail);this.dsAction.emit({id:s.id,originalEvent:o.detail,anchor:o.currentTarget})}})))))))}get el(){return this}static get style(){return p()}},[2,"ds-panel-tool-header",{heading:[1],showBack:[4,"show-back"],backIcon:[1,"back-icon"],backAriaLabel:[1,"back-aria-label"],showMenu:[4,"show-menu"],menuAriaLabel:[1,"menu-aria-label"],menuTriggerId:[1,"menu-trigger-id"],menuControls:[1,"menu-controls"],menuExpanded:[4,"menu-expanded"],menuSurfaceOpen:[4,"menu-surface-open"],actions:[16],focusMenuTrigger:[64]}]);function g(){if(typeof customElements==="undefined"){return}const e=["ds-panel-tool-header","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-panel-tool-header":if(!customElements.get(n(e))){customElements.define(n(e),m)}break;case"ds-badge":if(!customElements.get(n(e))){i()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){r()}break;case"ds-icon":if(!customElements.get(n(e))){l()}break;case"ds-loader":if(!customElements.get(n(e))){t()}break;case"ds-text":if(!customElements.get(n(e))){c()}break;case"ds-tooltip":if(!customElements.get(n(e))){h()}break}}))}g();export{m as P,g as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as o,c as s,h as a,a as d,t as n}from"./index.js";import{d as r}from"./p-CwdRaJER.js";import{d as i}from"./p-D6FRqNhN.js";import{d as l}from"./p-DjkUFlDW.js";import{d as t}from"./p-0XTyQNRG.js";import{d as c}from"./p-D8OWhnID.js";import{d as h}from"./p-DIQiHX0q.js";const p=()=>`.sc-ds-panel-tool-header-h,.sc-ds-panel-tool-header:where(.ds-table),.sc-ds-panel-tool-header:where(.tooltip-popup),.sc-ds-panel-tool-header:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.ds-control--lg.sc-ds-panel-tool-header,.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header,.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header,.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--lg.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-control--lg.sc-ds-panel-tool-header,.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header,.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header,.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-panel-tool-header-h,.ds-control--lg.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-panel-tool-header-h,.ds-control--md.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-panel-tool-header-h,.ds-control--sm.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-panel-tool-header-h,.ds-control--xs.sc-ds-panel-tool-header{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-header.sc-ds-panel-tool-header{display:flex;align-items:center;box-sizing:border-box;min-width:0;min-block-size:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100)}.ds-chrome-header--wrapping.sc-ds-panel-tool-header{flex-wrap:wrap}.ds-chrome-header--bounded.sc-ds-panel-tool-header{border-block-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.ds-chrome-header__leading.sc-ds-panel-tool-header,.ds-chrome-header__trailing.sc-ds-panel-tool-header{display:flex;align-items:center;flex:0 0 auto;min-width:0}.ds-chrome-header__trailing.sc-ds-panel-tool-header{margin-inline-start:auto;gap:var(--dimension-space-100)}.ds-chrome-header__copy.sc-ds-panel-tool-header{display:flex;flex:1 1 0;min-width:0;padding:var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box}.ds-chrome-header__copy--wrapping.sc-ds-panel-tool-header{align-items:baseline;flex-wrap:wrap;column-gap:var(--dimension-space-100);row-gap:var(--dimension-space-050)}.ds-chrome-header__copy--stacked.sc-ds-panel-tool-header{align-items:stretch;flex-direction:column;gap:var(--dimension-space-050)}.ds-chrome-header__heading.sc-ds-panel-tool-header,.ds-chrome-header__description.sc-ds-panel-tool-header{width:auto;min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025));box-sizing:border-box}.ds-chrome-header__heading.sc-ds-panel-tool-header{flex:0 1 auto}.ds-chrome-header__copy--wrapping.sc-ds-panel-tool-header .ds-chrome-header__description.sc-ds-panel-tool-header{flex:1 1 var(--dimension-card-width-xs)}.sc-ds-panel-tool-header-h{display:block;flex:0 0 auto;box-sizing:border-box;--_panel-tool-header-fg-primary:var(--_shell-tools-fg-primary, var(--color-foreground-primary));--_panel-tool-header-divider:var(--_shell-tools-divider, var(--color-border-tertiary))}.panel-tool-header.sc-ds-panel-tool-header{height:var(--dimension-size-600);color:var(--_panel-tool-header-fg-primary);border-block-end-color:var(--_panel-tool-header-divider);-webkit-user-select:none;user-select:none}.panel-tool-header__leading.sc-ds-panel-tool-header:empty,.panel-tool-header__trailing.sc-ds-panel-tool-header:empty{display:none}.panel-tool-header__trailing.sc-ds-panel-tool-header{gap:var(--dimension-space-050);justify-content:flex-end}ds-text.panel-tool-header__heading.sc-ds-panel-tool-header{display:inline-flex;flex:1 1 0;align-items:center;width:auto;min-width:0;height:var(--ds-control-height);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));box-sizing:border-box;text-align:left;-webkit-user-select:none;user-select:none}`;const m=e(class e extends o{constructor(e){super();if(e!==false){this.__registerHost()}this.dsBack=s(this,"dsBack",7);this.dsMenuToggle=s(this,"dsMenuToggle",7);this.dsAction=s(this,"dsAction",7);this.heading="";this.showBack=false;this.backIcon="ChevronLeft";this.backAriaLabel="Back";this.showMenu=true;this.menuAriaLabel="More options";this.menuTriggerId="";this.menuExpanded=false;this.actions=[]}async focusMenuTrigger(){const e=this.el.querySelector('ds-button-unfilled.panel-tool-header__menu, ds-button-unfilled[data-header-action-id="menu"]');await(e?.setFocus?.())}render(){const e=this.actions.length>0;const o=e?this.actions:this.showMenu?[{id:"menu",icon:"Ellipses",ariaLabel:this.menuAriaLabel,triggerId:this.menuTriggerId,controls:this.menuControls,expanded:this.menuExpanded,surfaceOpen:this.menuSurfaceOpen,haspopup:"menu"}]:[];return a(d,{key:"36e0849b683317a67451148492b3b088440d34e7"},a("header",{key:"70e7876494c95e421b6807d08f7f5ec13caea94b",class:"panel-tool-header ds-chrome-header ds-chrome-header--bounded"},a("div",{key:"7de753cf669a2cafe7add12bb8799008f9871e7a",class:"panel-tool-header__leading ds-chrome-header__leading"},this.showBack?a("ds-tooltip",{label:this.backAriaLabel,side:"bottom",size:"sm"},a("ds-button-unfilled",{class:"panel-tool-header__back",variant:"icon",icon:this.backIcon,size:"md",background:"chrome","aria-label":this.backAriaLabel,activeFill:false,hasBorder:false,onDsClick:e=>this.dsBack.emit(e.detail)})):null),a("ds-text",{key:"7639b3fef0697a63865a3583107696ea0504d51a",class:"panel-tool-header__heading ds-chrome-header__heading ds-control--md",as:"h2",variant:"text-body-medium",emphasis:true,color:"inherit",lineTruncation:1},this.heading),a("div",{key:"55e4c90c936cb535d72480ae08f8cd74cc9cf6d9",class:"panel-tool-header__trailing ds-chrome-header__trailing"},o.map((o=>a("ds-tooltip",{key:o.id,label:o.ariaLabel,side:"bottom",size:"sm"},a("ds-button-unfilled",{id:o.triggerId||undefined,"data-header-action-id":o.id,class:{"panel-tool-header__action":true,"panel-tool-header__menu":o.id==="menu"},variant:"icon",icon:o.icon,size:"md",background:"chrome","aria-label":o.ariaLabel,haspopup:o.haspopup,controls:o.controls,expanded:o.expanded,surfaceOpen:o.surfaceOpen,pressed:o.pressed,isInactive:o.isInactive,activeFill:false,hasBorder:false,onDsClick:s=>{if(!e&&o.id==="menu")this.dsMenuToggle.emit(s.detail);this.dsAction.emit({id:o.id,originalEvent:s.detail,anchor:s.currentTarget})}})))))))}get el(){return this}static get style(){return p()}},[2,"ds-panel-tool-header",{heading:[1],showBack:[4,"show-back"],backIcon:[1,"back-icon"],backAriaLabel:[1,"back-aria-label"],showMenu:[4,"show-menu"],menuAriaLabel:[1,"menu-aria-label"],menuTriggerId:[1,"menu-trigger-id"],menuControls:[1,"menu-controls"],menuExpanded:[4,"menu-expanded"],menuSurfaceOpen:[4,"menu-surface-open"],actions:[16],focusMenuTrigger:[64]}]);function g(){if(typeof customElements==="undefined"){return}const e=["ds-panel-tool-header","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-panel-tool-header":if(!customElements.get(n(e))){customElements.define(n(e),m)}break;case"ds-badge":if(!customElements.get(n(e))){r()}break;case"ds-button-unfilled":if(!customElements.get(n(e))){i()}break;case"ds-icon":if(!customElements.get(n(e))){l()}break;case"ds-loader":if(!customElements.get(n(e))){t()}break;case"ds-text":if(!customElements.get(n(e))){c()}break;case"ds-tooltip":if(!customElements.get(n(e))){h()}break}}))}g();export{m as P,g as d};
|
|
2
|
+
//# sourceMappingURL=p-DYQa1DVF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["panelToolHeaderCss","PanelToolHeader","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","heading","showBack","backIcon","backAriaLabel","showMenu","menuAriaLabel","menuTriggerId","menuExpanded","actions","focusMenuTrigger","trigger","el","querySelector","setFocus","render","authoredActions","length","id","icon","ariaLabel","triggerId","controls","menuControls","expanded","surfaceOpen","menuSurfaceOpen","haspopup","h","Host","key","class","label","side","size","variant","background","activeFill","hasBorder","onDsClick","event","dsBack","emit","detail","as","emphasis","color","lineTruncation","map","action","undefined","pressed","isInactive","dsMenuToggle","dsAction","originalEvent","anchor","currentTarget"],"sources":["src/wc/components/PanelToolHeader/PanelToolHeader.css?tag=ds-panel-tool-header&encapsulation=scoped","src/wc/components/PanelToolHeader/PanelToolHeader.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/chrome-header.css';\n\n:host {\n display: block;\n flex: 0 0 auto;\n box-sizing: border-box;\n --_panel-tool-header-fg-primary: var(--_shell-tools-fg-primary, var(--color-foreground-primary));\n --_panel-tool-header-divider: var(--_shell-tools-divider, var(--color-border-tertiary));\n}\n\n.panel-tool-header {\n height: var(--dimension-size-600);\n color: var(--_panel-tool-header-fg-primary);\n border-block-end-color: var(--_panel-tool-header-divider);\n -webkit-user-select: none;\n user-select: none;\n}\n\n.panel-tool-header__leading:empty,\n.panel-tool-header__trailing:empty {\n display: none;\n}\n\n.panel-tool-header__trailing {\n gap: var(--dimension-space-050);\n justify-content: flex-end;\n}\n\nds-text.panel-tool-header__heading {\n display: inline-flex;\n flex: 1 1 0;\n align-items: center;\n width: auto;\n min-width: 0;\n height: var(--ds-control-height);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n text-align: left;\n -webkit-user-select: none;\n user-select: none;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core';\nimport type {\n PanelToolHeaderActionDetail,\n PanelToolsHeaderAction,\n} from '../PanelTools/panel-tools-types';\n\n@Component({\n tag: 'ds-panel-tool-header',\n styleUrl: 'PanelToolHeader.css',\n scoped: true,\n})\nexport class PanelToolHeader {\n @Element() el!: HTMLElement;\n\n /** Visible heading for the active tool view. */\n @Prop() heading: string = '';\n /** Show the leading Back action. */\n @Prop() showBack: boolean = false;\n /** Canonical icon for the leading navigation or dismiss action. */\n @Prop() backIcon: string = 'ChevronLeft';\n /** Accessible name for the leading navigation or dismiss action. */\n @Prop() backAriaLabel: string = 'Back';\n /** Show the trailing options-menu trigger. */\n @Prop() showMenu: boolean = true;\n /** Accessible name for the options-menu trigger. */\n @Prop() menuAriaLabel: string = 'More options';\n /** Stable id placed on the menu trigger host for ds-menu anchoring. */\n @Prop() menuTriggerId: string = '';\n /** Id of the menu controlled by the trigger. */\n @Prop() menuControls: string | undefined;\n /** Whether the controlled menu is open. */\n @Prop() menuExpanded: boolean = false;\n /** Associated menu surface is visible, including exit motion. */\n @Prop() menuSurfaceOpen: boolean | undefined;\n /** Trailing application-owned icon actions. When present, these replace the legacy menu action. */\n @Prop() actions: PanelToolsHeaderAction[] = [];\n\n @Event() dsBack!: EventEmitter<MouseEvent>;\n @Event() dsMenuToggle!: EventEmitter<MouseEvent>;\n @Event() dsAction!: EventEmitter<PanelToolHeaderActionDetail>;\n\n @Method()\n async focusMenuTrigger() {\n const trigger = this.el.querySelector(\n 'ds-button-unfilled.panel-tool-header__menu, ds-button-unfilled[data-header-action-id=\"menu\"]'\n ) as (HTMLElement & { setFocus?: () => Promise<void> }) | null;\n await trigger?.setFocus?.();\n }\n\n render() {\n const authoredActions = this.actions.length > 0;\n const actions: PanelToolsHeaderAction[] = authoredActions\n ? this.actions\n : this.showMenu\n ? [\n {\n id: 'menu',\n icon: 'Ellipses',\n ariaLabel: this.menuAriaLabel,\n triggerId: this.menuTriggerId,\n controls: this.menuControls,\n expanded: this.menuExpanded,\n surfaceOpen: this.menuSurfaceOpen,\n haspopup: 'menu',\n },\n ]\n : [];\n\n return (\n <Host>\n <header class=\"panel-tool-header ds-chrome-header ds-chrome-header--bounded\">\n <div class=\"panel-tool-header__leading ds-chrome-header__leading\">\n {this.showBack ? (\n <ds-tooltip label={this.backAriaLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n class=\"panel-tool-header__back\"\n variant=\"icon\"\n icon={this.backIcon}\n size=\"md\"\n background=\"chrome\"\n aria-label={this.backAriaLabel}\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsBack.emit(event.detail)}\n />\n </ds-tooltip>\n ) : null}\n </div>\n <ds-text\n class=\"panel-tool-header__heading ds-chrome-header__heading ds-control--md\"\n as=\"h2\"\n variant=\"text-body-medium\"\n emphasis\n color=\"inherit\"\n lineTruncation={1}\n >\n {this.heading}\n </ds-text>\n <div class=\"panel-tool-header__trailing ds-chrome-header__trailing\">\n {actions.map(action => (\n <ds-tooltip key={action.id} label={action.ariaLabel} side=\"bottom\" size=\"sm\">\n <ds-button-unfilled\n id={action.triggerId || undefined}\n data-header-action-id={action.id}\n class={{\n 'panel-tool-header__action': true,\n 'panel-tool-header__menu': action.id === 'menu',\n }}\n variant=\"icon\"\n icon={action.icon}\n size=\"md\"\n background=\"chrome\"\n aria-label={action.ariaLabel}\n haspopup={action.haspopup}\n controls={action.controls}\n expanded={action.expanded}\n surfaceOpen={action.surfaceOpen}\n pressed={action.pressed}\n isInactive={action.isInactive}\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => {\n if (!authoredActions && action.id === 'menu')\n this.dsMenuToggle.emit(event.detail);\n this.dsAction.emit({\n id: action.id,\n originalEvent: event.detail,\n anchor: event.currentTarget as HTMLElement,\n });\n }}\n />\n </ds-tooltip>\n ))}\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"0RAAA,MAAMA,EAAqB,IAAM,80M,MCWpBC,EAAeC,EAAA,MAAAD,UAAAE,EAL5B,WAAAC,CAAAC,G,yJASUC,KAAAC,QAAkB,GAElBD,KAAAE,SAAoB,MAEpBF,KAAAG,SAAmB,cAEnBH,KAAAI,cAAwB,OAExBJ,KAAAK,SAAoB,KAEpBL,KAAAM,cAAwB,eAExBN,KAAAO,cAAwB,GAIxBP,KAAAQ,aAAwB,MAIxBR,KAAAS,QAAoC,EAuG7C,CAhGC,sBAAMC,GACJ,MAAMC,EAAUX,KAAKY,GAAGC,cACtB,sGAEIF,GAASG,a,CAGjB,MAAAC,GACE,MAAMC,EAAkBhB,KAAKS,QAAQQ,OAAS,EAC9C,MAAMR,EAAoCO,EACtChB,KAAKS,QACLT,KAAKK,SACH,CACE,CACEa,GAAI,OACJC,KAAM,WACNC,UAAWpB,KAAKM,cAChBe,UAAWrB,KAAKO,cAChBe,SAAUtB,KAAKuB,aACfC,SAAUxB,KAAKQ,aACfiB,YAAazB,KAAK0B,gBAClBC,SAAU,SAGd,GAEN,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CAAQC,MAAM,gEACZH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,wDACR/B,KAAKE,SACJ0B,EAAA,cAAYI,MAAOhC,KAAKI,cAAe6B,KAAK,SAASC,KAAK,MACxDN,EAAA,sBACEG,MAAM,0BACNI,QAAQ,OACRhB,KAAMnB,KAAKG,SACX+B,KAAK,KACLE,WAAW,SAAQ,aACPpC,KAAKI,cACjBiC,WAAY,MACZC,UAAW,MACXC,UAAYC,GAAmCxC,KAAKyC,OAAOC,KAAKF,EAAMG,WAGxE,MAENf,EAAA,WAAAE,IAAA,2CACEC,MAAM,sEACNa,GAAG,KACHT,QAAQ,mBACRU,SAAQ,KACRC,MAAM,UACNC,eAAgB,GAEf/C,KAAKC,SAER2B,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0DACRtB,EAAQuC,KAAIC,GACXrB,EAAA,cAAYE,IAAKmB,EAAO/B,GAAIc,MAAOiB,EAAO7B,UAAWa,KAAK,SAASC,KAAK,MACtEN,EAAA,sBACEV,GAAI+B,EAAO5B,WAAa6B,UAAS,wBACVD,EAAO/B,GAC9Ba,MAAO,CACL,4BAA6B,KAC7B,0BAA2BkB,EAAO/B,KAAO,QAE3CiB,QAAQ,OACRhB,KAAM8B,EAAO9B,KACbe,KAAK,KACLE,WAAW,SAAQ,aACPa,EAAO7B,UACnBO,SAAUsB,EAAOtB,SACjBL,SAAU2B,EAAO3B,SACjBE,SAAUyB,EAAOzB,SACjBC,YAAawB,EAAOxB,YACpB0B,QAASF,EAAOE,QAChBC,WAAYH,EAAOG,WACnBf,WAAY,MACZC,UAAW,MACXC,UAAYC,IACV,IAAKxB,GAAmBiC,EAAO/B,KAAO,OACpClB,KAAKqD,aAAaX,KAAKF,EAAMG,QAC/B3C,KAAKsD,SAASZ,KAAK,CACjBxB,GAAI+B,EAAO/B,GACXqC,cAAef,EAAMG,OACrBa,OAAQhB,EAAMiB,eACd,S","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as e,H as t,c as i,h as s,a as r,t as a}from"./index.js";import{C as n,c as o,a as d,b as c,t as l,r as h,d as p}from"./p-BxduVc5g.js";import{g,i as b}from"./p-BQq26pt9.js";import{b as u,f,r as v,a as m,c as _,s as w,d as x,e as y,g as k,h as I,i as C,j as A,v as T,o as z,k as L,l as M,m as S,n as B,p as j,q as E}from"./p-BWSIw8AQ.js";import{d as D}from"./p-CwdRaJER.js";import{d as O}from"./p-MOJmB6vX.js";import{d as F}from"./p-D6FRqNhN.js";import{d as V}from"./p-DjkUFlDW.js";import{d as R}from"./p-0XTyQNRG.js";import{d as H}from"./p-Dnt5xUBD.js";import{d as q}from"./p-B9y6azEw.js";import{d as $}from"./p-Cgn-BORA.js";import{d as P}from"./p-B9TM6FqC.js";import{d as W}from"./p-D8OWhnID.js";import{d as G}from"./p-DIQiHX0q.js";const Q=()=>`.sc-ds-bar-page-title-h,.sc-ds-bar-page-title:where(.ds-table),.sc-ds-bar-page-title:where(.tooltip-popup),.sc-ds-bar-page-title: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-bar-page-title,.ds-control--lg.sc-ds-bar-page-title-h,.ds-control--md.sc-ds-bar-page-title-h,.ds-control--md.sc-ds-bar-page-title,.ds-control--sm.sc-ds-bar-page-title-h,.ds-control--sm.sc-ds-bar-page-title,.ds-control--xs.sc-ds-bar-page-title-h,.ds-control--xs.sc-ds-bar-page-title{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-bar-page-title-h,.ds-control--lg.sc-ds-bar-page-title{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-bar-page-title-h,.ds-control--md.sc-ds-bar-page-title{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-bar-page-title-h,.ds-control--sm.sc-ds-bar-page-title{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-bar-page-title-h,.ds-control--xs.sc-ds-bar-page-title{--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-frame.sc-ds-bar-page-title{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-bar-page-title{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-bar-page-title{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-bar-page-title{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-bar-page-title{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-bar-page-title{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-control--lg.sc-ds-bar-page-title,.ds-control--lg.sc-ds-bar-page-title-h,.ds-control--md.sc-ds-bar-page-title-h,.ds-control--md.sc-ds-bar-page-title,.ds-control--sm.sc-ds-bar-page-title-h,.ds-control--sm.sc-ds-bar-page-title,.ds-control--xs.sc-ds-bar-page-title-h,.ds-control--xs.sc-ds-bar-page-title{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-bar-page-title-h,.ds-control--lg.sc-ds-bar-page-title{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-bar-page-title-h,.ds-control--md.sc-ds-bar-page-title{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-bar-page-title-h,.ds-control--sm.sc-ds-bar-page-title{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-bar-page-title-h,.ds-control--xs.sc-ds-bar-page-title{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-header.sc-ds-bar-page-title{display:flex;align-items:center;box-sizing:border-box;min-width:0;min-block-size:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100)}.ds-chrome-header--wrapping.sc-ds-bar-page-title{flex-wrap:wrap}.ds-chrome-header--bounded.sc-ds-bar-page-title{border-block-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.ds-chrome-header__leading.sc-ds-bar-page-title,.ds-chrome-header__trailing.sc-ds-bar-page-title{display:flex;align-items:center;flex:0 0 auto;min-width:0}.ds-chrome-header__trailing.sc-ds-bar-page-title{margin-inline-start:auto;gap:var(--dimension-space-100)}.ds-chrome-header__copy.sc-ds-bar-page-title{display:flex;flex:1 1 0;min-width:0;padding:var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box}.ds-chrome-header__copy--wrapping.sc-ds-bar-page-title{align-items:baseline;flex-wrap:wrap;column-gap:var(--dimension-space-100);row-gap:var(--dimension-space-050)}.ds-chrome-header__copy--stacked.sc-ds-bar-page-title{align-items:stretch;flex-direction:column;gap:var(--dimension-space-050)}.ds-chrome-header__heading.sc-ds-bar-page-title,.ds-chrome-header__description.sc-ds-bar-page-title{width:auto;min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025));box-sizing:border-box}.ds-chrome-header__heading.sc-ds-bar-page-title{flex:0 1 auto}.ds-chrome-header__copy--wrapping.sc-ds-bar-page-title .ds-chrome-header__description.sc-ds-bar-page-title{flex:1 1 var(--dimension-card-width-xs)}@media (forced-colors: active){.sc-ds-bar-page-title:root,.sc-ds-bar-page-title-h,.ds-forced-colors-scope.sc-ds-bar-page-title{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-bar-page-title-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-bar-page-title-h,.ds-focus-ring.sc-ds-bar-page-title,.ds-focus-ring-inset.sc-ds-bar-page-title-h,.ds-focus-ring-inset.sc-ds-bar-page-title{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-bar-page-title-h:focus-visible,.ds-focus-ring.sc-ds-bar-page-title:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-page-title-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-bar-page-title{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-bar-page-title-h:focus-visible,.ds-focus-ring-inset.sc-ds-bar-page-title:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-bar-page-title-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-bar-page-title:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-page-title-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-page-title{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-page-title-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-bar-page-title::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-bar-page-title-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-bar-page-title:root,.sc-ds-bar-page-title-h,.ds-forced-colors-scope.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill.sc-ds-bar-page-title{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-bar-page-title-h::before,.ds-interaction-fill.sc-ds-bar-page-title::before,.ds-interaction-fill.sc-ds-bar-page-title-h::after,.ds-interaction-fill.sc-ds-bar-page-title::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-bar-page-title-h::before,.ds-interaction-fill.sc-ds-bar-page-title::before{z-index:1}.ds-interaction-fill.sc-ds-bar-page-title-h::after,.ds-interaction-fill.sc-ds-bar-page-title::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-bar-page-title-h,.ds-interaction-fill--bordered.sc-ds-bar-page-title{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-bar-page-title-h::before,.ds-interaction-fill--selected.sc-ds-bar-page-title::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-bar-page-title-h,.ds-interaction-fill--selected.sc-ds-bar-page-title{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-bar-page-title-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-bar-page-title:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-bar-page-title-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-bar-page-title:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-bar-page-title-h::after,.ds-interaction-fill--grouped.sc-ds-bar-page-title::after,.ds-interaction-fill--grouped.sc-ds-bar-page-title-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-bar-page-title:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-bar-page-title-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-bar-page-title:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-bar-page-title-h,.ds-interaction-fill--grouped.sc-ds-bar-page-title{--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-bar-page-title-h>.ds-interaction-fill__content.sc-ds-bar-page-title,.ds-interaction-fill.sc-ds-bar-page-title>.ds-interaction-fill__content.sc-ds-bar-page-title,.ds-interaction-fill__content.sc-ds-bar-page-title{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-bar-page-title-h,.ds-interaction-fill--on-faint.sc-ds-bar-page-title{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-bar-page-title-h,.ds-interaction-fill--on-medium.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-bold.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-strong.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-translucent.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-inverted.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-media.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-always-dark.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-chrome.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-interaction-fill--on-navigation.sc-ds-bar-page-title{--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-bar-page-title-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-bar-page-title:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-bar-page-title-h::after,.ds-interaction-fill.sc-ds-bar-page-title::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-bar-page-title-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-bar-page-title: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-bar-page-title-h::before,.ds-interaction-fill--selected.sc-ds-bar-page-title::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-bar-page-title-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-bar-page-title: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-bar-page-title:root,.sc-ds-bar-page-title-h,.ds-forced-colors-scope.sc-ds-bar-page-title{--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-bar-page-title-h,.ds-control-inactive.sc-ds-bar-page-title{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-bar-page-title-h,.ds-control-inactive.sc-ds-bar-page-title{color:var(--ds-forced-color-disabled);opacity:1}}.sc-ds-bar-page-title-h{display:block;min-width:0;box-sizing:border-box;background:var(--color-background-secondary);--_bar-page-title-fg-primary:var(--color-foreground-primary);--_bar-page-title-fg-secondary:var(--color-foreground-secondary);--_bar-page-title-hover:var(--color-interaction-hover);--_bar-page-title-pressed:var(--color-interaction-pressed);--_bar-page-title-focus:var(--color-interaction-focus);--_bar-page-title-border:var(--color-border-tertiary);--ds-focus-ring-color:var(--_bar-page-title-focus)}[data-shell-bar].sc-ds-bar-page-title-h{background:transparent;color:var(--_bar-page-title-fg-primary);--_bar-page-title-fg-primary:var(--color-chrome-foreground-primary);--_bar-page-title-fg-secondary:var(--color-chrome-foreground-secondary);--_bar-page-title-hover:var(--color-chrome-interaction-hover);--_bar-page-title-pressed:var(--color-chrome-interaction-pressed);--_bar-page-title-focus:var(--color-chrome-interaction-focus);--_bar-page-title-border:var(--color-chrome-border-tertiary);--ds-focus-ring-color:var(--_bar-page-title-focus)}ds-shell-app.sc-ds-bar-page-title-h:not([gradient-preset='none']),ds-shell-app:not([gradient-preset='none']) .sc-ds-bar-page-title-h,ds-shell-app.sc-ds-bar-page-title-h:not([gradient-preset='none']) .bar-page-title.sc-ds-bar-page-title,ds-shell-app:not([gradient-preset='none']) .sc-ds-bar-page-title-h .bar-page-title.sc-ds-bar-page-title,ds-shell-app.shell-app--paper-texture.sc-ds-bar-page-title-h,ds-shell-app.shell-app--paper-texture .sc-ds-bar-page-title-h,ds-shell-app.shell-app--paper-texture.sc-ds-bar-page-title-h .bar-page-title.sc-ds-bar-page-title,ds-shell-app.shell-app--paper-texture .sc-ds-bar-page-title-h .bar-page-title.sc-ds-bar-page-title{background:transparent}.bar-page-title.sc-ds-bar-page-title{position:relative;height:var(--dimension-size-600);min-width:0;box-sizing:border-box;background:var(--color-background-secondary);color:var(--_bar-page-title-fg-primary)}[data-shell-bar].sc-ds-bar-page-title-h .bar-page-title.sc-ds-bar-page-title{background:transparent}.bar-page-title.sc-ds-bar-page-title::after{content:'';position:absolute;inset:auto 0 0;height:var(--dimension-stroke-width-012);background:var(--_bar-page-title-border);pointer-events:none}.bar-page-title--divider-hidden.sc-ds-bar-page-title::after{display:none}.bar-page-title__inner.sc-ds-bar-page-title{position:relative;z-index:1;flex:1 1 auto;height:100%;min-width:0;padding:0;gap:0}.bar-page-title__row.sc-ds-bar-page-title{display:flex;align-items:center;justify-content:space-between;gap:var(--dimension-space-100);height:100%;min-width:0}.bar-page-title__title-row.sc-ds-bar-page-title{display:flex;align-items:center;gap:var(--dimension-space-100);min-width:0;min-height:var(--dimension-size-400);flex:1 1 auto}.bar-page-title__identity.sc-ds-bar-page-title{display:flex;flex:0 1 auto;align-items:center;gap:var(--dimension-space-050);min-width:0;height:var(--dimension-size-400)}.bar-page-title__back.sc-ds-bar-page-title,.bar-page-title__section-chevron.sc-ds-bar-page-title{flex:0 0 auto}.bar-page-title__heading.sc-ds-bar-page-title{display:inline-flex;flex:1 1 auto;align-items:center;width:auto;min-width:0;height:var(--dimension-size-400);padding-inline:calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));box-sizing:border-box;user-select:none}.bar-page-title__divider.sc-ds-bar-page-title{width:var(--dimension-stroke-width-012);height:var(--dimension-size-250);flex:0 0 var(--dimension-stroke-width-012);background:var(--_bar-page-title-border)}.bar-page-title__section-selector.sc-ds-bar-page-title{display:flex;flex:0 1 auto;min-width:0;max-width:var(--dimension-panel-width-sm)}.bar-page-title__section-trigger.sc-ds-bar-page-title{--ds-control-radius:var(--dimension-radius-half);display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-control-gap);height:var(--ds-control-height);min-width:0;max-width:100%;padding-inline:var(--ds-control-padding-inline);border:none;border-radius:var(--ds-control-radius);box-sizing:border-box;background:transparent;color:var(--color-foreground-secondary);cursor:default;font-family:inherit;user-select:none}[data-shell-bar].sc-ds-bar-page-title-h .bar-page-title__section-trigger.sc-ds-bar-page-title{color:var(--_bar-page-title-fg-primary)}.bar-page-title__section-label.sc-ds-bar-page-title{min-width:0;padding-inline:var(--ds-control-label-inset)}.bar-page-title__actions.sc-ds-bar-page-title{display:flex;align-items:center;gap:var(--dimension-space-100);flex:0 0 auto}.bar-page-title__probe.sc-ds-bar-page-title{position:absolute;left:0;top:0;visibility:hidden;pointer-events:none;overflow:visible;width:max-content;max-width:none;z-index:-1}.bar-page-title__probe-row.sc-ds-bar-page-title{display:flex;align-items:center;gap:var(--dimension-space-100);width:max-content;max-width:none}.bar-page-title__probe.sc-ds-bar-page-title .bar-page-title__identity.sc-ds-bar-page-title,.bar-page-title__probe.sc-ds-bar-page-title .bar-page-title__heading.sc-ds-bar-page-title{flex:0 0 auto;width:max-content;min-width:0;max-width:none}.bar-page-title__tabs-pending.sc-ds-bar-page-title{flex:0 0 auto;width:var(--dimension-size-400);height:var(--ds-control-height);visibility:hidden;pointer-events:none}.bar-page-title__tab-list.sc-ds-bar-page-title{display:flex;align-items:center;gap:var(--dimension-space-050);position:relative;width:max-content;flex:0 0 auto;min-width:0}.bar-page-title__tab.sc-ds-bar-page-title{display:flex;align-items:center;justify-content:center;gap:var(--ds-control-gap);height:var(--ds-control-height);min-width:var(--ds-control-height);padding:0 var(--ds-control-padding-inline);box-sizing:border-box;border:none;border-radius:var(--ds-control-radius);background-color:transparent;color:var(--_bar-page-title-fg-secondary);cursor:default;position:relative;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:color var(--effect-motion-short-2)}.bar-page-title__tab.sc-ds-bar-page-title::after{content:'';position:absolute;inset:0;border-radius:var(--ds-control-radius);background:transparent;pointer-events:none;cursor:inherit}@media (hover: hover) and (pointer: fine){.bar-page-title__tab.sc-ds-bar-page-title:hover::after{background:var(--_bar-page-title-hover)}}.bar-page-title__tab.sc-ds-bar-page-title:active::after{background:var(--_bar-page-title-pressed)}.bar-page-title__tab--selected.sc-ds-bar-page-title{color:var(--_bar-page-title-fg-primary)}.bar-page-title__tab-label.sc-ds-bar-page-title{display:inline-flex;align-items:center;white-space:nowrap}.bar-page-title__tab-divider.sc-ds-bar-page-title{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--dimension-space-100);height:var(--ds-control-height);padding-block:var(--ds-control-padding-inline);flex-shrink:0;pointer-events:none}.bar-page-title__tab-divider-line.sc-ds-bar-page-title{width:var(--dimension-stroke-width-012);align-self:stretch;background-color:var(--_bar-page-title-border)}`;let N=0;const X=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.dsBack=i(this,"dsBack",7);this.dsSectionChange=i(this,"dsSectionChange",7);this.dsAction=i(this,"dsAction",7);this.showBack=false;this.backAriaLabel="Back";this.sections=[];this.value="";this.sectionsAriaLabel="Change page section";this.primaryAction=null;this.actions=[];this.actionsAriaLabel="More page actions";this.showDivider=true;this.sectionMenuOpen=false;this.openActionMenuId="";this.surfaceActionMenuId="";this.sectionSurfaceOpen=false;this.sectionMenuInitialFocusVisible=false;this.actionMenuInitialFocusVisible=false;this.sectionsCollapsed=false;this.layoutCommitted=false;this.focusedTabId="";this.instanceId=N++;this.sectionMenuTriggerId=`bar-page-title-section-trigger-${this.instanceId}`;this.sectionMenuId=`bar-page-title-section-menu-${this.instanceId}`;this.actionMenuTriggerId=`bar-page-title-action-trigger-${this.instanceId}`;this.actionMenuId=`bar-page-title-action-menu-${this.instanceId}`;this.sectionTriggerEl=null;this.actionTriggerEl=null;this.actionTriggerEls=new Map;this.chromeEl=null;this.rowEl=null;this.probeRowEl=null;this.visibleTabListEl=null;this.resizeObserver=null;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.panelNavTransition=new n;this.panelToolsTransition=new n;this.overflowCoalescer=o((()=>{this.updateSectionsCollapsed()}));this.chromeTransitionShell=null;this.onChromeTransitionStart=e=>{const t=h(e);if(t==="panel-nav"){this.panelNavTransition.enter();return}if(t==="panel-tools"){const t=p(e)??"opening";if(t==="closing"){this.panelToolsTransition.enter()}}};this.onChromeTransitionEnd=e=>{const t=h(e);if(t==="panel-nav"){this.panelNavTransition.exit();if(!this.panelNavTransition.isActive){this.scheduleOverflowCheck()}return}if(t==="panel-tools"){this.panelToolsTransition.exit();this.scheduleOverflowCheck()}};this.toggleSectionMenu=e=>{this.sectionMenuInitialFocusVisible=e.detail===0;this.openActionMenuId="";this.sectionMenuOpen=!this.sectionMenuOpen;if(this.sectionMenuOpen)this.sectionSurfaceOpen=true};this.closeSectionMenu=()=>{this.sectionMenuOpen=false};this.handleSectionSelect=e=>{const t=String(e.detail?.value??"");this.closeSectionMenu();this.selectSection(t);requestAnimationFrame((()=>this.sectionTriggerEl?.focus()))};this.toggleActionMenu=(e,t)=>{this.actionMenuInitialFocusVisible=t.detail===0;this.sectionMenuOpen=false;this.openActionMenuId=this.openActionMenuId===e?"":e;if(this.openActionMenuId)this.surfaceActionMenuId=this.openActionMenuId};this.finishActionMenuClose=e=>{const t=this.surfaceActionMenuId;const i=t==="__overflow"?this.actionMenuId:u("bar-page-title",this.instanceId,this.resolvedActionItems,t);if(this.openActionMenuId!==t&&e.target.id===i){this.surfaceActionMenuId=""}};this.closeActionMenu=()=>{this.openActionMenuId=""};this.handleActionSelect=e=>{const t=String(e.detail?.value??"");const i=f(this.resolvedActionItems,t);if(!i||i.isInactive||"isLoading"in i&&i.isLoading)return;const s=this.openActionMenuId;this.closeActionMenu();this.dsAction.emit(t);requestAnimationFrame((()=>{void v({menuId:s,overflowTrigger:this.actionTriggerEl,actionTriggers:this.actionTriggerEls,resolvedActionItems:this.resolvedActionItems})}))}}componentWillLoad(){this.reportActionIdIssues();this.syncFocusedTabId(this.effectiveValue,this.selectableTabs)}componentDidLoad(){this.setupOverflowObserver();this.bindChromeTransitionListeners();this.scheduleOverflowCheck()}componentDidRender(){if(this.chromeOverflowPaused())return;this.scheduleOverflowCheck()}disconnectedCallback(){this.resizeObserver?.disconnect();this.resizeObserver=null;this.overflowCoalescer.cancel();this.unbindChromeTransitionListeners()}handleSectionsChange(e,t){if(!this.hasSectionSelector){this.closeSectionMenu();this.sectionSurfaceOpen=false;this.sectionsCollapsed=false;this.layoutCommitted=true;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;return}if(m(e)===m(t)){this.syncFocusedTabId(this.effectiveValue,this.selectableTabs);return}this.resetSectionLayout();this.syncFocusedTabId(this.effectiveValue,this.selectableTabs);this.scheduleOverflowCheck()}handleValueChange(){this.syncFocusedTabId(this.effectiveValue,this.selectableTabs);this.scheduleOverflowCheck()}handleLayoutInputsChange(){this.reportActionIdIssues();if(!this.availableActionMenuIds.has(this.openActionMenuId))this.closeActionMenu();if(!this.availableActionMenuIds.has(this.surfaceActionMenuId))this.surfaceActionMenuId="";this.scheduleOverflowCheck()}reportActionIdIssues(){for(const e of _(this.resolvedActionItems)){console.warn(`[ds-bar-page-title] ${e}`)}}get dividerVisible(){return this.showCompactDivider??this.showDivider}get usesChromeTokens(){return this.el.hasAttribute("data-shell-bar")}get shellBarButtonBackground(){return this.usesChromeTokens?"chrome":undefined}get selectableSections(){return w(this.sections)}get hasSectionSelector(){return this.selectableSections.length>1}get sectionTabs(){return x(this.sections)}get selectableTabs(){return g(this.sectionTabs)}get effectiveValue(){return y(this.sections,this.value)}get selectedSectionLabel(){return k(this.sections,this.value)}get sectionTriggerAriaLabel(){return I(this.sectionsAriaLabel,this.selectedSectionLabel)}get sectionMenuSections(){return C(this.sections,this.effectiveValue)}get resolvedActionItems(){return A(this.actionItems,this.primaryAction,this.actions)}get visibleActions(){return T(this.resolvedActionItems,"compact")}get actionMenuSections(){return z(this.resolvedActionItems,"compact")}get showActionMenuTrigger(){return this.actionMenuSections.length>0}get availableActionMenuIds(){return L(this.visibleActions,this.showActionMenuTrigger)}get showSectionTabs(){return this.hasSectionSelector&&this.layoutCommitted&&!this.sectionsCollapsed}get showSectionButton(){return this.hasSectionSelector&&this.layoutCommitted&&this.sectionsCollapsed}resetSectionLayout(){this.layoutCommitted=false;this.sectionsCollapsed=false;this.sectionMenuOpen=false;this.sectionMenuInitialFocusVisible=false;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0}bindChromeTransitionListeners(){const e=this.el.closest("ds-shell-app");if(!e)return;this.chromeTransitionShell=e;e.addEventListener(d,this.onChromeTransitionStart);e.addEventListener(c,this.onChromeTransitionEnd)}unbindChromeTransitionListeners(){if(!this.chromeTransitionShell)return;this.chromeTransitionShell.removeEventListener(d,this.onChromeTransitionStart);this.chromeTransitionShell.removeEventListener(c,this.onChromeTransitionEnd);this.chromeTransitionShell=null}chromeOverflowPaused(){return this.panelNavTransition.isActive||this.panelToolsTransition.isActive}setupOverflowObserver(){if(typeof ResizeObserver==="undefined"||!this.chromeEl)return;this.resizeObserver?.disconnect();this.resizeObserver=new ResizeObserver((()=>{if(this.chromeOverflowPaused())return;this.scheduleOverflowCheck()}));this.resizeObserver.observe(this.chromeEl)}scheduleOverflowCheck(){if(this.chromeOverflowPaused())return;this.overflowCoalescer.schedule()}scheduleIntrinsicWidthRetry(){if(this.intrinsicWidthRetryCount>=e.INTRINSIC_WIDTH_RETRY_MAX)return;this.intrinsicWidthRetryCount++;requestAnimationFrame((()=>this.scheduleOverflowCheck()))}forceTabLayoutCommit(e){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;const t=this.sectionsCollapsed!==e;if(t)this.sectionsCollapsed=e;if(!e&&t){this.closeSectionMenu();this.sectionSurfaceOpen=false}this.layoutCommitted=true}getAvailableWidth(){if(!this.rowEl)return 0;const e=this.rowEl.clientWidth;const t=this.rowEl.querySelector(".bar-page-title__actions");const i=t?.getBoundingClientRect().width??0;const s=getComputedStyle(this.rowEl);const r=parseFloat(s.columnGap||s.gap)||0;return Math.max(0,e-i-(i>0?r:0))}updateSectionsCollapsed(){if(!this.hasSectionSelector){if(this.sectionsCollapsed)this.sectionsCollapsed=false;this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.layoutCommitted=true;return}const t=this.probeRowEl?.scrollWidth??0;const i=this.getAvailableWidth();if(!this.probeRowEl||!this.rowEl||t===0){if(this.layoutCommitted){this.scheduleIntrinsicWidthRetry();return}this.tabLayoutPendingFrames+=1;if(this.intrinsicWidthRetryCount>=e.INTRINSIC_WIDTH_RETRY_MAX||this.tabLayoutPendingFrames>=e.TAB_LAYOUT_COMMIT_MAX_FRAMES){this.forceTabLayoutCommit(false)}else{this.scheduleIntrinsicWidthRetry()}return}this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;const s=l(t,i,this.sectionsCollapsed,e.OVERFLOW_HYSTERESIS_PX);this.forceTabLayoutCommit(s)}syncFocusedTabId(e,t){if(t.some((t=>t.id===e&&!t.isInactive))){this.focusedTabId=e;return}const i=t.find((e=>!e.isInactive));this.focusedTabId=i?.id??""}selectSection(e){const t=this.selectableSections.find((t=>t.id===e));if(!t||t.isInactive)return;this.dsSectionChange.emit(e)}focusVisibleTab(e){this.focusedTabId=e;const t=this.visibleTabListEl?.querySelector(`[data-tab-id="${e}"]`);t?.focus({preventScroll:true})}findEnabledTab(e,t){const i=this.selectableTabs;for(let s=e+t;s>=0&&s<i.length;s+=t){if(!i[s]?.isInactive)return s}return null}handleTabKeyDown(e){const t=this.selectableTabs;if(!t.length)return;const i=e.target?.getAttribute("data-tab-id");const s=i??this.focusedTabId;if(e.key==="Enter"||e.key===" "){const i=t.find((e=>e.id===s));if(!i||i.isInactive)return;e.preventDefault();this.selectSection(i.id);return}const r=t.findIndex((e=>e.id===s));if(r<0)return;let a;if(e.key==="ArrowRight"){a=this.findEnabledTab(r,1)}else if(e.key==="ArrowLeft"){a=this.findEnabledTab(r,-1)}else if(e.key==="Home"){a=t.findIndex((e=>!e.isInactive))}else if(e.key==="End"){const e=[...t].reverse().findIndex((e=>!e.isInactive));a=e<0?null:t.length-1-e}else{return}if(a===null||a<0||a===r)return;e.preventDefault();this.focusVisibleTab(t[a].id)}chromeActionOptions(){return{classPrefix:"bar-page-title",compact:true,visibleActions:this.visibleActions,showOverflowTrigger:this.showActionMenuTrigger,actionItems:this.actionItems,primaryAction:this.primaryAction,resolvedActionItems:this.resolvedActionItems,instanceId:this.instanceId,openActionMenuId:this.openActionMenuId,surfaceActionMenuId:this.surfaceActionMenuId,actionsAriaLabel:this.actionsAriaLabel,actionMenuTriggerId:this.actionMenuTriggerId,actionMenuId:this.actionMenuId,actionTriggers:this.actionTriggerEls,buttonBackground:this.shellBarButtonBackground,setOverflowTriggerEl:e=>{this.actionTriggerEl=e},toggleActionMenu:this.toggleActionMenu,emitAction:e=>this.dsAction.emit(e)}}renderHeading(e){return s("ds-text",{class:"bar-page-title__heading ds-control--md",variant:"text-title-small",emphasis:true,color:"inherit",as:e?"span":"h1",wrap:e?"nowrap":undefined,lineTruncation:e?"none":1},this.heading)}renderTabList(e){return s("div",{role:e?undefined:"tablist",class:"bar-page-title__tab-list","aria-label":e?undefined:this.sectionsAriaLabel,ref:t=>{if(!e)this.visibleTabListEl=t??null},onKeyDown:e?undefined:e=>this.handleTabKeyDown(e)},this.sectionTabs.map(((t,i)=>{if(b(t)){return s("div",{class:"bar-page-title__tab-divider",key:`divider-${i}`,"aria-hidden":"true"},s("div",{class:"bar-page-title__tab-divider-line"}))}const r=t.id===this.effectiveValue;return s("button",{key:t.id,type:"button",role:e?undefined:"tab","data-tab-id":t.id,class:{"bar-page-title__tab":true,"bar-page-title__tab--selected":r,"ds-control--md":true,"ds-focus-ring-inset":true,"ds-control-inactive":!!t.isInactive,"ds-interaction-fill--on-chrome":this.usesChromeTokens},"aria-selected":r?"true":"false","aria-disabled":t.isInactive?"true":undefined,disabled:t.isInactive,tabIndex:!e&&t.id===this.focusedTabId?0:-1,onClick:()=>!e&&this.selectSection(t.id),onFocus:()=>{if(!e)this.focusedTabId=t.id}},s("ds-text",{class:"bar-page-title__tab-label ds-control-label-box",as:"span",variant:"text-body-medium",emphasis:r,color:"inherit"},t.label))})))}renderIdentity(e){return s("div",{class:"bar-page-title__identity"},M({classPrefix:"bar-page-title",showBack:this.showBack,backAriaLabel:this.backAriaLabel,background:this.shellBarButtonBackground,onBack:e=>this.dsBack.emit(e)}),this.renderHeading(e))}renderSectionRegion(){if(!this.hasSectionSelector)return null;if(!this.layoutCommitted){return[s("div",{class:"bar-page-title__divider","aria-hidden":"true"}),s("div",{class:"bar-page-title__tabs-pending","aria-hidden":"true"})]}if(this.showSectionTabs){return[s("div",{class:"bar-page-title__divider","aria-hidden":"true"}),this.renderTabList(false)]}return[s("div",{class:"bar-page-title__divider","aria-hidden":"true"}),S({classPrefix:"bar-page-title",triggerId:this.sectionMenuTriggerId,menuId:this.sectionMenuId,open:this.sectionMenuOpen,surfaceOpen:this.sectionSurfaceOpen,ariaLabel:this.sectionTriggerAriaLabel,selectedLabel:this.selectedSectionLabel,background:this.shellBarButtonBackground,labelColor:this.usesChromeTokens?"inherit":undefined,setTriggerEl:e=>{this.sectionTriggerEl=e},onToggle:this.toggleSectionMenu})]}render(){return s(r,{key:"25e51460cf70c30635f77efc4f80e32d12fb0086"},s("div",{key:"fc310092e051eb8a0d9e024c23c92c38d4fb4a32",class:{"bar-page-title":true,"bar-page-title--divider-hidden":!this.dividerVisible,"ds-chrome-header":true},ref:e=>{this.chromeEl=e??null;if(e&&!this.resizeObserver)this.setupOverflowObserver()}},this.hasSectionSelector?s("div",{class:"bar-page-title__probe","aria-hidden":"true",inert:true},s("div",{class:"bar-page-title__probe-row",ref:e=>{const t=e??null;if(t===this.probeRowEl)return;this.probeRowEl=t;if(t){this.intrinsicWidthRetryCount=0;this.tabLayoutPendingFrames=0;this.scheduleOverflowCheck()}}},this.renderIdentity(true),s("div",{class:"bar-page-title__divider"}),this.renderTabList(true))):null,s("div",{key:"2bea477ef963282b9181aadf6252f4c54b29d13c",class:"bar-page-title__inner"},s("div",{key:"92dfdc57806371ff8c10813bebabf01d614cf23e",class:"bar-page-title__row",ref:e=>{this.rowEl=e??null}},s("div",{key:"744cf0925e90e00b29fe2b920ecc2494391b3b24",class:"bar-page-title__title-row"},this.renderIdentity(false),this.renderSectionRegion()),E(this.chromeActionOptions())))),this.showSectionButton?s("ds-menu",{id:this.sectionMenuId,class:"bar-page-title__section-menu",anchorId:this.sectionMenuTriggerId,menuLabel:this.sectionsAriaLabel,open:this.sectionMenuOpen,initialFocusVisible:this.sectionMenuInitialFocusVisible,sections:this.sectionMenuSections,onDsClose:this.closeSectionMenu,onDsAfterClose:()=>{if(!this.sectionMenuOpen)this.sectionSurfaceOpen=false},onDsSelect:this.handleSectionSelect}):null,j({classPrefix:"bar-page-title",visibleActions:this.visibleActions,instanceId:this.instanceId,resolvedActionItems:this.resolvedActionItems,openActionMenuId:this.openActionMenuId,actionMenuInitialFocusVisible:this.actionMenuInitialFocusVisible,overflowTrigger:this.actionTriggerEl,actionTriggers:this.actionTriggerEls,closeActionMenu:this.closeActionMenu,finishActionMenuClose:this.finishActionMenuClose,handleActionSelect:this.handleActionSelect}),B({classPrefix:"bar-page-title",showOverflowTrigger:this.showActionMenuTrigger,actionMenuId:this.actionMenuId,actionMenuTriggerId:this.actionMenuTriggerId,actionsAriaLabel:this.actionsAriaLabel,open:this.openActionMenuId==="__overflow",actionMenuInitialFocusVisible:this.actionMenuInitialFocusVisible,actionMenuSections:this.actionMenuSections,closeActionMenu:this.closeActionMenu,finishActionMenuClose:this.finishActionMenuClose,handleActionSelect:this.handleActionSelect}))}get el(){return this}static get watchers(){return{sections:[{handleSectionsChange:0}],value:[{handleValueChange:0}],heading:[{handleLayoutInputsChange:0}],showBack:[{handleLayoutInputsChange:0}],primaryAction:[{handleLayoutInputsChange:0}],actions:[{handleLayoutInputsChange:0}],actionItems:[{handleLayoutInputsChange:0}]}}static get style(){return Q()}},[2,"ds-bar-page-title",{heading:[1],showBack:[4,"show-back"],backAriaLabel:[1,"back-aria-label"],sections:[16],value:[1],sectionsAriaLabel:[1,"sections-aria-label"],primaryAction:[16],actions:[16],actionItems:[16],actionsAriaLabel:[1,"actions-aria-label"],showDivider:[4,"show-divider"],showCompactDivider:[4,"show-compact-divider"],sectionMenuOpen:[32],openActionMenuId:[32],surfaceActionMenuId:[32],sectionSurfaceOpen:[32],sectionMenuInitialFocusVisible:[32],actionMenuInitialFocusVisible:[32],sectionsCollapsed:[32],layoutCommitted:[32],focusedTabId:[32]},undefined,{sections:[{handleSectionsChange:0}],value:[{handleValueChange:0}],heading:[{handleLayoutInputsChange:0}],showBack:[{handleLayoutInputsChange:0}],primaryAction:[{handleLayoutInputsChange:0}],actions:[{handleLayoutInputsChange:0}],actionItems:[{handleLayoutInputsChange:0}]}]);X.INTRINSIC_WIDTH_RETRY_MAX=3;X.TAB_LAYOUT_COMMIT_MAX_FRAMES=16;X.OVERFLOW_HYSTERESIS_PX=8;function J(){if(typeof customElements==="undefined"){return}const e=["ds-bar-page-title","ds-badge","ds-button-filled","ds-button-unfilled","ds-icon","ds-loader","ds-menu","ds-swatch-picker","ds-switch","ds-tag","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-bar-page-title":if(!customElements.get(a(e))){customElements.define(a(e),X)}break;case"ds-badge":if(!customElements.get(a(e))){D()}break;case"ds-button-filled":if(!customElements.get(a(e))){O()}break;case"ds-button-unfilled":if(!customElements.get(a(e))){F()}break;case"ds-icon":if(!customElements.get(a(e))){V()}break;case"ds-loader":if(!customElements.get(a(e))){R()}break;case"ds-menu":if(!customElements.get(a(e))){H()}break;case"ds-swatch-picker":if(!customElements.get(a(e))){q()}break;case"ds-switch":if(!customElements.get(a(e))){$()}break;case"ds-tag":if(!customElements.get(a(e))){P()}break;case"ds-text":if(!customElements.get(a(e))){W()}break;case"ds-tooltip":if(!customElements.get(a(e))){G()}break}}))}J();export{X as B,J as d};
|
|
2
|
+
//# sourceMappingURL=p-DYsE6HLk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["barPageTitleCss","nextBarPageTitleId","BarPageTitle","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","showBack","backAriaLabel","sections","value","sectionsAriaLabel","primaryAction","actions","actionsAriaLabel","showDivider","sectionMenuOpen","openActionMenuId","surfaceActionMenuId","sectionSurfaceOpen","sectionMenuInitialFocusVisible","actionMenuInitialFocusVisible","sectionsCollapsed","layoutCommitted","focusedTabId","instanceId","sectionMenuTriggerId","sectionMenuId","actionMenuTriggerId","actionMenuId","sectionTriggerEl","actionTriggerEl","actionTriggerEls","Map","chromeEl","rowEl","probeRowEl","visibleTabListEl","resizeObserver","intrinsicWidthRetryCount","tabLayoutPendingFrames","panelNavTransition","ChromeTransitionGate","panelToolsTransition","overflowCoalescer","createRafCoalescer","updateSectionsCollapsed","chromeTransitionShell","onChromeTransitionStart","event","source","readChromeTransitionSource","enter","phase","readChromeTransitionPhase","onChromeTransitionEnd","exit","isActive","scheduleOverflowCheck","toggleSectionMenu","detail","closeSectionMenu","handleSectionSelect","id","String","selectSection","requestAnimationFrame","focus","toggleActionMenu","finishActionMenuClose","domId","barTitleActionMenuDomId","resolvedActionItems","target","closeActionMenu","handleActionSelect","action","findBarTitleAction","isInactive","isLoading","menuId","dsAction","emit","restoreBarTitleActionFocus","overflowTrigger","actionTriggers","componentWillLoad","reportActionIdIssues","syncFocusedTabId","effectiveValue","selectableTabs","componentDidLoad","setupOverflowObserver","bindChromeTransitionListeners","componentDidRender","chromeOverflowPaused","disconnectedCallback","disconnect","cancel","unbindChromeTransitionListeners","handleSectionsChange","next","prev","hasSectionSelector","barTitleSectionsDigest","resetSectionLayout","handleValueChange","handleLayoutInputsChange","availableActionMenuIds","has","issue","barTitleActionIdIssues","console","warn","dividerVisible","showCompactDivider","usesChromeTokens","el","hasAttribute","shellBarButtonBackground","undefined","selectableSections","selectableBarTitleSections","length","sectionTabs","barTitleSectionsToTabs","getSelectableTabs","effectiveBarTitleSectionValue","selectedSectionLabel","selectedBarTitleSectionLabel","sectionTriggerAriaLabel","barTitleSectionTriggerAriaLabel","sectionMenuSections","barTitleSectionMenuSections","resolveBarTitleActionItems","actionItems","visibleActions","visibleBarTitleActions","actionMenuSections","overflowBarTitleActionSections","showActionMenuTrigger","availableBarTitleActionMenuIds","showSectionTabs","showSectionButton","shell","closest","addEventListener","CHROME_TRANSITION_START","CHROME_TRANSITION_END","removeEventListener","ResizeObserver","observe","schedule","scheduleIntrinsicWidthRetry","INTRINSIC_WIDTH_RETRY_MAX","forceTabLayoutCommit","collapsed","collapsedChanged","getAvailableWidth","rowWidth","clientWidth","querySelector","actionsWidth","getBoundingClientRect","width","style","getComputedStyle","gap","parseFloat","columnGap","Math","max","probeWidth","scrollWidth","available","TAB_LAYOUT_COMMIT_MAX_FRAMES","shouldCollapse","tabsOverflowContainer","OVERFLOW_HYSTERESIS_PX","preferred","tabs","some","tab","first","find","selected","section","dsSectionChange","focusVisibleTab","preventScroll","findEnabledTab","from","step","index","handleTabKeyDown","targetId","getAttribute","focusedId","key","focused","preventDefault","currentIndex","findIndex","nextIndex","reversedIndex","reverse","chromeActionOptions","classPrefix","compact","showOverflowTrigger","buttonBackground","setOverflowTriggerEl","emitAction","renderHeading","probe","h","class","variant","emphasis","color","as","wrap","lineTruncation","heading","renderTabList","role","ref","onKeyDown","map","isTabDivider","isSelected","type","disabled","tabIndex","onClick","onFocus","label","renderIdentity","renderBarTitleBack","background","onBack","dsBack","renderSectionRegion","renderBarTitleSectionTrigger","triggerId","open","surfaceOpen","ariaLabel","selectedLabel","labelColor","setTriggerEl","onToggle","render","Host","inert","renderBarTitleActions","anchorId","menuLabel","initialFocusVisible","onDsClose","onDsAfterClose","onDsSelect","renderBarTitleActionMenus","renderBarTitleOverflowMenu"],"sources":["src/wc/components/BarPageTitle/BarPageTitle.css?tag=ds-bar-page-title&encapsulation=scoped","src/wc/components/BarPageTitle/BarPageTitle.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/control-parts.css';\n@import '../../utils/chrome-header.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 min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-secondary);\n --_bar-page-title-fg-primary: var(--color-foreground-primary);\n --_bar-page-title-fg-secondary: var(--color-foreground-secondary);\n --_bar-page-title-hover: var(--color-interaction-hover);\n --_bar-page-title-pressed: var(--color-interaction-pressed);\n --_bar-page-title-focus: var(--color-interaction-focus);\n --_bar-page-title-border: var(--color-border-tertiary);\n --ds-focus-ring-color: var(--_bar-page-title-focus);\n}\n\n:host([data-shell-bar]) {\n background: transparent;\n color: var(--_bar-page-title-fg-primary);\n --_bar-page-title-fg-primary: var(--color-chrome-foreground-primary);\n --_bar-page-title-fg-secondary: var(--color-chrome-foreground-secondary);\n --_bar-page-title-hover: var(--color-chrome-interaction-hover);\n --_bar-page-title-pressed: var(--color-chrome-interaction-pressed);\n --_bar-page-title-focus: var(--color-chrome-interaction-focus);\n --_bar-page-title-border: var(--color-chrome-border-tertiary);\n --ds-focus-ring-color: var(--_bar-page-title-focus);\n}\n\n:host-context(ds-shell-app:not([gradient-preset='none'])),\n:host-context(ds-shell-app:not([gradient-preset='none'])) .bar-page-title,\n:host-context(ds-shell-app.shell-app--paper-texture),\n:host-context(ds-shell-app.shell-app--paper-texture) .bar-page-title {\n background: transparent;\n}\n\n.bar-page-title {\n position: relative;\n height: var(--dimension-size-600);\n min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-secondary);\n color: var(--_bar-page-title-fg-primary);\n}\n\n:host([data-shell-bar]) .bar-page-title {\n background: transparent;\n}\n\n.bar-page-title::after {\n content: '';\n position: absolute;\n inset: auto 0 0;\n height: var(--dimension-stroke-width-012);\n background: var(--_bar-page-title-border);\n pointer-events: none;\n}\n\n.bar-page-title--divider-hidden::after {\n display: none;\n}\n\n.bar-page-title__inner {\n position: relative;\n z-index: 1;\n flex: 1 1 auto;\n height: 100%;\n min-width: 0;\n padding: 0;\n gap: 0;\n}\n\n.bar-page-title__row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--dimension-space-100);\n height: 100%;\n min-width: 0;\n}\n\n.bar-page-title__title-row {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n min-width: 0;\n min-height: var(--dimension-size-400);\n flex: 1 1 auto;\n}\n\n.bar-page-title__identity {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n height: var(--dimension-size-400);\n}\n\n.bar-page-title__back,\n.bar-page-title__section-chevron {\n flex: 0 0 auto;\n}\n\n.bar-page-title__heading {\n display: inline-flex;\n flex: 1 1 auto;\n align-items: center;\n width: auto;\n min-width: 0;\n height: var(--dimension-size-400);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n user-select: none;\n}\n\n.bar-page-title__divider {\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-size-250);\n flex: 0 0 var(--dimension-stroke-width-012);\n background: var(--_bar-page-title-border);\n}\n\n.bar-page-title__section-selector {\n display: flex;\n flex: 0 1 auto;\n min-width: 0;\n max-width: var(--dimension-panel-width-sm);\n}\n\n.bar-page-title__section-trigger {\n --ds-control-radius: var(--dimension-radius-half);\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-control-gap);\n height: var(--ds-control-height);\n min-width: 0;\n max-width: 100%;\n padding-inline: var(--ds-control-padding-inline);\n border: none;\n border-radius: var(--ds-control-radius);\n box-sizing: border-box;\n background: transparent;\n color: var(--color-foreground-secondary);\n cursor: default;\n font-family: inherit;\n user-select: none;\n}\n\n:host([data-shell-bar]) .bar-page-title__section-trigger {\n color: var(--_bar-page-title-fg-primary);\n}\n\n.bar-page-title__section-label {\n min-width: 0;\n padding-inline: var(--ds-control-label-inset);\n}\n\n.bar-page-title__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n flex: 0 0 auto;\n}\n\n.bar-page-title__probe {\n position: absolute;\n left: 0;\n top: 0;\n visibility: hidden;\n pointer-events: none;\n overflow: visible;\n width: max-content;\n max-width: none;\n z-index: -1;\n}\n\n.bar-page-title__probe-row {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n width: max-content;\n max-width: none;\n}\n\n.bar-page-title__probe .bar-page-title__identity,\n.bar-page-title__probe .bar-page-title__heading {\n flex: 0 0 auto;\n width: max-content;\n min-width: 0;\n max-width: none;\n}\n\n.bar-page-title__tabs-pending {\n flex: 0 0 auto;\n width: var(--dimension-size-400);\n height: var(--ds-control-height);\n visibility: hidden;\n pointer-events: none;\n}\n\n.bar-page-title__tab-list {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n position: relative;\n width: max-content;\n flex: 0 0 auto;\n min-width: 0;\n}\n\n.bar-page-title__tab {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-control-gap);\n height: var(--ds-control-height);\n min-width: var(--ds-control-height);\n padding: 0 var(--ds-control-padding-inline);\n box-sizing: border-box;\n border: none;\n border-radius: var(--ds-control-radius);\n background-color: transparent;\n color: var(--_bar-page-title-fg-secondary);\n cursor: default;\n position: relative;\n flex-shrink: 0;\n -webkit-user-select: none;\n user-select: none;\n transition: color var(--effect-motion-short-2);\n}\n\n.bar-page-title__tab::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: var(--ds-control-radius);\n background: transparent;\n pointer-events: none;\n cursor: inherit;\n}\n\n@media (hover: hover) and (pointer: fine) {\n .bar-page-title__tab:hover::after {\n background: var(--_bar-page-title-hover);\n }\n}\n\n.bar-page-title__tab:active::after {\n background: var(--_bar-page-title-pressed);\n}\n\n.bar-page-title__tab--selected {\n color: var(--_bar-page-title-fg-primary);\n}\n\n.bar-page-title__tab-label {\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n}\n\n.bar-page-title__tab-divider {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--dimension-space-100);\n height: var(--ds-control-height);\n padding-block: var(--ds-control-padding-inline);\n flex-shrink: 0;\n pointer-events: none;\n}\n\n.bar-page-title__tab-divider-line {\n width: var(--dimension-stroke-width-012);\n align-self: stretch;\n background-color: var(--_bar-page-title-border);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport {\n CHROME_TRANSITION_END,\n CHROME_TRANSITION_START,\n ChromeTransitionGate,\n createRafCoalescer,\n readChromeTransitionPhase,\n readChromeTransitionSource,\n} from '../../shell/chrome-transition';\nimport type { MenuItemData } from '../Menu/menu-types';\nimport { tabsOverflowContainer } from '../BarNav/bar-nav-tabs-menu-utils';\nimport { getSelectableTabs, isTabDivider, type TabItemTab } from '../TabGroup/tab-item-utils';\nimport {\n availableBarTitleActionMenuIds,\n barTitleActionIdIssues,\n findBarTitleAction,\n overflowBarTitleActionSections,\n resolveBarTitleActionItems,\n visibleBarTitleActions,\n} from '../BarTitle/bar-title-actions';\nimport {\n type FocusableBarTitleButton,\n barTitleActionMenuDomId,\n renderBarTitleActionMenus,\n renderBarTitleActions,\n renderBarTitleBack,\n renderBarTitleOverflowMenu,\n renderBarTitleSectionTrigger,\n restoreBarTitleActionFocus,\n} from '../BarTitle/bar-title-action-chrome';\nimport {\n barTitleSectionMenuSections,\n barTitleSectionTriggerAriaLabel,\n barTitleSectionsDigest,\n barTitleSectionsToTabs,\n effectiveBarTitleSectionValue,\n selectableBarTitleSections,\n selectedBarTitleSectionLabel,\n} from '../BarTitle/bar-title-sections';\nimport type {\n BarTitleActionConfigItem,\n BarTitleActionItem,\n BarTitlePrimaryAction,\n BarTitleSectionItem,\n} from '../BarTitle/bar-title-types';\n\nlet nextBarPageTitleId = 0;\n\n@Component({\n tag: 'ds-bar-page-title',\n styleUrl: 'BarPageTitle.css',\n scoped: true,\n})\nexport class BarPageTitle {\n private static readonly INTRINSIC_WIDTH_RETRY_MAX = 3;\n private static readonly TAB_LAYOUT_COMMIT_MAX_FRAMES = 16;\n private static readonly OVERFLOW_HYSTERESIS_PX = 8;\n\n @Element() el!: HTMLElement;\n\n /** The page's single visible h1. */\n @Prop() heading!: string;\n\n /** Show the leading page-level Back action. */\n @Prop({ attribute: 'show-back' }) showBack: boolean = false;\n\n /** Accessible name for the leading Back action. */\n @Prop() backAriaLabel: string = 'Back';\n\n /** Optional page sections shown as an all-or-nothing tab row, or the compact section button. */\n @Prop() sections: BarTitleSectionItem[] = [];\n\n /** Id of the active page section. */\n @Prop() value: string = '';\n\n /** Accessible name for the page-section tablist and menu. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n\n /** The one highest-emphasis page action. */\n @Prop() primaryAction: BarTitlePrimaryAction | null = null;\n\n /** Secondary page actions shown in the overflow menu. Dividers create groups. */\n @Prop() actions: BarTitleActionItem[] = [];\n\n /**\n * Ordered page-header actions. When supplied, this replaces the legacy\n * primaryAction/actions presentation while preserving the same dsAction event.\n */\n @Prop() actionItems?: BarTitleActionConfigItem[];\n\n /** Accessible name for the page-actions menu. */\n @Prop() actionsAriaLabel: string = 'More page actions';\n\n /** Draw the compact bottom divider beneath the header. */\n @Prop() showDivider: boolean = true;\n\n /** Override divider visibility for the compact shell-bar presentation. */\n @Prop() showCompactDivider?: boolean;\n\n /** Emitted when the leading Back action is activated. */\n @Event() dsBack!: EventEmitter<MouseEvent>;\n\n /** Emitted with the newly selected page-section id. */\n @Event() dsSectionChange!: EventEmitter<string>;\n\n /** Emitted with the activated primary or overflow action id. */\n @Event() dsAction!: EventEmitter<string>;\n\n @State() private sectionMenuOpen = false;\n @State() private openActionMenuId = '';\n @State() private surfaceActionMenuId = '';\n @State() private sectionSurfaceOpen = false;\n @State() private sectionMenuInitialFocusVisible = false;\n @State() private actionMenuInitialFocusVisible = false;\n @State() private sectionsCollapsed = false;\n @State() private layoutCommitted = false;\n @State() private focusedTabId = '';\n\n private readonly instanceId = nextBarPageTitleId++;\n private readonly sectionMenuTriggerId = `bar-page-title-section-trigger-${this.instanceId}`;\n private readonly sectionMenuId = `bar-page-title-section-menu-${this.instanceId}`;\n private readonly actionMenuTriggerId = `bar-page-title-action-trigger-${this.instanceId}`;\n private readonly actionMenuId = `bar-page-title-action-menu-${this.instanceId}`;\n private sectionTriggerEl: HTMLButtonElement | null = null;\n private actionTriggerEl: FocusableBarTitleButton | null = null;\n private actionTriggerEls = new Map<string, FocusableBarTitleButton>();\n private chromeEl: HTMLElement | null = null;\n private rowEl: HTMLElement | null = null;\n private probeRowEl: HTMLElement | null = null;\n private visibleTabListEl: HTMLElement | null = null;\n private resizeObserver: ResizeObserver | null = null;\n private intrinsicWidthRetryCount = 0;\n private tabLayoutPendingFrames = 0;\n private readonly panelNavTransition = new ChromeTransitionGate();\n private readonly panelToolsTransition = new ChromeTransitionGate();\n private readonly overflowCoalescer = createRafCoalescer(() => {\n this.updateSectionsCollapsed();\n });\n private chromeTransitionShell: HTMLElement | null = null;\n\n componentWillLoad() {\n this.reportActionIdIssues();\n this.syncFocusedTabId(this.effectiveValue, this.selectableTabs);\n }\n\n componentDidLoad() {\n this.setupOverflowObserver();\n this.bindChromeTransitionListeners();\n this.scheduleOverflowCheck();\n }\n\n componentDidRender() {\n if (this.chromeOverflowPaused()) return;\n this.scheduleOverflowCheck();\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n this.overflowCoalescer.cancel();\n this.unbindChromeTransitionListeners();\n }\n\n @Watch('sections')\n handleSectionsChange(next: BarTitleSectionItem[], prev: BarTitleSectionItem[]) {\n if (!this.hasSectionSelector) {\n this.closeSectionMenu();\n this.sectionSurfaceOpen = false;\n this.sectionsCollapsed = false;\n this.layoutCommitted = true;\n this.intrinsicWidthRetryCount = 0;\n this.tabLayoutPendingFrames = 0;\n return;\n }\n if (barTitleSectionsDigest(next) === barTitleSectionsDigest(prev)) {\n this.syncFocusedTabId(this.effectiveValue, this.selectableTabs);\n return;\n }\n this.resetSectionLayout();\n this.syncFocusedTabId(this.effectiveValue, this.selectableTabs);\n this.scheduleOverflowCheck();\n }\n\n @Watch('value')\n handleValueChange() {\n this.syncFocusedTabId(this.effectiveValue, this.selectableTabs);\n this.scheduleOverflowCheck();\n }\n\n @Watch('heading')\n @Watch('showBack')\n @Watch('primaryAction')\n @Watch('actions')\n @Watch('actionItems')\n handleLayoutInputsChange() {\n this.reportActionIdIssues();\n if (!this.availableActionMenuIds.has(this.openActionMenuId)) this.closeActionMenu();\n if (!this.availableActionMenuIds.has(this.surfaceActionMenuId)) this.surfaceActionMenuId = '';\n this.scheduleOverflowCheck();\n }\n\n private reportActionIdIssues() {\n for (const issue of barTitleActionIdIssues(this.resolvedActionItems)) {\n console.warn(`[ds-bar-page-title] ${issue}`);\n }\n }\n\n private get dividerVisible(): boolean {\n return this.showCompactDivider ?? this.showDivider;\n }\n\n private get usesChromeTokens(): boolean {\n return this.el.hasAttribute('data-shell-bar');\n }\n\n private get shellBarButtonBackground(): 'chrome' | undefined {\n return this.usesChromeTokens ? 'chrome' : undefined;\n }\n\n private get selectableSections() {\n return selectableBarTitleSections(this.sections);\n }\n\n private get hasSectionSelector(): boolean {\n return this.selectableSections.length > 1;\n }\n\n private get sectionTabs() {\n return barTitleSectionsToTabs(this.sections);\n }\n\n private get selectableTabs(): TabItemTab[] {\n return getSelectableTabs(this.sectionTabs);\n }\n\n private get effectiveValue(): string {\n return effectiveBarTitleSectionValue(this.sections, this.value);\n }\n\n private get selectedSectionLabel(): string {\n return selectedBarTitleSectionLabel(this.sections, this.value);\n }\n\n private get sectionTriggerAriaLabel(): string {\n return barTitleSectionTriggerAriaLabel(this.sectionsAriaLabel, this.selectedSectionLabel);\n }\n\n private get sectionMenuSections() {\n return barTitleSectionMenuSections(this.sections, this.effectiveValue);\n }\n\n private get resolvedActionItems(): BarTitleActionConfigItem[] {\n return resolveBarTitleActionItems(this.actionItems, this.primaryAction, this.actions);\n }\n\n private get visibleActions(): BarTitleActionConfigItem[] {\n return visibleBarTitleActions(this.resolvedActionItems, 'compact');\n }\n\n private get actionMenuSections() {\n return overflowBarTitleActionSections(this.resolvedActionItems, 'compact');\n }\n\n private get showActionMenuTrigger(): boolean {\n return this.actionMenuSections.length > 0;\n }\n\n private get availableActionMenuIds(): Set<string> {\n return availableBarTitleActionMenuIds(this.visibleActions, this.showActionMenuTrigger);\n }\n\n private get showSectionTabs(): boolean {\n return this.hasSectionSelector && this.layoutCommitted && !this.sectionsCollapsed;\n }\n\n private get showSectionButton(): boolean {\n return this.hasSectionSelector && this.layoutCommitted && this.sectionsCollapsed;\n }\n\n private resetSectionLayout() {\n this.layoutCommitted = false;\n this.sectionsCollapsed = false;\n this.sectionMenuOpen = false;\n this.sectionMenuInitialFocusVisible = false;\n this.intrinsicWidthRetryCount = 0;\n this.tabLayoutPendingFrames = 0;\n }\n\n private bindChromeTransitionListeners() {\n const shell = this.el.closest<HTMLElement>('ds-shell-app');\n if (!shell) return;\n this.chromeTransitionShell = shell;\n shell.addEventListener(CHROME_TRANSITION_START, this.onChromeTransitionStart);\n shell.addEventListener(CHROME_TRANSITION_END, this.onChromeTransitionEnd);\n }\n\n private unbindChromeTransitionListeners() {\n if (!this.chromeTransitionShell) return;\n this.chromeTransitionShell.removeEventListener(\n CHROME_TRANSITION_START,\n this.onChromeTransitionStart\n );\n this.chromeTransitionShell.removeEventListener(\n CHROME_TRANSITION_END,\n this.onChromeTransitionEnd\n );\n this.chromeTransitionShell = null;\n }\n\n private onChromeTransitionStart = (event: Event) => {\n const source = readChromeTransitionSource(event);\n if (source === 'panel-nav') {\n this.panelNavTransition.enter();\n return;\n }\n if (source === 'panel-tools') {\n const phase = readChromeTransitionPhase(event) ?? 'opening';\n if (phase === 'closing') {\n this.panelToolsTransition.enter();\n }\n }\n };\n\n private chromeOverflowPaused(): boolean {\n return this.panelNavTransition.isActive || this.panelToolsTransition.isActive;\n }\n\n private onChromeTransitionEnd = (event: Event) => {\n const source = readChromeTransitionSource(event);\n if (source === 'panel-nav') {\n this.panelNavTransition.exit();\n if (!this.panelNavTransition.isActive) {\n this.scheduleOverflowCheck();\n }\n return;\n }\n if (source === 'panel-tools') {\n this.panelToolsTransition.exit();\n this.scheduleOverflowCheck();\n }\n };\n\n private setupOverflowObserver() {\n if (typeof ResizeObserver === 'undefined' || !this.chromeEl) return;\n this.resizeObserver?.disconnect();\n this.resizeObserver = new ResizeObserver(() => {\n if (this.chromeOverflowPaused()) return;\n this.scheduleOverflowCheck();\n });\n this.resizeObserver.observe(this.chromeEl);\n }\n\n private scheduleOverflowCheck() {\n if (this.chromeOverflowPaused()) return;\n this.overflowCoalescer.schedule();\n }\n\n private scheduleIntrinsicWidthRetry() {\n if (this.intrinsicWidthRetryCount >= BarPageTitle.INTRINSIC_WIDTH_RETRY_MAX) return;\n this.intrinsicWidthRetryCount++;\n requestAnimationFrame(() => this.scheduleOverflowCheck());\n }\n\n private forceTabLayoutCommit(collapsed: boolean) {\n this.intrinsicWidthRetryCount = 0;\n this.tabLayoutPendingFrames = 0;\n const collapsedChanged = this.sectionsCollapsed !== collapsed;\n if (collapsedChanged) this.sectionsCollapsed = collapsed;\n if (!collapsed && collapsedChanged) {\n this.closeSectionMenu();\n this.sectionSurfaceOpen = false;\n }\n this.layoutCommitted = true;\n }\n\n private getAvailableWidth(): number {\n if (!this.rowEl) return 0;\n const rowWidth = this.rowEl.clientWidth;\n const actions = this.rowEl.querySelector<HTMLElement>('.bar-page-title__actions');\n const actionsWidth = actions?.getBoundingClientRect().width ?? 0;\n const style = getComputedStyle(this.rowEl);\n const gap = parseFloat(style.columnGap || style.gap) || 0;\n return Math.max(0, rowWidth - actionsWidth - (actionsWidth > 0 ? gap : 0));\n }\n\n private updateSectionsCollapsed() {\n if (!this.hasSectionSelector) {\n if (this.sectionsCollapsed) this.sectionsCollapsed = false;\n this.intrinsicWidthRetryCount = 0;\n this.tabLayoutPendingFrames = 0;\n this.layoutCommitted = true;\n return;\n }\n\n const probeWidth = this.probeRowEl?.scrollWidth ?? 0;\n const available = this.getAvailableWidth();\n if (!this.probeRowEl || !this.rowEl || probeWidth === 0) {\n if (this.layoutCommitted) {\n this.scheduleIntrinsicWidthRetry();\n return;\n }\n this.tabLayoutPendingFrames += 1;\n if (\n this.intrinsicWidthRetryCount >= BarPageTitle.INTRINSIC_WIDTH_RETRY_MAX ||\n this.tabLayoutPendingFrames >= BarPageTitle.TAB_LAYOUT_COMMIT_MAX_FRAMES\n ) {\n this.forceTabLayoutCommit(false);\n } else {\n this.scheduleIntrinsicWidthRetry();\n }\n return;\n }\n\n this.intrinsicWidthRetryCount = 0;\n this.tabLayoutPendingFrames = 0;\n const shouldCollapse = tabsOverflowContainer(\n probeWidth,\n available,\n this.sectionsCollapsed,\n BarPageTitle.OVERFLOW_HYSTERESIS_PX\n );\n this.forceTabLayoutCommit(shouldCollapse);\n }\n\n private syncFocusedTabId(preferred: string, tabs: TabItemTab[]) {\n if (tabs.some(tab => tab.id === preferred && !tab.isInactive)) {\n this.focusedTabId = preferred;\n return;\n }\n const first = tabs.find(tab => !tab.isInactive);\n this.focusedTabId = first?.id ?? '';\n }\n\n private selectSection(id: string) {\n const selected = this.selectableSections.find(section => section.id === id);\n if (!selected || selected.isInactive) return;\n this.dsSectionChange.emit(id);\n }\n\n private toggleSectionMenu = (event: MouseEvent) => {\n this.sectionMenuInitialFocusVisible = event.detail === 0;\n this.openActionMenuId = '';\n this.sectionMenuOpen = !this.sectionMenuOpen;\n if (this.sectionMenuOpen) this.sectionSurfaceOpen = true;\n };\n\n private closeSectionMenu = () => {\n this.sectionMenuOpen = false;\n };\n\n private handleSectionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n this.closeSectionMenu();\n this.selectSection(id);\n requestAnimationFrame(() => this.sectionTriggerEl?.focus());\n };\n\n private toggleActionMenu = (id: string, event: MouseEvent) => {\n this.actionMenuInitialFocusVisible = event.detail === 0;\n this.sectionMenuOpen = false;\n this.openActionMenuId = this.openActionMenuId === id ? '' : id;\n if (this.openActionMenuId) this.surfaceActionMenuId = this.openActionMenuId;\n };\n\n private finishActionMenuClose = (event: CustomEvent<void>) => {\n const id = this.surfaceActionMenuId;\n const domId =\n id === '__overflow'\n ? this.actionMenuId\n : barTitleActionMenuDomId('bar-page-title', this.instanceId, this.resolvedActionItems, id);\n if (this.openActionMenuId !== id && (event.target as HTMLElement).id === domId) {\n this.surfaceActionMenuId = '';\n }\n };\n\n private closeActionMenu = () => {\n this.openActionMenuId = '';\n };\n\n private handleActionSelect = (event: CustomEvent<MenuItemData>) => {\n const id = String(event.detail?.value ?? '');\n const action = findBarTitleAction(this.resolvedActionItems, id);\n if (!action || action.isInactive || ('isLoading' in action && action.isLoading)) return;\n const menuId = this.openActionMenuId;\n this.closeActionMenu();\n this.dsAction.emit(id);\n requestAnimationFrame(() => {\n void restoreBarTitleActionFocus({\n menuId,\n overflowTrigger: this.actionTriggerEl,\n actionTriggers: this.actionTriggerEls,\n resolvedActionItems: this.resolvedActionItems,\n });\n });\n };\n\n private focusVisibleTab(id: string) {\n this.focusedTabId = id;\n const tab = this.visibleTabListEl?.querySelector(`[data-tab-id=\"${id}\"]`) as HTMLElement | null;\n tab?.focus({ preventScroll: true });\n }\n\n private findEnabledTab(from: number, step: 1 | -1): number | null {\n const tabs = this.selectableTabs;\n for (let index = from + step; index >= 0 && index < tabs.length; index += step) {\n if (!tabs[index]?.isInactive) return index;\n }\n return null;\n }\n\n private handleTabKeyDown(event: KeyboardEvent) {\n const tabs = this.selectableTabs;\n if (!tabs.length) return;\n const targetId = (event.target as HTMLElement | null)?.getAttribute('data-tab-id');\n const focusedId = targetId ?? this.focusedTabId;\n\n if (event.key === 'Enter' || event.key === ' ') {\n const focused = tabs.find(tab => tab.id === focusedId);\n if (!focused || focused.isInactive) return;\n event.preventDefault();\n this.selectSection(focused.id);\n return;\n }\n\n const currentIndex = tabs.findIndex(tab => tab.id === focusedId);\n if (currentIndex < 0) return;\n\n let nextIndex: number | null;\n if (event.key === 'ArrowRight') {\n nextIndex = this.findEnabledTab(currentIndex, 1);\n } else if (event.key === 'ArrowLeft') {\n nextIndex = this.findEnabledTab(currentIndex, -1);\n } else if (event.key === 'Home') {\n nextIndex = tabs.findIndex(tab => !tab.isInactive);\n } else if (event.key === 'End') {\n const reversedIndex = [...tabs].reverse().findIndex(tab => !tab.isInactive);\n nextIndex = reversedIndex < 0 ? null : tabs.length - 1 - reversedIndex;\n } else {\n return;\n }\n\n if (nextIndex === null || nextIndex < 0 || nextIndex === currentIndex) return;\n event.preventDefault();\n this.focusVisibleTab(tabs[nextIndex].id);\n }\n\n private chromeActionOptions() {\n return {\n classPrefix: 'bar-page-title',\n compact: true,\n visibleActions: this.visibleActions,\n showOverflowTrigger: this.showActionMenuTrigger,\n actionItems: this.actionItems,\n primaryAction: this.primaryAction,\n resolvedActionItems: this.resolvedActionItems,\n instanceId: this.instanceId,\n openActionMenuId: this.openActionMenuId,\n surfaceActionMenuId: this.surfaceActionMenuId,\n actionsAriaLabel: this.actionsAriaLabel,\n actionMenuTriggerId: this.actionMenuTriggerId,\n actionMenuId: this.actionMenuId,\n actionTriggers: this.actionTriggerEls,\n buttonBackground: this.shellBarButtonBackground,\n setOverflowTriggerEl: (el: FocusableBarTitleButton | null) => {\n this.actionTriggerEl = el;\n },\n toggleActionMenu: this.toggleActionMenu,\n emitAction: (id: string) => this.dsAction.emit(id),\n };\n }\n\n private renderHeading(probe: boolean) {\n return (\n <ds-text\n class=\"bar-page-title__heading ds-control--md\"\n variant=\"text-title-small\"\n emphasis\n color=\"inherit\"\n as={probe ? 'span' : 'h1'}\n wrap={probe ? 'nowrap' : undefined}\n lineTruncation={probe ? 'none' : 1}\n >\n {this.heading}\n </ds-text>\n );\n }\n\n private renderTabList(probe: boolean) {\n return (\n <div\n role={probe ? undefined : 'tablist'}\n class=\"bar-page-title__tab-list\"\n aria-label={probe ? undefined : this.sectionsAriaLabel}\n ref={el => {\n if (!probe) this.visibleTabListEl = (el as HTMLElement) ?? null;\n }}\n onKeyDown={probe ? undefined : (event: KeyboardEvent) => this.handleTabKeyDown(event)}\n >\n {this.sectionTabs.map((tab, index) => {\n if (isTabDivider(tab)) {\n return (\n <div class=\"bar-page-title__tab-divider\" key={`divider-${index}`} aria-hidden=\"true\">\n <div class=\"bar-page-title__tab-divider-line\" />\n </div>\n );\n }\n\n const isSelected = tab.id === this.effectiveValue;\n return (\n <button\n key={tab.id}\n type=\"button\"\n role={probe ? undefined : 'tab'}\n data-tab-id={tab.id}\n class={{\n 'bar-page-title__tab': true,\n 'bar-page-title__tab--selected': isSelected,\n 'ds-control--md': true,\n 'ds-focus-ring-inset': true,\n 'ds-control-inactive': !!tab.isInactive,\n 'ds-interaction-fill--on-chrome': this.usesChromeTokens,\n }}\n aria-selected={isSelected ? 'true' : 'false'}\n aria-disabled={tab.isInactive ? 'true' : undefined}\n disabled={tab.isInactive}\n tabIndex={!probe && tab.id === this.focusedTabId ? 0 : -1}\n onClick={() => !probe && this.selectSection(tab.id)}\n onFocus={() => {\n if (!probe) this.focusedTabId = tab.id;\n }}\n >\n <ds-text\n class=\"bar-page-title__tab-label ds-control-label-box\"\n as=\"span\"\n variant=\"text-body-medium\"\n emphasis={isSelected}\n color=\"inherit\"\n >\n {tab.label}\n </ds-text>\n </button>\n );\n })}\n </div>\n );\n }\n\n private renderIdentity(probe: boolean) {\n return (\n <div class=\"bar-page-title__identity\">\n {renderBarTitleBack({\n classPrefix: 'bar-page-title',\n showBack: this.showBack,\n backAriaLabel: this.backAriaLabel,\n background: this.shellBarButtonBackground,\n onBack: event => this.dsBack.emit(event),\n })}\n {this.renderHeading(probe)}\n </div>\n );\n }\n\n private renderSectionRegion() {\n if (!this.hasSectionSelector) return null;\n if (!this.layoutCommitted) {\n return [\n <div class=\"bar-page-title__divider\" aria-hidden=\"true\" />,\n <div class=\"bar-page-title__tabs-pending\" aria-hidden=\"true\" />,\n ];\n }\n if (this.showSectionTabs) {\n return [\n <div class=\"bar-page-title__divider\" aria-hidden=\"true\" />,\n this.renderTabList(false),\n ];\n }\n return [\n <div class=\"bar-page-title__divider\" aria-hidden=\"true\" />,\n renderBarTitleSectionTrigger({\n classPrefix: 'bar-page-title',\n triggerId: this.sectionMenuTriggerId,\n menuId: this.sectionMenuId,\n open: this.sectionMenuOpen,\n surfaceOpen: this.sectionSurfaceOpen,\n ariaLabel: this.sectionTriggerAriaLabel,\n selectedLabel: this.selectedSectionLabel,\n background: this.shellBarButtonBackground,\n labelColor: this.usesChromeTokens ? 'inherit' : undefined,\n setTriggerEl: el => {\n this.sectionTriggerEl = el;\n },\n onToggle: this.toggleSectionMenu,\n }),\n ];\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'bar-page-title': true,\n 'bar-page-title--divider-hidden': !this.dividerVisible,\n 'ds-chrome-header': true,\n }}\n ref={el => {\n this.chromeEl = (el as HTMLElement) ?? null;\n if (el && !this.resizeObserver) this.setupOverflowObserver();\n }}\n >\n {this.hasSectionSelector ? (\n <div class=\"bar-page-title__probe\" aria-hidden=\"true\" inert>\n <div\n class=\"bar-page-title__probe-row\"\n ref={el => {\n const next = (el as HTMLElement) ?? null;\n if (next === this.probeRowEl) return;\n this.probeRowEl = next;\n if (next) {\n this.intrinsicWidthRetryCount = 0;\n this.tabLayoutPendingFrames = 0;\n this.scheduleOverflowCheck();\n }\n }}\n >\n {this.renderIdentity(true)}\n <div class=\"bar-page-title__divider\" />\n {this.renderTabList(true)}\n </div>\n </div>\n ) : null}\n\n <div class=\"bar-page-title__inner\">\n <div\n class=\"bar-page-title__row\"\n ref={el => {\n this.rowEl = (el as HTMLElement) ?? null;\n }}\n >\n <div class=\"bar-page-title__title-row\">\n {this.renderIdentity(false)}\n {this.renderSectionRegion()}\n </div>\n {renderBarTitleActions(this.chromeActionOptions())}\n </div>\n </div>\n </div>\n\n {this.showSectionButton ? (\n <ds-menu\n id={this.sectionMenuId}\n class=\"bar-page-title__section-menu\"\n anchorId={this.sectionMenuTriggerId}\n menuLabel={this.sectionsAriaLabel}\n open={this.sectionMenuOpen}\n initialFocusVisible={this.sectionMenuInitialFocusVisible}\n sections={this.sectionMenuSections}\n onDsClose={this.closeSectionMenu}\n onDsAfterClose={() => {\n if (!this.sectionMenuOpen) this.sectionSurfaceOpen = false;\n }}\n onDsSelect={this.handleSectionSelect}\n />\n ) : null}\n\n {renderBarTitleActionMenus({\n classPrefix: 'bar-page-title',\n visibleActions: this.visibleActions,\n instanceId: this.instanceId,\n resolvedActionItems: this.resolvedActionItems,\n openActionMenuId: this.openActionMenuId,\n actionMenuInitialFocusVisible: this.actionMenuInitialFocusVisible,\n overflowTrigger: this.actionTriggerEl,\n actionTriggers: this.actionTriggerEls,\n closeActionMenu: this.closeActionMenu,\n finishActionMenuClose: this.finishActionMenuClose,\n handleActionSelect: this.handleActionSelect,\n })}\n\n {renderBarTitleOverflowMenu({\n classPrefix: 'bar-page-title',\n showOverflowTrigger: this.showActionMenuTrigger,\n actionMenuId: this.actionMenuId,\n actionMenuTriggerId: this.actionMenuTriggerId,\n actionsAriaLabel: this.actionsAriaLabel,\n open: this.openActionMenuId === '__overflow',\n actionMenuInitialFocusVisible: this.actionMenuInitialFocusVisible,\n actionMenuSections: this.actionMenuSections,\n closeActionMenu: this.closeActionMenu,\n finishActionMenuClose: this.finishActionMenuClose,\n handleActionSelect: this.handleActionSelect,\n })}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as n}from"./index.js";import{
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{h as n}from"./index.js";import{C as o}from"./p-CuwopElg.js";const t=".ds-control-elevation--press-scale";const e="data-ds-press-active";const l=new WeakMap;function s(n,o){if(!o||n.button!==0)return;const s=n.currentTarget;const r=s?.closest(t);const a=s?.ownerDocument.defaultView;if(!r||!a)return;l.get(r)?.();r.setAttribute(e,"");const i=()=>{r.removeAttribute(e);a.removeEventListener("pointerup",i);a.removeEventListener("pointercancel",i);a.removeEventListener("blur",i);l.delete(r)};l.set(r,i);a.addEventListener("pointerup",i);a.addEventListener("pointercancel",i);a.addEventListener("blur",i)}const r={lg:"lg",md:"md",sm:"sm",xs:"xs"};function a(n){return n==="icon"||n==="icon-label"}function i(n){return n==="label"||n==="icon-label"}function c(n,o){return o&&n!=="icon"}function d(t){const{namespace:e,variant:l,size:s,label:d,labelEmphasis:u,icon:_,hasMenu:b,isLoading:p,dot:h}=t;const f=r[s];const m=p&&l==="label";return[a(l)?n("span",{class:`${e}__icon-wrap ds-button__icon-wrap ds-control-icon-box ds-interaction-fill__content`},p?n("ds-loader",{size:f,color:"inherit"}):n("ds-icon",{name:_,size:f,color:"inherit"}),h?.visible?n("ds-badge",{class:`${e}__dot ds-button__dot`,variant:"dot",background:h.background,label:"","aria-hidden":"true"}):null):null,i(l)?n("ds-text",{class:{[`${e}__label`]:true,"ds-button__label":true,"ds-control-label-box":true,[`${e}__label--loading`]:m,"ds-button__label--loading":m,"ds-interaction-fill__content":true},as:"span",variant:o[s],emphasis:u,color:"inherit"},d):null,c(l,b)?n("span",{class:{[`${e}__chevron`]:true,"ds-button__chevron":true,"ds-control-icon-box":true,"ds-interaction-fill__content":true,[`${e}__chevron--loading`]:m,"ds-button__chevron--loading":m},"aria-hidden":"true"},n("ds-icon",{name:"ChevronDown",size:f,color:"inherit"})):null,m?n("span",{class:`${e}__loader-overlay ds-button__loader-overlay ds-interaction-fill__content`},n("ds-loader",{size:f,color:"inherit"})):null]}export{s as b,d as r};
|
|
2
|
+
//# sourceMappingURL=p-DZ58Sg5a.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as e,H as s,h as a,a as t,t as i}from"./index.js";import{d}from"./p-D8OWhnID.js";const m=()=>`.sc-ds-message-h{display:block;box-sizing:border-box;content-visibility:auto;contain-intrinsic-size:auto var(--dimension-size-800);-webkit-user-select:none;user-select:none}.message-host--group-middle.sc-ds-message-h,.message-host--group-last.sc-ds-message-h{margin-block-start:calc(var(--dimension-space-050) - var(--dimension-space-300))}.message.sc-ds-message{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:end;gap:0;width:100%;box-sizing:border-box}.message--outgoing.sc-ds-message{grid-template-columns:minmax(0, 1fr) auto}.message__header.sc-ds-message:empty,.message__footer.sc-ds-message:empty,.message__metadata-actions.sc-ds-message:empty,.message__actions.sc-ds-message:empty{display:none}.message__actions.sc-ds-message:not(:empty){margin-inline-start:var(--dimension-space-075)}.message__body.sc-ds-message{display:flex;flex-direction:column;min-width:0;gap:var(--dimension-space-050)}.message--incoming.sc-ds-message .message__body.sc-ds-message{width:100%}.message__body.sc-ds-message:has(.message__content>ds-message-bubble) .message__header.sc-ds-message{padding-inline-start:calc(var(--dimension-space-100) + var(--dimension-space-025))}.message--outgoing.sc-ds-message .message__body.sc-ds-message{align-items:flex-end}.message--outgoing.sc-ds-message .message__header.sc-ds-message{display:none}.message--system.sc-ds-message .message__body.sc-ds-message{align-items:center}.message__header.sc-ds-message,.message__footer.sc-ds-message,.message__metadata-actions.sc-ds-message,.message__actions.sc-ds-message{display:flex;align-items:center;gap:var(--dimension-space-050)}@media (hover: hover) and (pointer: fine){.message--metadata-hover.sc-ds-message .message__footer.sc-ds-message{opacity:0;pointer-events:none;transition:opacity var(--effect-motion-short-2)}.message--metadata-hover.sc-ds-message:hover .message__footer.sc-ds-message,.message--metadata-hover.sc-ds-message:focus-within .message__footer.sc-ds-message{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion: reduce){.message--metadata-hover.sc-ds-message .message__footer.sc-ds-message{transition:none}}.message__content.sc-ds-message{width:100%;min-width:0;-webkit-user-select:text;user-select:text}.message--outgoing.sc-ds-message .message__content.sc-ds-message{display:flex;justify-content:flex-end}.message__footer.sc-ds-message time.sc-ds-message{display:inline-flex}.message--group-middle.sc-ds-message .message__header.sc-ds-message,.message--group-last.sc-ds-message .message__header.sc-ds-message{display:none}.message--group-first.sc-ds-message .message__footer.sc-ds-message,.message--group-middle.sc-ds-message .message__footer.sc-ds-message{display:none}`;const n={sending:"Sending",sent:"Sent",delivered:"Delivered",read:"Read",failed:"Failed to send"};const o=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.messageId="";this.direction="incoming";this.groupPosition="single";this.author="";this.showAuthor=true;this.timestamp="";this.streaming=false;this.metadataVisibility="always";this.scrollAnchor=false}formattedTimestamp(){if(!this.timestamp)return"";const e=Date.parse(this.timestamp);if(Number.isNaN(e))return this.timestamp;return new Intl.DateTimeFormat(undefined,{hour:"numeric",minute:"2-digit"}).format(new Date(e))}renderMetadataActions(){return a("div",{class:"message__metadata-actions"},a("slot",{name:"metadata-actions"}))}render(){const e=this.deliveryState?n[this.deliveryState]:"";const s=this.formattedTimestamp();return a(t,{key:"337ce5ffffa3af3159d5e976a80b808cd0ea7447",class:`message-host--group-${this.groupPosition}`,"data-message-id":this.messageId||undefined,"data-scroll-anchor":this.scrollAnchor?"true":undefined,"aria-busy":this.streaming?"true":undefined},a("article",{key:"667f014e8cb951a8b94959c5cba84eea6f35d6d5",class:{message:true,[`message--${this.direction}`]:true,[`message--group-${this.groupPosition}`]:true,[`message--metadata-${this.metadataVisibility}`]:true},"aria-label":this.author?`Message from ${this.author}`:"Message"},a("div",{key:"d41ffbae092bf44dfe974dcfe93c925e6d575a28",class:"message__body"},a("div",{key:"fd7cef2d8ab41ec2ebd29e2b5f1427f98ae55777",class:"message__header"},a("slot",{key:"2740bc7f89d3debe34141a376ae45c5f17717dc9",name:"header"}),this.author&&this.showAuthor?a("ds-text",{as:"span",variant:"text-body-small",emphasis:true,color:"primary"},this.author):null),a("div",{key:"074e09ec94814c1e69e33689b9d9999ce3506f48",class:"message__content"},a("slot",{key:"9d5431c214a8f0b93cbff8143c4ddd1efe700ccd"})),a("div",{key:"fea4a8e9238ddc504d751b8a6ce1457fc4d16765",class:"message__footer"},this.direction==="incoming"?this.renderMetadataActions():null,a("slot",{key:"d9b291ec32334726a174369250ec5bc091ef0261",name:"footer"}),e?a("ds-text",{as:"span",variant:"text-caption",color:this.deliveryState==="failed"?"negative":"secondary"},e):null,this.deliveryState==="failed"&&s?a("ds-text",{as:"span",variant:"text-caption",color:"tertiary","aria-hidden":"true"},"·"):null,s?a("time",{dateTime:this.timestamp},a("ds-text",{as:"span",variant:"text-caption",color:"secondary"},s)):null,this.direction!=="incoming"?this.renderMetadataActions():null)),a("div",{key:"68b10d0f0033754f105a10a3cce3957891588952",class:"message__actions"},a("slot",{key:"433d1f18d3c51db10647246b552cb5b108de0bfb",name:"actions"}))))}static get style(){return m()}},[262,"ds-message",{messageId:[513,"message-id"],direction:[513],groupPosition:[1,"group-position"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],deliveryState:[1,"delivery-state"],streaming:[4],metadataVisibility:[1,"metadata-visibility"],scrollAnchor:[516,"scroll-anchor"]}]);function c(){if(typeof customElements==="undefined"){return}const e=["ds-message","ds-text"];e.forEach((e=>{switch(e){case"ds-message":if(!customElements.get(i(e))){customElements.define(i(e),o)}break;case"ds-text":if(!customElements.get(i(e))){d()}break}}))}c();export{o as M,c as d};
|
|
2
|
+
//# sourceMappingURL=p-DebLYW7A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["messageCss","DELIVERY_LABELS","sending","sent","delivered","read","failed","Message","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","messageId","direction","groupPosition","author","showAuthor","timestamp","streaming","metadataVisibility","scrollAnchor","formattedTimestamp","parsed","Date","parse","Number","isNaN","Intl","DateTimeFormat","undefined","hour","minute","format","renderMetadataActions","h","class","name","render","delivery","deliveryState","Host","key","message","as","variant","emphasis","color","dateTime"],"sources":["src/wc/components/Message/Message.css?tag=ds-message&encapsulation=scoped","src/wc/components/Message/Message.tsx"],"sourcesContent":[":host {\n display: block;\n box-sizing: border-box;\n content-visibility: auto;\n contain-intrinsic-size: auto var(--dimension-size-800);\n -webkit-user-select: none;\n user-select: none;\n}\n\n:host(.message-host--group-middle),\n:host(.message-host--group-last) {\n margin-block-start: calc(var(--dimension-space-050) - var(--dimension-space-300));\n}\n\n.message {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: end;\n gap: 0;\n width: 100%;\n box-sizing: border-box;\n}\n\n.message--outgoing {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n\n.message__header:empty,\n.message__footer:empty,\n.message__metadata-actions:empty,\n.message__actions:empty {\n display: none;\n}\n\n.message__actions:not(:empty) {\n margin-inline-start: var(--dimension-space-075);\n}\n\n.message__body {\n display: flex;\n flex-direction: column;\n min-width: 0;\n gap: var(--dimension-space-050);\n}\n\n.message--incoming .message__body {\n width: 100%;\n}\n\n.message__body:has(.message__content > ds-message-bubble) .message__header {\n padding-inline-start: calc(var(--dimension-space-100) + var(--dimension-space-025));\n}\n\n.message--outgoing .message__body {\n align-items: flex-end;\n}\n\n.message--outgoing .message__header {\n display: none;\n}\n\n.message--system .message__body {\n align-items: center;\n}\n\n.message__header,\n.message__footer,\n.message__metadata-actions,\n.message__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n}\n\n@media (hover: hover) and (pointer: fine) {\n .message--metadata-hover .message__footer {\n opacity: 0;\n pointer-events: none;\n transition: opacity var(--effect-motion-short-2);\n }\n\n .message--metadata-hover:hover .message__footer,\n .message--metadata-hover:focus-within .message__footer {\n opacity: 1;\n pointer-events: auto;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .message--metadata-hover .message__footer {\n transition: none;\n }\n}\n\n.message__content {\n width: 100%;\n min-width: 0;\n -webkit-user-select: text;\n user-select: text;\n}\n\n.message--outgoing .message__content {\n display: flex;\n justify-content: flex-end;\n}\n\n.message__footer time {\n display: inline-flex;\n}\n\n.message--group-middle .message__header,\n.message--group-last .message__header {\n display: none;\n}\n\n.message--group-first .message__footer,\n.message--group-middle .message__footer {\n display: none;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type {\n MessageDeliveryState,\n MessageDirection,\n MessageGroupPosition,\n MessageMetadataVisibility,\n} from '../conversation-types';\n\nconst DELIVERY_LABELS: Record<MessageDeliveryState, string> = {\n sending: 'Sending',\n sent: 'Sent',\n delivered: 'Delivered',\n read: 'Read',\n failed: 'Failed to send',\n};\n\n@Component({\n tag: 'ds-message',\n styleUrl: 'Message.css',\n scoped: true,\n})\nexport class Message {\n @Prop({ reflect: true }) messageId: string = '';\n @Prop({ reflect: true }) direction: MessageDirection = 'incoming';\n @Prop() groupPosition: MessageGroupPosition = 'single';\n @Prop() author: string = '';\n /** Keep author semantics while allowing products with self-evident roles to hide the visible label. */\n @Prop() showAuthor: boolean = true;\n /** ISO timestamp. */\n @Prop() timestamp: string = '';\n @Prop() deliveryState: MessageDeliveryState | undefined;\n @Prop() streaming: boolean = false;\n /** Controls whether the complete metadata footer is persistent or revealed through hover/focus. */\n @Prop() metadataVisibility: MessageMetadataVisibility = 'always';\n @Prop({ reflect: true }) scrollAnchor: boolean = false;\n\n private formattedTimestamp(): string {\n if (!this.timestamp) return '';\n const parsed = Date.parse(this.timestamp);\n if (Number.isNaN(parsed)) return this.timestamp;\n return new Intl.DateTimeFormat(undefined, {\n hour: 'numeric',\n minute: '2-digit',\n }).format(new Date(parsed));\n }\n\n private renderMetadataActions() {\n return (\n <div class=\"message__metadata-actions\">\n <slot name=\"metadata-actions\" />\n </div>\n );\n }\n\n render() {\n const delivery = this.deliveryState ? DELIVERY_LABELS[this.deliveryState] : '';\n const formattedTimestamp = this.formattedTimestamp();\n return (\n <Host\n class={`message-host--group-${this.groupPosition}`}\n data-message-id={this.messageId || undefined}\n data-scroll-anchor={this.scrollAnchor ? 'true' : undefined}\n aria-busy={this.streaming ? 'true' : undefined}\n >\n <article\n class={{\n message: true,\n [`message--${this.direction}`]: true,\n [`message--group-${this.groupPosition}`]: true,\n [`message--metadata-${this.metadataVisibility}`]: true,\n }}\n aria-label={this.author ? `Message from ${this.author}` : 'Message'}\n >\n <div class=\"message__body\">\n <div class=\"message__header\">\n <slot name=\"header\" />\n {this.author && this.showAuthor ? (\n <ds-text as=\"span\" variant=\"text-body-small\" emphasis color=\"primary\">\n {this.author}\n </ds-text>\n ) : null}\n </div>\n <div class=\"message__content\">\n <slot />\n </div>\n <div class=\"message__footer\">\n {this.direction === 'incoming' ? this.renderMetadataActions() : null}\n <slot name=\"footer\" />\n {delivery ? (\n <ds-text\n as=\"span\"\n variant=\"text-caption\"\n color={this.deliveryState === 'failed' ? 'negative' : 'secondary'}\n >\n {delivery}\n </ds-text>\n ) : null}\n {this.deliveryState === 'failed' && formattedTimestamp ? (\n <ds-text as=\"span\" variant=\"text-caption\" color=\"tertiary\" aria-hidden=\"true\">\n ·\n </ds-text>\n ) : null}\n {formattedTimestamp ? (\n <time dateTime={this.timestamp}>\n <ds-text as=\"span\" variant=\"text-caption\" color=\"secondary\">\n {formattedTimestamp}\n </ds-text>\n </time>\n ) : null}\n {this.direction !== 'incoming' ? this.renderMetadataActions() : null}\n </div>\n </div>\n <div class=\"message__actions\">\n <slot name=\"actions\" />\n </div>\n </article>\n </Host>\n );\n }\n}\n"],"mappings":"0FAAA,MAAMA,EAAa,IAAM,+nFCQzB,MAAMC,EAAwD,CAC5DC,QAAS,UACTC,KAAM,OACNC,UAAW,YACXC,KAAM,OACNC,OAAQ,kB,MAQGC,EAAOC,EAAA,MAAAD,UAAAE,EALpB,WAAAC,CAAAC,G,4CAM2BC,KAAAC,UAAoB,GACpBD,KAAAE,UAA8B,WAC/CF,KAAAG,cAAsC,SACtCH,KAAAI,OAAiB,GAEjBJ,KAAAK,WAAsB,KAEtBL,KAAAM,UAAoB,GAEpBN,KAAAO,UAAqB,MAErBP,KAAAQ,mBAAgD,SAC/BR,KAAAS,aAAwB,KAqFlD,CAnFS,kBAAAC,GACN,IAAKV,KAAKM,UAAW,MAAO,GAC5B,MAAMK,EAASC,KAAKC,MAAMb,KAAKM,WAC/B,GAAIQ,OAAOC,MAAMJ,GAAS,OAAOX,KAAKM,UACtC,OAAO,IAAIU,KAAKC,eAAeC,UAAW,CACxCC,KAAM,UACNC,OAAQ,YACPC,OAAO,IAAIT,KAAKD,G,CAGb,qBAAAW,GACN,OACEC,EAAA,OAAKC,MAAM,6BACTD,EAAA,QAAME,KAAK,qB,CAKjB,MAAAC,GACE,MAAMC,EAAW3B,KAAK4B,cAAgBvC,EAAgBW,KAAK4B,eAAiB,GAC5E,MAAMlB,EAAqBV,KAAKU,qBAChC,OACEa,EAACM,EAAI,CAAAC,IAAA,2CACHN,MAAO,uBAAuBxB,KAAKG,gBAAe,kBACjCH,KAAKC,WAAaiB,UAAS,qBACxBlB,KAAKS,aAAe,OAASS,UAAS,YAC/ClB,KAAKO,UAAY,OAASW,WAErCK,EAAA,WAAAO,IAAA,2CACEN,MAAO,CACLO,QAAS,KACT,CAAC,YAAY/B,KAAKE,aAAc,KAChC,CAAC,kBAAkBF,KAAKG,iBAAkB,KAC1C,CAAC,qBAAqBH,KAAKQ,sBAAuB,MACnD,aACWR,KAAKI,OAAS,gBAAgBJ,KAAKI,SAAW,WAE1DmB,EAAA,OAAAO,IAAA,2CAAKN,MAAM,iBACTD,EAAA,OAAAO,IAAA,2CAAKN,MAAM,mBACTD,EAAA,QAAAO,IAAA,2CAAML,KAAK,WACVzB,KAAKI,QAAUJ,KAAKK,WACnBkB,EAAA,WAASS,GAAG,OAAOC,QAAQ,kBAAkBC,SAAQ,KAACC,MAAM,WACzDnC,KAAKI,QAEN,MAENmB,EAAA,OAAAO,IAAA,2CAAKN,MAAM,oBACTD,EAAA,QAAAO,IAAA,8CAEFP,EAAA,OAAAO,IAAA,2CAAKN,MAAM,mBACRxB,KAAKE,YAAc,WAAaF,KAAKsB,wBAA0B,KAChEC,EAAA,QAAAO,IAAA,2CAAML,KAAK,WACVE,EACCJ,EAAA,WACES,GAAG,OACHC,QAAQ,eACRE,MAAOnC,KAAK4B,gBAAkB,SAAW,WAAa,aAErDD,GAED,KACH3B,KAAK4B,gBAAkB,UAAYlB,EAClCa,EAAA,WAASS,GAAG,OAAOC,QAAQ,eAAeE,MAAM,WAAU,cAAa,QAAM,KAG3E,KACHzB,EACCa,EAAA,QAAMa,SAAUpC,KAAKM,WACnBiB,EAAA,WAASS,GAAG,OAAOC,QAAQ,eAAeE,MAAM,aAC7CzB,IAGH,KACHV,KAAKE,YAAc,WAAaF,KAAKsB,wBAA0B,OAGpEC,EAAA,OAAAO,IAAA,2CAAKN,MAAM,oBACTD,EAAA,QAAAO,IAAA,2CAAML,KAAK,c","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["resolveChoicePopupAlignOffset","align","alignOffsetPx","sectionInsetPx","anchorAlignment","choicePopupMinWidth","anchorWidth"],"sources":["src/wc/utils/choice-popup-alignment.ts"],"sourcesContent":["import type { AnchoredAlign } from './anchored-position';\n\n/**\n * `choice-cell` aligns the first/last interactive row edge with the anchor,\n * allowing the popup frame to extend by the section inset. `popup-frame`\n * aligns the popup frame itself and is reserved for deliberate custom geometry.\n */\nexport type ChoicePopupAnchorAlignment = 'choice-cell' | 'popup-frame';\n\nexport interface ChoicePopupAlignOffsetInput {\n align: AnchoredAlign;\n alignOffsetPx: number;\n sectionInsetPx: number;\n anchorAlignment?: ChoicePopupAnchorAlignment;\n}\n\n/**\n * Resolve the cross-axis offset for a choice popup. Authored `alignOffsetPx`\n * remains an additive nudge after the shared inner-cell alignment is applied.\n */\nexport function resolveChoicePopupAlignOffset({\n align,\n alignOffsetPx,\n sectionInsetPx,\n anchorAlignment = 'choice-cell',\n}: ChoicePopupAlignOffsetInput): number {\n if (anchorAlignment === 'popup-frame' || align === 'center') return alignOffsetPx;\n return alignOffsetPx + (align === 'start' ? -sectionInsetPx : sectionInsetPx);\n}\n\n/** Minimum popup width that keeps both choice-cell edges aligned to a trigger. */\nexport function choicePopupMinWidth(anchorWidth: number, sectionInsetPx: number): number {\n return anchorWidth + sectionInsetPx * 2;\n}\n"],"mappings":"AAoBM,SAAUA,GAA8BC,MAC5CA,EAAKC,cACLA,EAAaC,eACbA,EAAcC,gBACdA,EAAkB,gBAElB,GAAIA,IAAoB,eAAiBH,IAAU,SAAU,OAAOC,EACpE,OAAOA,GAAiBD,IAAU,SAAWE,EAAiBA,EAChE,CAGM,SAAUE,EAAoBC,EAAqBH,GACvD,OAAOG,EAAcH,EAAiB,CACxC,Q","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as t,c as o,h as s,a as r,t as n}from"./index.js";import{d as a}from"./p-DjkUFlDW.js";import{d as i}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as t,c as o,h as s,a as r,t as n}from"./index.js";import{d as a}from"./p-DjkUFlDW.js";import{d as i}from"./p-D8OWhnID.js";import{r as d}from"./p-rCeztgVn.js";const c=()=>`.sc-ds-agent-source-list:where(.ds-text-decoration,.ds-text-action).sc-ds-agent-source-list{text-decoration-color:var(--ds-text-decoration-color, var(--color-foreground-tertiary));text-decoration-thickness:var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));text-underline-offset:var(--ds-text-decoration-offset, var(--dimension-space-025))}.ds-text-action.sc-ds-agent-source-list{--ds-text-action-foreground:var(--color-foreground-bold-brand);--ds-text-decoration-color:var(--ds-text-action-foreground);color:var(--ds-text-action-foreground);text-decoration-line:none}.ds-text-action--on-medium.sc-ds-agent-source-list{--ds-text-action-foreground:var(--color-foreground-on-medium-background-primary);--ds-text-decoration-color:var(--color-foreground-on-medium-background-secondary);text-decoration-line:underline}.ds-text-action--on-strong.sc-ds-agent-source-list{--ds-text-action-foreground:var(--color-foreground-on-strong-background-primary);--ds-text-decoration-color:var(--color-foreground-on-strong-background-secondary);text-decoration-line:underline}.ds-text-action--on-bold.sc-ds-agent-source-list{--ds-text-action-foreground:var(--color-foreground-on-bold-background-primary);--ds-text-decoration-color:var(--color-foreground-on-bold-background-secondary);text-decoration-line:underline}@media (hover: hover) and (pointer: fine){.ds-text-action.sc-ds-agent-source-list:hover{text-decoration-line:underline}}@media (forced-colors: active){.ds-text-action.sc-ds-agent-source-list{text-decoration-line:underline;text-decoration-color:currentcolor}}.sc-ds-agent-source-list-h{display:block}.agent-sources.sc-ds-agent-source-list{border-block-start:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}summary.sc-ds-agent-source-list{align-items:center;cursor:default;display:flex;gap:var(--dimension-space-050);list-style:none;padding-block:var(--dimension-space-075)}summary.sc-ds-agent-source-list::-webkit-details-marker{display:none}details[open].sc-ds-agent-source-list summary.sc-ds-agent-source-list ds-icon.sc-ds-agent-source-list{transform:rotate(90deg)}ol.sc-ds-agent-source-list{display:grid;gap:var(--dimension-space-075);margin:0;padding:0 0 var(--dimension-space-075) var(--dimension-space-150)}li.sc-ds-agent-source-list{display:grid;gap:var(--dimension-space-025)}a.sc-ds-agent-source-list{--ds-text-decoration-color:var(--color-foreground-tertiary);align-items:center;color:inherit;display:inline-flex;gap:var(--dimension-space-025);width:fit-content}@media (prefers-reduced-motion: no-preference){summary.sc-ds-agent-source-list ds-icon.sc-ds-agent-source-list{transition:transform var(--effect-motion-short-2)}}`;const l=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.dsOpenChange=o(this,"dsOpenChange",7);this.items=[];this.heading="Sources";this.open=false}hostname(e){try{return new URL(e).hostname}catch{return""}}render(){if(!this.items.length)return null;return s(r,null,s("details",{class:"agent-sources",open:this.open,onToggle:e=>this.dsOpenChange.emit({open:e.currentTarget.open})},s("summary",null,s("ds-icon",{name:"ChevronRight",size:"xs",color:"inherit"}),s("ds-text",{variant:"text-body-small",emphasis:true},this.heading," · ",this.items.length)),s("ol",null,this.items.map((e=>{const t=d(e.url);const o=t?this.hostname(t):"";return s("li",null,t?s("a",{class:"ds-text-decoration",href:t,target:"_blank",rel:"noopener noreferrer","aria-label":`${e.title} (${o}, opens in a new tab)`},s("ds-text",{variant:"text-body-small",emphasis:true},e.title),s("ds-icon",{name:"ExternalLink",size:"xs",color:"inherit"})):s("ds-text",{variant:"text-body-small",emphasis:true},e.title),o?s("ds-text",{variant:"text-caption",color:"secondary"},o):null,e.description?s("ds-text",{variant:"text-body-small",color:"secondary"},e.description):null)})))))}static get style(){return c()}},[2,"ds-agent-source-list",{items:[16],heading:[1],open:[4]}]);function u(){if(typeof customElements==="undefined"){return}const e=["ds-agent-source-list","ds-icon","ds-text"];e.forEach((e=>{switch(e){case"ds-agent-source-list":if(!customElements.get(n(e))){customElements.define(n(e),l)}break;case"ds-icon":if(!customElements.get(n(e))){a()}break;case"ds-text":if(!customElements.get(n(e))){i()}break}}))}u();export{l as A,u as d};
|
|
2
|
+
//# sourceMappingURL=p-DmSnHVW6.js.map
|