@ds-mo/ui 15.4.0 → 15.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +7 -1
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +64 -8
- package/dist/angular/boolean-value-accessor.js +3 -3
- package/dist/angular/ds-agent-activity.js +3 -3
- package/dist/angular/ds-agent-questionnaire.js +3 -3
- package/dist/angular/ds-agent-response.js +3 -3
- package/dist/angular/ds-agent-source-list.js +3 -3
- package/dist/angular/ds-agent-tool-call.js +3 -3
- package/dist/angular/ds-attachment-list.js +3 -3
- package/dist/angular/ds-avatar.js +3 -3
- package/dist/angular/ds-badge.js +3 -3
- package/dist/angular/ds-banner.js +3 -3
- package/dist/angular/ds-bar-action.js +3 -3
- package/dist/angular/ds-bar-nav.js +3 -3
- package/dist/angular/ds-bar-page-title.js +3 -3
- package/dist/angular/ds-bar-title.js +3 -3
- package/dist/angular/ds-bar-workflow.js +3 -3
- package/dist/angular/ds-breadcrumb.js +3 -3
- package/dist/angular/ds-button-filled.js +3 -3
- package/dist/angular/ds-button-inverted.js +3 -3
- package/dist/angular/ds-button-unfilled.js +3 -3
- package/dist/angular/ds-calendar.js +3 -3
- package/dist/angular/ds-card-action-center.js +3 -3
- package/dist/angular/ds-card-chart.js +3 -3
- package/dist/angular/ds-card-navigation.js +3 -3
- package/dist/angular/ds-card-overview.js +3 -3
- package/dist/angular/ds-card-setting.js +3 -3
- package/dist/angular/ds-card-settings-scope.js +3 -3
- package/dist/angular/ds-chart-legend.js +3 -3
- package/dist/angular/ds-chart.js +3 -3
- package/dist/angular/ds-checkbox-group.js +3 -3
- package/dist/angular/ds-checkbox.d.ts +1 -1
- package/dist/angular/ds-checkbox.js +5 -5
- package/dist/angular/ds-chip.js +3 -3
- package/dist/angular/ds-code-block.js +3 -3
- package/dist/angular/ds-conversation-list-item.js +3 -3
- package/dist/angular/ds-conversation-list-section.js +3 -3
- package/dist/angular/ds-conversation-list.js +3 -3
- package/dist/angular/ds-data-customize.js +3 -3
- package/dist/angular/ds-data-filter.js +3 -3
- package/dist/angular/ds-data-group.js +3 -3
- package/dist/angular/ds-data-preferences.js +3 -3
- package/dist/angular/ds-data-saved-views.js +3 -3
- package/dist/angular/ds-data-search.js +3 -3
- package/dist/angular/ds-data-sort.js +3 -3
- package/dist/angular/ds-data-toolbar.js +3 -3
- package/dist/angular/ds-divider.js +3 -3
- package/dist/angular/ds-empty-state.js +3 -3
- package/dist/angular/ds-field.js +3 -3
- package/dist/angular/ds-filter-menu.js +3 -3
- package/dist/angular/ds-icon.js +3 -3
- package/dist/angular/ds-inline-banner-settings.js +3 -3
- package/dist/angular/ds-input-date.js +3 -3
- package/dist/angular/ds-input-time.js +3 -3
- package/dist/angular/ds-input.js +3 -3
- package/dist/angular/ds-loader.js +3 -3
- package/dist/angular/ds-map-cluster-marker.js +3 -3
- package/dist/angular/ds-map-entity-marker.js +3 -3
- package/dist/angular/ds-markdown.js +3 -3
- package/dist/angular/ds-menu.js +3 -3
- package/dist/angular/ds-message-actions.js +3 -3
- package/dist/angular/ds-message-bubble.js +3 -3
- package/dist/angular/ds-message-composer.js +3 -3
- package/dist/angular/ds-message-scroller.js +3 -3
- package/dist/angular/ds-message.js +3 -3
- package/dist/angular/ds-mobile-bar-nav.js +3 -3
- package/dist/angular/ds-mobile-header.js +3 -3
- package/dist/angular/ds-mobile-section-switcher.js +3 -3
- package/dist/angular/ds-mobile-sheet-nav.js +3 -3
- package/dist/angular/ds-modal.js +3 -3
- package/dist/angular/ds-pagination.js +3 -3
- package/dist/angular/ds-panel-nav.js +3 -3
- package/dist/angular/ds-panel-sub-nav.js +3 -3
- package/dist/angular/ds-panel-tool-header.js +3 -3
- package/dist/angular/ds-panel-tool-search.js +3 -3
- package/dist/angular/ds-panel-tools.js +3 -3
- package/dist/angular/ds-paper-texture.js +3 -3
- package/dist/angular/ds-radio-tile.js +3 -3
- package/dist/angular/ds-radio.js +3 -3
- package/dist/angular/ds-score.js +3 -3
- package/dist/angular/ds-scroll-overlay.js +3 -3
- package/dist/angular/ds-select.d.ts +1 -1
- package/dist/angular/ds-select.js +5 -5
- package/dist/angular/ds-setting-row-checkbox.js +3 -3
- package/dist/angular/ds-setting-row-radio.js +3 -3
- package/dist/angular/ds-setting-row-toggle.js +3 -3
- package/dist/angular/ds-shell-app.js +3 -3
- package/dist/angular/ds-shell-page.js +3 -3
- package/dist/angular/ds-shell-tools.js +3 -3
- package/dist/angular/ds-skeleton.js +3 -3
- package/dist/angular/ds-slider.js +3 -3
- package/dist/angular/ds-swatch-picker.js +3 -3
- package/dist/angular/ds-switch.js +3 -3
- package/dist/angular/ds-tab-group.js +3 -3
- package/dist/angular/ds-table.d.ts +7 -1
- package/dist/angular/ds-table.js +13 -7
- package/dist/angular/ds-tag.js +3 -3
- package/dist/angular/ds-text.js +3 -3
- package/dist/angular/ds-textarea.js +3 -3
- package/dist/angular/ds-time-picker.js +3 -3
- package/dist/angular/ds-toast.js +3 -3
- package/dist/angular/ds-tooltip-chart.js +3 -3
- package/dist/angular/ds-tooltip.js +3 -3
- package/dist/angular/ds-typing-indicator.js +3 -3
- package/dist/angular/number-value-accessor.js +3 -3
- package/dist/angular/radio-value-accessor.js +3 -3
- package/dist/angular/select-value-accessor.js +3 -3
- package/dist/angular/text-value-accessor.js +3 -3
- package/dist/angular/value-accessor.js +3 -3
- package/dist/components/THIRD-PARTY-NOTICES +1791 -0
- package/dist/components/bundled-dependencies.json +478 -0
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-avatar.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-banner.js.map +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-page-title.js +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-workflow.js +1 -1
- package/dist/components/ds-breadcrumb.js +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-inverted.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-calendar.js +1 -1
- package/dist/components/ds-card-action-center.js +1 -1
- package/dist/components/ds-card-chart.js +1 -1
- package/dist/components/ds-card-navigation.js +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-legend.js.map +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-chart.js.map +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-conversation-list.js.map +1 -1
- package/dist/components/ds-data-customize.js +1 -1
- package/dist/components/ds-data-filter.js +1 -1
- package/dist/components/ds-data-group.js +1 -1
- package/dist/components/ds-data-preferences.js +1 -1
- package/dist/components/ds-data-preferences.js.map +1 -1
- package/dist/components/ds-data-saved-views.js +1 -1
- package/dist/components/ds-data-search.js +1 -1
- package/dist/components/ds-data-sort.js +1 -1
- package/dist/components/ds-data-toolbar.js +1 -1
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-icon.js +1 -1
- package/dist/components/ds-input-date.js +1 -1
- package/dist/components/ds-input-date.js.map +1 -1
- package/dist/components/ds-input-time.js +1 -1
- package/dist/components/ds-input-time.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-map-entity-marker.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-mobile-bar-nav.js +1 -1
- package/dist/components/ds-mobile-header.js +1 -1
- package/dist/components/ds-mobile-section-switcher.js +1 -1
- package/dist/components/ds-mobile-sheet-nav.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-pagination.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-radio-tile.js +1 -1
- package/dist/components/ds-radio-tile.js.map +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-scroll-overlay.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-setting-row-toggle.js +1 -1
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-app.js.map +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-slider.js.map +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-textarea.js +1 -1
- package/dist/components/ds-textarea.js.map +1 -1
- package/dist/components/ds-time-picker.js +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/p--STJbKuN.js +2 -0
- package/dist/components/p--STJbKuN.js.map +1 -0
- package/dist/components/{p-Co1rUdOR.js → p--pJyciTI.js} +2 -2
- package/dist/components/p--pJyciTI.js.map +1 -0
- package/dist/components/p-02k7d7BH.js +2 -0
- package/dist/components/p-02k7d7BH.js.map +1 -0
- package/dist/components/{p-CZNZTcYS.js → p-5-gQbIIz.js} +2 -2
- package/dist/components/{p-DRdoGSGX.js → p-7MwoWtTJ.js} +2 -2
- package/dist/components/p-B0uO3-Dp.js +2 -0
- package/dist/components/p-B0uO3-Dp.js.map +1 -0
- package/dist/components/p-B6TX55c5.js +2 -0
- package/dist/components/p-B6TX55c5.js.map +1 -0
- package/dist/components/p-B95UP66y.js +2 -0
- package/dist/components/p-B95UP66y.js.map +1 -0
- package/dist/components/p-BGSG6xIS.js +2 -0
- package/dist/components/p-BGSG6xIS.js.map +1 -0
- package/dist/components/p-BNarCFJZ.js +2 -0
- package/dist/components/p-BNarCFJZ.js.map +1 -0
- package/dist/components/{p-DJDbskZf.js → p-BO5URdZF.js} +2 -2
- package/dist/components/{p-DmSnHVW6.js → p-BVxK8ce0.js} +2 -2
- package/dist/components/{p-B0EpvBDs.js → p-BYeG0b5N.js} +2 -2
- package/dist/components/p-BcpIK9S6.js +2 -0
- package/dist/components/p-BcpIK9S6.js.map +1 -0
- package/dist/components/p-Bf-BphXP.js +2 -0
- package/dist/components/p-Bf-BphXP.js.map +1 -0
- package/dist/components/{p-Bk3poU91.js → p-BmIllmq2.js} +2 -2
- package/dist/components/p-BmIllmq2.js.map +1 -0
- package/dist/components/p-Bq_ypMSy.js +2 -0
- package/dist/components/p-Bq_ypMSy.js.map +1 -0
- package/dist/components/p-ByLH5RAD.js +2 -0
- package/dist/components/p-ByLH5RAD.js.map +1 -0
- package/dist/components/{p-DzvTC27M.js → p-C1ZfBbJ_.js} +2 -2
- package/dist/components/p-C1ZfBbJ_.js.map +1 -0
- package/dist/components/p-C1oczmAc.js +2 -0
- package/dist/components/p-C1oczmAc.js.map +1 -0
- package/dist/components/p-C5BBIDVm.js +2 -0
- package/dist/components/p-C5BBIDVm.js.map +1 -0
- package/dist/components/{p-CJ1NnOEW.js → p-CA3iQ1ME.js} +2 -2
- package/dist/components/p-CE6MaXBg.js +2 -0
- package/dist/components/p-CE6MaXBg.js.map +1 -0
- package/dist/components/p-CXGjCWSh.js +2 -0
- package/dist/components/p-CXGjCWSh.js.map +1 -0
- package/dist/components/{p-DYQa1DVF.js → p-C_9VGgPf.js} +2 -2
- package/dist/components/p-CbrDF2gA.js +2 -0
- package/dist/components/p-CbrDF2gA.js.map +1 -0
- package/dist/components/{p-7TVdPhGR.js → p-CgQB8Ct5.js} +2 -2
- package/dist/components/{p-D6FRqNhN.js → p-D-J7GgjY.js} +2 -2
- package/dist/components/{p-DSZPO06T.js → p-D9_iDlkT.js} +2 -2
- package/dist/components/{p-BwdnVqAY.js → p-DEYCF-oJ.js} +2 -2
- package/dist/components/p-DGVZhrMd.js +2 -0
- package/dist/components/p-DGVZhrMd.js.map +1 -0
- package/dist/components/{p-C8V4lkVy.js → p-DKGW3gRa.js} +2 -2
- package/dist/components/p-DPFg5d4_.js +2 -0
- package/dist/components/p-DPFg5d4_.js.map +1 -0
- package/dist/components/{p-C4huuwed.js → p-DR_8IPn9.js} +2 -2
- package/dist/components/p-DXL5D30P.js +2 -0
- package/dist/components/p-DXL5D30P.js.map +1 -0
- package/dist/components/{p-B0BQCVkq.js → p-D_iZPukF.js} +2 -2
- package/dist/components/{p-JBki_jyY.js → p-DfMTDFcE.js} +2 -2
- package/dist/components/{p-MOJmB6vX.js → p-Dg6hnCc2.js} +2 -2
- package/dist/components/{p-DXk1eml1.js → p-DjbT9kKm.js} +2 -2
- package/dist/components/p-Dka0lUI_.js +2 -0
- package/dist/components/p-Dka0lUI_.js.map +1 -0
- package/dist/components/p-DlsjHRU3.js +2 -0
- package/dist/components/p-DlsjHRU3.js.map +1 -0
- package/dist/components/{p-_IqSPt5V.js → p-Dr5rkAhe.js} +2 -2
- package/dist/components/p-DuCCuJKI.js +2 -0
- package/dist/components/p-DuCCuJKI.js.map +1 -0
- package/dist/components/{p-DIQiHX0q.js → p-DvGrsLgt.js} +2 -2
- package/dist/components/{p-Doa2blZT.js → p-PtxCwf5S.js} +2 -2
- package/dist/components/p-PzYJqN8B.js +2 -0
- package/dist/components/p-PzYJqN8B.js.map +1 -0
- package/dist/components/p-S1Ct3FJV.js +2 -0
- package/dist/components/p-S1Ct3FJV.js.map +1 -0
- package/dist/components/p-YC7UM4jH.js +2 -0
- package/dist/components/p-YC7UM4jH.js.map +1 -0
- package/dist/components/{p-B9TM6FqC.js → p-d76Ry5nh.js} +2 -2
- package/dist/components/p-ioGH5SoA.js +2 -0
- package/dist/components/p-ioGH5SoA.js.map +1 -0
- package/dist/components/p-jp7hwRtC.js +2 -0
- package/dist/components/p-jp7hwRtC.js.map +1 -0
- package/dist/components/{p-BFHpU-uU.js → p-kwS-vkau.js} +2 -2
- package/dist/components/{p-DjkUFlDW.js → p-pPtjNRqC.js} +3 -2
- package/dist/components/p-pPtjNRqC.js.map +1 -0
- package/dist/components/{p-B39iJO8F.js → p-rmPIcWED.js} +2 -2
- package/dist/components/p-t2Ebn8si.js +2 -0
- package/dist/components/p-t2Ebn8si.js.map +1 -0
- package/dist/components/p-wRhYxngW.js +2 -0
- package/dist/components/p-wRhYxngW.js.map +1 -0
- package/dist/docs/components.json +477 -82
- package/dist/lib/components/Icon/icon-cache.d.ts +6 -0
- package/dist/lib/utils/clock-time.d.ts +1 -0
- package/dist/lib/utils/date-filter-value.d.ts +2 -0
- package/dist/lib/utils/form-association.d.ts +2 -1
- package/dist/lib/utils/format-percentage.d.ts +1 -1
- package/dist/lib/utils/index.js +113 -93
- package/dist/lib/utils/index.js.map +4 -4
- package/dist/lib/utils/intl-formatters.d.ts +3 -0
- package/dist/lib/utils/resolve-css-length-px.d.ts +4 -3
- package/dist/lint/THIRD-PARTY-NOTICES +97 -40
- package/dist/lint/bundled-dependencies.json +162 -0
- package/dist/lint/index.js +1341 -1333
- package/dist/mcp/THIRD-PARTY-NOTICES +470 -0
- package/dist/mcp/bundled-dependencies.json +29 -0
- package/dist/mcp-data/registry/agent-tool-call.json +1 -1
- package/dist/mcp-data/registry/banner.json +1 -1
- package/dist/mcp-data/registry/bar-nav.json +1 -1
- package/dist/mcp-data/registry/bar-page-title.json +1 -1
- package/dist/mcp-data/registry/breadcrumb.json +1 -1
- package/dist/mcp-data/registry/calendar.json +4 -4
- package/dist/mcp-data/registry/card-overview.json +1 -1
- package/dist/mcp-data/registry/chart.json +3 -3
- package/dist/mcp-data/registry/checkbox.json +17 -1
- package/dist/mcp-data/registry/conversation-list.json +1 -1
- package/dist/mcp-data/registry/data-group.json +1 -1
- package/dist/mcp-data/registry/data-preferences.json +1 -1
- package/dist/mcp-data/registry/filter-menu.json +1 -1
- package/dist/mcp-data/registry/icon.json +6 -5
- package/dist/mcp-data/registry/input-date.json +1 -1
- package/dist/mcp-data/registry/input-time.json +1 -1
- package/dist/mcp-data/registry/markdown.json +1 -1
- package/dist/mcp-data/registry/menu.json +1 -1
- package/dist/mcp-data/registry/message.json +4 -4
- package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
- package/dist/mcp-data/registry/modal.json +1 -1
- package/dist/mcp-data/registry/panel-nav.json +1 -1
- package/dist/mcp-data/registry/radio-tile.json +1 -1
- package/dist/mcp-data/registry/radio.json +1 -1
- package/dist/mcp-data/registry/registry.json +63 -7
- package/dist/mcp-data/registry/scroll-overlay.json +1 -1
- package/dist/mcp-data/registry/select.json +70 -3
- package/dist/mcp-data/registry/shell-app.json +1 -1
- package/dist/mcp-data/registry/slider.json +3 -3
- package/dist/mcp-data/registry/switch.json +1 -1
- package/dist/mcp-data/registry/table.json +140 -14
- package/dist/mcp-data/registry/tooltip-chart.json +1 -1
- package/dist/react/ds-table.d.ts +3 -1
- package/dist/react/ds-table.js +2 -0
- package/dist/styles/table.css +405 -8
- package/dist/types/components/AgentToolCall/AgentToolCall.d.ts +3 -0
- package/dist/types/components/Banner/Banner.d.ts +1 -0
- package/dist/types/components/BarNav/BarNav.d.ts +4 -0
- package/dist/types/components/BarPageTitle/BarPageTitle.d.ts +4 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +5 -0
- package/dist/types/components/Calendar/Calendar.d.ts +2 -0
- package/dist/types/components/CardOverview/CardOverview.d.ts +3 -0
- package/dist/types/components/Chart/Chart.d.ts +7 -1
- package/dist/types/components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/types/components/ConversationList/ConversationList.d.ts +3 -0
- package/dist/types/components/DataGroup/DataGroup.d.ts +3 -0
- package/dist/types/components/DataPreferences/DataPreferences.d.ts +1 -0
- package/dist/types/components/FilterMenu/FilterMenu.d.ts +1 -0
- package/dist/types/components/Icon/icon-cache.d.ts +6 -0
- package/dist/types/components/Icon/icon-svg.d.ts +10 -24
- package/dist/types/components/Markdown/Markdown.d.ts +4 -0
- package/dist/types/components/Menu/Menu.d.ts +3 -0
- package/dist/types/components/Message/Message.d.ts +1 -1
- package/dist/types/components/MobileSectionSwitcher/MobileSectionSwitcher.d.ts +5 -0
- package/dist/types/components/Modal/Modal.d.ts +3 -0
- package/dist/types/components/PanelNav/PanelNav.d.ts +8 -1
- package/dist/types/components/Radio/Radio.d.ts +1 -0
- package/dist/types/components/ScrollOverlay/ScrollOverlay.d.ts +1 -0
- package/dist/types/components/Select/Select.d.ts +8 -0
- package/dist/types/components/ShellApp/ShellApp.d.ts +3 -0
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/Switch/Switch.d.ts +2 -0
- package/dist/types/components/Table/Table.d.ts +35 -0
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Table/table-body-renderer.d.ts +1 -0
- package/dist/types/components/Table/table-cell-editor.d.ts +4 -0
- package/dist/types/components/Table/table-grid-model.d.ts +23 -0
- package/dist/types/components/Table/table-layout-controller.d.ts +1 -0
- package/dist/types/components/Table/table-model.d.ts +1 -1
- package/dist/types/components/Table/table-review-fixtures.d.ts +10 -0
- package/dist/types/components/Table/table-row-view.d.ts +11 -2
- package/dist/types/components/Table/table-skeleton-view.d.ts +3 -1
- package/dist/types/components/Table/table-structure.d.ts +38 -0
- package/dist/types/components/Table/table-types.d.ts +71 -1
- package/dist/types/components/Table/table-virtual-controller.d.ts +1 -0
- package/dist/types/components/TooltipChart/TooltipChart.d.ts +4 -0
- package/dist/types/components.d.ts +98 -12
- package/dist/types/shell/chrome-transition.d.ts +1 -0
- package/dist/types/utils/anchored-position-controller.d.ts +2 -0
- package/dist/types/utils/clock-time.d.ts +1 -0
- package/dist/types/utils/connection-tasks.d.ts +13 -0
- package/dist/types/utils/date-filter-value.d.ts +2 -0
- package/dist/types/utils/form-association.d.ts +2 -1
- package/dist/types/utils/format-percentage.d.ts +1 -1
- package/dist/types/utils/intl-formatters.d.ts +4 -0
- package/dist/types/utils/resolve-css-length-px.d.ts +4 -3
- package/dist/types/utils/select-controller.d.ts +1 -0
- package/dist/vue/THIRD-PARTY-NOTICES +14 -0
- package/dist/vue/bundled-dependencies.json +13 -0
- package/dist/vue/ds-checkbox.js +1 -0
- package/dist/vue/ds-select.js +4 -0
- package/dist/vue/ds-table.js +8 -0
- package/package.json +16 -11
- package/dist/components/p-B8ZonS3S.js +0 -2
- package/dist/components/p-B8ZonS3S.js.map +0 -1
- package/dist/components/p-BDdlJZyL.js +0 -2
- package/dist/components/p-BDdlJZyL.js.map +0 -1
- package/dist/components/p-BERXvOCf.js +0 -2
- package/dist/components/p-BERXvOCf.js.map +0 -1
- package/dist/components/p-BQspV5U7.js +0 -2
- package/dist/components/p-BQspV5U7.js.map +0 -1
- package/dist/components/p-BhjqYTiY.js +0 -2
- package/dist/components/p-BhjqYTiY.js.map +0 -1
- package/dist/components/p-BjtXYFhw.js +0 -2
- package/dist/components/p-BjtXYFhw.js.map +0 -1
- package/dist/components/p-Bk3poU91.js.map +0 -1
- package/dist/components/p-BxduVc5g.js +0 -2
- package/dist/components/p-BxduVc5g.js.map +0 -1
- package/dist/components/p-C0qN3PSb.js +0 -2
- package/dist/components/p-C0qN3PSb.js.map +0 -1
- package/dist/components/p-CPamUzaj.js +0 -2
- package/dist/components/p-CPamUzaj.js.map +0 -1
- package/dist/components/p-CUDocY23.js +0 -2
- package/dist/components/p-CUDocY23.js.map +0 -1
- package/dist/components/p-CX6ZxUQT.js +0 -2
- package/dist/components/p-CX6ZxUQT.js.map +0 -1
- package/dist/components/p-Cgn-BORA.js +0 -2
- package/dist/components/p-Cgn-BORA.js.map +0 -1
- package/dist/components/p-Ck1hgD6g.js +0 -2
- package/dist/components/p-Ck1hgD6g.js.map +0 -1
- package/dist/components/p-Co1rUdOR.js.map +0 -1
- package/dist/components/p-CochmPyg.js +0 -2
- package/dist/components/p-CochmPyg.js.map +0 -1
- package/dist/components/p-DCyJ3_PL.js +0 -2
- package/dist/components/p-DCyJ3_PL.js.map +0 -1
- package/dist/components/p-DVEx-Xg9.js +0 -2
- package/dist/components/p-DVEx-Xg9.js.map +0 -1
- package/dist/components/p-DYsE6HLk.js +0 -2
- package/dist/components/p-DYsE6HLk.js.map +0 -1
- package/dist/components/p-DebLYW7A.js +0 -2
- package/dist/components/p-DebLYW7A.js.map +0 -1
- package/dist/components/p-DjkUFlDW.js.map +0 -1
- package/dist/components/p-Dnt5xUBD.js +0 -2
- package/dist/components/p-Dnt5xUBD.js.map +0 -1
- package/dist/components/p-Dyqd-cub.js +0 -2
- package/dist/components/p-Dyqd-cub.js.map +0 -1
- package/dist/components/p-DzvTC27M.js.map +0 -1
- package/dist/components/p-g0jsfEXz.js +0 -2
- package/dist/components/p-g0jsfEXz.js.map +0 -1
- package/dist/components/p-pp1IQN4Z.js +0 -2
- package/dist/components/p-pp1IQN4Z.js.map +0 -1
- package/dist/components/p-rCeztgVn.js +0 -2
- package/dist/components/p-rCeztgVn.js.map +0 -1
- /package/dist/components/{p-CZNZTcYS.js.map → p-5-gQbIIz.js.map} +0 -0
- /package/dist/components/{p-DRdoGSGX.js.map → p-7MwoWtTJ.js.map} +0 -0
- /package/dist/components/{p-DJDbskZf.js.map → p-BO5URdZF.js.map} +0 -0
- /package/dist/components/{p-DmSnHVW6.js.map → p-BVxK8ce0.js.map} +0 -0
- /package/dist/components/{p-B0EpvBDs.js.map → p-BYeG0b5N.js.map} +0 -0
- /package/dist/components/{p-CJ1NnOEW.js.map → p-CA3iQ1ME.js.map} +0 -0
- /package/dist/components/{p-DYQa1DVF.js.map → p-C_9VGgPf.js.map} +0 -0
- /package/dist/components/{p-7TVdPhGR.js.map → p-CgQB8Ct5.js.map} +0 -0
- /package/dist/components/{p-D6FRqNhN.js.map → p-D-J7GgjY.js.map} +0 -0
- /package/dist/components/{p-DSZPO06T.js.map → p-D9_iDlkT.js.map} +0 -0
- /package/dist/components/{p-BwdnVqAY.js.map → p-DEYCF-oJ.js.map} +0 -0
- /package/dist/components/{p-C8V4lkVy.js.map → p-DKGW3gRa.js.map} +0 -0
- /package/dist/components/{p-C4huuwed.js.map → p-DR_8IPn9.js.map} +0 -0
- /package/dist/components/{p-B0BQCVkq.js.map → p-D_iZPukF.js.map} +0 -0
- /package/dist/components/{p-JBki_jyY.js.map → p-DfMTDFcE.js.map} +0 -0
- /package/dist/components/{p-MOJmB6vX.js.map → p-Dg6hnCc2.js.map} +0 -0
- /package/dist/components/{p-DXk1eml1.js.map → p-DjbT9kKm.js.map} +0 -0
- /package/dist/components/{p-_IqSPt5V.js.map → p-Dr5rkAhe.js.map} +0 -0
- /package/dist/components/{p-DIQiHX0q.js.map → p-DvGrsLgt.js.map} +0 -0
- /package/dist/components/{p-Doa2blZT.js.map → p-PtxCwf5S.js.map} +0 -0
- /package/dist/components/{p-B9TM6FqC.js.map → p-d76Ry5nh.js.map} +0 -0
- /package/dist/components/{p-BFHpU-uU.js.map → p-kwS-vkau.js.map} +0 -0
- /package/dist/components/{p-B39iJO8F.js.map → p-rmPIcWED.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["modalCss","WIDTH_MAP","sm","md","lg","FOCUSABLE_SEL","join","modalIdCounter","Modal","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","open","description","closeAriaLabel","modalWidth","closing","hasFooter","titleId","descriptionId","dialogEl","previousFocus","closeTimer","loaded","tasks","ConnectionTasks","el","isConnected","connectedCallback","updateFooterPresence","onOpenChange","componentDidLoad","componentDidRender","closeAnimationMs","finishClose","setTimeout","disconnectedCallback","cancel","clearCloseTimer","close","isOpen","alreadyOpen","ownerDocument","activeElement","showModal","frame","focusClose","querySelector","setFocus","clearTimeout","requestClose","reason","originalEvent","dsClose","emit","slot","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","handleCancel","event","preventDefault","handleBackdropPointerDown","target","handleKeyDown","key","focusables","Array","from","querySelectorAll","filter","element","hasAttribute","getAttribute","length","focus","first","last","active","document","shiftKey","resolvedWidth","describedBy","ids","ariaDescribedby","Boolean","undefined","resolveMotionTimeMs","TOKEN_DEFAULTS","motionShort2","animationDurationShort3","dsAfterClose","render","h","Host","ref","class","onCancel","onPointerDown","onKeyDown","style","width","as","variant","emphasis","color","lineTruncation","textId","heading","wrap","label","side","size","icon","activeFill","hasBorder","onDsClick","detail","name","onSlotchange","currentTarget"],"sources":["src/wc/components/Modal/Modal.css?tag=ds-modal&encapsulation=scoped","src/wc/components/Modal/Modal.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/chrome-header.css';\n@import '../../utils/chrome-layout.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n display: contents;\n}\n\n.modal-dialog {\n display: none;\n flex-direction: column;\n max-width: none;\n max-height: calc(100vh - 2 * var(--dimension-space-200));\n margin: auto;\n padding: 0;\n overflow: hidden;\n color: var(--color-foreground-primary);\n background-color: var(--color-background-primary);\n border: 0;\n border-radius: var(--ds-radius-modal);\n box-shadow: var(--effect-elevation-elevated-floating);\n outline: none;\n box-sizing: border-box;\n animation: modalDialogIn var(--effect-motion-short-2) forwards;\n}\n\n.modal-dialog[open] {\n display: flex;\n}\n\n.modal-dialog::backdrop {\n background-color: var(--color-background-shade);\n animation: modalBackdropIn var(--effect-motion-short-2) forwards;\n}\n\n.modal-dialog--closing {\n animation: modalDialogOut var(--effect-motion-short-2) forwards;\n}\n\n.modal-dialog--closing::backdrop {\n animation: modalBackdropOut var(--effect-motion-short-2) forwards;\n}\n\n@keyframes modalBackdropIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes modalBackdropOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@keyframes modalDialogIn {\n from {\n opacity: 0;\n transform: scale(0.97) translateY(4px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n@keyframes modalDialogOut {\n from {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n to {\n opacity: 0;\n transform: scale(0.97) translateY(4px);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal-dialog[open],\n .modal-dialog--closing {\n animation: none;\n transform: none;\n }\n\n .modal-dialog::backdrop {\n animation: none;\n opacity: 1;\n }\n\n .modal-dialog--closing,\n .modal-dialog--closing::backdrop {\n opacity: 0;\n }\n}\n\n.modal-header {\n align-items: flex-start;\n flex: 0 0 auto;\n color: var(--color-foreground-primary);\n}\n\n.modal-copy,\nds-text.modal-heading,\nds-text.modal-description {\n width: auto;\n text-align: left;\n}\n\nds-text.modal-heading {\n -webkit-user-select: none;\n user-select: none;\n}\n\n.modal-close-tooltip {\n flex: 0 0 auto;\n}\n\n.modal-content {\n min-height: 0;\n padding: var(--dimension-space-200);\n overflow-y: auto;\n flex: 1 1 auto;\n box-sizing: border-box;\n}\n\n.modal-footer {\n justify-content: flex-start;\n height: var(--dimension-size-800);\n flex: 0 0 auto;\n border-top: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.modal-footer__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n min-width: 0;\n}\n\n.modal-footer--empty {\n display: none;\n}\n\n.modal-footer__actions slot {\n display: contents;\n}\n\n@media (forced-colors: active) {\n .modal-dialog {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { resolveMotionTimeMs, TOKEN_DEFAULTS } from '../../utils';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\n\nexport type ModalWidth = 'sm' | 'md' | 'lg';\nexport type ModalCloseReason = 'close-button' | 'escape' | 'backdrop';\n\nexport interface ModalCloseDetail {\n reason: ModalCloseReason;\n originalEvent: Event;\n}\n\nconst WIDTH_MAP: Record<ModalWidth, string> = {\n sm: 'var(--dimension-modal-width-sm)',\n md: 'var(--dimension-modal-width-md)',\n lg: 'var(--dimension-modal-width-lg)',\n};\n\nconst FOCUSABLE_SEL = [\n 'a[href]',\n 'area[href]',\n 'button:not([disabled])',\n 'input:not([disabled]):not([type=\"hidden\"])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'iframe',\n '[contenteditable=\"true\"]',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\n\nlet modalIdCounter = 0;\n\n@Component({\n tag: 'ds-modal',\n styleUrl: 'Modal.css',\n scoped: true,\n})\nexport class Modal {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) open: boolean = false;\n @Prop() heading!: string;\n /** Optional supporting copy shown below the heading. */\n @Prop() description: string = '';\n @Prop() closeAriaLabel: string = 'Close';\n @Prop() modalWidth: ModalWidth | string = 'md';\n /** Optional id reference for explanatory content in the default slot. */\n @Prop({ attribute: 'aria-describedby' }) ariaDescribedby: string | undefined;\n\n @State() private closing: boolean = false;\n @State() private hasFooter: boolean = false;\n\n /** Emitted when an internal dismissal control requests that the modal close. */\n @Event() dsClose!: EventEmitter<ModalCloseDetail>;\n /** Emitted after exit motion completes, the top layer closes, and focus is restored. */\n @Event() dsAfterClose!: EventEmitter<void>;\n\n private titleId = `ds-modal-title-${++modalIdCounter}`;\n private descriptionId = `${this.titleId}-description`;\n private dialogEl: HTMLDialogElement | null = null;\n private previousFocus: HTMLElement | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private loaded = false;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n\n connectedCallback() {\n if (!this.loaded) return;\n this.updateFooterPresence();\n this.onOpenChange(this.open);\n }\n\n componentDidLoad() {\n this.loaded = true;\n this.updateFooterPresence();\n if (this.open) this.onOpenChange(true);\n }\n\n componentDidRender() {\n if (!this.el.isConnected) return;\n if (!this.closing || !this.dialogEl?.open || this.closeTimer) return;\n const closeAnimationMs = this.closeAnimationMs;\n if (closeAnimationMs <= 0) {\n this.finishClose();\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n this.finishClose();\n }, closeAnimationMs);\n }\n\n disconnectedCallback() {\n this.tasks.cancel();\n this.clearCloseTimer();\n if (this.dialogEl?.open) this.dialogEl.close();\n this.closing = false;\n this.previousFocus = null;\n }\n\n @Watch('open')\n onOpenChange(isOpen: boolean) {\n if (!this.loaded || !this.el.isConnected) return;\n this.tasks.cancel();\n if (isOpen) {\n this.clearCloseTimer();\n const alreadyOpen = !!this.dialogEl?.open;\n this.closing = false;\n if (!this.dialogEl || alreadyOpen) return;\n this.previousFocus = this.el.ownerDocument.activeElement as HTMLElement | null;\n this.dialogEl.showModal();\n this.tasks.frame(() => {\n if (this.open && this.dialogEl?.open) this.focusClose();\n });\n } else if (this.dialogEl?.open) {\n this.closing = true;\n }\n }\n\n private focusClose() {\n const close = this.el.querySelector('ds-button-unfilled.modal-close') as\n | (HTMLElement & { setFocus?: () => Promise<void> })\n | null;\n void close?.setFocus?.();\n }\n\n private clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private requestClose(reason: ModalCloseReason, originalEvent: Event) {\n if (!this.open || this.closing || !this.dialogEl?.open) return;\n this.dsClose.emit({ reason, originalEvent });\n this.open = false;\n }\n\n private updateFooterPresence(slot?: HTMLSlotElement) {\n const assignedNodes = slot?.assignedNodes() ?? [];\n this.hasFooter =\n assignedNodes.some(node => node.nodeType !== Node.TEXT_NODE || !!node.textContent?.trim()) ||\n this.el.querySelector('[slot=\"footer\"]') !== null;\n }\n\n private handleCancel(event: Event) {\n event.preventDefault();\n this.requestClose('escape', event);\n }\n\n private handleBackdropPointerDown(event: PointerEvent) {\n if (event.target === this.dialogEl) this.requestClose('backdrop', event);\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n event.preventDefault();\n this.requestClose('escape', event);\n return;\n }\n if (event.key !== 'Tab' || !this.dialogEl) return;\n const focusables = Array.from(\n this.dialogEl.querySelectorAll<HTMLElement>(FOCUSABLE_SEL)\n ).filter(\n element => !element.hasAttribute('disabled') && element.getAttribute('aria-hidden') !== 'true'\n );\n if (!focusables.length) {\n event.preventDefault();\n this.dialogEl.focus();\n return;\n }\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n const active = document.activeElement;\n if (event.shiftKey && (active === first || active === this.dialogEl)) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && active === last) {\n event.preventDefault();\n first.focus();\n }\n }\n\n private get resolvedWidth(): string {\n if (this.modalWidth === 'sm' || this.modalWidth === 'md' || this.modalWidth === 'lg') {\n return WIDTH_MAP[this.modalWidth];\n }\n return this.modalWidth as string;\n }\n\n private get describedBy(): string | undefined {\n const ids = [this.description ? this.descriptionId : '', this.ariaDescribedby ?? ''].filter(\n Boolean\n );\n return ids.length > 0 ? ids.join(' ') : undefined;\n }\n\n private get closeAnimationMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort2, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private finishClose() {\n if (this.open || !this.el.isConnected || !this.dialogEl?.open) return;\n this.dialogEl.close();\n this.closing = false;\n this.clearCloseTimer();\n this.previousFocus?.focus?.();\n this.previousFocus = null;\n this.dsAfterClose.emit();\n }\n\n render() {\n return (\n <Host>\n <dialog\n ref={(element?: HTMLDialogElement) => {\n this.dialogEl = element ?? null;\n }}\n class={{ 'modal-dialog': true, 'modal-dialog--closing': this.closing }}\n aria-labelledby={this.titleId}\n aria-describedby={this.describedBy}\n onCancel={(event: Event) => this.handleCancel(event)}\n onPointerDown={(event: PointerEvent) => this.handleBackdropPointerDown(event)}\n onKeyDown={(event: KeyboardEvent) => this.handleKeyDown(event)}\n style={{\n width: `min(${this.resolvedWidth}, calc(100vw - 2 * var(--dimension-space-200)))`,\n }}\n >\n <div class=\"modal-header ds-chrome-header ds-chrome-header--bounded\">\n <div class=\"modal-copy ds-chrome-header__copy ds-chrome-header__copy--stacked ds-control--md\">\n <ds-text\n class=\"modal-heading ds-chrome-header__heading\"\n as=\"h2\"\n variant=\"text-title-small\"\n emphasis\n color=\"primary\"\n lineTruncation={1}\n textId={this.titleId}\n >\n {this.heading}\n </ds-text>\n {this.description ? (\n <ds-text\n class=\"modal-description ds-chrome-header__description\"\n as=\"p\"\n variant=\"text-body-medium\"\n color=\"secondary\"\n wrap=\"wrap\"\n textId={this.descriptionId}\n >\n {this.description}\n </ds-text>\n ) : null}\n </div>\n <ds-tooltip\n class=\"modal-close-tooltip ds-chrome-header__trailing\"\n label={this.closeAriaLabel}\n side=\"bottom\"\n size=\"sm\"\n >\n <ds-button-unfilled\n class=\"modal-close\"\n variant=\"icon\"\n icon=\"Cross\"\n size=\"md\"\n aria-label={this.closeAriaLabel}\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) =>\n this.requestClose('close-button', event.detail)\n }\n />\n </ds-tooltip>\n </div>\n <div class=\"modal-content\">\n <slot />\n </div>\n <div\n class={{\n 'modal-footer': true,\n 'ds-chrome-row': true,\n 'ds-chrome-space--lg': true,\n 'modal-footer--empty': !this.hasFooter,\n }}\n >\n <div class=\"modal-footer__actions\">\n <slot\n name=\"footer\"\n onSlotchange={(event: Event) =>\n this.updateFooterPresence(event.currentTarget as HTMLSlotElement)\n }\n />\n </div>\n </div>\n </dialog>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as o,H as t,h as s,a as i,t as r}from"./index.js";import{C as e}from"./p-DlsjHRU3.js";import{d as a}from"./p-D8OWhnID.js";import{T as c,r as n}from"./p-CeXf9-X3.js";import{C as d,a as l}from"./p-CuwopElg.js";const h=()=>`.sc-ds-tooltip-chart-h,.sc-ds-tooltip-chart:where(.ds-table),.sc-ds-tooltip-chart:where(.tooltip-popup),.sc-ds-tooltip-chart: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-tooltip-chart,.ds-control--lg.sc-ds-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart,.ds-control--sm.sc-ds-tooltip-chart-h,.ds-control--sm.sc-ds-tooltip-chart,.ds-control--xs.sc-ds-tooltip-chart-h,.ds-control--xs.sc-ds-tooltip-chart{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-tooltip-chart-h,.ds-control--lg.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--md.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--sm.sc-ds-tooltip-chart{--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-tooltip-chart-h,.ds-control--xs.sc-ds-tooltip-chart{--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-tooltip-chart{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-tooltip-chart{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-tooltip-chart{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-tooltip-chart{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-tooltip-chart{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-tooltip-chart{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-chrome-space--sm.sc-ds-tooltip-chart-h,.ds-chrome-space--sm.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-tooltip-chart-h,.ds-chrome-space--md.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-tooltip-chart-h,.ds-chrome-space--lg.sc-ds-tooltip-chart{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-tooltip-chart-h,.ds-chrome-row.sc-ds-tooltip-chart,.ds-chrome-column.sc-ds-tooltip-chart-h,.ds-chrome-column.sc-ds-tooltip-chart,.ds-chrome-grid.sc-ds-tooltip-chart-h,.ds-chrome-grid.sc-ds-tooltip-chart{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-tooltip-chart-h,.ds-chrome-row.sc-ds-tooltip-chart{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-tooltip-chart-h,.ds-chrome-column.sc-ds-tooltip-chart{flex-direction:column}.ds-chrome-grid.sc-ds-tooltip-chart-h,.ds-chrome-grid.sc-ds-tooltip-chart{display:grid;align-items:center}@media (forced-colors: active){.sc-ds-tooltip-chart:root,.sc-ds-tooltip-chart-h,.ds-forced-colors-scope.sc-ds-tooltip-chart{--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-tooltip-chart-h{position:absolute;z-index:var(--dimension-z-index-tooltip);background-color:var(--color-translucent-translucent);backdrop-filter:blur(var(--effect-blur-md));-webkit-backdrop-filter:blur(var(--effect-blur-md));border-radius:var(--ds-radius-tooltip-menu);box-shadow:var(--effect-elevation-elevated-floating);white-space:nowrap;pointer-events:none;opacity:0}.tooltip-chart--visible.sc-ds-tooltip-chart-h{animation:tooltip-chart-fade-in var(--effect-motion-short-2) forwards}.tooltip-chart__item.sc-ds-tooltip-chart{width:100%;border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.tooltip-chart__items.sc-ds-tooltip-chart{display:contents}.tooltip-chart__swatch-box.sc-ds-tooltip-chart{pointer-events:none}.tooltip-chart__swatch.sc-ds-tooltip-chart{width:var(--dimension-size-100);height:var(--dimension-size-100);flex:none;border-radius:var(--dimension-radius-half);background:var(--ds-tooltip-chart-swatch)}.tooltip-chart__value.sc-ds-tooltip-chart{margin-inline-start:auto;text-align:end}.tooltip-chart__label.sc-ds-tooltip-chart,.tooltip-chart__value.sc-ds-tooltip-chart{flex:none}@keyframes tooltip-chart-fade-in{from{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.tooltip-chart--visible.sc-ds-tooltip-chart-h{animation:none;opacity:1}}@media (forced-colors: active){.sc-ds-tooltip-chart-h{box-shadow:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}`;const p=12;const m=8;const v=o(class o extends t{constructor(o){super();if(o!==false){this.__registerHost()}this.value="";this.label="";this.x=0;this.y=0;this.delay=c.animationDelayInstant;this.side="right";this.align="bottom";this.visible=false;this.delayTimer=null;this.loaded=false;this.tasks=new e((()=>this.el.isConnected))}connectedCallback(){if(!this.loaded)return;this.scheduleShow();this.onAnchorChange()}componentDidLoad(){this.loaded=true;this.scheduleShow();this.calculatePlacement()}disconnectedCallback(){this.clearDelayTimer();this.tasks.cancel();this.placementFrame=undefined;this.visible=false}onAnchorChange(){this.tasks.cancelFrame(this.placementFrame);this.placementFrame=this.tasks.frame((()=>{this.placementFrame=undefined;this.calculatePlacement()}))}onDelayChange(){if(!this.visible)this.scheduleShow()}get showDelayMs(){return n(this.delay,c.animationDelayInstant)}clearDelayTimer(){if(this.delayTimer){clearTimeout(this.delayTimer);this.delayTimer=null}}scheduleShow(){this.clearDelayTimer();this.visible=false;if(!this.el.isConnected)return;const o=this.showDelayMs;if(o<=0){this.visible=true;return}this.delayTimer=setTimeout(this.tasks.guard((()=>{this.delayTimer=null;this.visible=true;this.onAnchorChange()})),o)}calculatePlacement(){if(!this.el.isConnected)return;const o=this.el.getBoundingClientRect();if(!o.width||!o.height)return;const t=o.right>window.innerWidth-m?"left":"right";const s=o.bottom>window.innerHeight-m?"top":"bottom";if(t!==this.side)this.side=t;if(s!==this.align)this.align=s}render(){const o=this.side==="right"?`${p}px`:`calc(-100% - ${p}px)`;const t=this.align==="bottom"?`${p}px`:`calc(-100% - ${p}px)`;const r=this.items??[{label:this.label,value:this.value}];const e=r.some((o=>Boolean(o.color)));return s(i,{key:"12956981e2bfcfecee7cdcd7a85e1d44904b5e96",class:{"tooltip-chart":true,"tooltip-chart--visible":this.visible,"ds-chrome-column":true,"ds-chrome-space--sm":true},style:{left:`${this.x}px`,top:`${this.y}px`,transform:`translate(${o}, ${t})`}},this.heading&&s("ds-text",{key:"1d2a40b3a17dd0ea979cb8d39c82da36bd2b6293",class:"tooltip-chart__heading ds-control-section-heading ds-control--md",as:"span",variant:l.md,emphasis:true,color:"var(--color-foreground-primary)"},this.heading),s("div",{key:"463c6eb77a4b6f60318288e17b2b132f684db352",class:"tooltip-chart__items"},r.map(((o,t)=>s("div",{class:"tooltip-chart__item ds-control-frame ds-control--md",key:`${o.label}-${t}`},e&&s("span",{class:"tooltip-chart__swatch-box ds-control-icon-box","aria-hidden":"true"},o.color&&s("span",{class:"tooltip-chart__swatch",style:{"--ds-tooltip-chart-swatch":o.color}})),s("ds-text",{class:"tooltip-chart__label ds-control-label-box",as:"span",variant:d.md,color:"var(--color-foreground-secondary)"},o.label),s("ds-text",{class:"tooltip-chart__value ds-control-label-box",as:"span",variant:d.md,emphasis:true,color:"var(--color-foreground-primary)"},o.value))))))}get el(){return this}static get watchers(){return{x:[{onAnchorChange:0}],y:[{onAnchorChange:0}],delay:[{onDelayChange:0}]}}static get style(){return h()}},[2,"ds-tooltip-chart",{value:[8],label:[1],heading:[1],items:[16],x:[2],y:[2],delay:[8],side:[32],align:[32],visible:[32]},undefined,{x:[{onAnchorChange:0}],y:[{onAnchorChange:0}],delay:[{onDelayChange:0}]}]);function u(){if(typeof customElements==="undefined"){return}const o=["ds-tooltip-chart","ds-text"];o.forEach((o=>{switch(o){case"ds-tooltip-chart":if(!customElements.get(r(o))){customElements.define(r(o),v)}break;case"ds-text":if(!customElements.get(r(o))){a()}break}}))}u();export{v as T,u as d};
|
|
2
|
+
//# sourceMappingURL=p-BNarCFJZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tooltipChartCss","CURSOR_OFFSET_PX","VIEWPORT_PAD_PX","TooltipChart","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","value","label","x","y","delay","TOKEN_DEFAULTS","animationDelayInstant","side","align","visible","delayTimer","loaded","tasks","ConnectionTasks","el","isConnected","connectedCallback","scheduleShow","onAnchorChange","componentDidLoad","calculatePlacement","disconnectedCallback","clearDelayTimer","cancel","placementFrame","undefined","cancelFrame","frame","onDelayChange","showDelayMs","resolveCssTimeMs","clearTimeout","ms","setTimeout","guard","rect","getBoundingClientRect","width","height","nextSide","right","window","innerWidth","nextAlign","bottom","innerHeight","render","translateX","translateY","rows","items","usesSwatches","some","item","Boolean","color","h","Host","key","class","style","left","top","transform","heading","as","variant","CONTROL_SUPPORTING_TEXT_VARIANT","md","emphasis","map","index","CONTROL_TEXT_VARIANT"],"sources":["src/wc/components/TooltipChart/TooltipChart.css?tag=ds-tooltip-chart&encapsulation=scoped","src/wc/components/TooltipChart/TooltipChart.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/control-parts.css';\n@import '../../utils/chrome-layout.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n position: absolute;\n z-index: var(--dimension-z-index-tooltip);\n background-color: var(--color-translucent-translucent);\n backdrop-filter: blur(var(--effect-blur-md));\n -webkit-backdrop-filter: blur(var(--effect-blur-md));\n border-radius: var(--ds-radius-tooltip-menu);\n box-shadow: var(--effect-elevation-elevated-floating);\n white-space: nowrap;\n pointer-events: none;\n opacity: 0;\n}\n\n:host(.tooltip-chart--visible) {\n animation: tooltip-chart-fade-in var(--effect-motion-short-2) forwards;\n}\n\n.tooltip-chart__item {\n width: 100%;\n border-radius: var(--ds-control-radius, var(--dimension-radius-025));\n}\n\n.tooltip-chart__items {\n display: contents;\n}\n\n.tooltip-chart__swatch-box {\n pointer-events: none;\n}\n\n.tooltip-chart__swatch {\n width: var(--dimension-size-100);\n height: var(--dimension-size-100);\n flex: none;\n border-radius: var(--dimension-radius-half);\n background: var(--ds-tooltip-chart-swatch);\n}\n\n.tooltip-chart__value {\n margin-inline-start: auto;\n text-align: end;\n}\n\n.tooltip-chart__label,\n.tooltip-chart__value {\n flex: none;\n}\n\n@keyframes tooltip-chart-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host(.tooltip-chart--visible) {\n animation: none;\n opacity: 1;\n }\n}\n\n@media (forced-colors: active) {\n :host {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import { Component, Prop, State, Element, Watch, h, Host } from '@stencil/core';\nimport {\n CONTROL_SUPPORTING_TEXT_VARIANT,\n CONTROL_TEXT_VARIANT,\n resolveCssTimeMs,\n TOKEN_DEFAULTS,\n} from '../../utils';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\n\nconst CURSOR_OFFSET_PX = 12;\nconst VIEWPORT_PAD_PX = 8;\n\nexport type TooltipChartSide = 'left' | 'right';\nexport type TooltipChartAlign = 'top' | 'bottom';\n\nexport interface TooltipChartItem {\n label: string;\n value: string | number;\n color?: string;\n}\n\n/**\n * Positioned value/label callout for chart hover interactions (bar, line point,\n * polar arc, …). A composition may suppress it when a visible legend already\n * surfaces the same value.\n * Unlike `ds-tooltip`, this doesn't bind to a slotted anchor element —\n * charts hover-highlight data that lives inside an SVG, so the chart itself computes\n * the anchor point (e.g. the cursor position while hovering) and passes it in as `x`/`y`.\n *\n * Renders `position: absolute` — place inside a `position: relative` chart wrapper,\n * with `x`/`y` as pixel coordinates within that wrapper. Defaults to sitting below-right\n * of the anchor (matching cursor-following tooltips), flipping to whichever side/edge\n * keeps it on-screen.\n *\n * Mount (or remount) when a hover session starts so `delay` applies once per hover;\n * keep the instance mounted while the cursor moves so tracking stays instant.\n */\n@Component({\n tag: 'ds-tooltip-chart',\n styleUrl: 'TooltipChart.css',\n scoped: true,\n})\nexport class TooltipChart {\n @Element() el!: HTMLElement;\n\n @Prop() value: string | number = '';\n @Prop() label: string = '';\n /** Optional heading for grouped chart focus. */\n @Prop() heading?: string;\n /** Multi-row content. When supplied, this replaces the legacy label/value row. */\n @Prop() items?: TooltipChartItem[];\n /** Anchor point in px, relative to the nearest `position: relative` ancestor — e.g. the cursor. */\n @Prop() x: number = 0;\n @Prop() y: number = 0;\n\n /**\n * Show delay after mount before the callout appears.\n * Default: `--effect-animation-delay-instant` (0ms). Accepts a number (ms)\n * or a TokoMo time token / `var(--effect-animation-delay-*)`. Charts need\n * immediate feedback while scrubbing; prefer the default. Mount once per\n * hover session so any non-zero delay runs once, then track `x`/`y` instantly.\n */\n @Prop() delay: number | string = TOKEN_DEFAULTS.animationDelayInstant;\n\n @State() private side: TooltipChartSide = 'right';\n @State() private align: TooltipChartAlign = 'bottom';\n @State() private visible: boolean = false;\n\n private delayTimer: ReturnType<typeof setTimeout> | null = null;\n private loaded = false;\n private placementFrame?: number;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n\n connectedCallback() {\n if (!this.loaded) return;\n this.scheduleShow();\n this.onAnchorChange();\n }\n\n componentDidLoad() {\n this.loaded = true;\n this.scheduleShow();\n this.calculatePlacement();\n }\n\n disconnectedCallback() {\n this.clearDelayTimer();\n this.tasks.cancel();\n this.placementFrame = undefined;\n this.visible = false;\n }\n\n @Watch('x')\n @Watch('y')\n onAnchorChange() {\n this.tasks.cancelFrame(this.placementFrame);\n this.placementFrame = this.tasks.frame(() => {\n this.placementFrame = undefined;\n this.calculatePlacement();\n });\n }\n\n @Watch('delay')\n onDelayChange() {\n if (!this.visible) this.scheduleShow();\n }\n\n private get showDelayMs(): number {\n return resolveCssTimeMs(this.delay, TOKEN_DEFAULTS.animationDelayInstant);\n }\n\n private clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n\n private scheduleShow() {\n this.clearDelayTimer();\n this.visible = false;\n if (!this.el.isConnected) return;\n const ms = this.showDelayMs;\n if (ms <= 0) {\n this.visible = true;\n return;\n }\n this.delayTimer = setTimeout(\n this.tasks.guard(() => {\n this.delayTimer = null;\n this.visible = true;\n this.onAnchorChange();\n }),\n ms\n );\n }\n\n private calculatePlacement() {\n if (!this.el.isConnected) return;\n const rect = this.el.getBoundingClientRect();\n if (!rect.width || !rect.height) return;\n\n const nextSide: TooltipChartSide =\n rect.right > window.innerWidth - VIEWPORT_PAD_PX ? 'left' : 'right';\n const nextAlign: TooltipChartAlign =\n rect.bottom > window.innerHeight - VIEWPORT_PAD_PX ? 'top' : 'bottom';\n\n if (nextSide !== this.side) this.side = nextSide;\n if (nextAlign !== this.align) this.align = nextAlign;\n }\n\n render() {\n const translateX =\n this.side === 'right' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n const translateY =\n this.align === 'bottom' ? `${CURSOR_OFFSET_PX}px` : `calc(-100% - ${CURSOR_OFFSET_PX}px)`;\n const rows = this.items ?? [{ label: this.label, value: this.value }];\n const usesSwatches = rows.some(item => Boolean(item.color));\n\n return (\n <Host\n class={{\n 'tooltip-chart': true,\n 'tooltip-chart--visible': this.visible,\n 'ds-chrome-column': true,\n 'ds-chrome-space--sm': true,\n }}\n style={{\n left: `${this.x}px`,\n top: `${this.y}px`,\n transform: `translate(${translateX}, ${translateY})`,\n }}\n >\n {this.heading && (\n <ds-text\n class=\"tooltip-chart__heading ds-control-section-heading ds-control--md\"\n as=\"span\"\n variant={CONTROL_SUPPORTING_TEXT_VARIANT.md}\n emphasis\n color=\"var(--color-foreground-primary)\"\n >\n {this.heading}\n </ds-text>\n )}\n <div class=\"tooltip-chart__items\">\n {rows.map((item, index) => (\n <div\n class=\"tooltip-chart__item ds-control-frame ds-control--md\"\n key={`${item.label}-${index}`}\n >\n {usesSwatches && (\n <span class=\"tooltip-chart__swatch-box ds-control-icon-box\" aria-hidden=\"true\">\n {item.color && (\n <span\n class=\"tooltip-chart__swatch\"\n style={{ '--ds-tooltip-chart-swatch': item.color }}\n />\n )}\n </span>\n )}\n <ds-text\n class=\"tooltip-chart__label ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT.md}\n color=\"var(--color-foreground-secondary)\"\n >\n {item.label}\n </ds-text>\n <ds-text\n class=\"tooltip-chart__value ds-control-label-box\"\n as=\"span\"\n variant={CONTROL_TEXT_VARIANT.md}\n emphasis\n color=\"var(--color-foreground-primary)\"\n >\n {item.value}\n </ds-text>\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as i,c as t,h as s,a as n,t as a}from"./index.js";import{d as r}from"./p-CwdRaJER.js";import{d as o}from"./p-MOJmB6vX.js";import{d}from"./p-D6FRqNhN.js";import{d as u}from"./p-Co1rUdOR.js";import{d as c}from"./p-DjkUFlDW.js";import{d as l}from"./p-0XTyQNRG.js";import{d as h}from"./p-DzvTC27M.js";import{d as g}from"./p-D8OWhnID.js";import{d as q}from"./p-DIQiHX0q.js";function p(e,i){return e.find((e=>e.questionId===i))}function m(e,i){return Object.fromEntries(e.map((e=>{const t=p(i,e.id);const s=new Set(e.choices?.map((e=>e.value))??[]);if(e.type==="multiple"){const i=Array.isArray(t?.value)?t.value:[];const n=i.filter((e=>s.has(e)));const a=i.find((e=>!s.has(e)))??"";return[e.id,{value:n,otherSelected:Boolean(e.allowOther&&a),otherText:e.allowOther?a:"",skipped:t?.value===null}]}const n=typeof t?.value==="string"?t.value:"";const a=e.type==="single"&&s.has(n);return[e.id,{value:e.type==="single"&&!a?"":n,otherSelected:Boolean(e.type==="single"&&e.allowOther&&n&&!a),otherText:e.type==="single"&&e.allowOther&&n&&!a?n:"",skipped:t?.value===null}]})))}function f(e,i){if(i.skipped)return{questionId:e.id,value:null};if(e.type==="multiple"){const t=Array.isArray(i.value)?[...i.value]:[];if(i.otherSelected&&i.otherText.trim())t.push(i.otherText.trim());return{questionId:e.id,value:t.length||e.required?t:null}}if(i.otherSelected){const t=i.otherText.trim();return{questionId:e.id,value:t||null}}const t=typeof i.value==="string"?i.value.trim():"";return{questionId:e.id,value:t||null}}function b(e,i){if((e.type==="single"||e.type==="multiple")&&!e.choices?.length){return"This question has no available choices."}if(i.otherSelected&&!i.otherText.trim()){return"Enter a response for Other."}if(!e.required||i.skipped)return undefined;const t=f(e,i).value;const s=t===null||Array.isArray(t)&&t.length===0;if(!s)return undefined;return e.type==="text"?"Enter an answer before continuing.":"Choose an answer before continuing."}function _(e,i){if(!i||i.value===null)return"Skipped";const t=Array.isArray(i.value)?i.value:[i.value];const s=new Map(e.choices?.map((e=>[e.value,e.label]))??[]);return t.map((e=>s.get(e)??e)).join(", ")}const v=()=>`@media (forced-colors: active){.sc-ds-agent-questionnaire:root,.sc-ds-agent-questionnaire-h,.ds-forced-colors-scope.sc-ds-agent-questionnaire{--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-visually-hidden.sc-ds-agent-questionnaire-h,.ds-visually-hidden.sc-ds-agent-questionnaire{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-agent-questionnaire-h{display:block;width:100%;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.questionnaire.sc-ds-agent-questionnaire{display:grid;gap:var(--dimension-space-150);width:100%;padding:var(--dimension-space-200);border-radius:var(--dimension-radius-125);background:var(--color-background-primary);box-shadow:var(--effect-elevation-elevated-md);box-sizing:border-box}.questionnaire--answered.sc-ds-agent-questionnaire{gap:var(--dimension-space-100);padding:var(--dimension-space-150);background:var(--color-background-secondary);box-shadow:none}.questionnaire--preparing.sc-ds-agent-questionnaire{align-items:center;grid-template-columns:auto minmax(0, 1fr)}.questionnaire__header.sc-ds-agent-questionnaire,.questionnaire__actions.sc-ds-agent-questionnaire,.questionnaire__actions-leading.sc-ds-agent-questionnaire,.questionnaire__error.sc-ds-agent-questionnaire,.questionnaire__submission-error.sc-ds-agent-questionnaire{display:flex;align-items:center}.questionnaire__header.sc-ds-agent-questionnaire,.questionnaire__actions.sc-ds-agent-questionnaire{justify-content:space-between;gap:var(--dimension-space-100)}.questionnaire__body.sc-ds-agent-questionnaire,.questionnaire__prompt.sc-ds-agent-questionnaire,.questionnaire__choices.sc-ds-agent-questionnaire,.questionnaire__single-choice.sc-ds-agent-questionnaire,.questionnaire__multiple-choice.sc-ds-agent-questionnaire,.questionnaire__other-choice.sc-ds-agent-questionnaire,.questionnaire__summary.sc-ds-agent-questionnaire,.questionnaire__summary.sc-ds-agent-questionnaire li.sc-ds-agent-questionnaire{display:grid}.questionnaire__body.sc-ds-agent-questionnaire,.questionnaire__prompt.sc-ds-agent-questionnaire,.questionnaire__choices.sc-ds-agent-questionnaire,.questionnaire__single-choice.sc-ds-agent-questionnaire,.questionnaire__multiple-choice.sc-ds-agent-questionnaire,.questionnaire__other-choice.sc-ds-agent-questionnaire{gap:var(--dimension-space-100)}.questionnaire__choices.sc-ds-agent-questionnaire{min-width:0;margin:0;padding:0;border:0}ds-radio.sc-ds-agent-questionnaire,ds-checkbox.sc-ds-agent-questionnaire{width:100%;min-width:0}.questionnaire__other-input.sc-ds-agent-questionnaire,.questionnaire__text-input.sc-ds-agent-questionnaire{width:100%;padding:var(--dimension-space-100);border:var(--dimension-stroke-width-012) solid var(--color-border-secondary);border-radius:var(--dimension-radius-050);outline:none;background:var(--color-background-primary);color:var(--color-foreground-primary);font-family:var(--typography-font-family-ui);font-size:var(--typography-fontsize-md);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-md);letter-spacing:var(--typography-letterspacing-negative-half);box-sizing:border-box;-webkit-user-select:text;user-select:text}.questionnaire__other-input.sc-ds-agent-questionnaire{width:calc(100% - var(--dimension-size-500));margin-inline-start:var(--dimension-size-500)}.questionnaire__text-input.sc-ds-agent-questionnaire{min-height:calc(var(--typography-lineheight-md) * 4 + var(--dimension-space-200));resize:vertical}.questionnaire__other-input.sc-ds-agent-questionnaire:focus,.questionnaire__text-input.sc-ds-agent-questionnaire:focus{border-color:var(--color-border-bold-brand);box-shadow:inset 0 0 0 var(--dimension-stroke-width-018) var(--color-border-bold-brand)}.questionnaire__other-input[aria-invalid='true'].sc-ds-agent-questionnaire,.questionnaire__text-input[aria-invalid='true'].sc-ds-agent-questionnaire{border-color:var(--color-border-bold-negative)}.questionnaire__error.sc-ds-agent-questionnaire,.questionnaire__submission-error.sc-ds-agent-questionnaire{gap:var(--dimension-space-050);color:var(--color-foreground-bold-negative)}.questionnaire__submission-error.sc-ds-agent-questionnaire{padding:var(--dimension-space-075);border-radius:var(--dimension-radius-050);background:var(--color-background-faint-negative)}.questionnaire__actions-leading.sc-ds-agent-questionnaire{flex-wrap:wrap;gap:var(--dimension-space-075)}.questionnaire__action-item.sc-ds-agent-questionnaire{width:fit-content;max-width:100%}.questionnaire.sc-ds-agent-questionnaire textarea.sc-ds-agent-questionnaire:disabled{color:var(--color-foreground-tertiary);cursor:default;opacity:1}.questionnaire__summary.sc-ds-agent-questionnaire{gap:var(--dimension-space-100);margin:0;padding:0;list-style:none}.questionnaire__summary.sc-ds-agent-questionnaire li.sc-ds-agent-questionnaire{gap:var(--dimension-space-025)}@media (max-width: 480px){.questionnaire.sc-ds-agent-questionnaire{padding:var(--dimension-space-150)}.questionnaire__actions.sc-ds-agent-questionnaire{align-items:stretch;flex-direction:column}.questionnaire__actions-leading.sc-ds-agent-questionnaire{display:grid;grid-template-columns:minmax(0, 1fr);width:100%}.questionnaire__action-item.sc-ds-agent-questionnaire,.questionnaire__action-item--primary.sc-ds-agent-questionnaire{width:100%}}@media (forced-colors: active){.questionnaire.sc-ds-agent-questionnaire{border:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);box-shadow:none}.questionnaire__other-input[aria-invalid='true'].sc-ds-agent-questionnaire,.questionnaire__text-input[aria-invalid='true'].sc-ds-agent-questionnaire{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-content)}.questionnaire__submission-error.sc-ds-agent-questionnaire{border:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);background:var(--ds-forced-color-surface)}.questionnaire.sc-ds-agent-questionnaire input.sc-ds-agent-questionnaire:disabled,.questionnaire.sc-ds-agent-questionnaire textarea.sc-ds-agent-questionnaire:disabled{color:var(--ds-forced-color-disabled)}}`;const x={progress:"Question {current} of {total}",previous:"Previous",next:"Next",answer:"Answer",skip:"Skip",cancel:"Cancel",other:"Other",otherPlaceholder:"Enter another answer",preparing:"Preparing questions…"};let y=0;const w=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.dsAnswer=t(this,"dsAnswer",7);this.dsCancel=t(this,"dsCancel",7);this.answers=[];this.status="ready";this.allowCancel=false;this.currentStep=0;this.drafts={};this.validation={};this.instanceId=++y;this.otherValue=`__ds-agent-questionnaire-other-${this.instanceId}`;this.answerPending=false;this.resetScheduled=false;this.answersSnapshot=[];this.waitingForRequestAnswers=false}componentWillLoad(){this.draftRequestId=this.requestId;this.answersSnapshot=this.answers;this.resetDraft()}handleQuestionnaireInputChange(){this.scheduleDraftReset()}handleStatusChange(e){if(e!=="submitting")this.answerPending=false}async setFocus(){this.focusCurrentControl()}get copy(){return{...x,...this.labels}}get disabled(){return this.status==="submitting"}resetDraft(e=this.answers){this.currentStep=0;this.drafts=m(this.questions??[],e??[]);this.validation={};this.answerPending=false}scheduleDraftReset(){if(this.resetScheduled)return;this.resetScheduled=true;queueMicrotask((()=>{this.resetScheduled=false;const e=this.requestId!==this.draftRequestId;const i=this.answers!==this.answersSnapshot;if(e&&!i){this.waitingForRequestAnswers=true}else if(i){this.waitingForRequestAnswers=false}this.resetDraft(this.waitingForRequestAnswers?[]:this.answers);this.draftRequestId=this.requestId;this.answersSnapshot=this.answers}))}focusCurrentControl(e=false){const i=()=>{const i=e?this.el.querySelector('[data-question-control][aria-invalid="true"]:not([disabled])'):null;const t=i??this.el.querySelector("[data-question-control]:not([disabled]):not([is-inactive])");const s=this.el.querySelector("[data-question-action]:not([is-inactive]):not([is-loading])");const n=t??s;if(n?.setFocus)void n.setFocus();else n?.focus()};i();requestAnimationFrame(i);setTimeout(i,0)}updateDraft(e,i){const t=this.drafts[e]??{value:"",otherSelected:false,otherText:"",skipped:false};this.drafts={...this.drafts,[e]:{...t,...i,skipped:false}};if(this.validation[e]){const{[e]:i,...t}=this.validation;this.validation=t}}validate(e){const i=b(e,this.drafts[e.id]);if(!i)return true;this.validation={...this.validation,[e.id]:i};this.focusCurrentControl(true);return false}move(e){this.currentStep=Math.min(Math.max(e,0),this.questions.length-1);this.focusCurrentControl()}next(e){if(!this.validate(e))return;this.move(this.currentStep+1)}skip(e){if(e.required)return;this.drafts={...this.drafts,[e.id]:{...this.drafts[e.id]??{value:"",otherSelected:false,otherText:""},skipped:true}};if(this.currentStep<this.questions.length-1)this.move(this.currentStep+1);else this.submit()}submit(){if(this.disabled||this.answerPending)return;const e=this.questions.findIndex((e=>!this.validateWithoutFocus(e)));if(e>=0){this.currentStep=e;this.focusCurrentControl(true);return}this.answerPending=true;this.dsAnswer.emit({requestId:this.requestId,answers:this.questions.map((e=>f(e,this.drafts[e.id])))})}validateWithoutFocus(e){const i=b(e,this.drafts[e.id]);if(!i)return true;this.validation={...this.validation,[e.id]:i};return false}progressLabel(){return this.copy.progress.split("{current}").join(String(this.currentStep+1)).split("{total}").join(String(this.questions.length))}selectSingle(e,i){const t=i===this.otherValue;this.updateDraft(e.id,{value:t?"":i,otherSelected:t});if(t){requestAnimationFrame((()=>this.el.querySelector("[data-question-other-input]")?.focus()))}}renderSingleChoice(e,i,t){const n=this.drafts[e.id];const a=n.otherSelected?this.otherValue:typeof n.value==="string"?n.value:"";const r=[...e.choices??[],...e.allowOther?[{value:this.otherValue,label:this.copy.other}]:[]];return s("div",{class:"questionnaire__single-choice"},s("ds-radio",{"data-question-control":true,size:"lg",options:r,value:a,disabled:this.disabled,form:`ds-agent-questionnaire-detached-${this.instanceId}`,ariaLabelledby:i,"aria-describedby":this.validation[e.id]?t:undefined,onDsChange:i=>this.selectSingle(e,i.detail)}),n.otherSelected?this.renderOtherInput(e,t):null)}renderMultipleChoice(e,i){const t=this.drafts[e.id];const n=Array.isArray(t.value)?t.value:[];const a=`ds-agent-questionnaire-detached-${this.instanceId}`;return s("div",{class:"questionnaire__multiple-choice"},e.choices?.map((i=>s("ds-checkbox",{key:i.value,"data-question-control":true,size:"lg",label:i.label,description:i.description,value:i.value,checked:n.includes(i.value),disabled:this.disabled,form:a,onDsChange:t=>{this.updateDraft(e.id,{value:t.detail?[...n,i.value]:n.filter((e=>e!==i.value))})}}))),e.allowOther?s("div",{class:"questionnaire__other-choice"},s("ds-checkbox",{"data-question-control":true,size:"lg",label:this.copy.other,checked:t.otherSelected,disabled:this.disabled,form:a,onDsChange:i=>{this.updateDraft(e.id,{otherSelected:i.detail});if(i.detail){requestAnimationFrame((()=>this.el.querySelector("[data-question-other-input]")?.focus()))}}}),t.otherSelected?this.renderOtherInput(e,i):null):null)}renderOtherInput(e,i){const t=this.drafts[e.id];return s("input",{class:"questionnaire__other-input","data-question-control":true,"data-question-other-input":true,type:"text",form:`ds-agent-questionnaire-detached-${this.instanceId}`,value:t.otherText,placeholder:this.copy.otherPlaceholder,"aria-label":this.copy.other,"aria-invalid":this.validation[e.id]?"true":undefined,"aria-describedby":this.validation[e.id]?i:undefined,disabled:this.disabled,onInput:i=>this.updateDraft(e.id,{otherText:i.target.value})})}renderQuestion(e){const i=this.drafts[e.id];const t=`ds-agent-questionnaire-${this.instanceId}-${this.currentStep}-error`;const n=`ds-agent-questionnaire-${this.instanceId}-${this.currentStep}-prompt`;return s("div",{class:"questionnaire__body"},s("div",{class:"questionnaire__prompt"},s("ds-text",{as:"h2",variant:"text-title-small",textId:n},e.question),e.description?s("ds-text",{variant:"text-body-small",color:"secondary"},e.description):null),e.type==="text"?s("textarea",{class:"questionnaire__text-input","data-question-control":true,value:typeof i.value==="string"?i.value:"",form:`ds-agent-questionnaire-detached-${this.instanceId}`,placeholder:e.placeholder,"aria-label":e.question,"aria-invalid":this.validation[e.id]?"true":undefined,"aria-describedby":this.validation[e.id]?t:undefined,disabled:this.disabled,rows:4,onInput:i=>this.updateDraft(e.id,{value:i.target.value})}):s("fieldset",{class:"questionnaire__choices","aria-describedby":this.validation[e.id]?t:undefined},s("legend",{class:"ds-visually-hidden"},e.question),e.type==="single"?this.renderSingleChoice(e,n,t):this.renderMultipleChoice(e,t)),this.validation[e.id]?s("div",{id:t,class:"questionnaire__error",role:"alert"},s("ds-icon",{name:"ExclamationTriangle",size:"xs",color:"inherit"}),s("ds-text",{variant:"text-body-small",color:"negative"},this.validation[e.id])):null)}renderAnswered(){return s("div",{class:"questionnaire questionnaire--answered"},s("ol",{class:"questionnaire__summary"},this.questions.map((e=>s("li",null,s("ds-text",{variant:"text-body-small",emphasis:true},e.question),s("ds-text",{variant:"text-body-small",color:"secondary"},_(e,this.answers.find((i=>i.questionId===e.id)))))))))}render(){if(this.status==="preparing"){return s(n,null,s("div",{class:"questionnaire questionnaire--preparing",role:"status"},s("ds-loader",{size:"sm"}),s("ds-text",{variant:"text-body-medium"},this.copy.preparing)))}if(!this.questions?.length)return null;if(this.status==="answered")return s(n,null,this.renderAnswered());const e=this.questions[this.currentStep];const i=this.currentStep===this.questions.length-1;const t=Boolean(e.skippable&&!e.required);return s(n,null,s("section",{class:{questionnaire:true,"questionnaire--submitting":this.disabled,"questionnaire--error":this.status==="error"},"aria-busy":this.disabled?"true":undefined,"aria-label":e.question},s("header",{class:"questionnaire__header"},s("ds-text",{variant:"text-caption",color:"secondary"},this.progressLabel()),this.allowCancel?s("ds-tooltip",{label:this.copy.cancel,side:"top",size:"sm"},s("ds-button-unfilled",{"data-question-action":true,variant:"icon",icon:"Cross",size:"sm","aria-label":this.copy.cancel,hasBorder:false,isInactive:this.disabled,onDsClick:()=>this.dsCancel.emit({requestId:this.requestId})})):null),this.renderQuestion(e),this.status==="error"&&this.errorMessage?s("div",{class:"questionnaire__submission-error",role:"alert"},s("ds-icon",{name:"ExclamationTriangle",size:"xs",color:"inherit"}),s("ds-text",{variant:"text-body-small",color:"negative"},this.errorMessage)):null,s("footer",{class:"questionnaire__actions"},s("div",{class:"questionnaire__actions-leading"},this.currentStep>0?s("div",{class:"questionnaire__action-item"},s("ds-button-unfilled",{"data-question-action":true,label:this.copy.previous,size:"sm",width:"fill",isInactive:this.disabled,onDsClick:()=>this.move(this.currentStep-1)})):null,t?s("div",{class:"questionnaire__action-item"},s("ds-button-unfilled",{"data-question-action":true,label:this.copy.skip,size:"sm",width:"fill",hasBorder:false,isInactive:this.disabled,onDsClick:()=>this.skip(e)})):null),s("div",{class:"questionnaire__action-item questionnaire__action-item--primary"},s("ds-button-filled",{"data-question-action":true,label:i?this.copy.answer:this.copy.next,size:"sm",width:"fill",isLoading:this.disabled,onDsClick:()=>i?this.submit():this.next(e)})))))}get el(){return this}static get watchers(){return{requestId:[{handleQuestionnaireInputChange:0}],questions:[{handleQuestionnaireInputChange:0}],answers:[{handleQuestionnaireInputChange:0}],status:[{handleStatusChange:0}]}}static get style(){return v()}},[2,"ds-agent-questionnaire",{requestId:[1,"request-id"],questions:[16],answers:[16],status:[1],errorMessage:[1,"error-message"],allowCancel:[4,"allow-cancel"],labels:[16],currentStep:[32],drafts:[32],validation:[32],setFocus:[64]},undefined,{requestId:[{handleQuestionnaireInputChange:0}],questions:[{handleQuestionnaireInputChange:0}],answers:[{handleQuestionnaireInputChange:0}],status:[{handleStatusChange:0}]}]);function k(){if(typeof customElements==="undefined"){return}const e=["ds-agent-questionnaire","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-icon","ds-loader","ds-radio","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-agent-questionnaire":if(!customElements.get(a(e))){customElements.define(a(e),w)}break;case"ds-badge":if(!customElements.get(a(e))){r()}break;case"ds-button-filled":if(!customElements.get(a(e))){o()}break;case"ds-button-unfilled":if(!customElements.get(a(e))){d()}break;case"ds-checkbox":if(!customElements.get(a(e))){u()}break;case"ds-icon":if(!customElements.get(a(e))){c()}break;case"ds-loader":if(!customElements.get(a(e))){l()}break;case"ds-radio":if(!customElements.get(a(e))){h()}break;case"ds-text":if(!customElements.get(a(e))){g()}break;case"ds-tooltip":if(!customElements.get(a(e))){q()}break}}))}k();export{w as A,k as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as t,c as i,h as s,a as n,t as a}from"./index.js";import{d as r}from"./p-CwdRaJER.js";import{d as o}from"./p-Dg6hnCc2.js";import{d}from"./p-D-J7GgjY.js";import{d as u}from"./p--pJyciTI.js";import{d as c}from"./p-pPtjNRqC.js";import{d as l}from"./p-0XTyQNRG.js";import{d as h}from"./p-C1ZfBbJ_.js";import{d as g}from"./p-D8OWhnID.js";import{d as q}from"./p-DvGrsLgt.js";function p(e,t){return e.find((e=>e.questionId===t))}function m(e,t){return Object.fromEntries(e.map((e=>{const i=p(t,e.id);const s=new Set(e.choices?.map((e=>e.value))??[]);if(e.type==="multiple"){const t=Array.isArray(i?.value)?i.value:[];const n=t.filter((e=>s.has(e)));const a=t.find((e=>!s.has(e)))??"";return[e.id,{value:n,otherSelected:Boolean(e.allowOther&&a),otherText:e.allowOther?a:"",skipped:i?.value===null}]}const n=typeof i?.value==="string"?i.value:"";const a=e.type==="single"&&s.has(n);return[e.id,{value:e.type==="single"&&!a?"":n,otherSelected:Boolean(e.type==="single"&&e.allowOther&&n&&!a),otherText:e.type==="single"&&e.allowOther&&n&&!a?n:"",skipped:i?.value===null}]})))}function f(e,t){if(t.skipped)return{questionId:e.id,value:null};if(e.type==="multiple"){const i=Array.isArray(t.value)?[...t.value]:[];if(t.otherSelected&&t.otherText.trim())i.push(t.otherText.trim());return{questionId:e.id,value:i.length||e.required?i:null}}if(t.otherSelected){const i=t.otherText.trim();return{questionId:e.id,value:i||null}}const i=typeof t.value==="string"?t.value.trim():"";return{questionId:e.id,value:i||null}}function b(e,t){if((e.type==="single"||e.type==="multiple")&&!e.choices?.length){return"This question has no available choices."}if(t.otherSelected&&!t.otherText.trim()){return"Enter a response for Other."}if(!e.required||t.skipped)return undefined;const i=f(e,t).value;const s=i===null||Array.isArray(i)&&i.length===0;if(!s)return undefined;return e.type==="text"?"Enter an answer before continuing.":"Choose an answer before continuing."}function _(e,t){if(!t||t.value===null)return"Skipped";const i=Array.isArray(t.value)?t.value:[t.value];const s=new Map(e.choices?.map((e=>[e.value,e.label]))??[]);return i.map((e=>s.get(e)??e)).join(", ")}const v=()=>`@media (forced-colors: active){.sc-ds-agent-questionnaire:root,.sc-ds-agent-questionnaire-h,.ds-forced-colors-scope.sc-ds-agent-questionnaire{--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-visually-hidden.sc-ds-agent-questionnaire-h,.ds-visually-hidden.sc-ds-agent-questionnaire{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-agent-questionnaire-h{display:block;width:100%;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.questionnaire.sc-ds-agent-questionnaire{display:grid;gap:var(--dimension-space-150);width:100%;padding:var(--dimension-space-200);border-radius:var(--dimension-radius-125);background:var(--color-background-primary);box-shadow:var(--effect-elevation-elevated-md);box-sizing:border-box}.questionnaire--answered.sc-ds-agent-questionnaire{gap:var(--dimension-space-100);padding:var(--dimension-space-150);background:var(--color-background-secondary);box-shadow:none}.questionnaire--preparing.sc-ds-agent-questionnaire{align-items:center;grid-template-columns:auto minmax(0, 1fr)}.questionnaire__header.sc-ds-agent-questionnaire,.questionnaire__actions.sc-ds-agent-questionnaire,.questionnaire__actions-leading.sc-ds-agent-questionnaire,.questionnaire__error.sc-ds-agent-questionnaire,.questionnaire__submission-error.sc-ds-agent-questionnaire{display:flex;align-items:center}.questionnaire__header.sc-ds-agent-questionnaire,.questionnaire__actions.sc-ds-agent-questionnaire{justify-content:space-between;gap:var(--dimension-space-100)}.questionnaire__body.sc-ds-agent-questionnaire,.questionnaire__prompt.sc-ds-agent-questionnaire,.questionnaire__choices.sc-ds-agent-questionnaire,.questionnaire__single-choice.sc-ds-agent-questionnaire,.questionnaire__multiple-choice.sc-ds-agent-questionnaire,.questionnaire__other-choice.sc-ds-agent-questionnaire,.questionnaire__summary.sc-ds-agent-questionnaire,.questionnaire__summary.sc-ds-agent-questionnaire li.sc-ds-agent-questionnaire{display:grid}.questionnaire__body.sc-ds-agent-questionnaire,.questionnaire__prompt.sc-ds-agent-questionnaire,.questionnaire__choices.sc-ds-agent-questionnaire,.questionnaire__single-choice.sc-ds-agent-questionnaire,.questionnaire__multiple-choice.sc-ds-agent-questionnaire,.questionnaire__other-choice.sc-ds-agent-questionnaire{gap:var(--dimension-space-100)}.questionnaire__choices.sc-ds-agent-questionnaire{min-width:0;margin:0;padding:0;border:0}ds-radio.sc-ds-agent-questionnaire,ds-checkbox.sc-ds-agent-questionnaire{width:100%;min-width:0}.questionnaire__other-input.sc-ds-agent-questionnaire,.questionnaire__text-input.sc-ds-agent-questionnaire{width:100%;padding:var(--dimension-space-100);border:var(--dimension-stroke-width-012) solid var(--color-border-secondary);border-radius:var(--dimension-radius-050);outline:none;background:var(--color-background-primary);color:var(--color-foreground-primary);font-family:var(--typography-font-family-ui);font-size:var(--typography-fontsize-md);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-md);letter-spacing:var(--typography-letterspacing-negative-half);box-sizing:border-box;-webkit-user-select:text;user-select:text}.questionnaire__other-input.sc-ds-agent-questionnaire{width:calc(100% - var(--dimension-size-500));margin-inline-start:var(--dimension-size-500)}.questionnaire__text-input.sc-ds-agent-questionnaire{min-height:calc(var(--typography-lineheight-md) * 4 + var(--dimension-space-200));resize:vertical}.questionnaire__other-input.sc-ds-agent-questionnaire:focus,.questionnaire__text-input.sc-ds-agent-questionnaire:focus{border-color:var(--color-border-bold-brand);box-shadow:inset 0 0 0 var(--dimension-stroke-width-018) var(--color-border-bold-brand)}.questionnaire__other-input[aria-invalid='true'].sc-ds-agent-questionnaire,.questionnaire__text-input[aria-invalid='true'].sc-ds-agent-questionnaire{border-color:var(--color-border-bold-negative)}.questionnaire__error.sc-ds-agent-questionnaire,.questionnaire__submission-error.sc-ds-agent-questionnaire{gap:var(--dimension-space-050);color:var(--color-foreground-bold-negative)}.questionnaire__submission-error.sc-ds-agent-questionnaire{padding:var(--dimension-space-075);border-radius:var(--dimension-radius-050);background:var(--color-background-faint-negative)}.questionnaire__actions-leading.sc-ds-agent-questionnaire{flex-wrap:wrap;gap:var(--dimension-space-075)}.questionnaire__action-item.sc-ds-agent-questionnaire{width:fit-content;max-width:100%}.questionnaire.sc-ds-agent-questionnaire textarea.sc-ds-agent-questionnaire:disabled{color:var(--color-foreground-tertiary);cursor:default;opacity:1}.questionnaire__summary.sc-ds-agent-questionnaire{gap:var(--dimension-space-100);margin:0;padding:0;list-style:none}.questionnaire__summary.sc-ds-agent-questionnaire li.sc-ds-agent-questionnaire{gap:var(--dimension-space-025)}@media (max-width: 480px){.questionnaire.sc-ds-agent-questionnaire{padding:var(--dimension-space-150)}.questionnaire__actions.sc-ds-agent-questionnaire{align-items:stretch;flex-direction:column}.questionnaire__actions-leading.sc-ds-agent-questionnaire{display:grid;grid-template-columns:minmax(0, 1fr);width:100%}.questionnaire__action-item.sc-ds-agent-questionnaire,.questionnaire__action-item--primary.sc-ds-agent-questionnaire{width:100%}}@media (forced-colors: active){.questionnaire.sc-ds-agent-questionnaire{border:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);box-shadow:none}.questionnaire__other-input[aria-invalid='true'].sc-ds-agent-questionnaire,.questionnaire__text-input[aria-invalid='true'].sc-ds-agent-questionnaire{outline:var(--dimension-stroke-width-025) dashed var(--ds-forced-color-content)}.questionnaire__submission-error.sc-ds-agent-questionnaire{border:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);background:var(--ds-forced-color-surface)}.questionnaire.sc-ds-agent-questionnaire input.sc-ds-agent-questionnaire:disabled,.questionnaire.sc-ds-agent-questionnaire textarea.sc-ds-agent-questionnaire:disabled{color:var(--ds-forced-color-disabled)}}`;const x={progress:"Question {current} of {total}",previous:"Previous",next:"Next",answer:"Answer",skip:"Skip",cancel:"Cancel",other:"Other",otherPlaceholder:"Enter another answer",preparing:"Preparing questions…"};let y=0;const w=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.dsAnswer=i(this,"dsAnswer",7);this.dsCancel=i(this,"dsCancel",7);this.answers=[];this.status="ready";this.allowCancel=false;this.currentStep=0;this.drafts={};this.validation={};this.instanceId=++y;this.otherValue=`__ds-agent-questionnaire-other-${this.instanceId}`;this.answerPending=false;this.resetScheduled=false;this.answersSnapshot=[];this.waitingForRequestAnswers=false}componentWillLoad(){this.draftRequestId=this.requestId;this.answersSnapshot=this.answers;this.resetDraft()}handleQuestionnaireInputChange(){this.scheduleDraftReset()}handleStatusChange(e){if(e!=="submitting")this.answerPending=false}async setFocus(){this.focusCurrentControl()}get copy(){return{...x,...this.labels}}get disabled(){return this.status==="submitting"}resetDraft(e=this.answers){this.currentStep=0;this.drafts=m(this.questions??[],e??[]);this.validation={};this.answerPending=false}scheduleDraftReset(){if(this.resetScheduled)return;this.resetScheduled=true;queueMicrotask((()=>{this.resetScheduled=false;const e=this.requestId!==this.draftRequestId;const t=this.answers!==this.answersSnapshot;if(e&&!t){this.waitingForRequestAnswers=true}else if(t){this.waitingForRequestAnswers=false}this.resetDraft(this.waitingForRequestAnswers?[]:this.answers);this.draftRequestId=this.requestId;this.answersSnapshot=this.answers}))}focusCurrentControl(e=false){const t=()=>{const t=e?this.el.querySelector('[data-question-control][aria-invalid="true"]:not([disabled])'):null;const i=t??this.el.querySelector("[data-question-control]:not([disabled]):not([is-inactive])");const s=this.el.querySelector("[data-question-action]:not([is-inactive]):not([is-loading])");const n=i??s;if(n?.setFocus)void n.setFocus();else n?.focus()};t();requestAnimationFrame(t);setTimeout(t,0)}updateDraft(e,t){const i=this.drafts[e]??{value:"",otherSelected:false,otherText:"",skipped:false};this.drafts={...this.drafts,[e]:{...i,...t,skipped:false}};if(this.validation[e]){const{[e]:t,...i}=this.validation;this.validation=i}}validate(e){const t=b(e,this.drafts[e.id]);if(!t)return true;this.validation={...this.validation,[e.id]:t};this.focusCurrentControl(true);return false}move(e){this.currentStep=Math.min(Math.max(e,0),this.questions.length-1);this.focusCurrentControl()}next(e){if(!this.validate(e))return;this.move(this.currentStep+1)}skip(e){if(e.required)return;this.drafts={...this.drafts,[e.id]:{...this.drafts[e.id]??{value:"",otherSelected:false,otherText:""},skipped:true}};if(this.currentStep<this.questions.length-1)this.move(this.currentStep+1);else this.submit()}submit(){if(this.disabled||this.answerPending)return;const e=this.questions.findIndex((e=>!this.validateWithoutFocus(e)));if(e>=0){this.currentStep=e;this.focusCurrentControl(true);return}this.answerPending=true;this.dsAnswer.emit({requestId:this.requestId,answers:this.questions.map((e=>f(e,this.drafts[e.id])))})}validateWithoutFocus(e){const t=b(e,this.drafts[e.id]);if(!t)return true;this.validation={...this.validation,[e.id]:t};return false}progressLabel(){return this.copy.progress.split("{current}").join(String(this.currentStep+1)).split("{total}").join(String(this.questions.length))}selectSingle(e,t){const i=t===this.otherValue;this.updateDraft(e.id,{value:i?"":t,otherSelected:i});if(i){requestAnimationFrame((()=>this.el.querySelector("[data-question-other-input]")?.focus()))}}renderSingleChoice(e,t,i){const n=this.drafts[e.id];const a=n.otherSelected?this.otherValue:typeof n.value==="string"?n.value:"";const r=[...e.choices??[],...e.allowOther?[{value:this.otherValue,label:this.copy.other}]:[]];return s("div",{class:"questionnaire__single-choice"},s("ds-radio",{"data-question-control":true,size:"lg",options:r,value:a,disabled:this.disabled,form:`ds-agent-questionnaire-detached-${this.instanceId}`,ariaLabelledby:t,"aria-describedby":this.validation[e.id]?i:undefined,onDsChange:t=>this.selectSingle(e,t.detail)}),n.otherSelected?this.renderOtherInput(e,i):null)}renderMultipleChoice(e,t){const i=this.drafts[e.id];const n=Array.isArray(i.value)?i.value:[];const a=`ds-agent-questionnaire-detached-${this.instanceId}`;return s("div",{class:"questionnaire__multiple-choice"},e.choices?.map((t=>s("ds-checkbox",{key:t.value,"data-question-control":true,size:"lg",label:t.label,description:t.description,value:t.value,checked:n.includes(t.value),disabled:this.disabled,form:a,onDsChange:i=>{this.updateDraft(e.id,{value:i.detail?[...n,t.value]:n.filter((e=>e!==t.value))})}}))),e.allowOther?s("div",{class:"questionnaire__other-choice"},s("ds-checkbox",{"data-question-control":true,size:"lg",label:this.copy.other,checked:i.otherSelected,disabled:this.disabled,form:a,onDsChange:t=>{this.updateDraft(e.id,{otherSelected:t.detail});if(t.detail){requestAnimationFrame((()=>this.el.querySelector("[data-question-other-input]")?.focus()))}}}),i.otherSelected?this.renderOtherInput(e,t):null):null)}renderOtherInput(e,t){const i=this.drafts[e.id];return s("input",{class:"questionnaire__other-input","data-question-control":true,"data-question-other-input":true,type:"text",form:`ds-agent-questionnaire-detached-${this.instanceId}`,value:i.otherText,placeholder:this.copy.otherPlaceholder,"aria-label":this.copy.other,"aria-invalid":this.validation[e.id]?"true":undefined,"aria-describedby":this.validation[e.id]?t:undefined,disabled:this.disabled,onInput:t=>this.updateDraft(e.id,{otherText:t.target.value})})}renderQuestion(e){const t=this.drafts[e.id];const i=`ds-agent-questionnaire-${this.instanceId}-${this.currentStep}-error`;const n=`ds-agent-questionnaire-${this.instanceId}-${this.currentStep}-prompt`;return s("div",{class:"questionnaire__body"},s("div",{class:"questionnaire__prompt"},s("ds-text",{as:"h2",variant:"text-title-small",textId:n},e.question),e.description?s("ds-text",{variant:"text-body-small",color:"secondary"},e.description):null),e.type==="text"?s("textarea",{class:"questionnaire__text-input","data-question-control":true,value:typeof t.value==="string"?t.value:"",form:`ds-agent-questionnaire-detached-${this.instanceId}`,placeholder:e.placeholder,"aria-label":e.question,"aria-invalid":this.validation[e.id]?"true":undefined,"aria-describedby":this.validation[e.id]?i:undefined,disabled:this.disabled,rows:4,onInput:t=>this.updateDraft(e.id,{value:t.target.value})}):s("fieldset",{class:"questionnaire__choices","aria-describedby":this.validation[e.id]?i:undefined},s("legend",{class:"ds-visually-hidden"},e.question),e.type==="single"?this.renderSingleChoice(e,n,i):this.renderMultipleChoice(e,i)),this.validation[e.id]?s("div",{id:i,class:"questionnaire__error",role:"alert"},s("ds-icon",{name:"ExclamationTriangle",size:"xs",color:"inherit"}),s("ds-text",{variant:"text-body-small",color:"negative"},this.validation[e.id])):null)}renderAnswered(){return s("div",{class:"questionnaire questionnaire--answered"},s("ol",{class:"questionnaire__summary"},this.questions.map((e=>s("li",null,s("ds-text",{variant:"text-body-small",emphasis:true},e.question),s("ds-text",{variant:"text-body-small",color:"secondary"},_(e,this.answers.find((t=>t.questionId===e.id)))))))))}render(){if(this.status==="preparing"){return s(n,null,s("div",{class:"questionnaire questionnaire--preparing",role:"status"},s("ds-loader",{size:"sm"}),s("ds-text",{variant:"text-body-medium"},this.copy.preparing)))}if(!this.questions?.length)return null;if(this.status==="answered")return s(n,null,this.renderAnswered());const e=this.questions[this.currentStep];const t=this.currentStep===this.questions.length-1;const i=Boolean(e.skippable&&!e.required);return s(n,null,s("section",{class:{questionnaire:true,"questionnaire--submitting":this.disabled,"questionnaire--error":this.status==="error"},"aria-busy":this.disabled?"true":undefined,"aria-label":e.question},s("header",{class:"questionnaire__header"},s("ds-text",{variant:"text-caption",color:"secondary"},this.progressLabel()),this.allowCancel?s("ds-tooltip",{label:this.copy.cancel,side:"top",size:"sm"},s("ds-button-unfilled",{"data-question-action":true,variant:"icon",icon:"Cross",size:"sm","aria-label":this.copy.cancel,hasBorder:false,isInactive:this.disabled,onDsClick:()=>this.dsCancel.emit({requestId:this.requestId})})):null),this.renderQuestion(e),this.status==="error"&&this.errorMessage?s("div",{class:"questionnaire__submission-error",role:"alert"},s("ds-icon",{name:"ExclamationTriangle",size:"xs",color:"inherit"}),s("ds-text",{variant:"text-body-small",color:"negative"},this.errorMessage)):null,s("footer",{class:"questionnaire__actions"},s("div",{class:"questionnaire__actions-leading"},this.currentStep>0?s("div",{class:"questionnaire__action-item"},s("ds-button-unfilled",{"data-question-action":true,label:this.copy.previous,size:"sm",width:"fill",isInactive:this.disabled,onDsClick:()=>this.move(this.currentStep-1)})):null,i?s("div",{class:"questionnaire__action-item"},s("ds-button-unfilled",{"data-question-action":true,label:this.copy.skip,size:"sm",width:"fill",hasBorder:false,isInactive:this.disabled,onDsClick:()=>this.skip(e)})):null),s("div",{class:"questionnaire__action-item questionnaire__action-item--primary"},s("ds-button-filled",{"data-question-action":true,label:t?this.copy.answer:this.copy.next,size:"sm",width:"fill",isLoading:this.disabled,onDsClick:()=>t?this.submit():this.next(e)})))))}get el(){return this}static get watchers(){return{requestId:[{handleQuestionnaireInputChange:0}],questions:[{handleQuestionnaireInputChange:0}],answers:[{handleQuestionnaireInputChange:0}],status:[{handleStatusChange:0}]}}static get style(){return v()}},[2,"ds-agent-questionnaire",{requestId:[1,"request-id"],questions:[16],answers:[16],status:[1],errorMessage:[1,"error-message"],allowCancel:[4,"allow-cancel"],labels:[16],currentStep:[32],drafts:[32],validation:[32],setFocus:[64]},undefined,{requestId:[{handleQuestionnaireInputChange:0}],questions:[{handleQuestionnaireInputChange:0}],answers:[{handleQuestionnaireInputChange:0}],status:[{handleStatusChange:0}]}]);function k(){if(typeof customElements==="undefined"){return}const e=["ds-agent-questionnaire","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-icon","ds-loader","ds-radio","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-agent-questionnaire":if(!customElements.get(a(e))){customElements.define(a(e),w)}break;case"ds-badge":if(!customElements.get(a(e))){r()}break;case"ds-button-filled":if(!customElements.get(a(e))){o()}break;case"ds-button-unfilled":if(!customElements.get(a(e))){d()}break;case"ds-checkbox":if(!customElements.get(a(e))){u()}break;case"ds-icon":if(!customElements.get(a(e))){c()}break;case"ds-loader":if(!customElements.get(a(e))){l()}break;case"ds-radio":if(!customElements.get(a(e))){h()}break;case"ds-text":if(!customElements.get(a(e))){g()}break;case"ds-tooltip":if(!customElements.get(a(e))){q()}break}}))}k();export{w as A,k as d};
|
|
2
|
+
//# sourceMappingURL=p-BO5URdZF.js.map
|
|
@@ -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-
|
|
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-pPtjNRqC.js";import{d as i}from"./p-D8OWhnID.js";import{r as d}from"./p-CbrDF2gA.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-BVxK8ce0.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as o,h as s,a,t}from"./index.js";import{C as i}from"./p-BnhGV__o.js";import{d as c}from"./p-CwdRaJER.js";import{d}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as o,h as s,a,t}from"./index.js";import{C as i}from"./p-BnhGV__o.js";import{d as c}from"./p-CwdRaJER.js";import{d}from"./p-D-J7GgjY.js";import{d as n}from"./p-pPtjNRqC.js";import{d as r}from"./p-0XTyQNRG.js";import{d as l}from"./p-D8OWhnID.js";import{d as f}from"./p-DvGrsLgt.js";const b=()=>`.sc-ds-code-block-h{display:block;width:100%;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.code-block.sc-ds-code-block{width:100%;min-width:0;margin:0;overflow:hidden;border-radius:var(--dimension-radius-050);background:var(--color-background-strong-neutral);color:var(--color-foreground-faint-neutral);box-sizing:border-box}.code-block__header.sc-ds-code-block{display:flex;align-items:center;justify-content:space-between;gap:var(--dimension-space-100);min-height:var(--dimension-size-400);padding:var(--dimension-space-050) var(--dimension-space-100);background:var(--color-background-strong-neutral);box-sizing:border-box}pre.sc-ds-code-block{margin:0;padding:var(--dimension-space-150);overflow:auto;font-family:var( --typography-font-family-code, 'Fira Code', ui-monospace, 'SFMono-Regular', 'Cascadia Code', 'Roboto Mono', Menlo, Monaco, Consolas, 'Liberation Mono', monospace );font-size:var(--typography-fontsize-sm);font-variant-ligatures:var(--ds-code-font-variant-ligatures, normal);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-sm);letter-spacing:var(--typography-letterspacing-none);tab-size:2;-webkit-user-select:text;user-select:text}code.sc-ds-code-block{font:inherit;white-space:pre}`;const p=e(class e extends o{constructor(e){super();if(e!==false){this.__registerHost()}this.code="";this.language="";this.filename="";this.copied=false;this.copyFeedback=new i((e=>{this.copied=e}));this.copy=async()=>{await this.copyFeedback.copy(this.code)}}connectedCallback(){this.copyFeedback.connect()}handleCodeChange(){this.copyFeedback.reset()}disconnectedCallback(){this.copyFeedback.disconnect()}render(){const e=this.filename||this.language||"Code";return s(a,{key:"6a8ee52a31076178a7c91151bddf3e8e7ec96a00"},s("figure",{key:"4a505f426dd5aef6e03fb2a212f4189a62aaad49",class:"code-block"},s("figcaption",{key:"d054d4c2c18c871b68a4f986175569b9b3fc4585",class:"code-block__header"},s("ds-text",{key:"b9670a2756d941325dd9d0879e87c7f1c29a5bb9",as:"span",variant:"text-caption",emphasis:true,color:"on-strong"},e),s("ds-tooltip",{key:"0fdc7fa490235c402cc1af32686bf48bd0e02592",label:this.copied?"Copied":"Copy code",side:"bottom",size:"sm"},s("ds-button-unfilled",{key:"81bcdf895e416386fb24cf74fb8b45e7e724cf05",variant:"icon",icon:this.copied?"Check":"Copy",size:"xs","aria-label":this.copied?"Copied":"Copy code",hasBorder:false,onDsClick:this.copy}))),s("pre",{key:"3b641059e00b2f38a502b2f1e42a9e062543cc98"},s("code",{key:"ee226e1a605f7251c6127c02a957d1ab0faf2f52"},this.code))))}static get watchers(){return{code:[{handleCodeChange:0}]}}static get style(){return b()}},[2,"ds-code-block",{code:[1],language:[1],filename:[1],copied:[32]},undefined,{code:[{handleCodeChange:0}]}]);function m(){if(typeof customElements==="undefined"){return}const e=["ds-code-block","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];e.forEach((e=>{switch(e){case"ds-code-block":if(!customElements.get(t(e))){customElements.define(t(e),p)}break;case"ds-badge":if(!customElements.get(t(e))){c()}break;case"ds-button-unfilled":if(!customElements.get(t(e))){d()}break;case"ds-icon":if(!customElements.get(t(e))){n()}break;case"ds-loader":if(!customElements.get(t(e))){r()}break;case"ds-text":if(!customElements.get(t(e))){l()}break;case"ds-tooltip":if(!customElements.get(t(e))){f()}break}}))}m();export{p as C,m as d};
|
|
2
|
+
//# sourceMappingURL=p-BYeG0b5N.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as n,H as e,c as r,h as i,a as s,t as a}from"./index.js";import{d as t}from"./p-CwdRaJER.js";import{d as o}from"./p-D-J7GgjY.js";import{d}from"./p-pPtjNRqC.js";import{d as c}from"./p-0XTyQNRG.js";import{d as l}from"./p-D8OWhnID.js";import{d as f}from"./p-DvGrsLgt.js";const u=[{label:"Today",value:"today",days:1,offset:0},{label:"Yesterday",value:"yesterday",days:1,offset:-1},{label:"Last 7 days",value:"last-7-days",days:7,offset:0},{label:"Last 14 days",value:"last-14-days",days:14,offset:0},{label:"Last 30 days",value:"last-30-days",days:30,offset:0},{label:"Last 60 days",value:"last-60-days",days:60,offset:0},{label:"Last 90 days",value:"last-90-days",days:90,offset:0}];const v=/^\d{4}-\d{2}-\d{2}$/;const h=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:"UTC"});function g(n){if(typeof n!=="string"||!v.test(n))return false;const[e,r,i]=n.split("-").map(Number);if(e<1)return false;const s=new Date(`${n}T00:00:00Z`);return s.getUTCFullYear()===e&&s.getUTCMonth()===r-1&&s.getUTCDate()===i}function m(n){if(!g(n))return"";return h.formatToParts(new Date(`${n}T00:00:00Z`)).map((n=>n.type==="year"?n.value.padStart(4,"0"):n.value)).join("")}const p=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];function b(n){if(typeof n!=="string")return"";const e=n.trim();if(!e)return"";if(g(e))return e;const r=e.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);if(r){const n=`${r[3]}-${r[1].padStart(2,"0")}-${r[2].padStart(2,"0")}`;return g(n)?n:""}const i=e.match(/^([A-Za-z]{3})\s+(\d{1,2}),\s+(\d{4})$/);if(!i)return"";const s=p.indexOf(i[1].toLowerCase());if(s<0)return"";const a=`${i[3]}-${String(s+1).padStart(2,"0")}-${i[2].padStart(2,"0")}`;return g(a)?a:""}function y(n,e){if(!g(n)||!Number.isSafeInteger(e))return"";const r=new Date(`${n}T00:00:00Z`);r.setUTCDate(r.getUTCDate()+e);const i=r.getUTCFullYear();return i>=1&&i<=9999?r.toISOString().slice(0,10):""}function w(n){return`relative:${n}`}function k(n,e=n){const r=n<=e?[n,e]:[e,n];return`range:${r[0]}/${r[1]}`}function x(n){if(typeof n!=="string"||!n)return null;if(n.startsWith("relative:")){const e=n.slice("relative:".length);return u.some((n=>n.value===e))?{kind:"relative",preset:e}:null}if(n.startsWith("range:")){const[e,r,...i]=n.slice("range:".length).split("/");if(i.length||!g(e)||!g(r))return null;return e<=r?{kind:"range",start:e,end:r}:{kind:"range",start:r,end:e}}return g(n)?{kind:"range",start:n,end:n}:null}const $=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const T=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric",timeZone:"UTC"});const D=new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric",year:"numeric",timeZone:"UTC"});function C(){const n=new Date;const e=String(n.getFullYear()).padStart(4,"0");const r=String(n.getMonth()+1).padStart(2,"0");const i=String(n.getDate()).padStart(2,"0");return`${e}-${r}-${i}`}function z(n){return g(n)?n.slice(0,7):C().slice(0,7)}function j(n,e){if(!g(`${n}-01`)||!Number.isSafeInteger(e))return"";const r=new Date(`${n}-01T00:00:00Z`);r.setUTCMonth(r.getUTCMonth()+e);const i=r.getUTCFullYear();return i>=1&&i<=9999?r.toISOString().slice(0,7):""}function E(n){if(!g(`${n}-01`))return"";return T.format(new Date(`${n}-01T00:00:00Z`))}function L(n){if(!g(`${n}-01`))return[];const e=new Date(`${n}-01T00:00:00Z`);const r=e.getUTCDay();return Array.from({length:42},((i,s)=>{const a=new Date(e);a.setUTCDate(1-r+s);const t=a.getUTCFullYear();const o=t>=1&&t<=9999?a.toISOString().slice(0,10):"";return{value:o,day:a.getUTCDate(),inMonth:o.startsWith(`${n}-`),label:o?D.format(a):"Unavailable date"}}))}function Z(n,e,r){return n?e:r}const _=()=>`.sc-ds-calendar-h,.sc-ds-calendar:where(.ds-table),.sc-ds-calendar:where(.tooltip-popup),.sc-ds-calendar: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-calendar,.ds-control--lg.sc-ds-calendar-h,.ds-control--md.sc-ds-calendar-h,.ds-control--md.sc-ds-calendar,.ds-control--sm.sc-ds-calendar-h,.ds-control--sm.sc-ds-calendar,.ds-control--xs.sc-ds-calendar-h,.ds-control--xs.sc-ds-calendar{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-calendar-h,.ds-control--lg.sc-ds-calendar{--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-calendar-h,.ds-control--md.sc-ds-calendar{--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-calendar-h,.ds-control--sm.sc-ds-calendar{--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-calendar-h,.ds-control--xs.sc-ds-calendar{--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}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--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-calendar-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-calendar-h,.ds-focus-ring.sc-ds-calendar,.ds-focus-ring-inset.sc-ds-calendar-h,.ds-focus-ring-inset.sc-ds-calendar{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-calendar-h:focus-visible,.ds-focus-ring.sc-ds-calendar: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-calendar-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-calendar{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-calendar-h:focus-visible,.ds-focus-ring-inset.sc-ds-calendar:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-calendar-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-calendar: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-calendar-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-calendar::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-calendar-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill.sc-ds-calendar{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-calendar-h::before,.ds-interaction-fill.sc-ds-calendar::before,.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-calendar-h::before,.ds-interaction-fill.sc-ds-calendar::before{z-index:1}.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::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-calendar-h,.ds-interaction-fill--bordered.sc-ds-calendar{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-calendar-h::before,.ds-interaction-fill--selected.sc-ds-calendar::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-calendar-h,.ds-interaction-fill--selected.sc-ds-calendar{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-calendar-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-calendar:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-calendar-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-calendar-h::after,.ds-interaction-fill--grouped.sc-ds-calendar::after,.ds-interaction-fill--grouped.sc-ds-calendar-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-calendar-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-calendar:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-calendar-h,.ds-interaction-fill--grouped.sc-ds-calendar{--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-calendar-h>.ds-interaction-fill__content.sc-ds-calendar,.ds-interaction-fill.sc-ds-calendar>.ds-interaction-fill__content.sc-ds-calendar,.ds-interaction-fill__content.sc-ds-calendar{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-calendar-h,.ds-interaction-fill--on-faint.sc-ds-calendar{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-calendar-h,.ds-interaction-fill--on-medium.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-bold.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-strong.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-translucent.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-inverted.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-media.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-always-dark.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-chrome.sc-ds-calendar{--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-calendar-h,.ds-interaction-fill--on-navigation.sc-ds-calendar{--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-calendar-h:not(:disabled)::after,.ds-interaction-fill.ds-interaction-fill--surface-open.sc-ds-calendar:not(:disabled)::after{background:var(--ds-interaction-pressed)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-calendar-h::after,.ds-interaction-fill.sc-ds-calendar::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-calendar-h:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill--surface-open.sc-ds-calendar: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-calendar-h::before,.ds-interaction-fill--selected.sc-ds-calendar::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-calendar-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-calendar: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-calendar:root,.sc-ds-calendar-h,.ds-forced-colors-scope.sc-ds-calendar{--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-calendar-h{display:flex;min-height:0;flex-direction:column}.calendar.sc-ds-calendar{display:flex;min-height:0;flex-direction:column;min-width:calc( (var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6) + (var(--dimension-space-100) * 2) );padding:var(--ds-calendar-padding, var(--dimension-space-100))}.calendar-heading.sc-ds-calendar{display:grid;grid-template-columns:var(--dimension-size-400) minmax(0, 1fr) var(--dimension-size-400);align-items:center;text-align:center}.calendar-nav--previous.sc-ds-calendar{justify-self:start}.calendar-nav--next.sc-ds-calendar{justify-self:end}.calendar-weekdays.sc-ds-calendar,.calendar-grid__row.sc-ds-calendar{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));column-gap:var(--dimension-space-050)}.calendar-grid.sc-ds-calendar{display:flex;flex-direction:column;row-gap:var(--dimension-space-050)}.calendar-weekdays.sc-ds-calendar{align-items:center;min-height:var(--dimension-size-400);margin-block-start:var(--dimension-space-050);color:var(--color-foreground-secondary);text-align:center}.calendar-day.sc-ds-calendar{appearance:none;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:var(--dimension-size-400);padding:0;border:0;border-radius:var(--dimension-radius-025);background:transparent;color:var(--color-foreground-primary);cursor:default}.calendar-day.sc-ds-calendar:disabled{cursor:not-allowed}.calendar-day--outside.sc-ds-calendar{color:var(--color-foreground-tertiary)}.calendar-day--in-range.sc-ds-calendar{background:var(--color-background-faint-brand);color:var(--color-foreground-primary)}.calendar-day.ds-interaction-fill.calendar-day--range-preview.sc-ds-calendar:not(:disabled)::after{background:var(--ds-interaction-hover)}.calendar-day.ds-interaction-fill.calendar-day--range-preview.sc-ds-calendar:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.calendar-day--today.sc-ds-calendar{color:var(--color-foreground-primary)}.calendar-day--range-edge.sc-ds-calendar{background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold-background-primary)}@media (forced-colors: active){.calendar-day--range-edge.sc-ds-calendar{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content)}}`;const B=n(class n extends e{constructor(n){super();if(n!==false){this.__registerHost()}this.dsChange=r(this,"dsChange",7);this.selectionMode="single";this.value="";this.isInactive=false;this.autoFocus=false;this.month=z(C());this.focusedDay="";this.pendingStart="";this.previewEnd="";this.heldRange=null;this.moveMonth=n=>{const e=j(this.month,n);if(this.isInactive||!e)return;this.previewEnd="";this.month=e};this.selectDate=n=>{if(this.isDisabled(n))return;this.previewEnd="";if(this.selectionMode==="single"){this.pendingStart="";this.heldRange=null;this.dsChange.emit(n);return}const e=this.pendingStart;if(e){this.pendingStart="";this.heldRange=null;this.dsChange.emit(k(e,n));return}const r=x(this.value);this.heldRange=r?.kind==="range"?{start:r.start,end:r.end}:null;this.pendingStart=n;this.dsChange.emit(k(n,n))};this.previewRange=n=>{if(this.isDisabled(n)){this.clearPreview();return}if(!this.pendingStart||this.previewEnd===n)return;this.previewEnd=n};this.clearPreview=()=>{if(!this.previewEnd)return;this.previewEnd=""};this.handleDayKeyDown=(n,e)=>{let r=null;if(n.key==="ArrowLeft")r=-1;else if(n.key==="ArrowRight")r=1;else if(n.key==="ArrowUp")r=-7;else if(n.key==="ArrowDown")r=7;else if(n.key==="Home"){r=-new Date(`${e}T00:00:00Z`).getUTCDay()}else if(n.key==="End"){r=6-new Date(`${e}T00:00:00Z`).getUTCDay()}else if(n.key==="PageUp"||n.key==="PageDown"){const r=j(z(e),n.key==="PageUp"?-1:1);const i=`${r}-${e.slice(8,10)}`;n.preventDefault();this.focusDate(g(i)?i:`${r}-01`);return}if(r===null)return;n.preventDefault();this.focusDate(y(e,r))}}componentWillLoad(){this.month=z(this.anchorDate())}componentDidLoad(){if(this.autoFocus)void this.setFocus()}onValueChange(){this.month=z(this.anchorDate());this.focusedDay=""}async setFocus(){this.el.querySelector('.calendar-day[tabindex="0"]')?.focus()}anchorDate(){if(this.selectionMode==="range"){const n=x(this.value);if(n?.kind==="range")return n.start;return C()}return g(this.value)?this.value:C()}isUnavailable(n){if(this.isInactive||!g(n))return true;if(this.min&&g(this.min)&&n<this.min)return true;if(this.max&&g(this.max)&&n>this.max)return true;return false}isDisabled(n){return!n.startsWith(`${this.month}-`)||this.isUnavailable(n)}focusDate(n){if(this.isUnavailable(n))return;const e=z(n);if(this.month!==e)this.month=e;this.focusedDay=n;this.previewRange(n);requestAnimationFrame((()=>{this.el.querySelector(`[data-date-option="${n}"]`)?.focus()}))}render(){const n=this.selectionMode==="range"?x(this.value):null;const e=n?.kind==="range"?n:null;const r=Z(this.pendingStart,this.heldRange,e);const a=L(this.month);const t=Array.from({length:6},((n,e)=>a.slice(e*7,e*7+7)));const o=C();const d=this.pendingStart&&this.previewEnd?[this.pendingStart,this.previewEnd].sort()[0]:null;const c=this.pendingStart&&this.previewEnd?[this.pendingStart,this.previewEnd].sort()[1]:null;const l=this.selectionMode==="single"&&g(this.value)?this.value:"";const f=a.filter((n=>!this.isDisabled(n.value)));const u=[this.focusedDay,this.pendingStart,l,r?.end,o].find((n=>f.some((e=>e.value===n))))??f[0]?.value;return i(s,{key:"e5f8aeec1b76e7664931c6cf22096097d1f7fc3d"},i("div",{key:"165448e6144ee8a5fb673bfd89b1caa41379831b",class:"calendar"},i("div",{key:"8ca215c40d50727409d32ae2fc082ad7b0ed4eaf",class:"calendar-heading ds-control--md"},i("ds-button-unfilled",{key:"bfa9ed06eba9bcc1a8af636ef46ae20d764faf75",class:"calendar-nav calendar-nav--previous",variant:"icon",icon:"ChevronLeft",size:"md",hasBorder:false,isInactive:this.isInactive||!j(this.month,-1),ariaLabel:"Previous month",onDsClick:()=>this.moveMonth(-1)}),i("ds-text",{key:"5d56b0459680bb0c88041fa2b446f672a6161750",as:"span",variant:"text-body-medium",emphasis:true,color:"primary"},E(this.month)),i("ds-button-unfilled",{key:"cec3f0e057d55866e9fa35e8a1a7dc7f2c8e69ed",class:"calendar-nav calendar-nav--next",variant:"icon",icon:"ChevronRight",size:"md",hasBorder:false,isInactive:this.isInactive||!j(this.month,1),ariaLabel:"Next month",onDsClick:()=>this.moveMonth(1)})),i("div",{key:"5644a4f00cd2b04d80ef1a6113b2fa652663ae1a",class:"calendar-weekdays","aria-hidden":"true"},$.map((n=>i("ds-text",{as:"span",variant:"text-body-small",color:"secondary"},n)))),i("div",{key:"14d0a7d062ee683bc94a5f356c7a2e166f6901c8",class:"calendar-grid",role:"grid","aria-label":E(this.month),onMouseLeave:this.clearPreview},t.map(((n,s)=>i("div",{class:"calendar-grid__row",role:"row",key:`week-${s}`},n.map((n=>{const s=this.isDisabled(n.value);const a=Boolean(e&&n.value>=e.start&&n.value<=e.end);const t=Boolean(r&&n.value>=r.start&&n.value<=r.end);const f=this.selectionMode==="range"&&Boolean(this.pendingStart)&&n.value===this.pendingStart;const v=Boolean(this.pendingStart&&d&&c&&n.value>=d&&n.value<=c&&n.value!==this.pendingStart);const h=this.selectionMode==="range"&&t;const g=Boolean(this.selectionMode==="range"&&r&&(n.value===r.start||n.value===r.end));const m=this.selectionMode==="single"&&Boolean(n.value)&&n.value===l;const p=g?"on-bold":m||h||f||v||n.value===o?"primary":n.inMonth?"secondary":"tertiary";return i("button",{type:"button",role:"gridcell","data-date-option":n.value,class:{"calendar-day":true,"calendar-day--outside":!n.inMonth,"calendar-day--today":n.value===o,"calendar-day--in-range":h,"calendar-day--range-preview":v,"calendar-day--range-edge":g,"calendar-day--selected":m,"ds-focus-ring-inset":true,"ds-interaction-fill":true,"ds-interaction-fill--on-bold":g,"ds-interaction-fill--surface-open":f&&!s,"ds-interaction-fill--selected":m&&!s},disabled:s,"aria-label":n.label,"aria-selected":a||m?"true":"false",tabIndex:n.value===u?0:-1,onMouseEnter:()=>this.previewRange(n.value),onFocus:()=>{this.focusedDay=n.value;this.previewRange(n.value)},onClick:()=>this.selectDate(n.value),onKeyDown:e=>this.handleDayKeyDown(e,n.value)},i("ds-text",{class:"ds-interaction-fill__content",as:"span",variant:"text-body-medium",color:p,emphasis:n.value===o},n.day))}))))))))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return _()}},[2,"ds-calendar",{selectionMode:[1,"selection-mode"],value:[1],min:[1],max:[1],isInactive:[4,"is-inactive"],autoFocus:[4,"auto-focus"],month:[32],focusedDay:[32],pendingStart:[32],previewEnd:[32],heldRange:[32],setFocus:[64]},undefined,{value:[{onValueChange:0}]}]);function U(){if(typeof customElements==="undefined"){return}const n=["ds-calendar","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];n.forEach((n=>{switch(n){case"ds-calendar":if(!customElements.get(a(n))){customElements.define(a(n),B)}break;case"ds-badge":if(!customElements.get(a(n))){t()}break;case"ds-button-unfilled":if(!customElements.get(a(n))){o()}break;case"ds-icon":if(!customElements.get(a(n))){d()}break;case"ds-loader":if(!customElements.get(a(n))){c()}break;case"ds-text":if(!customElements.get(a(n))){l()}break;case"ds-tooltip":if(!customElements.get(a(n))){f()}break}}))}U();export{B as C,u as D,w as a,b,U as d,m as f,g as i,x as p};
|
|
2
|
+
//# sourceMappingURL=p-BcpIK9S6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DATE_FILTER_RELATIVE_PRESETS","label","value","days","offset","ISO_DATE_PATTERN","ISO_CALENDAR_DATE_LABEL","Intl","DateTimeFormat","month","day","year","timeZone","isIsoCalendarDate","test","split","map","Number","date","Date","getUTCFullYear","getUTCMonth","getUTCDate","formatIsoCalendarDateLabel","formatToParts","part","type","padStart","join","MONTH_LABELS","parseLooseCalendarDate","trimmed","trim","numeric","match","iso","labelled","monthIndex","indexOf","toLowerCase","String","shiftIsoCalendarDate","isSafeInteger","setUTCDate","toISOString","slice","dateFilterRelativeValue","preset","dateFilterRangeValue","start","end","ordered","parseDateFilterValue","startsWith","length","some","candidate","kind","rest","CALENDAR_WEEKDAYS","MONTH_FORMATTER","DATE_FORMATTER","weekday","calendarToday","today","getFullYear","getMonth","getDate","calendarMonth","shiftCalendarMonth","setUTCMonth","calendarMonthLabel","format","calendarDays","first","firstWeekday","getUTCDay","Array","from","_","index","dateValue","inMonth","calendarPaintedRange","pendingStart","heldRange","valueRange","calendarCss","Calendar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","selectionMode","isInactive","autoFocus","focusedDay","previewEnd","moveMonth","nextMonth","selectDate","isDisabled","dsChange","emit","pending","current","previewRange","clearPreview","handleDayKeyDown","event","key","preventDefault","focusDate","componentWillLoad","anchorDate","componentDidLoad","setFocus","onValueChange","el","querySelector","focus","parsed","isUnavailable","min","max","targetMonth","requestAnimationFrame","render","liveRange","liveRangeValue","rangeValue","weeks","previewStart","sort","previewFinish","selectedSingle","enabledDays","filter","find","h","Host","class","variant","icon","size","hasBorder","ariaLabel","onDsClick","as","emphasis","color","role","onMouseLeave","week","weekIndex","disabled","selectedInRange","Boolean","paintedInRange","pendingStartDay","previewInRange","inRange","rangeEdge","selected","textColor","tabIndex","onMouseEnter","onFocus","onClick","onKeyDown"],"sources":["src/wc/utils/date-filter-value.ts","src/wc/components/Calendar/calendar-grid.ts","src/wc/components/Calendar/Calendar.css?tag=ds-calendar&encapsulation=scoped","src/wc/components/Calendar/Calendar.tsx"],"sourcesContent":["export const DATE_FILTER_RELATIVE_PRESETS = [\n { label: 'Today', value: 'today', days: 1, offset: 0 },\n { label: 'Yesterday', value: 'yesterday', days: 1, offset: -1 },\n { label: 'Last 7 days', value: 'last-7-days', days: 7, offset: 0 },\n { label: 'Last 14 days', value: 'last-14-days', days: 14, offset: 0 },\n { label: 'Last 30 days', value: 'last-30-days', days: 30, offset: 0 },\n { label: 'Last 60 days', value: 'last-60-days', days: 60, offset: 0 },\n { label: 'Last 90 days', value: 'last-90-days', days: 90, offset: 0 },\n] as const;\n\nexport type DateFilterRelativePreset = (typeof DATE_FILTER_RELATIVE_PRESETS)[number]['value'];\nexport type DateFilterRelativeValue = `relative:${DateFilterRelativePreset}`;\nexport type DateFilterRangeValue = `range:${string}/${string}`;\nexport type DateFilterValue = DateFilterRelativeValue | DateFilterRangeValue;\n\nexport interface DateFilterRange {\n start: string;\n end: string;\n}\n\nexport type ParsedDateFilterValue =\n | { kind: 'relative'; preset: DateFilterRelativePreset }\n | ({ kind: 'range' } & DateFilterRange);\n\nconst ISO_DATE_PATTERN = /^\\d{4}-\\d{2}-\\d{2}$/;\n\nconst ISO_CALENDAR_DATE_LABEL = new Intl.DateTimeFormat('en-US', {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n timeZone: 'UTC',\n});\n\n/** Validate a timezone-free Gregorian day with a four-digit year from 0001 through 9999. */\nexport function isIsoCalendarDate(value: string): boolean {\n if (typeof value !== 'string' || !ISO_DATE_PATTERN.test(value)) return false;\n const [year, month, day] = value.split('-').map(Number);\n if (year < 1) return false;\n const date = new Date(`${value}T00:00:00Z`);\n return (\n date.getUTCFullYear() === year && date.getUTCMonth() === month - 1 && date.getUTCDate() === day\n );\n}\n\n/** Readable calendar date for filled ISO values such as `2026-09-10` → `Sep 10, 2026`. */\nexport function formatIsoCalendarDateLabel(value: string): string {\n if (!isIsoCalendarDate(value)) return '';\n return ISO_CALENDAR_DATE_LABEL.formatToParts(new Date(`${value}T00:00:00Z`))\n .map(part => (part.type === 'year' ? part.value.padStart(4, '0') : part.value))\n .join('');\n}\n\nconst MONTH_LABELS = [\n 'jan',\n 'feb',\n 'mar',\n 'apr',\n 'may',\n 'jun',\n 'jul',\n 'aug',\n 'sep',\n 'oct',\n 'nov',\n 'dec',\n];\n\n/** Parse a typed calendar date: ISO, `M/D/YYYY`, or a short-month label such as `Sep 10, 2026`. */\nexport function parseLooseCalendarDate(value: string): string {\n if (typeof value !== 'string') return '';\n const trimmed = value.trim();\n if (!trimmed) return '';\n if (isIsoCalendarDate(trimmed)) return trimmed;\n\n const numeric = trimmed.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/);\n if (numeric) {\n const iso = `${numeric[3]}-${numeric[1].padStart(2, '0')}-${numeric[2].padStart(2, '0')}`;\n return isIsoCalendarDate(iso) ? iso : '';\n }\n\n const labelled = trimmed.match(/^([A-Za-z]{3})\\s+(\\d{1,2}),\\s+(\\d{4})$/);\n if (!labelled) return '';\n const monthIndex = MONTH_LABELS.indexOf(labelled[1].toLowerCase());\n if (monthIndex < 0) return '';\n const iso = `${labelled[3]}-${String(monthIndex + 1).padStart(2, '0')}-${labelled[2].padStart(2, '0')}`;\n return isIsoCalendarDate(iso) ? iso : '';\n}\n\n/** Shift whole calendar days in UTC; return an empty value for invalid input or year overflow. */\nexport function shiftIsoCalendarDate(value: string, days: number): string {\n if (!isIsoCalendarDate(value) || !Number.isSafeInteger(days)) return '';\n const date = new Date(`${value}T00:00:00Z`);\n date.setUTCDate(date.getUTCDate() + days);\n const year = date.getUTCFullYear();\n return year >= 1 && year <= 9999 ? date.toISOString().slice(0, 10) : '';\n}\n\nexport function dateFilterRelativeValue(preset: DateFilterRelativePreset): DateFilterRelativeValue {\n return `relative:${preset}`;\n}\n\nexport function dateFilterRangeValue(start: string, end: string = start): DateFilterRangeValue {\n const ordered = start <= end ? [start, end] : [end, start];\n return `range:${ordered[0]}/${ordered[1]}`;\n}\n\nexport function parseDateFilterValue(value: unknown): ParsedDateFilterValue | null {\n if (typeof value !== 'string' || !value) return null;\n\n if (value.startsWith('relative:')) {\n const preset = value.slice('relative:'.length) as DateFilterRelativePreset;\n return DATE_FILTER_RELATIVE_PRESETS.some(candidate => candidate.value === preset)\n ? { kind: 'relative', preset }\n : null;\n }\n\n if (value.startsWith('range:')) {\n const [start, end, ...rest] = value.slice('range:'.length).split('/');\n if (rest.length || !isIsoCalendarDate(start) || !isIsoCalendarDate(end)) return null;\n return start <= end ? { kind: 'range', start, end } : { kind: 'range', start: end, end: start };\n }\n\n // Preserve the previous single-date contract as a one-day range.\n return isIsoCalendarDate(value) ? { kind: 'range', start: value, end: value } : null;\n}\n\nexport function normalizeDateFilterValue(value: unknown): DateFilterValue | '' {\n const parsed = parseDateFilterValue(value);\n if (!parsed) return '';\n return parsed.kind === 'relative'\n ? dateFilterRelativeValue(parsed.preset)\n : dateFilterRangeValue(parsed.start, parsed.end);\n}\n\nexport function resolveDateFilterRange(\n value: unknown,\n referenceDate: string\n): DateFilterRange | null {\n if (!isIsoCalendarDate(referenceDate)) return null;\n const parsed = parseDateFilterValue(value);\n if (!parsed) return null;\n if (parsed.kind === 'range') return { start: parsed.start, end: parsed.end };\n\n const preset = DATE_FILTER_RELATIVE_PRESETS.find(candidate => candidate.value === parsed.preset);\n if (!preset) return null;\n const end = shiftIsoCalendarDate(referenceDate, preset.offset);\n const start = shiftIsoCalendarDate(end, -(preset.days - 1));\n return start && end ? { start, end } : null;\n}\n","import { isIsoCalendarDate } from '../../utils';\n\nexport interface CalendarDateRange {\n start: string;\n end: string;\n}\n\nexport interface CalendarDay {\n value: string;\n day: number;\n inMonth: boolean;\n label: string;\n}\n\nexport const CALENDAR_WEEKDAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nconst MONTH_FORMATTER = new Intl.DateTimeFormat('en-US', {\n month: 'long',\n year: 'numeric',\n timeZone: 'UTC',\n});\nconst DATE_FORMATTER = new Intl.DateTimeFormat('en-US', {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n timeZone: 'UTC',\n});\n\nexport function calendarToday(): string {\n const today = new Date();\n const year = String(today.getFullYear()).padStart(4, '0');\n const month = String(today.getMonth() + 1).padStart(2, '0');\n const day = String(today.getDate()).padStart(2, '0');\n return `${year}-${month}-${day}`;\n}\n\nexport function calendarMonth(value: string): string {\n return isIsoCalendarDate(value) ? value.slice(0, 7) : calendarToday().slice(0, 7);\n}\n\nexport function shiftCalendarMonth(value: string, offset: number): string {\n if (!isIsoCalendarDate(`${value}-01`) || !Number.isSafeInteger(offset)) return '';\n const date = new Date(`${value}-01T00:00:00Z`);\n date.setUTCMonth(date.getUTCMonth() + offset);\n const year = date.getUTCFullYear();\n return year >= 1 && year <= 9999 ? date.toISOString().slice(0, 7) : '';\n}\n\nexport function calendarMonthLabel(value: string): string {\n if (!isIsoCalendarDate(`${value}-01`)) return '';\n return MONTH_FORMATTER.format(new Date(`${value}-01T00:00:00Z`));\n}\n\nexport function calendarDays(value: string): CalendarDay[] {\n if (!isIsoCalendarDate(`${value}-01`)) return [];\n const first = new Date(`${value}-01T00:00:00Z`);\n const firstWeekday = first.getUTCDay();\n return Array.from({ length: 42 }, (_, index) => {\n const date = new Date(first);\n date.setUTCDate(1 - firstWeekday + index);\n const year = date.getUTCFullYear();\n const dateValue = year >= 1 && year <= 9999 ? date.toISOString().slice(0, 10) : '';\n return {\n value: dateValue,\n day: date.getUTCDate(),\n inMonth: dateValue.startsWith(`${value}-`),\n label: dateValue ? DATE_FORMATTER.format(date) : 'Unavailable date',\n };\n });\n}\n\n/** Keep the previous committed range visible while a replacement range is being chosen. */\nexport function calendarPaintedRange(\n pendingStart: string,\n heldRange: CalendarDateRange | null,\n valueRange: CalendarDateRange | null\n): CalendarDateRange | null {\n return pendingStart ? heldRange : valueRange;\n}\n","@import '../../utils/radius.css';\n@import '../../utils/control-density.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/interaction-fill.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n display: flex;\n min-height: 0;\n flex-direction: column;\n}\n\n.calendar {\n display: flex;\n min-height: 0;\n flex-direction: column;\n min-width: calc(\n (var(--dimension-size-400) * 7) + (var(--dimension-space-050) * 6) +\n (var(--dimension-space-100) * 2)\n );\n padding: var(--ds-calendar-padding, var(--dimension-space-100));\n}\n\n.calendar-heading {\n display: grid;\n grid-template-columns: var(--dimension-size-400) minmax(0, 1fr) var(--dimension-size-400);\n align-items: center;\n text-align: center;\n}\n\n.calendar-nav--previous {\n justify-self: start;\n}\n\n.calendar-nav--next {\n justify-self: end;\n}\n\n.calendar-weekdays,\n.calendar-grid__row {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n column-gap: var(--dimension-space-050);\n}\n\n.calendar-grid {\n display: flex;\n flex-direction: column;\n row-gap: var(--dimension-space-050);\n}\n\n.calendar-weekdays {\n align-items: center;\n min-height: var(--dimension-size-400);\n margin-block-start: var(--dimension-space-050);\n color: var(--color-foreground-secondary);\n text-align: center;\n}\n\n.calendar-day {\n appearance: none;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n width: 100%;\n height: var(--dimension-size-400);\n padding: 0;\n border: 0;\n border-radius: var(--dimension-radius-025);\n background: transparent;\n color: var(--color-foreground-primary);\n cursor: default;\n}\n\n.calendar-day:disabled {\n cursor: not-allowed;\n}\n\n.calendar-day--outside {\n color: var(--color-foreground-tertiary);\n}\n\n.calendar-day--in-range {\n background: var(--color-background-faint-brand);\n color: var(--color-foreground-primary);\n}\n\n/* In-progress span uses the shared hover overlay; the first day keeps pressed via --surface-open. */\n.calendar-day.ds-interaction-fill.calendar-day--range-preview:not(:disabled)::after {\n background: var(--ds-interaction-hover);\n}\n\n.calendar-day.ds-interaction-fill.calendar-day--range-preview:active:not(:disabled)::after {\n background: var(--ds-interaction-pressed);\n}\n\n.calendar-day--today {\n color: var(--color-foreground-primary);\n}\n\n.calendar-day--range-edge {\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold-background-primary);\n}\n\n@media (forced-colors: active) {\n .calendar-day--range-edge {\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport {\n dateFilterRangeValue,\n isIsoCalendarDate,\n parseDateFilterValue,\n shiftIsoCalendarDate,\n} from '../../utils';\nimport {\n CALENDAR_WEEKDAYS,\n calendarDays,\n calendarMonth,\n calendarMonthLabel,\n calendarPaintedRange,\n calendarToday,\n shiftCalendarMonth,\n type CalendarDateRange,\n} from './calendar-grid';\n\nexport type CalendarSelectionMode = 'single' | 'range';\n\n@Component({\n tag: 'ds-calendar',\n styleUrl: 'Calendar.css',\n scoped: true,\n})\nexport class Calendar {\n @Element() el!: HTMLElement;\n\n /** Single date emits YYYY-MM-DD. Range emits the shared `range:start/end` string. */\n @Prop() selectionMode: CalendarSelectionMode = 'single';\n @Prop() value: string = '';\n @Prop() min: string | undefined;\n @Prop() max: string | undefined;\n @Prop() isInactive: boolean = false;\n /** Move keyboard focus into the grid after the calendar is rendered. */\n @Prop() autoFocus: boolean = false;\n\n @Event() dsChange!: EventEmitter<string>;\n\n @State() private month = calendarMonth(calendarToday());\n @State() private focusedDay = '';\n @State() private pendingStart = '';\n @State() private previewEnd = '';\n @State() private heldRange: CalendarDateRange | null = null;\n\n componentWillLoad() {\n this.month = calendarMonth(this.anchorDate());\n }\n\n componentDidLoad() {\n if (this.autoFocus) void this.setFocus();\n }\n\n @Watch('value')\n onValueChange() {\n this.month = calendarMonth(this.anchorDate());\n this.focusedDay = '';\n }\n\n @Method()\n async setFocus() {\n this.el.querySelector<HTMLElement>('.calendar-day[tabindex=\"0\"]')?.focus();\n }\n\n private anchorDate(): string {\n if (this.selectionMode === 'range') {\n const parsed = parseDateFilterValue(this.value);\n if (parsed?.kind === 'range') return parsed.start;\n return calendarToday();\n }\n return isIsoCalendarDate(this.value) ? this.value : calendarToday();\n }\n\n private isUnavailable(day: string): boolean {\n if (this.isInactive || !isIsoCalendarDate(day)) return true;\n if (this.min && isIsoCalendarDate(this.min) && day < this.min) return true;\n if (this.max && isIsoCalendarDate(this.max) && day > this.max) return true;\n return false;\n }\n\n private isDisabled(day: string): boolean {\n return !day.startsWith(`${this.month}-`) || this.isUnavailable(day);\n }\n\n private moveMonth = (offset: number) => {\n const nextMonth = shiftCalendarMonth(this.month, offset);\n if (this.isInactive || !nextMonth) return;\n this.previewEnd = '';\n this.month = nextMonth;\n };\n\n private selectDate = (day: string) => {\n if (this.isDisabled(day)) return;\n this.previewEnd = '';\n if (this.selectionMode === 'single') {\n this.pendingStart = '';\n this.heldRange = null;\n this.dsChange.emit(day);\n return;\n }\n const pending = this.pendingStart;\n if (pending) {\n this.pendingStart = '';\n this.heldRange = null;\n this.dsChange.emit(dateFilterRangeValue(pending, day));\n return;\n }\n const current = parseDateFilterValue(this.value);\n this.heldRange = current?.kind === 'range' ? { start: current.start, end: current.end } : null;\n this.pendingStart = day;\n this.dsChange.emit(dateFilterRangeValue(day, day));\n };\n\n private previewRange = (day: string) => {\n if (this.isDisabled(day)) {\n this.clearPreview();\n return;\n }\n if (!this.pendingStart || this.previewEnd === day) return;\n this.previewEnd = day;\n };\n\n private clearPreview = () => {\n if (!this.previewEnd) return;\n this.previewEnd = '';\n };\n\n private focusDate(day: string) {\n if (this.isUnavailable(day)) return;\n const targetMonth = calendarMonth(day);\n if (this.month !== targetMonth) this.month = targetMonth;\n this.focusedDay = day;\n this.previewRange(day);\n requestAnimationFrame(() => {\n this.el.querySelector<HTMLElement>(`[data-date-option=\"${day}\"]`)?.focus();\n });\n }\n\n private handleDayKeyDown = (event: KeyboardEvent, day: string) => {\n let offset: number | null = null;\n if (event.key === 'ArrowLeft') offset = -1;\n else if (event.key === 'ArrowRight') offset = 1;\n else if (event.key === 'ArrowUp') offset = -7;\n else if (event.key === 'ArrowDown') offset = 7;\n else if (event.key === 'Home') {\n offset = -new Date(`${day}T00:00:00Z`).getUTCDay();\n } else if (event.key === 'End') {\n offset = 6 - new Date(`${day}T00:00:00Z`).getUTCDay();\n } else if (event.key === 'PageUp' || event.key === 'PageDown') {\n const month = shiftCalendarMonth(calendarMonth(day), event.key === 'PageUp' ? -1 : 1);\n const candidate = `${month}-${day.slice(8, 10)}`;\n event.preventDefault();\n this.focusDate(isIsoCalendarDate(candidate) ? candidate : `${month}-01`);\n return;\n }\n if (offset === null) return;\n event.preventDefault();\n this.focusDate(shiftIsoCalendarDate(day, offset));\n };\n\n render() {\n const liveRange = this.selectionMode === 'range' ? parseDateFilterValue(this.value) : null;\n const liveRangeValue = liveRange?.kind === 'range' ? liveRange : null;\n const rangeValue = calendarPaintedRange(this.pendingStart, this.heldRange, liveRangeValue);\n const days = calendarDays(this.month);\n const weeks = Array.from({ length: 6 }, (_, index) => days.slice(index * 7, index * 7 + 7));\n const today = calendarToday();\n const previewStart =\n this.pendingStart && this.previewEnd ? [this.pendingStart, this.previewEnd].sort()[0] : null;\n const previewFinish =\n this.pendingStart && this.previewEnd ? [this.pendingStart, this.previewEnd].sort()[1] : null;\n const selectedSingle =\n this.selectionMode === 'single' && isIsoCalendarDate(this.value) ? this.value : '';\n const enabledDays = days.filter(day => !this.isDisabled(day.value));\n const focusDate =\n [this.focusedDay, this.pendingStart, selectedSingle, rangeValue?.end, today].find(value =>\n enabledDays.some(day => day.value === value)\n ) ?? enabledDays[0]?.value;\n\n return (\n <Host>\n <div class=\"calendar\">\n <div class=\"calendar-heading ds-control--md\">\n <ds-button-unfilled\n class=\"calendar-nav calendar-nav--previous\"\n variant=\"icon\"\n icon=\"ChevronLeft\"\n size=\"md\"\n hasBorder={false}\n isInactive={this.isInactive || !shiftCalendarMonth(this.month, -1)}\n ariaLabel=\"Previous month\"\n onDsClick={() => this.moveMonth(-1)}\n />\n <ds-text as=\"span\" variant=\"text-body-medium\" emphasis color=\"primary\">\n {calendarMonthLabel(this.month)}\n </ds-text>\n <ds-button-unfilled\n class=\"calendar-nav calendar-nav--next\"\n variant=\"icon\"\n icon=\"ChevronRight\"\n size=\"md\"\n hasBorder={false}\n isInactive={this.isInactive || !shiftCalendarMonth(this.month, 1)}\n ariaLabel=\"Next month\"\n onDsClick={() => this.moveMonth(1)}\n />\n </div>\n <div class=\"calendar-weekdays\" aria-hidden=\"true\">\n {CALENDAR_WEEKDAYS.map(day => (\n <ds-text as=\"span\" variant=\"text-body-small\" color=\"secondary\">\n {day}\n </ds-text>\n ))}\n </div>\n <div\n class=\"calendar-grid\"\n role=\"grid\"\n aria-label={calendarMonthLabel(this.month)}\n onMouseLeave={this.clearPreview}\n >\n {weeks.map((week, weekIndex) => (\n <div class=\"calendar-grid__row\" role=\"row\" key={`week-${weekIndex}`}>\n {week.map(day => {\n const disabled = this.isDisabled(day.value);\n const selectedInRange = Boolean(\n liveRangeValue &&\n day.value >= liveRangeValue.start &&\n day.value <= liveRangeValue.end\n );\n const paintedInRange = Boolean(\n rangeValue && day.value >= rangeValue.start && day.value <= rangeValue.end\n );\n const pendingStartDay =\n this.selectionMode === 'range' &&\n Boolean(this.pendingStart) &&\n day.value === this.pendingStart;\n const previewInRange = Boolean(\n this.pendingStart &&\n previewStart &&\n previewFinish &&\n day.value >= previewStart &&\n day.value <= previewFinish &&\n day.value !== this.pendingStart\n );\n const inRange = this.selectionMode === 'range' && paintedInRange;\n const rangeEdge = Boolean(\n this.selectionMode === 'range' &&\n rangeValue &&\n (day.value === rangeValue.start || day.value === rangeValue.end)\n );\n const selected =\n this.selectionMode === 'single' &&\n Boolean(day.value) &&\n day.value === selectedSingle;\n const textColor = rangeEdge\n ? 'on-bold'\n : selected ||\n inRange ||\n pendingStartDay ||\n previewInRange ||\n day.value === today\n ? 'primary'\n : day.inMonth\n ? 'secondary'\n : 'tertiary';\n return (\n <button\n type=\"button\"\n role=\"gridcell\"\n data-date-option={day.value}\n class={{\n 'calendar-day': true,\n 'calendar-day--outside': !day.inMonth,\n 'calendar-day--today': day.value === today,\n 'calendar-day--in-range': inRange,\n 'calendar-day--range-preview': previewInRange,\n 'calendar-day--range-edge': rangeEdge,\n 'calendar-day--selected': selected,\n 'ds-focus-ring-inset': true,\n 'ds-interaction-fill': true,\n 'ds-interaction-fill--on-bold': rangeEdge,\n 'ds-interaction-fill--surface-open': pendingStartDay && !disabled,\n 'ds-interaction-fill--selected': selected && !disabled,\n }}\n disabled={disabled}\n aria-label={day.label}\n aria-selected={selectedInRange || selected ? 'true' : 'false'}\n tabIndex={day.value === focusDate ? 0 : -1}\n onMouseEnter={() => this.previewRange(day.value)}\n onFocus={() => {\n this.focusedDay = day.value;\n this.previewRange(day.value);\n }}\n onClick={() => this.selectDate(day.value)}\n onKeyDown={event => this.handleDayKeyDown(event, day.value)}\n >\n {/* eslint-disable compomo/no-selected-fill-emphasis-change -- Today emphasis is date-driven and remains unchanged when selection changes. */}\n <ds-text\n class=\"ds-interaction-fill__content\"\n as=\"span\"\n variant=\"text-body-medium\"\n color={textColor}\n emphasis={day.value === today}\n >\n {day.day}\n </ds-text>\n {/* eslint-enable compomo/no-selected-fill-emphasis-change */}\n </button>\n );\n })}\n </div>\n ))}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as s,H as e,c as t,h as i,a as o,t as r}from"./index.js";import{C as n}from"./p-DlsjHRU3.js";import{D as d,s as c}from"./p-DOUk4KoT.js";import{s as a}from"./p-DGVZhrMd.js";const h=()=>`@media (forced-colors: active){:root,:host,.ds-forced-colors-scope{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}:host{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}:host(.ds-focus-ring),.ds-focus-ring,:host(.ds-focus-ring-inset),.ds-focus-ring-inset{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}:host(.ds-focus-ring:focus-visible),.ds-focus-ring:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}:host(.ds-focus-ring.ds-focus-ring--visible),.ds-focus-ring.ds-focus-ring--visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}:host(.ds-focus-ring-inset:focus-visible),.ds-focus-ring-inset:focus-visible{outline:none}:host(.ds-focus-ring-inset:focus-visible)::after,.ds-focus-ring-inset:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}:host(.ds-focus-ring-inset.ds-focus-ring--visible),.ds-focus-ring-inset.ds-focus-ring--visible{outline:none}:host(.ds-focus-ring-inset.ds-focus-ring--visible)::after,.ds-focus-ring-inset.ds-focus-ring--visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){:host{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){:root,:host,.ds-forced-colors-scope{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}:host(.ds-control-inactive),.ds-control-inactive{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){:host(.ds-control-inactive),.ds-control-inactive{color:var(--ds-forced-color-disabled);opacity:1}}@media (forced-colors: active){:root,:host,.ds-forced-colors-scope{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}:host{--ds-switch-width:var(--dimension-size-400);--ds-switch-height:var(--dimension-size-250);--ds-switch-thumb-size:var(--dimension-size-150);--ds-switch-gap:var(--dimension-space-050);--ds-switch-stroke:var(--dimension-stroke-width-012);--ds-switch-inset:var(--ds-switch-gap);--ds-switch-thumb-hover:var(--color-interaction-hover);--ds-switch-thumb-pressed:var(--color-interaction-pressed);--ds-switch-travel:calc( var(--ds-switch-width) - var(--ds-switch-thumb-size) - var(--ds-switch-inset) - var(--ds-switch-inset) );position:relative;display:inline-flex;width:var(--ds-switch-width);height:var(--ds-switch-height);padding:0;border:none;border-radius:var(--dimension-radius-half);box-sizing:border-box;flex-shrink:0;overflow:visible;cursor:default;user-select:none;outline:none;background-color:transparent;box-shadow:inset 0 0 0 var(--ds-switch-stroke) var(--color-border-secondary);transition:none}:host(.switch--transitions-enabled){transition:background-color var(--effect-motion-short-3), box-shadow var(--effect-motion-short-3)}:host(.switch--lg){--ds-switch-width:var(--dimension-size-500);--ds-switch-height:var(--dimension-size-300);--ds-switch-thumb-size:var(--dimension-iconography-sm);--ds-switch-gap:var(--dimension-space-050)}:host(.switch--sm){--ds-switch-width:var(--dimension-size-300);--ds-switch-height:var(--dimension-size-200);--ds-switch-thumb-size:calc(var(--dimension-size-base) * 5 / 4);--ds-switch-gap:calc(var(--dimension-space-025) + var(--dimension-space-012))}:host(.switch--xs){--ds-switch-width:var(--dimension-size-250);--ds-switch-height:var(--dimension-size-150);--ds-switch-thumb-size:var(--dimension-size-100);--ds-switch-gap:var(--dimension-space-025)}:host(.checked){background-color:var(--color-background-bold-brand);box-shadow:none}:host(.switch--readonly),:host(.switch--presentation){cursor:default}:host(.switch--presentation){pointer-events:none}.thumb{position:absolute;top:50%;left:var(--ds-switch-inset);width:var(--ds-switch-thumb-size);height:var(--ds-switch-thumb-size);border-radius:var(--dimension-radius-half);background-color:var(--color-foreground-tertiary);box-shadow:none;transform:translateY(-50%);transition:none;pointer-events:none}:host(.switch--transitions-enabled) .thumb{transition:background-color var(--effect-motion-short-3), transform var(--effect-motion-short-3)}.thumb::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none}@media (hover: hover) and (pointer: fine){:host(:hover:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation)) .thumb::after{background:var(--ds-switch-thumb-hover)}}:host(:active:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(.switch--presentation)) .thumb::after{background:var(--ds-switch-thumb-pressed)}:host(.checked) .thumb{background-color:var(--color-background-primary);box-shadow:none;transform:translate3d(var(--ds-switch-travel), -50%, 0)}@media (prefers-reduced-motion: reduce){:host,:host(.switch--transitions-enabled){transition:none}.thumb,:host(.switch--transitions-enabled) .thumb{transition:none}}@media (forced-colors: active){:host{border:var(--ds-switch-stroke) solid var(--ds-forced-color-content);box-shadow:none}:host(.checked){background-color:var(--ds-forced-color-selected);border-color:var(--ds-forced-color-selected)}.thumb{background-color:var(--ds-forced-color-content)}:host(.checked) .thumb{background-color:var(--ds-forced-color-on-selected)}}`;let l=0;const u=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.__attachShadow();this.dsChange=t(this,"dsChange",7);this.internals=this.attachInternals();this.checked=false;this.value="on";this.disabled=false;this.readOnly=false;this.required=false;this.requiredMessage=d;this.isInactive=false;this.size="md";this.presentation=false;this.initialChecked=false;this.checkedUpdateObserved=false;this.hasLoaded=false;this.formDisabled=false;this.focused=false;this.touched=false;this.transitionsEnabled=false;this.tasks=new n((()=>this.el.isConnected));this.handleClick=()=>{if(this.presentation||this.readOnly||this.isInactive||this.disabled||this.formDisabled)return;this.checkedUpdateObserved=true;this.checked=!this.checked;this.dsChange.emit(this.checked)};this.handleKeyDown=s=>{if(this.presentation||this.readOnly||this.isInactive||this.disabled||this.formDisabled)return;if(s.key===" "||s.key==="Enter"){s.preventDefault();this.handleClick()}};this.handleFocus=()=>{if(!this.presentation)this.focused=true};this.handleBlur=()=>{if(this.presentation)return;this.focused=false;this.touched=true}}connectedCallback(){if(!this.hasLoaded)return;this.syncNativeLabels();if(!this.transitionsEnabled)this.scheduleTransitionsEnable()}componentWillLoad(){this.initialChecked=this.checked;this.syncFormValue()}componentDidLoad(){this.hasLoaded=true;this.syncNativeLabels();this.scheduleTransitionsEnable()}disconnectedCallback(){this.tasks.cancel();this.transitionsFrame=undefined;this.focused=false}handleCheckedChange(){if(!this.hasLoaded||this.checkedUpdateObserved)return;this.checkedUpdateObserved=true;this.transitionsEnabled=false;this.scheduleTransitionsEnable()}scheduleTransitionsEnable(){this.tasks.cancelFrame(this.transitionsFrame);this.transitionsFrame=this.tasks.frame((()=>{this.transitionsEnabled=true;this.transitionsFrame=undefined}))}syncFormValue(){const s=this.presentation||this.isInactive||this.disabled||this.formDisabled;const e=this.checked?this.value:this.uncheckedValue??null;const t=this.checked?"checked":"unchecked";a(this.internals,e,{inactive:s,state:t});const i=this.required&&!s&&!this.checked;c(this.internals,i,this.requiredMessage)}formDisabledCallback(s){this.formDisabled=s;this.syncFormValue()}formResetCallback(){this.checked=this.initialChecked;this.focused=false;this.touched=false}formStateRestoreCallback(s){this.checked=s==="checked"}syncNativeLabels(){if(this.presentation)return;if(this.el.hasAttribute("aria-label")||this.el.hasAttribute("aria-labelledby"))return;const s=Array.from(this.internals.labels).map((s=>{if(!s.id)s.id=`ds-switch-label-${++l}`;return s.id}));if(s.length)this.el.setAttribute("aria-labelledby",s.join(" "))}render(){const s=this.isInactive||this.disabled||this.formDisabled;const e=this.required&&!s&&!this.checked;const t=this.checked!==this.initialChecked;return i(o,{key:"865f5420fcdd503e1f18c9a426a69d0936805591",role:this.presentation?undefined:"switch","aria-checked":this.presentation?undefined:String(this.checked),"aria-disabled":!this.presentation&&s?"true":undefined,"aria-readonly":!this.presentation&&this.readOnly?"true":undefined,"aria-required":!this.presentation&&this.required?"true":undefined,"aria-invalid":!this.presentation&&e?"true":undefined,"aria-hidden":this.presentation?"true":undefined,"data-checked":this.checked?"":undefined,"data-unchecked":!this.checked?"":undefined,"data-disabled":s?"":undefined,"data-readonly":this.readOnly?"":undefined,"data-required":this.required?"":undefined,"data-focused":!this.presentation&&this.focused?"":undefined,"data-filled":!this.presentation&&this.checked?"":undefined,"data-dirty":!this.presentation&&t?"":undefined,"data-touched":!this.presentation&&this.touched?"":undefined,"data-valid":!this.presentation&&!s&&!e?"":undefined,"data-invalid":!this.presentation&&e?"":undefined,tabIndex:this.presentation||s?-1:0,class:{switch:true,checked:this.checked,"switch--lg":this.size==="lg","switch--md":this.size==="md","switch--sm":this.size==="sm","switch--xs":this.size==="xs","switch--readonly":this.readOnly,"switch--presentation":this.presentation,"switch--transitions-enabled":this.transitionsEnabled,"ds-focus-ring":true,"ds-control-inactive":s},onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur},i("span",{key:"13ea5be5c2e5246e1e3d6066a3701dd2e121d7a6",class:"thumb"}))}static get formAssociated(){return true}get el(){return this}static get watchers(){return{checked:[{handleCheckedChange:0},{syncFormValue:0}],value:[{syncFormValue:0}],uncheckedValue:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],presentation:[{syncFormValue:0}],required:[{syncFormValue:0}],requiredMessage:[{syncFormValue:0}]}}static get style(){return h()}},[65,"ds-switch",{checked:[1028],name:[513],value:[1],uncheckedValue:[1,"unchecked-value"],form:[513],disabled:[516],readOnly:[516,"read-only"],required:[516],requiredMessage:[1,"required-message"],isInactive:[4,"is-inactive"],size:[1],presentation:[4],formDisabled:[32],focused:[32],touched:[32],transitionsEnabled:[32]},undefined,{checked:[{handleCheckedChange:0},{syncFormValue:0}],value:[{syncFormValue:0}],uncheckedValue:[{syncFormValue:0}],disabled:[{syncFormValue:0}],isInactive:[{syncFormValue:0}],presentation:[{syncFormValue:0}],required:[{syncFormValue:0}],requiredMessage:[{syncFormValue:0}]}]);function f(){if(typeof customElements==="undefined"){return}const s=["ds-switch"];s.forEach((s=>{switch(s){case"ds-switch":if(!customElements.get(r(s))){customElements.define(r(s),u)}break}}))}f();export{u as S,f as d};
|
|
2
|
+
//# sourceMappingURL=p-Bf-BphXP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["switchCss","generatedLabelId","Switch","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","checked","value","disabled","readOnly","required","requiredMessage","DEFAULT_REQUIRED_MESSAGE","isInactive","size","presentation","initialChecked","checkedUpdateObserved","hasLoaded","formDisabled","focused","touched","transitionsEnabled","tasks","ConnectionTasks","el","isConnected","handleClick","dsChange","emit","handleKeyDown","event","key","preventDefault","handleFocus","handleBlur","connectedCallback","syncNativeLabels","scheduleTransitionsEnable","componentWillLoad","syncFormValue","componentDidLoad","disconnectedCallback","cancel","transitionsFrame","undefined","handleCheckedChange","cancelFrame","frame","inactive","submissionValue","uncheckedValue","state","setFormControlValue","internals","missing","setRequiredValidity","formDisabledCallback","formResetCallback","formStateRestoreCallback","hasAttribute","labelIds","Array","from","labels","map","label","id","length","setAttribute","join","render","invalid","dirty","h","Host","role","String","tabIndex","class","switch","onClick","onKeyDown","onFocus","onBlur"],"sources":["src/wc/components/Switch/Switch.css?tag=ds-switch&encapsulation=shadow","src/wc/components/Switch/Switch.tsx"],"sourcesContent":["@import '../../utils/focus-ring.css';\n@import '../../utils/control-inactive.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n --ds-switch-width: var(--dimension-size-400);\n --ds-switch-height: var(--dimension-size-250);\n --ds-switch-thumb-size: var(--dimension-size-150);\n --ds-switch-gap: var(--dimension-space-050);\n --ds-switch-stroke: var(--dimension-stroke-width-012);\n --ds-switch-inset: var(--ds-switch-gap);\n --ds-switch-thumb-hover: var(--color-interaction-hover);\n --ds-switch-thumb-pressed: var(--color-interaction-pressed);\n --ds-switch-travel: calc(\n var(--ds-switch-width) - var(--ds-switch-thumb-size) - var(--ds-switch-inset) -\n var(--ds-switch-inset)\n );\n position: relative;\n display: inline-flex;\n width: var(--ds-switch-width);\n height: var(--ds-switch-height);\n padding: 0;\n border: none;\n border-radius: var(--dimension-radius-half);\n box-sizing: border-box;\n flex-shrink: 0;\n overflow: visible;\n cursor: default;\n user-select: none;\n outline: none;\n background-color: transparent;\n box-shadow: inset 0 0 0 var(--ds-switch-stroke) var(--color-border-secondary);\n transition: none;\n}\n\n:host(.switch--transitions-enabled) {\n transition:\n background-color var(--effect-motion-short-3),\n box-shadow var(--effect-motion-short-3);\n}\n\n:host(.switch--lg) {\n --ds-switch-width: var(--dimension-size-500);\n --ds-switch-height: var(--dimension-size-300);\n --ds-switch-thumb-size: var(--dimension-iconography-sm);\n --ds-switch-gap: var(--dimension-space-050);\n}\n\n:host(.switch--sm) {\n --ds-switch-width: var(--dimension-size-300);\n --ds-switch-height: var(--dimension-size-200);\n --ds-switch-thumb-size: calc(var(--dimension-size-base) * 5 / 4);\n --ds-switch-gap: calc(var(--dimension-space-025) + var(--dimension-space-012));\n}\n\n:host(.switch--xs) {\n --ds-switch-width: var(--dimension-size-250);\n --ds-switch-height: var(--dimension-size-150);\n --ds-switch-thumb-size: var(--dimension-size-100);\n --ds-switch-gap: var(--dimension-space-025);\n}\n\n:host(.checked) {\n background-color: var(--color-background-bold-brand);\n box-shadow: none;\n}\n\n:host(.switch--readonly),\n:host(.switch--presentation) {\n cursor: default;\n}\n\n:host(.switch--presentation) {\n pointer-events: none;\n}\n\n/* Inactive: `.ds-control-inactive` (50% opacity). */\n\n.thumb {\n position: absolute;\n top: 50%;\n left: var(--ds-switch-inset);\n width: var(--ds-switch-thumb-size);\n height: var(--ds-switch-thumb-size);\n border-radius: var(--dimension-radius-half);\n background-color: var(--color-foreground-tertiary);\n box-shadow: none;\n transform: translateY(-50%);\n transition: none;\n pointer-events: none;\n}\n\n:host(.switch--transitions-enabled) .thumb {\n transition:\n background-color var(--effect-motion-short-3),\n transform var(--effect-motion-short-3);\n}\n\n.thumb::after {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background: transparent;\n pointer-events: none;\n}\n\n@media (hover: hover) and (pointer: fine) {\n :host(\n :hover:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(\n .switch--presentation\n )\n )\n .thumb::after {\n background: var(--ds-switch-thumb-hover);\n }\n}\n\n:host(\n :active:not(:disabled):not(.ds-control-inactive):not(.switch--readonly):not(\n .switch--presentation\n )\n )\n .thumb::after {\n background: var(--ds-switch-thumb-pressed);\n}\n\n:host(.checked) .thumb {\n background-color: var(--color-background-primary);\n box-shadow: none;\n transform: translate3d(var(--ds-switch-travel), -50%, 0);\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host,\n :host(.switch--transitions-enabled) {\n transition: none;\n }\n\n .thumb,\n :host(.switch--transitions-enabled) .thumb {\n transition: none;\n }\n}\n\n@media (forced-colors: active) {\n :host {\n border: var(--ds-switch-stroke) solid var(--ds-forced-color-content);\n box-shadow: none;\n }\n\n :host(.checked) {\n background-color: var(--ds-forced-color-selected);\n border-color: var(--ds-forced-color-selected);\n }\n\n .thumb {\n background-color: var(--ds-forced-color-content);\n }\n\n :host(.checked) .thumb {\n background-color: var(--ds-forced-color-on-selected);\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Prop,\n State,\n Event,\n EventEmitter,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { DEFAULT_REQUIRED_MESSAGE, setFormControlValue, setRequiredValidity } from '../../utils';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\n\nexport type SwitchSize = 'lg' | 'md' | 'sm' | 'xs';\n\nlet generatedLabelId = 0;\n\n@Component({\n tag: 'ds-switch',\n styleUrl: 'Switch.css',\n shadow: true,\n formAssociated: true,\n})\nexport class Switch {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n /** Current on/off state. The initial value is restored when the owning form resets. */\n @Prop({ mutable: true }) checked: boolean = false;\n\n @Prop({ reflect: true }) name: string | undefined;\n @Prop() value: string = 'on';\n\n /** Optional value submitted when unchecked; omitted by default like a native checkbox. */\n @Prop() uncheckedValue: string | undefined;\n\n /** Associates the switch with a form by id when it is rendered outside that form. */\n @Prop({ reflect: true }) form: string | undefined;\n\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) readOnly: boolean = false;\n @Prop({ reflect: true }) required: boolean = false;\n @Prop() requiredMessage: string = DEFAULT_REQUIRED_MESSAGE;\n @Prop() isInactive: boolean = false;\n\n /** Compact track size for placement inside controls, menus, and form rows. */\n @Prop() size: SwitchSize = 'md';\n\n /**\n * Removes standalone control semantics so a composite owner such as a\n * `menuitemcheckbox` can use the switch as an aria-hidden visual indicator.\n */\n @Prop() presentation: boolean = false;\n\n @Event() dsChange!: EventEmitter<boolean>;\n\n private initialChecked = false;\n private checkedUpdateObserved = false;\n private hasLoaded = false;\n @State() private formDisabled = false;\n @State() private focused = false;\n @State() private touched = false;\n @State() private transitionsEnabled = false;\n\n private transitionsFrame?: number;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n\n connectedCallback() {\n if (!this.hasLoaded) return;\n this.syncNativeLabels();\n if (!this.transitionsEnabled) this.scheduleTransitionsEnable();\n }\n\n componentWillLoad() {\n this.initialChecked = this.checked;\n this.syncFormValue();\n }\n\n componentDidLoad() {\n this.hasLoaded = true;\n this.syncNativeLabels();\n this.scheduleTransitionsEnable();\n }\n\n disconnectedCallback() {\n this.tasks.cancel();\n this.transitionsFrame = undefined;\n this.focused = false;\n }\n\n @Watch('checked')\n handleCheckedChange() {\n if (!this.hasLoaded || this.checkedUpdateObserved) return;\n\n this.checkedUpdateObserved = true;\n this.transitionsEnabled = false;\n this.scheduleTransitionsEnable();\n }\n\n private scheduleTransitionsEnable() {\n this.tasks.cancelFrame(this.transitionsFrame);\n this.transitionsFrame = this.tasks.frame(() => {\n this.transitionsEnabled = true;\n this.transitionsFrame = undefined;\n });\n }\n\n @Watch('checked')\n @Watch('value')\n @Watch('uncheckedValue')\n @Watch('disabled')\n @Watch('isInactive')\n @Watch('presentation')\n @Watch('required')\n @Watch('requiredMessage')\n syncFormValue() {\n const inactive = this.presentation || this.isInactive || this.disabled || this.formDisabled;\n const submissionValue = this.checked ? this.value : (this.uncheckedValue ?? null);\n const state = this.checked ? 'checked' : 'unchecked';\n setFormControlValue(this.internals, submissionValue, { inactive, state });\n\n const missing = this.required && !inactive && !this.checked;\n setRequiredValidity(this.internals, missing, this.requiredMessage);\n }\n\n formDisabledCallback(disabled: boolean) {\n this.formDisabled = disabled;\n this.syncFormValue();\n }\n\n formResetCallback() {\n this.checked = this.initialChecked;\n this.focused = false;\n this.touched = false;\n }\n\n formStateRestoreCallback(state: string | File | FormData | null) {\n this.checked = state === 'checked';\n }\n\n private syncNativeLabels() {\n if (this.presentation) return;\n if (this.el.hasAttribute('aria-label') || this.el.hasAttribute('aria-labelledby')) return;\n\n const labelIds = (Array.from(this.internals.labels) as HTMLLabelElement[]).map(label => {\n if (!label.id) label.id = `ds-switch-label-${++generatedLabelId}`;\n return label.id;\n });\n if (labelIds.length) this.el.setAttribute('aria-labelledby', labelIds.join(' '));\n }\n\n private handleClick = () => {\n if (this.presentation || this.readOnly || this.isInactive || this.disabled || this.formDisabled)\n return;\n this.checkedUpdateObserved = true;\n this.checked = !this.checked;\n this.dsChange.emit(this.checked);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.presentation || this.readOnly || this.isInactive || this.disabled || this.formDisabled)\n return;\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n private handleFocus = () => {\n if (!this.presentation) this.focused = true;\n };\n\n private handleBlur = () => {\n if (this.presentation) return;\n this.focused = false;\n this.touched = true;\n };\n\n render() {\n const inactive = this.isInactive || this.disabled || this.formDisabled;\n const invalid = this.required && !inactive && !this.checked;\n const dirty = this.checked !== this.initialChecked;\n // Switch owns its structural track and thumb strokes so nested interaction layers cannot cover them.\n return (\n <Host\n role={this.presentation ? undefined : 'switch'}\n aria-checked={this.presentation ? undefined : String(this.checked)}\n aria-disabled={!this.presentation && inactive ? 'true' : undefined}\n aria-readonly={!this.presentation && this.readOnly ? 'true' : undefined}\n aria-required={!this.presentation && this.required ? 'true' : undefined}\n aria-invalid={!this.presentation && invalid ? 'true' : undefined}\n aria-hidden={this.presentation ? 'true' : undefined}\n data-checked={this.checked ? '' : undefined}\n data-unchecked={!this.checked ? '' : undefined}\n data-disabled={inactive ? '' : undefined}\n data-readonly={this.readOnly ? '' : undefined}\n data-required={this.required ? '' : undefined}\n data-focused={!this.presentation && this.focused ? '' : undefined}\n data-filled={!this.presentation && this.checked ? '' : undefined}\n data-dirty={!this.presentation && dirty ? '' : undefined}\n data-touched={!this.presentation && this.touched ? '' : undefined}\n data-valid={!this.presentation && !inactive && !invalid ? '' : undefined}\n data-invalid={!this.presentation && invalid ? '' : undefined}\n tabIndex={this.presentation || inactive ? -1 : 0}\n class={{\n switch: true,\n checked: this.checked,\n 'switch--lg': this.size === 'lg',\n 'switch--md': this.size === 'md',\n 'switch--sm': this.size === 'sm',\n 'switch--xs': this.size === 'xs',\n 'switch--readonly': this.readOnly,\n 'switch--presentation': this.presentation,\n 'switch--transitions-enabled': this.transitionsEnabled,\n 'ds-focus-ring': true,\n 'ds-control-inactive': inactive,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n >\n <span class=\"thumb\" />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as e,c as o,h as s,a,t as n}from"./index.js";import{d as l}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as t,H as e,c as o,h as s,a,t as n}from"./index.js";import{d as l}from"./p-pPtjNRqC.js";import{d as i}from"./p-0XTyQNRG.js";import{d as r}from"./p-D8OWhnID.js";const c=()=>`@media (forced-colors: active){.sc-ds-agent-tool-call:root,.sc-ds-agent-tool-call-h,.ds-forced-colors-scope.sc-ds-agent-tool-call{--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-agent-tool-call-h{display:block;min-width:0}.agent-tool.sc-ds-agent-tool-call{min-width:0;color:var(--color-foreground-secondary)}details.sc-ds-agent-tool-call{margin:0}summary.sc-ds-agent-tool-call,.agent-tool__row.sc-ds-agent-tool-call{min-width:0;padding:var(--dimension-space-050) 0}summary.sc-ds-agent-tool-call{cursor:pointer;list-style:none}summary.sc-ds-agent-tool-call::-webkit-details-marker{display:none}.agent-tool__summary-content.sc-ds-agent-tool-call{display:grid;align-items:center;grid-template-columns:auto minmax(0, 1fr) auto;gap:var(--dimension-space-075);min-width:0}.agent-tool__status-icon.sc-ds-agent-tool-call{display:flex;align-items:center;color:var(--color-foreground-faint-neutral)}.agent-tool--preparing.sc-ds-agent-tool-call .agent-tool__status-icon.sc-ds-agent-tool-call,.agent-tool--queued.sc-ds-agent-tool-call .agent-tool__status-icon.sc-ds-agent-tool-call,.agent-tool--running.sc-ds-agent-tool-call .agent-tool__status-icon.sc-ds-agent-tool-call{color:var(--color-foreground-faint-brand)}.agent-tool--waiting-for-user.sc-ds-agent-tool-call .agent-tool__status-icon.sc-ds-agent-tool-call{color:var(--color-foreground-bold-warning)}.agent-tool--error.sc-ds-agent-tool-call .agent-tool__status-icon.sc-ds-agent-tool-call,.agent-tool--denied.sc-ds-agent-tool-call .agent-tool__status-icon.sc-ds-agent-tool-call{color:var(--color-foreground-bold-negative)}.agent-tool__title.sc-ds-agent-tool-call{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--dimension-space-025) var(--dimension-space-075);min-width:0;overflow-wrap:anywhere}.agent-tool__chevron.sc-ds-agent-tool-call{transition:none}details[open].sc-ds-agent-tool-call .agent-tool__chevron.sc-ds-agent-tool-call{transform:rotate(90deg)}.agent-tool__details.sc-ds-agent-tool-call,.agent-tool__diagnostics.sc-ds-agent-tool-call{display:grid;gap:var(--dimension-space-075)}.agent-tool__details.sc-ds-agent-tool-call{padding:var(--dimension-space-050) 0 var(--dimension-space-100) calc(var(--dimension-size-200) + var(--dimension-space-075))}.agent-tool__diagnostics.sc-ds-agent-tool-call section.sc-ds-agent-tool-call{display:grid;gap:var(--dimension-space-025)}pre.sc-ds-agent-tool-call{max-width:100%;margin:0;padding:var(--dimension-space-075);overflow:auto;border-radius:var(--dimension-radius-050);background:var(--color-background-secondary);color:var(--color-foreground-primary);font-family:var( --typography-font-family-code, 'Fira Code', ui-monospace, 'SFMono-Regular', 'Cascadia Code', 'Roboto Mono', Menlo, Monaco, Consolas, 'Liberation Mono', monospace );font-variant-ligatures:var(--ds-code-font-variant-ligatures, normal);font-weight:var(--typography-weight-regular);white-space:pre-wrap;overflow-wrap:anywhere}.agent-tool__result.sc-ds-agent-tool-call{min-width:0;padding-block:var(--dimension-space-050)}.agent-tool__result--plain-text.sc-ds-agent-tool-call{font-family:var(--typography-font-family-ui);font-size:var(--typography-fontsize-md);font-weight:var(--typography-weight-regular);line-height:var(--typography-lineheight-md);letter-spacing:var(--typography-letterspacing-negative-half)}summary.sc-ds-agent-tool-call:focus-visible{border-radius:var(--dimension-radius-025);outline:var(--dimension-stroke-width-025) solid var(--color-border-bold-brand);outline-offset:var(--dimension-space-025)}@media (prefers-reduced-motion: no-preference){.agent-tool__chevron.sc-ds-agent-tool-call{transition:transform var(--effect-motion-short-2)}}@media (forced-colors: active){summary.sc-ds-agent-tool-call:focus-visible{outline-color:var(--ds-forced-color-selected)}.agent-tool--error.sc-ds-agent-tool-call .agent-tool__summary-content.sc-ds-agent-tool-call,.agent-tool--denied.sc-ds-agent-tool-call .agent-tool__summary-content.sc-ds-agent-tool-call{border-inline-start:var(--dimension-stroke-width-025) solid var(--ds-forced-color-content);padding-inline-start:var(--dimension-space-050)}}`;const d={preparing:"Preparing",queued:"Queued",running:"Running","waiting-for-user":"Waiting for your response",success:"Completed",error:"Failed",denied:"Permission denied",canceled:"Canceled"};const g=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.dsOpenChange=o(this,"dsOpenChange",7);this.name="";this.label="";this.state="queued";this.open=false;this.hasSummary=false;this.hasResult=false;this.hasPlainTextResult=false;this.hasDetails=false;this.hasLoaded=false;this.handleToggle=t=>{this.dsOpenChange.emit({open:t.currentTarget.open})}}componentWillLoad(){this.syncSlots()}connectedCallback(){if(this.hasLoaded)this.observeSlots()}componentDidLoad(){this.hasLoaded=true;this.observeSlots()}observeSlots(){if(!this.el.isConnected)return;this.slotObserver?.disconnect();this.syncSlots();this.slotObserver=new MutationObserver((()=>{if(this.el.isConnected)this.syncSlots()}));this.slotObserver.observe(this.el,{childList:true,subtree:true,characterData:true,attributes:true,attributeFilter:["slot"]})}disconnectedCallback(){this.slotObserver?.disconnect();this.slotObserver=undefined}syncSlots(){this.hasSummary=Boolean(this.el.querySelector('[slot="summary"]'));const t=this.el.querySelector('[slot="result"]');this.hasResult=Boolean(t);this.hasPlainTextResult=Boolean(t&&t.childElementCount===0&&t.textContent?.trim());this.hasDetails=Boolean(this.el.querySelector('[slot="details"]'))}serialize(t){if(t===undefined)return"";if(typeof t==="string")return t;try{return JSON.stringify(t,null,2)}catch{return String(t)}}get active(){return["preparing","queued","running"].includes(this.state)}get expandable(){return this.hasDetails||this.input!==undefined||this.output!==undefined||Boolean(this.error)}renderStatusIcon(){if(this.active)return s("ds-loader",{size:"xs",color:"inherit"});if(this.state==="success"){return s("ds-icon",{name:"Check",size:"xs",color:"inherit"})}if(this.state==="waiting-for-user"){return s("ds-icon",{name:"Clock",size:"xs",color:"inherit"})}return s("ds-icon",{name:"ExclamationTriangle",size:"xs",color:"inherit"})}renderSummary(t){return s("span",{class:"agent-tool__summary-content"},s("span",{class:"agent-tool__status-icon","aria-hidden":"true"},this.renderStatusIcon()),s("span",{class:"agent-tool__title"},this.hasSummary?s("slot",{name:"summary"}):s("ds-text",{as:"span",variant:"text-body-small",emphasis:true},this.label||this.name),s("ds-text",{class:"agent-tool__state-label",as:"span",variant:"text-caption",color:["error","denied"].includes(this.state)?"negative":"secondary"},this.statusLabel??d[this.state])),t?s("ds-icon",{class:"agent-tool__chevron",name:"ChevronRight",size:"xs",color:"inherit"}):null)}renderGenericDetails(){return s("div",{class:"agent-tool__diagnostics"},this.input!==undefined?s("section",null,s("ds-text",{variant:"text-caption",emphasis:true},"Input"),s("pre",null,this.serialize(this.input))):null,this.output!==undefined?s("section",null,s("ds-text",{variant:"text-caption",emphasis:true},"Output"),s("pre",null,this.serialize(this.output))):null,this.error?s("section",null,s("ds-text",{variant:"text-caption",emphasis:true},"Error"),s("pre",null,this.error)):null)}render(){const t=this.expandable;return s(a,{key:"100ed96692c404dfda72219d408f86a2c43a4c14"},s("div",{key:"363039af57fa0370d840713f3551ec87109a82d7",class:`agent-tool agent-tool--${this.state}`},t?s("details",{open:this.open,onToggle:this.handleToggle},s("summary",null,this.renderSummary(true)),s("div",{class:"agent-tool__details"},this.hasDetails?s("slot",{name:"details"}):this.renderGenericDetails())):s("div",{class:"agent-tool__row"},this.renderSummary(false)),this.hasResult?s("div",{class:{"agent-tool__result":true,"agent-tool__result--plain-text":this.hasPlainTextResult}},s("slot",{name:"result"})):null))}get el(){return this}static get style(){return c()}},[262,"ds-agent-tool-call",{name:[1],label:[1],state:[1],statusLabel:[1,"status-label"],input:[16],output:[16],error:[1],open:[4],hasSummary:[32],hasResult:[32],hasPlainTextResult:[32],hasDetails:[32]}]);function u(){if(typeof customElements==="undefined"){return}const t=["ds-agent-tool-call","ds-icon","ds-loader","ds-text"];t.forEach((t=>{switch(t){case"ds-agent-tool-call":if(!customElements.get(n(t))){customElements.define(n(t),g)}break;case"ds-icon":if(!customElements.get(n(t))){l()}break;case"ds-loader":if(!customElements.get(n(t))){i()}break;case"ds-text":if(!customElements.get(n(t))){r()}break}}))}u();export{g as A,u as d};
|
|
2
|
+
//# sourceMappingURL=p-BmIllmq2.js.map
|