@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
|
@@ -45,6 +45,12 @@ export declare function iconCache(): IconCacheMap;
|
|
|
45
45
|
* name IcoMo does not ship — an app's own marker artwork, say — register as
|
|
46
46
|
* system and resolve the same way.
|
|
47
47
|
*
|
|
48
|
+
* Custom glyphs must be static and self-contained. Shapes, local gradients,
|
|
49
|
+
* clipping and narrow inline paint styles are supported; scripts, embedded
|
|
50
|
+
* stylesheets, animation, images and external resources are rejected. Validation
|
|
51
|
+
* happens when rendering, including for pre-registered strings. Unsupported
|
|
52
|
+
* markup preserves the icon's empty fixed-size box.
|
|
53
|
+
*
|
|
48
54
|
* There is deliberately no category override. ds-icon has no such override when
|
|
49
55
|
* it reads, so forcing a different category on write could only produce an
|
|
50
56
|
* entry nothing ever reads.
|
|
@@ -8,6 +8,7 @@ export declare const CLOCK_HOURS: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1
|
|
|
8
8
|
export declare const CLOCK_PERIODS: readonly ClockPeriod[];
|
|
9
9
|
export declare function isClockTime(value: string): boolean;
|
|
10
10
|
export declare function clockMinuteStep(step?: string | number): number;
|
|
11
|
+
/** Minute choices for a positive whole-minute stride; sub-minute strides fall back to one. */
|
|
11
12
|
export declare function clockMinutes(step?: number, baseMinute?: number): number[];
|
|
12
13
|
export declare function splitClockTime(value: string): ClockTimeParts | null;
|
|
13
14
|
export declare function joinClockTime(parts: ClockTimeParts): string;
|
|
@@ -48,11 +48,13 @@ export type ParsedDateFilterValue = {
|
|
|
48
48
|
} | ({
|
|
49
49
|
kind: 'range';
|
|
50
50
|
} & DateFilterRange);
|
|
51
|
+
/** Validate a timezone-free Gregorian day with a four-digit year from 0001 through 9999. */
|
|
51
52
|
export declare function isIsoCalendarDate(value: string): boolean;
|
|
52
53
|
/** Readable calendar date for filled ISO values such as `2026-09-10` → `Sep 10, 2026`. */
|
|
53
54
|
export declare function formatIsoCalendarDateLabel(value: string): string;
|
|
54
55
|
/** Parse a typed calendar date: ISO, `M/D/YYYY`, or a short-month label such as `Sep 10, 2026`. */
|
|
55
56
|
export declare function parseLooseCalendarDate(value: string): string;
|
|
57
|
+
/** Shift whole calendar days in UTC; return an empty value for invalid input or year overflow. */
|
|
56
58
|
export declare function shiftIsoCalendarDate(value: string, days: number): string;
|
|
57
59
|
export declare function dateFilterRelativeValue(preset: DateFilterRelativePreset): DateFilterRelativeValue;
|
|
58
60
|
export declare function dateFilterRangeValue(start: string, end?: string): DateFilterRangeValue;
|
|
@@ -9,7 +9,8 @@ export interface SetRepeatedFormControlValueOptions {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Set one form-associated value while consistently omitting inactive controls.
|
|
12
|
-
*
|
|
12
|
+
* Inactive controls retain their restoration state even when submission is
|
|
13
|
+
* omitted. Pass `state` when restoration differs from the control's value.
|
|
13
14
|
*/
|
|
14
15
|
export declare function setFormControlValue(internals: ElementInternals, value: File | string | null, options?: SetFormControlValueOptions): void;
|
|
15
16
|
/**
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export type PercentageDecimals = 1 | 2;
|
|
2
|
-
/** Format a ratio as a
|
|
2
|
+
/** Format a ratio as a percentage (English by default) with an exact, supported precision. */
|
|
3
3
|
export declare function formatPercentage(ratio: number, decimals?: PercentageDecimals, locale?: string): string;
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -80,87 +80,103 @@ function registerIcons(icons) {
|
|
|
80
80
|
|
|
81
81
|
// src/wc/utils/resolve-css-length-px.ts
|
|
82
82
|
var lengthPxCache = /* @__PURE__ */ new Map();
|
|
83
|
-
var
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
visited.add(name);
|
|
103
|
-
const value = contextStyle.getPropertyValue(name).trim();
|
|
104
|
-
if (!value) continue;
|
|
105
|
-
previous.push({
|
|
106
|
-
name,
|
|
107
|
-
value: probe.style.getPropertyValue(name),
|
|
108
|
-
priority: probe.style.getPropertyPriority(name)
|
|
109
|
-
});
|
|
110
|
-
probe.style.setProperty(name, value);
|
|
111
|
-
for (const match of value.matchAll(/var\(\s*(--[\w-]+)/g)) pending.push(match[1]);
|
|
112
|
-
}
|
|
113
|
-
return previous;
|
|
114
|
-
}
|
|
115
|
-
function restoreProbeVariables(probe, previous) {
|
|
116
|
-
for (const { name, value, priority } of previous) {
|
|
117
|
-
if (value) probe.style.setProperty(name, value, priority);
|
|
118
|
-
else probe.style.removeProperty(name);
|
|
83
|
+
var probes = /* @__PURE__ */ new WeakMap();
|
|
84
|
+
var CACHE_LIMIT = 256;
|
|
85
|
+
function literalPixels(value) {
|
|
86
|
+
const cached = lengthPxCache.get(value);
|
|
87
|
+
if (cached !== void 0) return cached;
|
|
88
|
+
if (!/^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?(?:px)?$/i.test(value)) return void 0;
|
|
89
|
+
const pixels = Number(value.replace(/px$/i, ""));
|
|
90
|
+
if (!Number.isFinite(pixels)) return void 0;
|
|
91
|
+
if (lengthPxCache.size >= CACHE_LIMIT) lengthPxCache.clear();
|
|
92
|
+
lengthPxCache.set(value, pixels);
|
|
93
|
+
return pixels;
|
|
94
|
+
}
|
|
95
|
+
function getProbeElement(ownerDocument) {
|
|
96
|
+
let probe = probes.get(ownerDocument);
|
|
97
|
+
if (!probe) {
|
|
98
|
+
probe = ownerDocument.createElement("div");
|
|
99
|
+
probe.setAttribute("aria-hidden", "true");
|
|
100
|
+
probe.style.cssText = "all:initial;position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;width:0;height:0;margin:0;padding:0;border:0;overflow:hidden;";
|
|
101
|
+
probes.set(ownerDocument, probe);
|
|
119
102
|
}
|
|
103
|
+
if (!probe.isConnected) ownerDocument.documentElement.appendChild(probe);
|
|
104
|
+
return probe;
|
|
120
105
|
}
|
|
121
106
|
function clearCssLengthPxCache() {
|
|
122
107
|
lengthPxCache.clear();
|
|
123
108
|
}
|
|
124
109
|
function resolveCssLengthPx(value, fallback, context) {
|
|
125
110
|
const resolved = value === void 0 || value === null || value === "" ? fallback : value;
|
|
126
|
-
if (typeof resolved === "number") return resolved;
|
|
111
|
+
if (typeof resolved === "number") return Number.isFinite(resolved) ? resolved : 0;
|
|
127
112
|
const trimmed = resolved.trim();
|
|
128
113
|
if (!trimmed) return resolveCssLengthPx(fallback, 0, context);
|
|
129
|
-
const
|
|
130
|
-
if (
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return
|
|
114
|
+
const literal = literalPixels(trimmed);
|
|
115
|
+
if (literal !== void 0) return literal;
|
|
116
|
+
const fallbackPixels = typeof fallback === "number" ? fallback : literalPixels(fallback.trim());
|
|
117
|
+
const safeFallback = Number.isFinite(fallbackPixels) ? fallbackPixels : 0;
|
|
118
|
+
const ownerDocument = context?.ownerDocument ?? (typeof document === "undefined" ? null : document);
|
|
119
|
+
const view = ownerDocument?.defaultView;
|
|
120
|
+
if (!ownerDocument?.documentElement || !view) return safeFallback;
|
|
121
|
+
const cssLength = /^--[\w-]+$/.test(trimmed) ? `var(${trimmed})` : trimmed;
|
|
122
|
+
if (!view.CSS.supports("left", cssLength)) return safeFallback;
|
|
123
|
+
const scopeStyle = view.getComputedStyle(context ?? ownerDocument.documentElement);
|
|
124
|
+
const directProperty = cssLength.match(/^var\(\s*(--[\w-]+)\s*\)$/)?.[1];
|
|
125
|
+
if (directProperty) {
|
|
126
|
+
const scopedValue = scopeStyle.getPropertyValue(directProperty).trim();
|
|
127
|
+
if (!scopedValue) return safeFallback;
|
|
128
|
+
const scopedPixels = literalPixels(scopedValue);
|
|
129
|
+
if (scopedPixels !== void 0) return scopedPixels;
|
|
143
130
|
}
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
return px2;
|
|
131
|
+
const probe = getProbeElement(ownerDocument);
|
|
132
|
+
const variables = new Set([...cssLength.matchAll(/var\(\s*(--[\w-]+)/g)].map((match) => match[1]));
|
|
133
|
+
for (const name of variables) {
|
|
134
|
+
probe.style.setProperty(name, scopeStyle.getPropertyValue(name).trim() || "initial");
|
|
149
135
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
136
|
+
probe.style.font = scopeStyle.font;
|
|
137
|
+
probe.style.fontSize = scopeStyle.fontSize;
|
|
138
|
+
probe.style.lineHeight = scopeStyle.lineHeight;
|
|
139
|
+
probe.style.left = "";
|
|
140
|
+
probe.style.left = cssLength;
|
|
141
|
+
try {
|
|
142
|
+
if (!probe.style.left) return safeFallback;
|
|
143
|
+
const pixels = parseFloat(view.getComputedStyle(probe).left);
|
|
144
|
+
return Number.isFinite(pixels) ? pixels : safeFallback;
|
|
145
|
+
} finally {
|
|
146
|
+
probe.style.left = "0px";
|
|
147
|
+
for (const name of variables) probe.style.removeProperty(name);
|
|
154
148
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// src/wc/utils/intl-formatters.ts
|
|
152
|
+
var DEFAULT_LOCALE = "en-US";
|
|
153
|
+
var CACHE_LIMIT2 = 32;
|
|
154
|
+
var locales = /* @__PURE__ */ new Map();
|
|
155
|
+
var numbers = /* @__PURE__ */ new Map();
|
|
156
|
+
function remember(cache, key, value) {
|
|
157
|
+
if (cache.size >= CACHE_LIMIT2) cache.delete(cache.keys().next().value);
|
|
158
|
+
cache.set(key, value);
|
|
159
|
+
return value;
|
|
160
|
+
}
|
|
161
|
+
function resolveFormatLocale(locale) {
|
|
162
|
+
if (typeof locale !== "string" || !locale.trim()) return DEFAULT_LOCALE;
|
|
163
|
+
const key = locale.trim();
|
|
164
|
+
const cached = locales.get(key);
|
|
165
|
+
if (cached) return cached;
|
|
166
|
+
let resolved = DEFAULT_LOCALE;
|
|
167
|
+
try {
|
|
168
|
+
resolved = Intl.NumberFormat.supportedLocalesOf(key)[0] ?? DEFAULT_LOCALE;
|
|
169
|
+
} catch {
|
|
162
170
|
}
|
|
163
|
-
return
|
|
171
|
+
return remember(locales, key, resolved);
|
|
172
|
+
}
|
|
173
|
+
function keyFor(locale, options) {
|
|
174
|
+
return JSON.stringify([locale, Object.entries(options).sort(([a], [b]) => a.localeCompare(b))]);
|
|
175
|
+
}
|
|
176
|
+
function numberFormatter(locale, options = {}) {
|
|
177
|
+
const resolved = resolveFormatLocale(locale);
|
|
178
|
+
const key = keyFor(resolved, options);
|
|
179
|
+
return numbers.get(key) ?? remember(numbers, key, new Intl.NumberFormat(resolved, options));
|
|
164
180
|
}
|
|
165
181
|
|
|
166
182
|
// src/wc/utils/format-compact-number.ts
|
|
@@ -171,7 +187,7 @@ var COMPACT_UNITS = [
|
|
|
171
187
|
];
|
|
172
188
|
function formatCompactNumber(value, locale) {
|
|
173
189
|
if (locale) {
|
|
174
|
-
return
|
|
190
|
+
return numberFormatter(locale, {
|
|
175
191
|
notation: "compact",
|
|
176
192
|
compactDisplay: "short",
|
|
177
193
|
maximumFractionDigits: 1
|
|
@@ -198,7 +214,7 @@ function formatCompactNumber(value, locale) {
|
|
|
198
214
|
function formatPercentage(ratio, decimals = 1, locale) {
|
|
199
215
|
const precision = decimals === 2 ? 2 : 1;
|
|
200
216
|
const value = Number.isFinite(ratio) ? ratio : 0;
|
|
201
|
-
return
|
|
217
|
+
return numberFormatter(locale, {
|
|
202
218
|
style: "percent",
|
|
203
219
|
minimumFractionDigits: precision,
|
|
204
220
|
maximumFractionDigits: precision
|
|
@@ -224,9 +240,7 @@ function resolveMetricTrend(current, previous, options = {}) {
|
|
|
224
240
|
if (!change.direction) return null;
|
|
225
241
|
const rose = change.direction === "up";
|
|
226
242
|
const tone = neutral ? "neutral" : rose !== inverted ? "positive" : "negative";
|
|
227
|
-
const value = display === "percentage" ?
|
|
228
|
-
change.ratio
|
|
229
|
-
) : formatCompactNumber(change.absolute, locale);
|
|
243
|
+
const value = display === "percentage" ? numberFormatter(locale, { style: "percent", maximumFractionDigits: 0 }).format(change.ratio) : formatCompactNumber(change.absolute, locale);
|
|
230
244
|
return { direction: change.direction, value, tone };
|
|
231
245
|
}
|
|
232
246
|
|
|
@@ -478,20 +492,17 @@ function setRequiredValidity(internals, missing, message) {
|
|
|
478
492
|
// src/wc/utils/form-association.ts
|
|
479
493
|
function setFormControlValue(internals, value, options = {}) {
|
|
480
494
|
const submission = options.inactive ? null : value;
|
|
481
|
-
|
|
482
|
-
internals.setFormValue(submission);
|
|
483
|
-
return;
|
|
484
|
-
}
|
|
485
|
-
internals.setFormValue(submission, options.state);
|
|
495
|
+
internals.setFormValue(submission, options.state === void 0 ? value : options.state);
|
|
486
496
|
}
|
|
487
497
|
function setRepeatedFormControlValue(internals, name, values, options = {}) {
|
|
498
|
+
const state = options.state === void 0 ? JSON.stringify(values) : options.state;
|
|
488
499
|
if (options.inactive || !name || values.length === 0) {
|
|
489
|
-
internals.setFormValue(null);
|
|
500
|
+
internals.setFormValue(null, state);
|
|
490
501
|
return;
|
|
491
502
|
}
|
|
492
503
|
const data = new FormData();
|
|
493
504
|
values.forEach((value) => data.append(name, String(value)));
|
|
494
|
-
internals.setFormValue(data,
|
|
505
|
+
internals.setFormValue(data, state);
|
|
495
506
|
}
|
|
496
507
|
function restoreStringFormState(state, fallback = "") {
|
|
497
508
|
return typeof state === "string" ? state : fallback;
|
|
@@ -510,7 +521,9 @@ function restoreNumberArrayFormState(state, maximumValues) {
|
|
|
510
521
|
try {
|
|
511
522
|
const restored = JSON.parse(state);
|
|
512
523
|
if (!Array.isArray(restored)) return [];
|
|
513
|
-
const values = restored.
|
|
524
|
+
const values = restored.filter(
|
|
525
|
+
(value) => typeof value === "number" || typeof value === "string" && value.trim().length > 0
|
|
526
|
+
).map(Number).filter((value) => Number.isFinite(value));
|
|
514
527
|
return maximumValues === void 0 ? values : values.slice(0, maximumValues);
|
|
515
528
|
} catch {
|
|
516
529
|
return [];
|
|
@@ -520,7 +533,7 @@ function restoreNumberArrayFormState(state, maximumValues) {
|
|
|
520
533
|
// src/wc/utils/safe-url.ts
|
|
521
534
|
var DEFAULT_PROTOCOLS = ["http:", "https:"];
|
|
522
535
|
function resolveSafeUrl(value, options = {}) {
|
|
523
|
-
const candidate = value
|
|
536
|
+
const candidate = typeof value === "string" ? value.trim() : "";
|
|
524
537
|
if (!candidate) return void 0;
|
|
525
538
|
const baseUrl = options.baseUrl ?? (typeof document === "undefined" ? void 0 : document.baseURI);
|
|
526
539
|
try {
|
|
@@ -1126,7 +1139,7 @@ var CLOCK_HOURS = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
|
|
1126
1139
|
var CLOCK_PERIODS = ["AM", "PM"];
|
|
1127
1140
|
var CLOCK_TIME_PATTERN = /^\d{2}:\d{2}$/;
|
|
1128
1141
|
function isClockTime(value) {
|
|
1129
|
-
if (!CLOCK_TIME_PATTERN.test(value)) return false;
|
|
1142
|
+
if (typeof value !== "string" || !CLOCK_TIME_PATTERN.test(value)) return false;
|
|
1130
1143
|
const [hour, minute] = value.split(":").map(Number);
|
|
1131
1144
|
return hour >= 0 && hour <= 23 && minute >= 0 && minute <= 59;
|
|
1132
1145
|
}
|
|
@@ -1137,8 +1150,8 @@ function clockMinuteStep(step = 60) {
|
|
|
1137
1150
|
return Math.max(1, Math.round(seconds / 60));
|
|
1138
1151
|
}
|
|
1139
1152
|
function clockMinutes(step = 1, baseMinute = 0) {
|
|
1140
|
-
const stride = Number.isFinite(step)
|
|
1141
|
-
const normalizedBase = (Math.floor(baseMinute) % 60 + 60) % 60;
|
|
1153
|
+
const stride = Number.isFinite(step) ? Math.max(1, Math.floor(step)) : 1;
|
|
1154
|
+
const normalizedBase = Number.isFinite(baseMinute) ? (Math.floor(baseMinute) % 60 + 60) % 60 : 0;
|
|
1142
1155
|
const values = /* @__PURE__ */ new Set();
|
|
1143
1156
|
for (let offset = 0; offset < 1440; offset += stride) {
|
|
1144
1157
|
values.add((normalizedBase + offset) % 60);
|
|
@@ -1153,6 +1166,8 @@ function splitClockTime(value) {
|
|
|
1153
1166
|
return { hour12, minute, period };
|
|
1154
1167
|
}
|
|
1155
1168
|
function joinClockTime(parts) {
|
|
1169
|
+
if (!parts || !Number.isInteger(parts.hour12) || parts.hour12 < 1 || parts.hour12 > 12 || !Number.isInteger(parts.minute) || parts.minute < 0 || parts.minute > 59 || parts.period !== "AM" && parts.period !== "PM")
|
|
1170
|
+
return "";
|
|
1156
1171
|
const hour24 = parts.period === "AM" ? parts.hour12 === 12 ? 0 : parts.hour12 : parts.hour12 === 12 ? 12 : parts.hour12 + 12;
|
|
1157
1172
|
return `${String(hour24).padStart(2, "0")}:${String(parts.minute).padStart(2, "0")}`;
|
|
1158
1173
|
}
|
|
@@ -1162,6 +1177,7 @@ function formatClockTimeLabel(value) {
|
|
|
1162
1177
|
return `${parts.hour12}:${String(parts.minute).padStart(2, "0")} ${parts.period}`;
|
|
1163
1178
|
}
|
|
1164
1179
|
function parseLooseClockTime(value) {
|
|
1180
|
+
if (typeof value !== "string") return "";
|
|
1165
1181
|
const trimmed = value.trim();
|
|
1166
1182
|
if (!trimmed) return "";
|
|
1167
1183
|
if (isClockTime(trimmed)) return trimmed;
|
|
@@ -1218,14 +1234,15 @@ var ISO_CALENDAR_DATE_LABEL = new Intl.DateTimeFormat("en-US", {
|
|
|
1218
1234
|
timeZone: "UTC"
|
|
1219
1235
|
});
|
|
1220
1236
|
function isIsoCalendarDate(value) {
|
|
1221
|
-
if (!ISO_DATE_PATTERN.test(value)) return false;
|
|
1237
|
+
if (typeof value !== "string" || !ISO_DATE_PATTERN.test(value)) return false;
|
|
1222
1238
|
const [year, month, day] = value.split("-").map(Number);
|
|
1223
|
-
|
|
1239
|
+
if (year < 1) return false;
|
|
1240
|
+
const date = /* @__PURE__ */ new Date(`${value}T00:00:00Z`);
|
|
1224
1241
|
return date.getUTCFullYear() === year && date.getUTCMonth() === month - 1 && date.getUTCDate() === day;
|
|
1225
1242
|
}
|
|
1226
1243
|
function formatIsoCalendarDateLabel(value) {
|
|
1227
1244
|
if (!isIsoCalendarDate(value)) return "";
|
|
1228
|
-
return ISO_CALENDAR_DATE_LABEL.
|
|
1245
|
+
return ISO_CALENDAR_DATE_LABEL.formatToParts(/* @__PURE__ */ new Date(`${value}T00:00:00Z`)).map((part) => part.type === "year" ? part.value.padStart(4, "0") : part.value).join("");
|
|
1229
1246
|
}
|
|
1230
1247
|
var MONTH_LABELS = [
|
|
1231
1248
|
"jan",
|
|
@@ -1242,6 +1259,7 @@ var MONTH_LABELS = [
|
|
|
1242
1259
|
"dec"
|
|
1243
1260
|
];
|
|
1244
1261
|
function parseLooseCalendarDate(value) {
|
|
1262
|
+
if (typeof value !== "string") return "";
|
|
1245
1263
|
const trimmed = value.trim();
|
|
1246
1264
|
if (!trimmed) return "";
|
|
1247
1265
|
if (isIsoCalendarDate(trimmed)) return trimmed;
|
|
@@ -1258,10 +1276,11 @@ function parseLooseCalendarDate(value) {
|
|
|
1258
1276
|
return isIsoCalendarDate(iso) ? iso : "";
|
|
1259
1277
|
}
|
|
1260
1278
|
function shiftIsoCalendarDate(value, days) {
|
|
1261
|
-
if (!isIsoCalendarDate(value)) return "";
|
|
1262
|
-
const
|
|
1263
|
-
|
|
1264
|
-
|
|
1279
|
+
if (!isIsoCalendarDate(value) || !Number.isSafeInteger(days)) return "";
|
|
1280
|
+
const date = /* @__PURE__ */ new Date(`${value}T00:00:00Z`);
|
|
1281
|
+
date.setUTCDate(date.getUTCDate() + days);
|
|
1282
|
+
const year = date.getUTCFullYear();
|
|
1283
|
+
return year >= 1 && year <= 9999 ? date.toISOString().slice(0, 10) : "";
|
|
1265
1284
|
}
|
|
1266
1285
|
function dateFilterRelativeValue(preset) {
|
|
1267
1286
|
return `relative:${preset}`;
|
|
@@ -1296,7 +1315,8 @@ function resolveDateFilterRange(value, referenceDate) {
|
|
|
1296
1315
|
const preset = DATE_FILTER_RELATIVE_PRESETS.find((candidate) => candidate.value === parsed.preset);
|
|
1297
1316
|
if (!preset) return null;
|
|
1298
1317
|
const end = shiftIsoCalendarDate(referenceDate, preset.offset);
|
|
1299
|
-
|
|
1318
|
+
const start = shiftIsoCalendarDate(end, -(preset.days - 1));
|
|
1319
|
+
return start && end ? { start, end } : null;
|
|
1300
1320
|
}
|
|
1301
1321
|
export {
|
|
1302
1322
|
CLOCK_HOURS,
|