@awc-ui/core 1.0.0-beta.2 → 1.0.0-beta.4
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/README.md +18 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
- package/dist/cjs/engine.wasm-9JtXME10.js +12 -0
- package/dist/cjs/engine.wasm-9JtXME10.js.map +1 -0
- package/dist/cjs/{index-DlQ_5_Mv.js → index-Bm07YAg9.js} +4 -15
- package/dist/cjs/index-Bm07YAg9.js.map +1 -0
- package/dist/cjs/lazy-loading-indicator-CoC-_DMs.js +69 -0
- package/dist/cjs/lazy-loading-indicator-CoC-_DMs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/md-accordion-item.cjs.entry.js +4 -4
- package/dist/cjs/md-accordion.cjs.entry.js +1 -1
- package/dist/cjs/md-app-bar.cjs.entry.js +2 -2
- package/dist/cjs/md-area-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-autocomplete.cjs.entry.js +6 -5
- package/dist/cjs/md-autocomplete.cjs.entry.js.map +1 -1
- package/dist/cjs/md-avatar_2.cjs.entry.js +4 -4
- package/dist/cjs/md-badge.cjs.entry.js +3 -3
- package/dist/cjs/md-bar-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-bottom-sheet.cjs.entry.js +5 -5
- package/dist/cjs/md-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/md-breadcrumbs.cjs.entry.js +3 -3
- package/dist/cjs/md-button-group.cjs.entry.js +3 -3
- package/dist/cjs/{md-button_7.cjs.entry.js → md-button_6.cjs.entry.js} +14 -39
- package/dist/cjs/md-button_6.cjs.entry.js.map +1 -0
- package/dist/cjs/md-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/md-chip.cjs.entry.js +3 -3
- package/dist/cjs/md-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/md-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/md-dialog.cjs.entry.js +3 -3
- package/dist/cjs/md-divider.cjs.entry.js +3 -3
- package/dist/cjs/md-fab-menu-item.cjs.entry.js +3 -3
- package/dist/cjs/md-fab-menu.cjs.entry.js +3 -3
- package/dist/cjs/md-fab.cjs.entry.js +3 -3
- package/dist/cjs/md-line-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-list-item.cjs.entry.js +4 -4
- package/dist/cjs/md-list.cjs.entry.js +4 -4
- package/dist/cjs/md-loading-indicator-CmzdcYLR.js +33 -0
- package/dist/cjs/md-loading-indicator-CmzdcYLR.js.map +1 -0
- package/dist/cjs/md-loading-indicator.cjs.entry.js +11 -0
- package/dist/cjs/md-loading-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/md-menu-item-group.cjs.entry.js +1 -1
- package/dist/cjs/md-menu_2.cjs.entry.js +6 -6
- package/dist/cjs/md-meter.cjs.entry.js +1 -1
- package/dist/cjs/md-multi-select.cjs.entry.js +7 -6
- package/dist/cjs/md-multi-select.cjs.entry.js.map +1 -1
- package/dist/cjs/md-navigation-bar.cjs.entry.js +2 -2
- package/dist/cjs/md-navigation-rail-tab.cjs.entry.js +1 -1
- package/dist/cjs/md-navigation-rail.cjs.entry.js +1 -1
- package/dist/cjs/md-navigation-tab.cjs.entry.js +3 -3
- package/dist/cjs/md-number-field.cjs.entry.js +3 -3
- package/dist/cjs/md-organization-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-otp-field.cjs.entry.js +4 -4
- package/dist/cjs/md-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/md-progress-indicator.cjs.entry.js +1 -1
- package/dist/cjs/md-rating.cjs.entry.js +1 -1
- package/dist/cjs/md-search.cjs.entry.js +8 -7
- package/dist/cjs/md-search.cjs.entry.js.map +1 -1
- package/dist/cjs/md-segmented-button-set.cjs.entry.js +1 -1
- package/dist/cjs/md-segmented-button.cjs.entry.js +1 -1
- package/dist/cjs/md-select-option.cjs.entry.js +2 -2
- package/dist/cjs/md-select.cjs.entry.js +7 -6
- package/dist/cjs/md-select.cjs.entry.js.map +1 -1
- package/dist/cjs/md-side-sheet.cjs.entry.js +1 -1
- package/dist/cjs/md-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/md-slider.cjs.entry.js +3 -3
- package/dist/cjs/md-sparkline.cjs.entry.js +3 -3
- package/dist/cjs/md-split-button.cjs.entry.js +1 -1
- package/dist/cjs/md-status-dot.cjs.entry.js +2 -2
- package/dist/cjs/md-step.cjs.entry.js +1 -1
- package/dist/cjs/md-stepper.cjs.entry.js +1 -1
- package/dist/cjs/md-sub-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/md-switch.cjs.entry.js +1 -1
- package/dist/cjs/md-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/md-tab-panels.cjs.entry.js +1 -1
- package/dist/cjs/md-tab.cjs.entry.js +1 -1
- package/dist/cjs/md-table-body.cjs.entry.js +1 -1
- package/dist/cjs/md-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/md-table-container.cjs.entry.js +1 -1
- package/dist/cjs/md-table-expand-toggle.cjs.entry.js +1 -1
- package/dist/cjs/md-table-foot.cjs.entry.js +1 -1
- package/dist/cjs/md-table-head.cjs.entry.js +1 -1
- package/dist/cjs/md-table-pagination.cjs.entry.js +1 -1
- package/dist/cjs/md-table-row.cjs.entry.js +1 -1
- package/dist/cjs/md-table-sort-label.cjs.entry.js +1 -1
- package/dist/cjs/md-table-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/md-table.cjs.entry.js +4 -4
- package/dist/cjs/md-tabs.cjs.entry.js +1 -1
- package/dist/cjs/md-text-field.cjs.entry.js +8 -8
- package/dist/cjs/md-time-picker.cjs.entry.js +2 -2
- package/dist/cjs/md-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/md-transfer-list.cjs.entry.js +2 -2
- package/dist/cjs/md3.cjs.js +4 -3
- package/dist/cjs/md3.cjs.js.map +1 -1
- package/dist/cjs/{virtual-select-controller-CqriaZgm.js → virtual-select-controller-C5cSoKfB.js} +10 -9
- package/dist/cjs/virtual-select-controller-C5cSoKfB.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/md-accordion-item/md-accordion-item.js +3 -3
- package/dist/collection/components/md-app-bar/md-app-bar.js +1 -1
- package/dist/collection/components/md-area-chart/md-area-chart.js +2 -2
- package/dist/collection/components/md-autocomplete/md-autocomplete.js +4 -3
- package/dist/collection/components/md-autocomplete/md-autocomplete.js.map +1 -1
- package/dist/collection/components/md-avatar/md-avatar.js +2 -2
- package/dist/collection/components/md-badge/md-badge.js +2 -2
- package/dist/collection/components/md-bar-chart/md-bar-chart.js +2 -2
- package/dist/collection/components/md-bottom-sheet/md-bottom-sheet.js +4 -4
- package/dist/collection/components/md-breadcrumbs/md-breadcrumbs.js +2 -2
- package/dist/collection/components/md-button/md-button.js +4 -3
- package/dist/collection/components/md-button/md-button.js.map +1 -1
- package/dist/collection/components/md-button-group/md-button-group.js +2 -2
- package/dist/collection/components/md-card/md-card.js +2 -2
- package/dist/collection/components/md-checkbox/md-checkbox.js +2 -2
- package/dist/collection/components/md-chip/md-chip.js +2 -2
- package/dist/collection/components/md-date-picker/md-date-picker.js +1 -1
- package/dist/collection/components/md-dialog/md-dialog.js +2 -2
- package/dist/collection/components/md-divider/md-divider.js +2 -2
- package/dist/collection/components/md-fab/md-fab.js +2 -2
- package/dist/collection/components/md-fab-menu/md-fab-menu.js +2 -2
- package/dist/collection/components/md-fab-menu-item/md-fab-menu-item.js +2 -2
- package/dist/collection/components/md-icon-button/md-icon-button.js +4 -4
- package/dist/collection/components/md-line-chart/md-line-chart.js +2 -2
- package/dist/collection/components/md-list/md-list.js +3 -3
- package/dist/collection/components/md-list-item/md-list-item.js +3 -3
- package/dist/collection/components/md-loading-indicator/md-loading-indicator.js +2 -2
- package/dist/collection/components/md-menu/md-menu.js +3 -3
- package/dist/collection/components/md-menu-item/md-menu-item.js +2 -2
- package/dist/collection/components/md-multi-select/md-multi-select.js +5 -4
- package/dist/collection/components/md-multi-select/md-multi-select.js.map +1 -1
- package/dist/collection/components/md-navigation-bar/md-navigation-bar.js +1 -1
- package/dist/collection/components/md-navigation-tab/md-navigation-tab.js +2 -2
- package/dist/collection/components/md-number-field/md-number-field.js +2 -2
- package/dist/collection/components/md-organization-chart/md-organization-chart.js +2 -2
- package/dist/collection/components/md-otp-field/md-otp-field.js +3 -3
- package/dist/collection/components/md-ripple/md-ripple.js +1 -1
- package/dist/collection/components/md-search/md-search.js +7 -6
- package/dist/collection/components/md-search/md-search.js.map +1 -1
- package/dist/collection/components/md-select/md-select.js +5 -4
- package/dist/collection/components/md-select/md-select.js.map +1 -1
- package/dist/collection/components/md-select-option/md-select-option.js +1 -1
- package/dist/collection/components/md-slider/md-slider.js +2 -2
- package/dist/collection/components/md-sparkline/md-sparkline.js +2 -2
- package/dist/collection/components/md-status-dot/md-status-dot.js +1 -1
- package/dist/collection/components/md-table/md-table.js +3 -3
- package/dist/collection/components/md-text-field/md-text-field.js +7 -7
- package/dist/collection/components/md-time-picker/md-time-picker.js +1 -1
- package/dist/collection/components/md-tooltip/md-tooltip.js +1 -1
- package/dist/collection/components/md-transfer-list/md-transfer-list.js +1 -1
- package/dist/collection/utils/lazy-loading-indicator.js +62 -0
- package/dist/collection/utils/lazy-loading-indicator.js.map +1 -0
- package/dist/collection/wasm/engine-abi.js +8 -2
- package/dist/collection/wasm/engine-abi.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/md-accordion-item.js +1 -1
- package/dist/components/md-accordion.js +1 -1
- package/dist/components/md-app-bar.js +1 -1
- package/dist/components/md-area-chart.js +1 -1
- package/dist/components/md-autocomplete.js +1 -1
- package/dist/components/md-autocomplete.js.map +1 -1
- package/dist/components/md-avatar.js +1 -1
- package/dist/components/md-badge.js +1 -1
- package/dist/components/md-bar-chart.js +1 -1
- package/dist/components/md-bottom-sheet.js +1 -1
- package/dist/components/md-breadcrumb-item.js +1 -1
- package/dist/components/md-breadcrumbs.js +1 -1
- package/dist/components/md-button-group.js +1 -1
- package/dist/components/md-button.js +1 -1
- package/dist/components/md-card.js +1 -1
- package/dist/components/md-checkbox.js +1 -1
- package/dist/components/md-chip.js +1 -1
- package/dist/components/md-color-picker.js +1 -1
- package/dist/components/md-date-picker.js +1 -1
- package/dist/components/md-date-picker.js.map +1 -1
- package/dist/components/md-dialog.js +1 -1
- package/dist/components/md-dialog.js.map +1 -1
- package/dist/components/md-divider.js +1 -1
- package/dist/components/md-divider.js.map +1 -1
- package/dist/components/md-fab-menu-item.js +1 -1
- package/dist/components/md-fab-menu.js +1 -1
- package/dist/components/md-fab.js +1 -1
- package/dist/components/md-icon-button.js +1 -1
- package/dist/components/md-line-chart.js +1 -1
- package/dist/components/md-line-chart.js.map +1 -1
- package/dist/components/md-list-item.js +1 -1
- package/dist/components/md-list.js +1 -1
- package/dist/components/md-loading-indicator.js +1 -1
- package/dist/components/md-menu-item-group.js +1 -1
- package/dist/components/md-menu-item.js +1 -1
- package/dist/components/md-menu.js +1 -1
- package/dist/components/md-meter.js +1 -1
- package/dist/components/md-multi-select.js +1 -1
- package/dist/components/md-multi-select.js.map +1 -1
- package/dist/components/md-navigation-bar.js +1 -1
- package/dist/components/md-navigation-rail-tab.js +1 -1
- package/dist/components/md-navigation-rail.js +1 -1
- package/dist/components/md-navigation-tab.js +1 -1
- package/dist/components/md-number-field.js +1 -1
- package/dist/components/md-organization-chart.js +1 -1
- package/dist/components/md-otp-field.js +1 -1
- package/dist/components/md-pie-chart.js +1 -1
- package/dist/components/md-progress-indicator.js +1 -1
- package/dist/components/md-radio.js +1 -1
- package/dist/components/md-rating.js +1 -1
- package/dist/components/md-ripple.js +1 -1
- package/dist/components/md-search.js +1 -1
- package/dist/components/md-search.js.map +1 -1
- package/dist/components/md-segmented-button-set.js +1 -1
- package/dist/components/md-segmented-button.js +1 -1
- package/dist/components/md-select-option.js +1 -1
- package/dist/components/md-select.js +1 -1
- package/dist/components/md-side-sheet.js +1 -1
- package/dist/components/md-skeleton.js +1 -1
- package/dist/components/md-slider.js +1 -1
- package/dist/components/md-snackbar.js +1 -1
- package/dist/components/md-snackbar.js.map +1 -1
- package/dist/components/md-sparkline.js +1 -1
- package/dist/components/md-split-button.js +1 -1
- package/dist/components/md-status-dot.js +1 -1
- package/dist/components/md-step.js +1 -1
- package/dist/components/md-step.js.map +1 -1
- package/dist/components/md-stepper.js +1 -1
- package/dist/components/md-stepper.js.map +1 -1
- package/dist/components/md-sub-menu-item.js +1 -1
- package/dist/components/md-switch.js +1 -1
- package/dist/components/md-tab-panel.js +1 -1
- package/dist/components/md-tab-panels.js +1 -1
- package/dist/components/md-tab.js +1 -1
- package/dist/components/md-table-body.js +1 -1
- package/dist/components/md-table-cell.js +1 -1
- package/dist/components/md-table-container.js +1 -1
- package/dist/components/md-table-expand-toggle.js +1 -1
- package/dist/components/md-table-foot.js +1 -1
- package/dist/components/md-table-head.js +1 -1
- package/dist/components/md-table-pagination.js +1 -1
- package/dist/components/md-table-pagination.js.map +1 -1
- package/dist/components/md-table-row.js +1 -1
- package/dist/components/md-table-sort-label.js +1 -1
- package/dist/components/md-table-toolbar.js +1 -1
- package/dist/components/md-table.js +1 -1
- package/dist/components/md-tabs.js +1 -1
- package/dist/components/md-text-field.js +1 -1
- package/dist/components/md-time-picker.js +1 -1
- package/dist/components/md-time-picker.js.map +1 -1
- package/dist/components/md-toolbar.js +1 -1
- package/dist/components/md-tooltip.js +1 -1
- package/dist/components/md-transfer-list.js +1 -1
- package/dist/components/p-1RSrsLOs.js +2 -0
- package/dist/components/p-1RSrsLOs.js.map +1 -0
- package/dist/components/p-2HV152w7.js +2 -0
- package/dist/components/p-2HV152w7.js.map +1 -0
- package/dist/components/p-6ZDAcEKN.js +2 -0
- package/dist/components/p-6ZDAcEKN.js.map +1 -0
- package/dist/components/p-B2fYoYe9.js +2 -0
- package/dist/components/p-B2fYoYe9.js.map +1 -0
- package/dist/components/p-BR6gfOQH.js +2 -0
- package/dist/components/p-BR6gfOQH.js.map +1 -0
- package/dist/components/p-Bz-JaJcA.js +2 -0
- package/dist/components/p-Bz-JaJcA.js.map +1 -0
- package/dist/components/p-C77M30dm.js +2 -0
- package/dist/components/p-C77M30dm.js.map +1 -0
- package/dist/components/p-CNgkGl_1.js +2 -0
- package/dist/components/p-CNgkGl_1.js.map +1 -0
- package/dist/components/p-CfBPnYW7.js +2 -0
- package/dist/components/p-CfBPnYW7.js.map +1 -0
- package/dist/components/p-D5Ht729E.js +2 -0
- package/dist/components/p-D5Ht729E.js.map +1 -0
- package/dist/components/p-DPqGg8C1.js +2 -0
- package/dist/components/p-DPqGg8C1.js.map +1 -0
- package/dist/components/p-De3E5Q8v.js +2 -0
- package/dist/components/p-De3E5Q8v.js.map +1 -0
- package/dist/components/p-Dm_7DA1f.js +2 -0
- package/dist/components/p-Dm_7DA1f.js.map +1 -0
- package/dist/components/p-Dz3R-2Wn.js +2 -0
- package/dist/components/p-Dz3R-2Wn.js.map +1 -0
- package/dist/components/p-Zjf9uhOr.js +2 -0
- package/dist/components/p-Zjf9uhOr.js.map +1 -0
- package/dist/components/p-ssLobpGS.js +2 -0
- package/dist/components/p-ssLobpGS.js.map +1 -0
- package/dist/components/p-tSoecrcz.js +2 -0
- package/dist/components/p-tSoecrcz.js.map +1 -0
- package/dist/components/p-zMR3UIR_.js +2 -0
- package/dist/components/p-zMR3UIR_.js.map +1 -0
- package/dist/components-csr/index.js +2 -0
- package/dist/components-csr/index.js.map +1 -0
- package/dist/components-csr/md-accordion-item.js +2 -0
- package/dist/components-csr/md-accordion-item.js.map +1 -0
- package/dist/components-csr/md-accordion.js +2 -0
- package/dist/components-csr/md-accordion.js.map +1 -0
- package/dist/components-csr/md-app-bar.js +2 -0
- package/dist/components-csr/md-app-bar.js.map +1 -0
- package/dist/components-csr/md-area-chart.js +2 -0
- package/dist/components-csr/md-area-chart.js.map +1 -0
- package/dist/components-csr/md-autocomplete.js +2 -0
- package/dist/components-csr/md-autocomplete.js.map +1 -0
- package/dist/components-csr/md-avatar.js +2 -0
- package/dist/components-csr/md-avatar.js.map +1 -0
- package/dist/components-csr/md-badge.js +2 -0
- package/dist/components-csr/md-badge.js.map +1 -0
- package/dist/components-csr/md-bar-chart.js +2 -0
- package/dist/components-csr/md-bar-chart.js.map +1 -0
- package/dist/components-csr/md-bottom-sheet.js +2 -0
- package/dist/components-csr/md-bottom-sheet.js.map +1 -0
- package/dist/components-csr/md-breadcrumb-item.js +2 -0
- package/dist/components-csr/md-breadcrumb-item.js.map +1 -0
- package/dist/components-csr/md-breadcrumbs.js +2 -0
- package/dist/components-csr/md-breadcrumbs.js.map +1 -0
- package/dist/components-csr/md-button-group.js +2 -0
- package/dist/components-csr/md-button-group.js.map +1 -0
- package/dist/components-csr/md-button.js +2 -0
- package/dist/components-csr/md-button.js.map +1 -0
- package/dist/components-csr/md-card.js +2 -0
- package/dist/components-csr/md-card.js.map +1 -0
- package/dist/components-csr/md-checkbox.js +2 -0
- package/dist/components-csr/md-checkbox.js.map +1 -0
- package/dist/components-csr/md-chip.js +2 -0
- package/dist/components-csr/md-chip.js.map +1 -0
- package/dist/components-csr/md-color-picker.js +2 -0
- package/dist/components-csr/md-color-picker.js.map +1 -0
- package/dist/components-csr/md-date-picker.js +2 -0
- package/dist/components-csr/md-date-picker.js.map +1 -0
- package/dist/components-csr/md-dialog.js +2 -0
- package/dist/components-csr/md-dialog.js.map +1 -0
- package/dist/components-csr/md-divider.js +2 -0
- package/dist/components-csr/md-divider.js.map +1 -0
- package/dist/components-csr/md-fab-menu-item.js +2 -0
- package/dist/components-csr/md-fab-menu-item.js.map +1 -0
- package/dist/components-csr/md-fab-menu.js +2 -0
- package/dist/components-csr/md-fab-menu.js.map +1 -0
- package/dist/components-csr/md-fab.js +2 -0
- package/dist/components-csr/md-fab.js.map +1 -0
- package/dist/components-csr/md-icon-button.js +2 -0
- package/dist/components-csr/md-icon-button.js.map +1 -0
- package/dist/components-csr/md-line-chart.js +2 -0
- package/dist/components-csr/md-line-chart.js.map +1 -0
- package/dist/components-csr/md-list-item.js +2 -0
- package/dist/components-csr/md-list-item.js.map +1 -0
- package/dist/components-csr/md-list.js +2 -0
- package/dist/components-csr/md-list.js.map +1 -0
- package/dist/components-csr/md-loading-indicator.js +2 -0
- package/dist/components-csr/md-loading-indicator.js.map +1 -0
- package/dist/components-csr/md-menu-item-group.js +2 -0
- package/dist/components-csr/md-menu-item-group.js.map +1 -0
- package/dist/components-csr/md-menu-item.js +2 -0
- package/dist/components-csr/md-menu-item.js.map +1 -0
- package/dist/components-csr/md-menu.js +2 -0
- package/dist/components-csr/md-menu.js.map +1 -0
- package/dist/components-csr/md-meter.js +2 -0
- package/dist/components-csr/md-meter.js.map +1 -0
- package/dist/components-csr/md-multi-select.js +2 -0
- package/dist/components-csr/md-multi-select.js.map +1 -0
- package/dist/components-csr/md-navigation-bar.js +2 -0
- package/dist/components-csr/md-navigation-bar.js.map +1 -0
- package/dist/components-csr/md-navigation-rail-tab.js +2 -0
- package/dist/components-csr/md-navigation-rail-tab.js.map +1 -0
- package/dist/components-csr/md-navigation-rail.js +2 -0
- package/dist/components-csr/md-navigation-rail.js.map +1 -0
- package/dist/components-csr/md-navigation-tab.js +2 -0
- package/dist/components-csr/md-navigation-tab.js.map +1 -0
- package/dist/components-csr/md-number-field.js +2 -0
- package/dist/components-csr/md-number-field.js.map +1 -0
- package/dist/components-csr/md-organization-chart.js +2 -0
- package/dist/components-csr/md-organization-chart.js.map +1 -0
- package/dist/components-csr/md-otp-field.js +2 -0
- package/dist/components-csr/md-otp-field.js.map +1 -0
- package/dist/components-csr/md-pie-chart.js +2 -0
- package/dist/components-csr/md-pie-chart.js.map +1 -0
- package/dist/components-csr/md-progress-indicator.js +2 -0
- package/dist/components-csr/md-progress-indicator.js.map +1 -0
- package/dist/components-csr/md-radio.js +2 -0
- package/dist/components-csr/md-radio.js.map +1 -0
- package/dist/components-csr/md-rating.js +2 -0
- package/dist/components-csr/md-rating.js.map +1 -0
- package/dist/components-csr/md-ripple.js +2 -0
- package/dist/components-csr/md-ripple.js.map +1 -0
- package/dist/components-csr/md-search.js +2 -0
- package/dist/components-csr/md-search.js.map +1 -0
- package/dist/components-csr/md-segmented-button-set.js +2 -0
- package/dist/components-csr/md-segmented-button-set.js.map +1 -0
- package/dist/components-csr/md-segmented-button.js +2 -0
- package/dist/components-csr/md-segmented-button.js.map +1 -0
- package/dist/components-csr/md-select-option.js +2 -0
- package/dist/components-csr/md-select-option.js.map +1 -0
- package/dist/components-csr/md-select.js +2 -0
- package/dist/components-csr/md-select.js.map +1 -0
- package/dist/components-csr/md-side-sheet.js +2 -0
- package/dist/components-csr/md-side-sheet.js.map +1 -0
- package/dist/components-csr/md-skeleton.js +2 -0
- package/dist/components-csr/md-skeleton.js.map +1 -0
- package/dist/components-csr/md-slider.js +2 -0
- package/dist/components-csr/md-slider.js.map +1 -0
- package/dist/components-csr/md-snackbar.js +2 -0
- package/dist/components-csr/md-snackbar.js.map +1 -0
- package/dist/components-csr/md-sparkline.js +2 -0
- package/dist/components-csr/md-sparkline.js.map +1 -0
- package/dist/components-csr/md-split-button.js +2 -0
- package/dist/components-csr/md-split-button.js.map +1 -0
- package/dist/components-csr/md-status-dot.js +2 -0
- package/dist/components-csr/md-status-dot.js.map +1 -0
- package/dist/components-csr/md-step.js +2 -0
- package/dist/components-csr/md-step.js.map +1 -0
- package/dist/components-csr/md-stepper.js +2 -0
- package/dist/components-csr/md-stepper.js.map +1 -0
- package/dist/components-csr/md-sub-menu-item.js +2 -0
- package/dist/components-csr/md-sub-menu-item.js.map +1 -0
- package/dist/components-csr/md-switch.js +2 -0
- package/dist/components-csr/md-switch.js.map +1 -0
- package/dist/components-csr/md-tab-panel.js +2 -0
- package/dist/components-csr/md-tab-panel.js.map +1 -0
- package/dist/components-csr/md-tab-panels.js +2 -0
- package/dist/components-csr/md-tab-panels.js.map +1 -0
- package/dist/components-csr/md-tab.js +2 -0
- package/dist/components-csr/md-tab.js.map +1 -0
- package/dist/components-csr/md-table-body.js +2 -0
- package/dist/components-csr/md-table-body.js.map +1 -0
- package/dist/components-csr/md-table-cell.js +2 -0
- package/dist/components-csr/md-table-cell.js.map +1 -0
- package/dist/components-csr/md-table-container.js +2 -0
- package/dist/components-csr/md-table-container.js.map +1 -0
- package/dist/components-csr/md-table-expand-toggle.js +2 -0
- package/dist/components-csr/md-table-expand-toggle.js.map +1 -0
- package/dist/components-csr/md-table-foot.js +2 -0
- package/dist/components-csr/md-table-foot.js.map +1 -0
- package/dist/components-csr/md-table-head.js +2 -0
- package/dist/components-csr/md-table-head.js.map +1 -0
- package/dist/components-csr/md-table-pagination.js +2 -0
- package/dist/components-csr/md-table-pagination.js.map +1 -0
- package/dist/components-csr/md-table-row.js +2 -0
- package/dist/components-csr/md-table-row.js.map +1 -0
- package/dist/components-csr/md-table-sort-label.js +2 -0
- package/dist/components-csr/md-table-sort-label.js.map +1 -0
- package/dist/components-csr/md-table-toolbar.js +2 -0
- package/dist/components-csr/md-table-toolbar.js.map +1 -0
- package/dist/components-csr/md-table.js +2 -0
- package/dist/components-csr/md-table.js.map +1 -0
- package/dist/components-csr/md-tabs.js +2 -0
- package/dist/components-csr/md-tabs.js.map +1 -0
- package/dist/components-csr/md-text-field.js +2 -0
- package/dist/components-csr/md-text-field.js.map +1 -0
- package/dist/components-csr/md-time-picker.js +2 -0
- package/dist/components-csr/md-time-picker.js.map +1 -0
- package/dist/components-csr/md-toolbar.js +2 -0
- package/dist/components-csr/md-toolbar.js.map +1 -0
- package/dist/components-csr/md-tooltip.js +2 -0
- package/dist/components-csr/md-tooltip.js.map +1 -0
- package/dist/components-csr/md-transfer-list.js +2 -0
- package/dist/components-csr/md-transfer-list.js.map +1 -0
- package/dist/components-csr/p-6WgHjhDg.js +2 -0
- package/dist/components-csr/p-6WgHjhDg.js.map +1 -0
- package/dist/{components/p-uTEkf0sE.js → components-csr/p-BEmwDSzw.js} +2 -2
- package/dist/{components/p-C8EP4S21.js → components-csr/p-BQKzjYcY.js} +2 -2
- package/dist/{components/p-BwXpiUsu.js → components-csr/p-BWMwewtY.js} +2 -2
- package/dist/{components/p-DXXUoRSH.js → components-csr/p-BZakoRau.js} +2 -2
- package/dist/components-csr/p-BZakoRau.js.map +1 -0
- package/dist/{md3/p-BjYKc1Ge.js → components-csr/p-BdEoSBtL.js} +2 -2
- package/dist/components-csr/p-BdEoSBtL.js.map +1 -0
- package/dist/{components/p-B0Opn6dK.js → components-csr/p-Bkt_X-6v.js} +2 -2
- package/dist/components-csr/p-Bx6--dQF.js.map +1 -0
- package/dist/components-csr/p-Bz-JaJcA.js +2 -0
- package/dist/components-csr/p-Bz-JaJcA.js.map +1 -0
- package/dist/{components/p-stybaFzj.js → components-csr/p-C3vB0Hd9.js} +2 -2
- package/dist/{components/p-B3MWYEEJ.js → components-csr/p-CF7mq5T7.js} +2 -2
- package/dist/{components/p-7fN_yCXW.js → components-csr/p-CVMM-tdC.js} +2 -2
- package/dist/components-csr/p-C_ogF68H.js.map +1 -0
- package/dist/components-csr/p-Cch_V1vi.js +2 -0
- package/dist/components-csr/p-Cch_V1vi.js.map +1 -0
- package/dist/components-csr/p-CfBPnYW7.js +2 -0
- package/dist/components-csr/p-CfBPnYW7.js.map +1 -0
- package/dist/components-csr/p-CxhZdOPw.js +2 -0
- package/dist/components-csr/p-CxhZdOPw.js.map +1 -0
- package/dist/{components/p-Ch2-tttM.js → components-csr/p-DMQ-6aj8.js} +2 -2
- package/dist/components-csr/p-DWxN44zD.js +2 -0
- package/dist/components-csr/p-DWxN44zD.js.map +1 -0
- package/dist/components-csr/p-DYBUr7K_.js +2 -0
- package/dist/components-csr/p-DYBUr7K_.js.map +1 -0
- package/dist/{components/p-e2HRV63Y.js → components-csr/p-DfcpeJAu.js} +2 -2
- package/dist/{components/p-Dp-w93ot.js → components-csr/p-DjKPc5EU.js} +2 -2
- package/dist/components-csr/p-DvOKnoqK.js.map +1 -0
- package/dist/components-csr/p-DzPKu-Ma.js.map +1 -0
- package/dist/{components/p-UdGDg2oJ.js → components-csr/p-If0JHsYV.js} +2 -2
- package/dist/components-csr/p-If0JHsYV.js.map +1 -0
- package/dist/components-csr/p-RLxbNqRv.js.map +1 -0
- package/dist/{components/p-6wZSqm_2.js → components-csr/p-R_guULjT.js} +2 -2
- package/dist/components-csr/p-bSpXNc5J.js +2 -0
- package/dist/components-csr/p-bSpXNc5J.js.map +1 -0
- package/dist/{components/p-Ddiw2Kjw.js → components-csr/p-uSMrgqAy.js} +2 -2
- package/dist/components-csr/package.json +3 -0
- package/dist/esm/{a11y-C6CRqodW.js → a11y-BckJ95d7.js} +3 -3
- package/dist/esm/{a11y-C6CRqodW.js.map → a11y-BckJ95d7.js.map} +1 -1
- package/dist/esm/app-globals-DQuL1Twl.js +6 -0
- package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
- package/dist/esm/{bar-chart-ZZrajEkM.js → bar-chart-BuTyuCbt.js} +4 -4
- package/dist/esm/{bar-chart-ZZrajEkM.js.map → bar-chart-BuTyuCbt.js.map} +1 -1
- package/dist/esm/{chart-32olae06.js → chart-ByIhkqsG.js} +4 -4
- package/dist/esm/{chart-32olae06.js.map → chart-ByIhkqsG.js.map} +1 -1
- package/dist/esm/engine.wasm-CfBPnYW7.js +10 -0
- package/dist/esm/engine.wasm-CfBPnYW7.js.map +1 -0
- package/dist/esm/{hit-test-DHldf5Lm.js → hit-test-c_hI-yCX.js} +3 -3
- package/dist/esm/{hit-test-DHldf5Lm.js.map → hit-test-c_hI-yCX.js.map} +1 -1
- package/dist/esm/{index-DTaX19_O.js → index-WmvQpZnM.js} +5 -15
- package/dist/esm/index-WmvQpZnM.js.map +1 -0
- package/dist/esm/lazy-loading-indicator-BWFcjJiK.js +67 -0
- package/dist/esm/lazy-loading-indicator-BWFcjJiK.js.map +1 -0
- package/dist/esm/loader.js +4 -3
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/md-accordion-item.entry.js +4 -4
- package/dist/esm/md-accordion.entry.js +1 -1
- package/dist/esm/md-app-bar.entry.js +2 -2
- package/dist/esm/md-area-chart.entry.js +7 -7
- package/dist/esm/md-autocomplete.entry.js +6 -5
- package/dist/esm/md-autocomplete.entry.js.map +1 -1
- package/dist/esm/md-avatar_2.entry.js +4 -4
- package/dist/esm/md-badge.entry.js +3 -3
- package/dist/esm/md-bar-chart.entry.js +7 -7
- package/dist/esm/md-bottom-sheet.entry.js +5 -5
- package/dist/esm/md-breadcrumb-item.entry.js +2 -2
- package/dist/esm/md-breadcrumbs.entry.js +3 -3
- package/dist/esm/md-button-group.entry.js +3 -3
- package/dist/esm/{md-button_7.entry.js → md-button_6.entry.js} +16 -40
- package/dist/esm/md-button_6.entry.js.map +1 -0
- package/dist/esm/md-checkbox.entry.js +3 -3
- package/dist/esm/md-chip.entry.js +3 -3
- package/dist/esm/md-color-picker.entry.js +1 -1
- package/dist/esm/md-date-picker.entry.js +2 -2
- package/dist/esm/md-dialog.entry.js +3 -3
- package/dist/esm/md-divider.entry.js +3 -3
- package/dist/esm/md-fab-menu-item.entry.js +3 -3
- package/dist/esm/md-fab-menu.entry.js +3 -3
- package/dist/esm/md-fab.entry.js +3 -3
- package/dist/esm/md-line-chart.entry.js +7 -7
- package/dist/esm/md-list-item.entry.js +5 -5
- package/dist/esm/md-list.entry.js +4 -4
- package/dist/esm/md-loading-indicator-Bf-Pt29l.js +31 -0
- package/dist/esm/md-loading-indicator-Bf-Pt29l.js.map +1 -0
- package/dist/esm/md-loading-indicator.entry.js +5 -0
- package/dist/esm/md-loading-indicator.entry.js.map +1 -0
- package/dist/esm/md-menu-item-group.entry.js +1 -1
- package/dist/esm/md-menu_2.entry.js +6 -6
- package/dist/esm/md-meter.entry.js +1 -1
- package/dist/esm/md-multi-select.entry.js +7 -6
- package/dist/esm/md-multi-select.entry.js.map +1 -1
- package/dist/esm/md-navigation-bar.entry.js +2 -2
- package/dist/esm/md-navigation-rail-tab.entry.js +2 -2
- package/dist/esm/md-navigation-rail.entry.js +1 -1
- package/dist/esm/md-navigation-tab.entry.js +4 -4
- package/dist/esm/md-number-field.entry.js +3 -3
- package/dist/esm/md-organization-chart.entry.js +3 -3
- package/dist/esm/md-otp-field.entry.js +4 -4
- package/dist/esm/md-pie-chart.entry.js +3 -3
- package/dist/esm/md-progress-indicator.entry.js +1 -1
- package/dist/esm/md-rating.entry.js +1 -1
- package/dist/esm/md-search.entry.js +8 -7
- package/dist/esm/md-search.entry.js.map +1 -1
- package/dist/esm/md-segmented-button-set.entry.js +1 -1
- package/dist/esm/md-segmented-button.entry.js +1 -1
- package/dist/esm/md-select-option.entry.js +2 -2
- package/dist/esm/md-select.entry.js +7 -6
- package/dist/esm/md-select.entry.js.map +1 -1
- package/dist/esm/md-side-sheet.entry.js +1 -1
- package/dist/esm/md-skeleton.entry.js +1 -1
- package/dist/esm/md-slider.entry.js +3 -3
- package/dist/esm/md-sparkline.entry.js +7 -7
- package/dist/esm/md-split-button.entry.js +1 -1
- package/dist/esm/md-status-dot.entry.js +2 -2
- package/dist/esm/md-step.entry.js +1 -1
- package/dist/esm/md-stepper.entry.js +1 -1
- package/dist/esm/md-sub-menu-item.entry.js +1 -1
- package/dist/esm/md-switch.entry.js +1 -1
- package/dist/esm/md-tab-panel.entry.js +1 -1
- package/dist/esm/md-tab-panels.entry.js +1 -1
- package/dist/esm/md-tab.entry.js +1 -1
- package/dist/esm/md-table-body.entry.js +1 -1
- package/dist/esm/md-table-cell.entry.js +1 -1
- package/dist/esm/md-table-container.entry.js +1 -1
- package/dist/esm/md-table-expand-toggle.entry.js +1 -1
- package/dist/esm/md-table-foot.entry.js +1 -1
- package/dist/esm/md-table-head.entry.js +1 -1
- package/dist/esm/md-table-pagination.entry.js +1 -1
- package/dist/esm/md-table-row.entry.js +1 -1
- package/dist/esm/md-table-sort-label.entry.js +1 -1
- package/dist/esm/md-table-toolbar.entry.js +1 -1
- package/dist/esm/md-table.entry.js +4 -4
- package/dist/esm/md-tabs.entry.js +1 -1
- package/dist/esm/md-text-field.entry.js +8 -8
- package/dist/esm/md-time-picker.entry.js +2 -2
- package/dist/esm/md-toolbar.entry.js +1 -1
- package/dist/esm/md-transfer-list.entry.js +2 -2
- package/dist/esm/md3.js +4 -3
- package/dist/esm/md3.js.map +1 -1
- package/dist/esm/{rtl-DvOKnoqK.js → rtl-CVFH1DkU.js} +3 -3
- package/dist/esm/{rtl-DvOKnoqK.js.map → rtl-CVFH1DkU.js.map} +1 -1
- package/dist/esm/{url-BjYKc1Ge.js → url-BdEoSBtL.js} +3 -3
- package/dist/esm/{url-BjYKc1Ge.js.map → url-BdEoSBtL.js.map} +1 -1
- package/dist/esm/{virtual-select-controller-BEWIC0pC.js → virtual-select-controller-CR60w6DO.js} +10 -9
- package/dist/esm/virtual-select-controller-CR60w6DO.js.map +1 -0
- package/dist/md3/md3.css +1 -1
- package/dist/md3/md3.esm.js +1 -1
- package/dist/md3/md3.esm.js.map +1 -1
- package/dist/md3/p-08f1c469.entry.js +2 -0
- package/dist/md3/{p-4d82132d.entry.js.map → p-08f1c469.entry.js.map} +1 -1
- package/dist/md3/{p-9ddbf247.entry.js → p-108f89d7.entry.js} +2 -2
- package/dist/md3/p-1112bffc.entry.js +2 -0
- package/dist/md3/{p-cf07e761.entry.js.map → p-1112bffc.entry.js.map} +1 -1
- package/dist/md3/{p-c6a12344.entry.js → p-114c270b.entry.js} +2 -2
- package/dist/md3/p-1835fe36.entry.js +2 -0
- package/dist/md3/{p-a3308c40.entry.js.map → p-1835fe36.entry.js.map} +1 -1
- package/dist/md3/{p-396089fd.entry.js → p-1edb5a0d.entry.js} +2 -2
- package/dist/md3/p-2ba2db3b.entry.js +2 -0
- package/dist/md3/{p-6b2871a0.entry.js.map → p-2ba2db3b.entry.js.map} +1 -1
- package/dist/md3/p-3508d0e0.entry.js +2 -0
- package/dist/md3/{p-f31ab454.entry.js.map → p-3508d0e0.entry.js.map} +1 -1
- package/dist/md3/{p-b34d385b.entry.js → p-35b05b45.entry.js} +2 -2
- package/dist/md3/{p-c2dd8c8c.entry.js → p-38e9a583.entry.js} +2 -2
- package/dist/md3/{p-be02624e.entry.js → p-3c0469aa.entry.js} +2 -2
- package/dist/md3/p-3f64a27d.entry.js +2 -0
- package/dist/md3/{p-fb61868c.entry.js.map → p-3f64a27d.entry.js.map} +1 -1
- package/dist/md3/{p-63b8c8d1.entry.js → p-408ee4be.entry.js} +2 -2
- package/dist/md3/{p-edb34a6d.entry.js → p-43c708ad.entry.js} +2 -2
- package/dist/md3/{p-3015c7e3.entry.js → p-4770b534.entry.js} +2 -2
- package/dist/md3/{p-c861d774.entry.js → p-4b7cf934.entry.js} +2 -2
- package/dist/md3/{p-2e09a7b7.entry.js → p-4f26bd60.entry.js} +2 -2
- package/dist/md3/{p-7b463fbe.entry.js → p-4f2e82cb.entry.js} +2 -2
- package/dist/md3/{p-be412e3f.entry.js → p-501bf161.entry.js} +2 -2
- package/dist/md3/{p-c063c823.entry.js → p-56c7c570.entry.js} +2 -2
- package/dist/md3/{p-2e9503d7.entry.js → p-56ca0c3c.entry.js} +2 -2
- package/dist/md3/{p-ac8762e5.entry.js → p-5b63149a.entry.js} +2 -2
- package/dist/md3/{p-c5af701b.entry.js → p-5f668b0a.entry.js} +2 -2
- package/dist/md3/p-6237ddac.entry.js +2 -0
- package/dist/md3/{p-e7dc5a32.entry.js.map → p-6237ddac.entry.js.map} +1 -1
- package/dist/md3/{p-8eb0b6a4.entry.js → p-6d65fc6a.entry.js} +2 -2
- package/dist/md3/{p-e3124e1e.entry.js → p-707b6d7c.entry.js} +2 -2
- package/dist/md3/{p-a5fee424.entry.js → p-71f1660b.entry.js} +2 -2
- package/dist/md3/{p-1a8ec5bc.entry.js → p-7501170f.entry.js} +2 -2
- package/dist/md3/p-7c8842bf.entry.js +2 -0
- package/dist/md3/{p-ba2ebde1.entry.js.map → p-7c8842bf.entry.js.map} +1 -1
- package/dist/md3/{p-4e3d6e40.entry.js → p-7d1686a7.entry.js} +2 -2
- package/dist/md3/p-7e7f0e45.entry.js +2 -0
- package/dist/md3/p-7e7f0e45.entry.js.map +1 -0
- package/dist/md3/p-80379565.entry.js +2 -0
- package/dist/md3/{p-6c44cf13.entry.js.map → p-80379565.entry.js.map} +1 -1
- package/dist/md3/p-830724e4.entry.js +2 -0
- package/dist/md3/p-830724e4.entry.js.map +1 -0
- package/dist/md3/{p-4dda4cb0.entry.js → p-845ca9cc.entry.js} +2 -2
- package/dist/md3/{p-77a01bcc.entry.js → p-87f88d62.entry.js} +2 -2
- package/dist/md3/{p-5b74694e.entry.js → p-89d47130.entry.js} +2 -2
- package/dist/md3/p-8a6fed13.entry.js +2 -0
- package/dist/md3/{p-a803da99.entry.js.map → p-8a6fed13.entry.js.map} +1 -1
- package/dist/md3/p-8a7e0297.entry.js +2 -0
- package/dist/md3/p-8a7e0297.entry.js.map +1 -0
- package/dist/md3/{p-b0431a5c.entry.js → p-8bdcda53.entry.js} +2 -2
- package/dist/md3/{p-c10a33c2.entry.js → p-8e7df348.entry.js} +2 -2
- package/dist/md3/p-9003a7d4.entry.js +2 -0
- package/dist/md3/p-9003a7d4.entry.js.map +1 -0
- package/dist/md3/{p-05ae91b6.entry.js → p-90ccf4c3.entry.js} +2 -2
- package/dist/md3/p-BdEoSBtL.js +2 -0
- package/dist/md3/{p-BjYKc1Ge.js.map → p-BdEoSBtL.js.map} +1 -1
- package/dist/md3/p-Bz-JaJcA.js +2 -0
- package/dist/md3/p-Bz-JaJcA.js.map +1 -0
- package/dist/md3/p-CGqeEMjY.js +2 -0
- package/dist/md3/{p-DzPKu-Ma.js.map → p-CGqeEMjY.js.map} +1 -1
- package/dist/md3/p-CVFH1DkU.js +2 -0
- package/dist/md3/{p-DvOKnoqK.js.map → p-CVFH1DkU.js.map} +1 -1
- package/dist/md3/p-Cch92tDM.js +2 -0
- package/dist/md3/{p-RLxbNqRv.js.map → p-Cch92tDM.js.map} +1 -1
- package/dist/md3/p-CfBPnYW7.js +2 -0
- package/dist/md3/p-CfBPnYW7.js.map +1 -0
- package/dist/md3/p-D17cVKxS.js +2 -0
- package/dist/md3/p-D17cVKxS.js.map +1 -0
- package/dist/md3/p-DGtztV3K.js +2 -0
- package/dist/md3/{p-Bx6--dQF.js.map → p-DGtztV3K.js.map} +1 -1
- package/dist/md3/p-DQuL1Twl.js +2 -0
- package/dist/md3/p-DQuL1Twl.js.map +1 -0
- package/dist/md3/p-DnKDoE8K.js +2 -0
- package/dist/md3/p-DnKDoE8K.js.map +1 -0
- package/dist/md3/p-WmvQpZnM.js +3 -0
- package/dist/md3/p-WmvQpZnM.js.map +1 -0
- package/dist/md3/p-a3623653.entry.js +2 -0
- package/dist/md3/{p-19ee9c33.entry.js.map → p-a3623653.entry.js.map} +1 -1
- package/dist/md3/{p-da4e27d4.entry.js → p-a4d4cfed.entry.js} +2 -2
- package/dist/md3/{p-5394254f.entry.js → p-a976498b.entry.js} +2 -2
- package/dist/md3/{p-6038b907.entry.js → p-ab568d1c.entry.js} +2 -2
- package/dist/md3/{p-bf7842f8.entry.js → p-adf8a415.entry.js} +2 -2
- package/dist/md3/p-ae30e899.entry.js +2 -0
- package/dist/md3/p-ae30e899.entry.js.map +1 -0
- package/dist/md3/{p-45280bf4.entry.js → p-b2d88292.entry.js} +2 -2
- package/dist/md3/{p-796f79f8.entry.js → p-b3b5247b.entry.js} +2 -2
- package/dist/md3/{p-5b799707.entry.js → p-b4266f6b.entry.js} +2 -2
- package/dist/md3/p-b54bbf88.entry.js +2 -0
- package/dist/md3/p-b54bbf88.entry.js.map +1 -0
- package/dist/md3/{p-c00f7514.entry.js → p-ba011453.entry.js} +2 -2
- package/dist/md3/{p-6ba63c73.entry.js → p-bc24f0c9.entry.js} +2 -2
- package/dist/md3/{p-0c2e824d.entry.js → p-c20fbb9e.entry.js} +2 -2
- package/dist/md3/{p-fc0b325d.entry.js → p-c2944c87.entry.js} +2 -2
- package/dist/md3/{p-4e45b2ff.entry.js → p-c58c68d0.entry.js} +2 -2
- package/dist/md3/p-cc6e8afd.entry.js +2 -0
- package/dist/md3/{p-72457a85.entry.js.map → p-cc6e8afd.entry.js.map} +1 -1
- package/dist/md3/{p-0f764a1e.entry.js → p-d2e39c6e.entry.js} +2 -2
- package/dist/md3/{p-50555bb7.entry.js → p-d8885f53.entry.js} +2 -2
- package/dist/md3/{p-c1ca6f6c.entry.js → p-db6fb4e1.entry.js} +2 -2
- package/dist/md3/{p-81843ff7.entry.js → p-dcba2857.entry.js} +2 -2
- package/dist/md3/{p-65195996.entry.js → p-e357e8ac.entry.js} +2 -2
- package/dist/md3/{p-39cb7c24.entry.js → p-e5c6795e.entry.js} +2 -2
- package/dist/md3/p-e871663b.entry.js +2 -0
- package/dist/md3/{p-aaec2698.entry.js.map → p-e871663b.entry.js.map} +1 -1
- package/dist/md3/p-f1b69181.entry.js +2 -0
- package/dist/md3/{p-a986fd24.entry.js.map → p-f1b69181.entry.js.map} +1 -1
- package/dist/md3/p-f297d786.entry.js +2 -0
- package/dist/md3/{p-3cce1de3.entry.js.map → p-f297d786.entry.js.map} +1 -1
- package/dist/md3/{p-e6d7f0ff.entry.js → p-f403ad20.entry.js} +2 -2
- package/dist/md3/p-f5399b73.entry.js +2 -0
- package/dist/md3/{p-04e97f5d.entry.js.map → p-f5399b73.entry.js.map} +1 -1
- package/dist/md3/{p-708a9313.entry.js → p-f5fd9a0b.entry.js} +2 -2
- package/dist/md3/{p-aa0e7d4d.entry.js → p-f71af38f.entry.js} +2 -2
- package/dist/md3/{p-757e3aaf.entry.js → p-fac6da4c.entry.js} +2 -2
- package/dist/md3/{p-134b670a.entry.js → p-fc864f96.entry.js} +2 -2
- package/dist/md3/{p-32bdd439.entry.js → p-fd686966.entry.js} +2 -2
- package/dist/md3/p-nhfFYWzy.js +2 -0
- package/dist/md3/{p-C_ogF68H.js.map → p-nhfFYWzy.js.map} +1 -1
- package/dist/types/utils/lazy-loading-indicator.d.ts +7 -0
- package/dist/types/wasm/engine-abi.d.ts +14 -0
- package/hydrate/index.js +191 -113
- package/hydrate/index.mjs +191 -113
- package/package.json +30 -5
- package/dist/cjs/index-DlQ_5_Mv.js.map +0 -1
- package/dist/cjs/md-button_7.cjs.entry.js.map +0 -1
- package/dist/cjs/virtual-select-controller-CqriaZgm.js.map +0 -1
- package/dist/components/p-BEWIC0pC.js +0 -2
- package/dist/components/p-BEWIC0pC.js.map +0 -1
- package/dist/components/p-DXXUoRSH.js.map +0 -1
- package/dist/components/p-MWBNn6Lj.js +0 -2
- package/dist/components/p-MWBNn6Lj.js.map +0 -1
- package/dist/components/p-UdGDg2oJ.js.map +0 -1
- package/dist/esm/index-DTaX19_O.js.map +0 -1
- package/dist/esm/md-button_7.entry.js.map +0 -1
- package/dist/esm/virtual-select-controller-BEWIC0pC.js.map +0 -1
- package/dist/md3/p-04e97f5d.entry.js +0 -2
- package/dist/md3/p-19ee9c33.entry.js +0 -2
- package/dist/md3/p-21772851.entry.js +0 -2
- package/dist/md3/p-21772851.entry.js.map +0 -1
- package/dist/md3/p-3cce1de3.entry.js +0 -2
- package/dist/md3/p-47af9819.entry.js +0 -2
- package/dist/md3/p-47af9819.entry.js.map +0 -1
- package/dist/md3/p-4d82132d.entry.js +0 -2
- package/dist/md3/p-6b2871a0.entry.js +0 -2
- package/dist/md3/p-6c44cf13.entry.js +0 -2
- package/dist/md3/p-72457a85.entry.js +0 -2
- package/dist/md3/p-BEWIC0pC.js +0 -2
- package/dist/md3/p-BEWIC0pC.js.map +0 -1
- package/dist/md3/p-DTaX19_O.js +0 -3
- package/dist/md3/p-DTaX19_O.js.map +0 -1
- package/dist/md3/p-a3308c40.entry.js +0 -2
- package/dist/md3/p-a7ffb779.entry.js +0 -2
- package/dist/md3/p-a7ffb779.entry.js.map +0 -1
- package/dist/md3/p-a803da99.entry.js +0 -2
- package/dist/md3/p-a986fd24.entry.js +0 -2
- package/dist/md3/p-aaec2698.entry.js +0 -2
- package/dist/md3/p-ac35ac5f.entry.js +0 -2
- package/dist/md3/p-ac35ac5f.entry.js.map +0 -1
- package/dist/md3/p-b4631a55.entry.js +0 -2
- package/dist/md3/p-b4631a55.entry.js.map +0 -1
- package/dist/md3/p-ba2ebde1.entry.js +0 -2
- package/dist/md3/p-cf07e761.entry.js +0 -2
- package/dist/md3/p-e7dc5a32.entry.js +0 -2
- package/dist/md3/p-f31ab454.entry.js +0 -2
- package/dist/md3/p-fb61868c.entry.js +0 -2
- /package/dist/{components/p-uTEkf0sE.js.map → components-csr/p-BEmwDSzw.js.map} +0 -0
- /package/dist/{components/p-C8EP4S21.js.map → components-csr/p-BQKzjYcY.js.map} +0 -0
- /package/dist/{components/p-BwXpiUsu.js.map → components-csr/p-BWMwewtY.js.map} +0 -0
- /package/dist/{components/p-B0Opn6dK.js.map → components-csr/p-Bkt_X-6v.js.map} +0 -0
- /package/dist/{md3 → components-csr}/p-Bx6--dQF.js +0 -0
- /package/dist/{components/p-stybaFzj.js.map → components-csr/p-C3vB0Hd9.js.map} +0 -0
- /package/dist/{components/p-B3MWYEEJ.js.map → components-csr/p-CF7mq5T7.js.map} +0 -0
- /package/dist/{components/p-7fN_yCXW.js.map → components-csr/p-CVMM-tdC.js.map} +0 -0
- /package/dist/{md3 → components-csr}/p-C_ogF68H.js +0 -0
- /package/dist/{components/p-Ch2-tttM.js.map → components-csr/p-DMQ-6aj8.js.map} +0 -0
- /package/dist/{components/p-e2HRV63Y.js.map → components-csr/p-DfcpeJAu.js.map} +0 -0
- /package/dist/{components/p-Dp-w93ot.js.map → components-csr/p-DjKPc5EU.js.map} +0 -0
- /package/dist/{md3 → components-csr}/p-DvOKnoqK.js +0 -0
- /package/dist/{md3 → components-csr}/p-DzPKu-Ma.js +0 -0
- /package/dist/{md3 → components-csr}/p-RLxbNqRv.js +0 -0
- /package/dist/{components/p-6wZSqm_2.js.map → components-csr/p-R_guULjT.js.map} +0 -0
- /package/dist/{components/p-Ddiw2Kjw.js.map → components-csr/p-uSMrgqAy.js.map} +0 -0
- /package/dist/md3/{p-9ddbf247.entry.js.map → p-108f89d7.entry.js.map} +0 -0
- /package/dist/md3/{p-c6a12344.entry.js.map → p-114c270b.entry.js.map} +0 -0
- /package/dist/md3/{p-396089fd.entry.js.map → p-1edb5a0d.entry.js.map} +0 -0
- /package/dist/md3/{p-b34d385b.entry.js.map → p-35b05b45.entry.js.map} +0 -0
- /package/dist/md3/{p-c2dd8c8c.entry.js.map → p-38e9a583.entry.js.map} +0 -0
- /package/dist/md3/{p-be02624e.entry.js.map → p-3c0469aa.entry.js.map} +0 -0
- /package/dist/md3/{p-63b8c8d1.entry.js.map → p-408ee4be.entry.js.map} +0 -0
- /package/dist/md3/{p-edb34a6d.entry.js.map → p-43c708ad.entry.js.map} +0 -0
- /package/dist/md3/{p-3015c7e3.entry.js.map → p-4770b534.entry.js.map} +0 -0
- /package/dist/md3/{p-c861d774.entry.js.map → p-4b7cf934.entry.js.map} +0 -0
- /package/dist/md3/{p-2e09a7b7.entry.js.map → p-4f26bd60.entry.js.map} +0 -0
- /package/dist/md3/{p-7b463fbe.entry.js.map → p-4f2e82cb.entry.js.map} +0 -0
- /package/dist/md3/{p-be412e3f.entry.js.map → p-501bf161.entry.js.map} +0 -0
- /package/dist/md3/{p-c063c823.entry.js.map → p-56c7c570.entry.js.map} +0 -0
- /package/dist/md3/{p-2e9503d7.entry.js.map → p-56ca0c3c.entry.js.map} +0 -0
- /package/dist/md3/{p-ac8762e5.entry.js.map → p-5b63149a.entry.js.map} +0 -0
- /package/dist/md3/{p-c5af701b.entry.js.map → p-5f668b0a.entry.js.map} +0 -0
- /package/dist/md3/{p-8eb0b6a4.entry.js.map → p-6d65fc6a.entry.js.map} +0 -0
- /package/dist/md3/{p-e3124e1e.entry.js.map → p-707b6d7c.entry.js.map} +0 -0
- /package/dist/md3/{p-a5fee424.entry.js.map → p-71f1660b.entry.js.map} +0 -0
- /package/dist/md3/{p-1a8ec5bc.entry.js.map → p-7501170f.entry.js.map} +0 -0
- /package/dist/md3/{p-4e3d6e40.entry.js.map → p-7d1686a7.entry.js.map} +0 -0
- /package/dist/md3/{p-4dda4cb0.entry.js.map → p-845ca9cc.entry.js.map} +0 -0
- /package/dist/md3/{p-77a01bcc.entry.js.map → p-87f88d62.entry.js.map} +0 -0
- /package/dist/md3/{p-5b74694e.entry.js.map → p-89d47130.entry.js.map} +0 -0
- /package/dist/md3/{p-b0431a5c.entry.js.map → p-8bdcda53.entry.js.map} +0 -0
- /package/dist/md3/{p-c10a33c2.entry.js.map → p-8e7df348.entry.js.map} +0 -0
- /package/dist/md3/{p-05ae91b6.entry.js.map → p-90ccf4c3.entry.js.map} +0 -0
- /package/dist/md3/{p-da4e27d4.entry.js.map → p-a4d4cfed.entry.js.map} +0 -0
- /package/dist/md3/{p-5394254f.entry.js.map → p-a976498b.entry.js.map} +0 -0
- /package/dist/md3/{p-6038b907.entry.js.map → p-ab568d1c.entry.js.map} +0 -0
- /package/dist/md3/{p-bf7842f8.entry.js.map → p-adf8a415.entry.js.map} +0 -0
- /package/dist/md3/{p-45280bf4.entry.js.map → p-b2d88292.entry.js.map} +0 -0
- /package/dist/md3/{p-796f79f8.entry.js.map → p-b3b5247b.entry.js.map} +0 -0
- /package/dist/md3/{p-5b799707.entry.js.map → p-b4266f6b.entry.js.map} +0 -0
- /package/dist/md3/{p-c00f7514.entry.js.map → p-ba011453.entry.js.map} +0 -0
- /package/dist/md3/{p-6ba63c73.entry.js.map → p-bc24f0c9.entry.js.map} +0 -0
- /package/dist/md3/{p-0c2e824d.entry.js.map → p-c20fbb9e.entry.js.map} +0 -0
- /package/dist/md3/{p-fc0b325d.entry.js.map → p-c2944c87.entry.js.map} +0 -0
- /package/dist/md3/{p-4e45b2ff.entry.js.map → p-c58c68d0.entry.js.map} +0 -0
- /package/dist/md3/{p-0f764a1e.entry.js.map → p-d2e39c6e.entry.js.map} +0 -0
- /package/dist/md3/{p-50555bb7.entry.js.map → p-d8885f53.entry.js.map} +0 -0
- /package/dist/md3/{p-c1ca6f6c.entry.js.map → p-db6fb4e1.entry.js.map} +0 -0
- /package/dist/md3/{p-81843ff7.entry.js.map → p-dcba2857.entry.js.map} +0 -0
- /package/dist/md3/{p-65195996.entry.js.map → p-e357e8ac.entry.js.map} +0 -0
- /package/dist/md3/{p-39cb7c24.entry.js.map → p-e5c6795e.entry.js.map} +0 -0
- /package/dist/md3/{p-e6d7f0ff.entry.js.map → p-f403ad20.entry.js.map} +0 -0
- /package/dist/md3/{p-708a9313.entry.js.map → p-f5fd9a0b.entry.js.map} +0 -0
- /package/dist/md3/{p-aa0e7d4d.entry.js.map → p-f71af38f.entry.js.map} +0 -0
- /package/dist/md3/{p-757e3aaf.entry.js.map → p-fac6da4c.entry.js.map} +0 -0
- /package/dist/md3/{p-134b670a.entry.js.map → p-fc864f96.entry.js.map} +0 -0
- /package/dist/md3/{p-32bdd439.entry.js.map → p-fd686966.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clamp","n","min","max","Math","rgbToHsv","r","g","b","rN","gN","bN","d","h","s","v","hsvToRgb","sN","vN","c","hP","x","abs","m","round","hsvaToRgba","a","rgbToHsl","l","hsvaToHsl","hslToRgb","hN","lN","rgbaToHex","withAlpha","hex","toString","padStart","base","toUpperCase","hsvaToHex","parseHex","input","trim","replace","re","test","length","parseInt","slice","rgbaFromCssHsl","match","parseFloat","toAlpha","endsWith","rgbaFromCssRgb","toComp","parseColor","trimmed","startsWith","rgba","lower","toLowerCase","formatColor","format","toFixed","mdColorPickerCss","MdColorPicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","variant","value","alpha","showHex","showInputs","disabled","presets","ariaLabelProp","open","dismissOnOutsideClick","density","hsva","hexInput","hexInvalid","hasSlottedTrigger","pointerDragKind","uid","random","wiredTrigger","lastEmitted","onSatPointerDown","e","target","currentTarget","setPointerCapture","pointerId","satRect","getBoundingClientRect","updateSatFromPoint","clientX","clientY","onSatPointerMove","onSatPointerUp","releasePointerCapture","emit","onSatKeyDown","step","shiftKey","rtl","isRtl","handled","key","preventDefault","onHuePointerDown","hueRect","updateHueFromPoint","onHuePointerMove","onHuePointerUp","onHueKeyDown","onAlphaPointerDown","alphaRect","updateAlphaFromPoint","onAlphaPointerMove","onAlphaPointerUp","onAlphaKeyDown","onHexInput","parsed","onHexBlur","onRgbChange","channel","raw","num","rgbaFromChannels","onHslChange","hsl","onAlphaInputChange","onPresetClick","applyValue","onPresetKeyDown","toggleOpen","componentWillLoad","computeSlottedTrigger","componentDidLoad","syncOutsideClickListener","wireSlottedTrigger","slot","el","shadowRoot","querySelector","addEventListener","console","warn","trigger","syncSlottedTriggerAria","removeEventListener","t","setAttribute","String","onValueChange","newVal","getComputedStyle","direction","horizontalRatio","rect","w","width","right","left","horizontalGradientTo","commit","out","mdInput","mdChange","xRatio","y","top","height","ratio","map","join","parsedPresets","Array","isArray","split","filter","Boolean","show","close","onOpenChange","mdOpenChange","onVariantChange","onDismissOnOutsideClickChange","onDisabledChange","disconnectedCallback","removeOutsideClickHandler","document","requestAnimationFrame","attachOutsideClickHandler","outsideClickHandler","path","composedPath","includes","contains","undefined","onGlobalKeyDown","renderSaturationPlate","hue","sat","val","hueRgb","bg","class","part","role","tabindex","style","background","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onKeyDown","insetInlineStart","insetBlockStart","backgroundColor","renderHueSlider","renderAlphaSlider","alphaVal","baseRgb","gradient","backgroundImage","renderHexInput","htmlFor","id","type","spellcheck","autoComplete","onInput","onBlur","blur","renderAlphaField","onChange","renderRgbInputs","rgb","renderHslInputs","renderChannelInputs","renderPresets","onClick","renderPanel","render","Host","name"],"sources":["src/components/md-color-picker/color-utils.ts","src/components/md-color-picker/md-color-picker.css?tag=md-color-picker&encapsulation=shadow","src/components/md-color-picker/md-color-picker.tsx"],"sourcesContent":["/**\n * Pure colour-conversion helpers used by md-color-picker.\n *\n * All colour values internally are stored as HSVA in the ranges:\n * h: 0–360\n * s: 0–100 (percent)\n * v: 0–100 (percent)\n * a: 0–1\n *\n * Hex strings are accepted in 3, 4, 6, or 8-digit forms.\n */\n\nexport interface Hsva {\n h: number;\n s: number;\n v: number;\n a: number;\n}\n\nexport interface Rgba {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nconst clamp = (n: number, min: number, max: number) =>\n Math.max(min, Math.min(max, n));\n\nexport function clampHsva(c: Hsva): Hsva {\n return {\n h: ((c.h % 360) + 360) % 360,\n s: clamp(c.s, 0, 100),\n v: clamp(c.v, 0, 100),\n a: clamp(c.a, 0, 1),\n };\n}\n\nexport function rgbToHsv(r: number, g: number, b: number): { h: number; s: number; v: number } {\n const rN = r / 255;\n const gN = g / 255;\n const bN = b / 255;\n const max = Math.max(rN, gN, bN);\n const min = Math.min(rN, gN, bN);\n const d = max - min;\n\n let h = 0;\n if (d !== 0) {\n switch (max) {\n case rN:\n h = ((gN - bN) / d) % 6;\n break;\n case gN:\n h = (bN - rN) / d + 2;\n break;\n default:\n h = (rN - gN) / d + 4;\n }\n h *= 60;\n if (h < 0) h += 360;\n }\n const s = max === 0 ? 0 : (d / max) * 100;\n const v = max * 100;\n return { h, s, v };\n}\n\nexport function hsvToRgb(h: number, s: number, v: number): { r: number; g: number; b: number } {\n const sN = s / 100;\n const vN = v / 100;\n const c = vN * sN;\n const hP = h / 60;\n const x = c * (1 - Math.abs((hP % 2) - 1));\n let r = 0, g = 0, b = 0;\n if (hP >= 0 && hP < 1) { r = c; g = x; b = 0; }\n else if (hP < 2) { r = x; g = c; b = 0; }\n else if (hP < 3) { r = 0; g = c; b = x; }\n else if (hP < 4) { r = 0; g = x; b = c; }\n else if (hP < 5) { r = x; g = 0; b = c; }\n else { r = c; g = 0; b = x; }\n const m = vN - c;\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n };\n}\n\nexport function hsvaToRgba(c: Hsva): Rgba {\n const { r, g, b } = hsvToRgb(c.h, c.s, c.v);\n return { r, g, b, a: c.a };\n}\n\n/** HSL components in degrees (h) and percent (s, l). */\nexport interface Hsl {\n h: number;\n s: number;\n l: number;\n}\n\nexport function rgbToHsl(r: number, g: number, b: number): Hsl {\n const rN = r / 255;\n const gN = g / 255;\n const bN = b / 255;\n const max = Math.max(rN, gN, bN);\n const min = Math.min(rN, gN, bN);\n const l = (max + min) / 2;\n let h = 0;\n let s = 0;\n if (max !== min) {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case rN:\n h = (gN - bN) / d + (gN < bN ? 6 : 0);\n break;\n case gN:\n h = (bN - rN) / d + 2;\n break;\n default:\n h = (rN - gN) / d + 4;\n }\n h *= 60;\n }\n return { h, s: s * 100, l: l * 100 };\n}\n\nexport function hsvaToHsl(c: Hsva): Hsl {\n const { r, g, b } = hsvToRgb(c.h, c.s, c.v);\n return rgbToHsl(r, g, b);\n}\n\nexport function hslToRgb(h: number, s: number, l: number): { r: number; g: number; b: number } {\n const hN = ((h % 360) + 360) % 360;\n const sN = clamp(s, 0, 100) / 100;\n const lN = clamp(l, 0, 100) / 100;\n const c = (1 - Math.abs(2 * lN - 1)) * sN;\n const x = c * (1 - Math.abs(((hN / 60) % 2) - 1));\n const m = lN - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (hN < 60) {\n r = c;\n g = x;\n } else if (hN < 120) {\n r = x;\n g = c;\n } else if (hN < 180) {\n g = c;\n b = x;\n } else if (hN < 240) {\n g = x;\n b = c;\n } else if (hN < 300) {\n r = x;\n b = c;\n } else {\n r = c;\n b = x;\n }\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n };\n}\n\nexport function rgbaToHex(c: Rgba, withAlpha = false): string {\n const hex = (n: number) => clamp(Math.round(n), 0, 255).toString(16).padStart(2, '0');\n const base = `#${hex(c.r)}${hex(c.g)}${hex(c.b)}`;\n if (!withAlpha && c.a >= 1) return base.toUpperCase();\n return `${base}${hex(c.a * 255)}`.toUpperCase();\n}\n\nexport function hsvaToHex(c: Hsva, withAlpha = false): string {\n return rgbaToHex(hsvaToRgba(c), withAlpha || c.a < 1);\n}\n\n/**\n * Parse a hex string (3 / 4 / 6 / 8 digits, with or without #). Returns\n * null on invalid input.\n */\nexport function parseHex(input: string): Rgba | null {\n if (!input) return null;\n const s = input.trim().replace(/^#/, '');\n const re = /^[0-9a-fA-F]+$/;\n if (!re.test(s)) return null;\n let r = 0, g = 0, b = 0, a = 1;\n if (s.length === 3) {\n r = parseInt(s[0] + s[0], 16);\n g = parseInt(s[1] + s[1], 16);\n b = parseInt(s[2] + s[2], 16);\n } else if (s.length === 4) {\n r = parseInt(s[0] + s[0], 16);\n g = parseInt(s[1] + s[1], 16);\n b = parseInt(s[2] + s[2], 16);\n a = parseInt(s[3] + s[3], 16) / 255;\n } else if (s.length === 6) {\n r = parseInt(s.slice(0, 2), 16);\n g = parseInt(s.slice(2, 4), 16);\n b = parseInt(s.slice(4, 6), 16);\n } else if (s.length === 8) {\n r = parseInt(s.slice(0, 2), 16);\n g = parseInt(s.slice(2, 4), 16);\n b = parseInt(s.slice(4, 6), 16);\n a = parseInt(s.slice(6, 8), 16) / 255;\n } else {\n return null;\n }\n return { r, g, b, a };\n}\n\nexport function rgbaFromCssHsl(input: string): Rgba | null {\n const m = input.trim().match(\n /^hsla?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)%?[\\s,]+([\\d.]+)%?(?:[\\s,/]+([\\d.%]+))?\\s*\\)$/i,\n );\n if (!m) return null;\n const h = clamp(parseFloat(m[1]), 0, 360);\n const s = clamp(parseFloat(m[2]), 0, 100);\n const l = clamp(parseFloat(m[3]), 0, 100);\n const toAlpha = (v: string | undefined) => {\n if (v == null) return 1;\n if (v.endsWith('%')) return clamp(parseFloat(v) / 100, 0, 1);\n return clamp(parseFloat(v), 0, 1);\n };\n const { r, g, b } = hslToRgb(h, s, l);\n return { r, g, b, a: toAlpha(m[4]) };\n}\n\nexport function rgbaFromCssRgb(input: string): Rgba | null {\n // Supports rgb(...), rgba(...), and the modern `rgb(R G B / A)` syntax.\n const m = input.trim().match(\n /^rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)(?:[\\s,/]+([\\d.%]+))?\\s*\\)$/i,\n );\n if (!m) return null;\n const toComp = (v: string) => {\n if (v.endsWith('%')) return clamp((parseFloat(v) / 100) * 255, 0, 255);\n return clamp(parseFloat(v), 0, 255);\n };\n const toAlpha = (v: string | undefined) => {\n if (v == null) return 1;\n if (v.endsWith('%')) return clamp(parseFloat(v) / 100, 0, 1);\n return clamp(parseFloat(v), 0, 1);\n };\n return {\n r: Math.round(toComp(m[1])),\n g: Math.round(toComp(m[2])),\n b: Math.round(toComp(m[3])),\n a: toAlpha(m[4]),\n };\n}\n\n/**\n * Best-effort parse of any common CSS colour string. Supports hex,\n * rgb(), rgba(), hsl(), and hsla() emitted by this component.\n */\nexport function parseColor(input: string): Hsva | null {\n if (!input) return null;\n const trimmed = input.trim();\n if (trimmed.startsWith('#') || /^[0-9a-fA-F]{3,8}$/.test(trimmed)) {\n const rgba = parseHex(trimmed);\n if (!rgba) return null;\n const { h, s, v } = rgbToHsv(rgba.r, rgba.g, rgba.b);\n return { h, s, v, a: rgba.a };\n }\n const lower = trimmed.toLowerCase();\n if (lower.startsWith('rgb')) {\n const rgba = rgbaFromCssRgb(trimmed);\n if (!rgba) return null;\n const { h, s, v } = rgbToHsv(rgba.r, rgba.g, rgba.b);\n return { h, s, v, a: rgba.a };\n }\n if (lower.startsWith('hsl')) {\n const rgba = rgbaFromCssHsl(trimmed);\n if (!rgba) return null;\n const { h, s, v } = rgbToHsv(rgba.r, rgba.g, rgba.b);\n return { h, s, v, a: rgba.a };\n }\n return null;\n}\n\nexport function formatColor(c: Hsva, format: 'hex' | 'rgb' | 'hsl'): string {\n const rgba = hsvaToRgba(c);\n if (format === 'rgb') {\n if (c.a < 1) {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${+c.a.toFixed(2)})`;\n }\n return `rgb(${rgba.r}, ${rgba.g}, ${rgba.b})`;\n }\n if (format === 'hsl') {\n const { h, s, l } = rgbToHsl(rgba.r, rgba.g, rgba.b);\n if (c.a < 1) {\n return `hsla(${Math.round(h)}, ${Math.round(s)}%, ${Math.round(l)}%, ${+c.a.toFixed(2)})`;\n }\n return `hsl(${Math.round(h)}, ${Math.round(s)}%, ${Math.round(l)}%)`;\n }\n return hsvaToHex(c, c.a < 1);\n}\n","/* ==========================================================\n md-color-picker — AWC UI Color Picker\n Designed in the MD3 Expressive vocabulary: tonal surface\n tokens, the M3 Menu enter/exit motion (scale-up +\n emphasized-decelerate on open, scale-down + emphasized-\n accelerate on close), spring-scaled preset swatches, M3\n outlined text field focus rings, and a settling spring on\n the saturation/value thumb when released.\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-color-picker-width Panel inline-size\n --md-color-picker-plate-height Saturation/value plate height\n --md-color-picker-radius Outer container radius\n --md-color-picker-surface-color Panel background colour\n --md-color-picker-on-surface Panel text colour\n --md-color-picker-outline-color Field outlines\n --md-color-picker-thumb-size Slider thumb size\n --md-color-picker-thumb-border Thumb ring colour\n --md-color-picker-preset-size Preset swatch size\n --md-color-picker-popover-elevation Popover shadow/elevation\n\n CSS PARTS:\n state-layer Trigger state layer (exported from md-button)\n popover, panel, plate, hue, alpha, sliders, preview, thumb,\n field-hex, inputs, field-r, field-g, field-b,\n field-h, field-s, field-l, field-a,\n presets, preset, label\n\n SLOTS:\n (none)\n ========================================================== */\n\n:host {\n --_width: var(--md-color-picker-width, 296px);\n --_plate-height: var(--md-color-picker-plate-height, 176px);\n --_radius: var(--md-color-picker-radius, var(--md-sys-shape-corner-extra-large, 28px));\n --_surface: var(--md-color-picker-surface-color, var(--md-sys-color-surface-container-high, #ECE6F0));\n --_on-surface: var(--md-color-picker-on-surface, var(--md-sys-color-on-surface, #1C1B1F));\n --_outline: var(--md-color-picker-outline-color, var(--md-sys-color-outline-variant, #CAC4D0));\n --_outline-strong: var(--md-color-picker-outline-strong, var(--md-sys-color-outline, #79747E));\n --_primary: var(--md-sys-color-primary, #6750A4);\n --_thumb-size: var(--md-color-picker-thumb-size, 18px);\n --_thumb-border: var(--md-color-picker-thumb-border, #FFFFFF);\n --_preset-size: var(--md-color-picker-preset-size, 32px);\n --_popover-elevation: var(--md-color-picker-popover-elevation, var(--md-sys-elevation-3, 0px 4px 8px 3px rgba(0,0,0,0.15), 0px 1px 3px rgba(0,0,0,0.3)));\n\n /* MD3 motion tokens. */\n --_state-easing: var(--md-sys-motion-spring-effects-default-easing, cubic-bezier(0.34, 0.80, 0.34, 1.00));\n --_state-duration: var(--md-sys-motion-spring-effects-default-duration, 200ms);\n --_spring-easing: var(--md-sys-motion-spring-spatial-fast-easing, cubic-bezier(0.42, 1.67, 0.21, 0.90));\n --_spring-duration: var(--md-sys-motion-spring-spatial-fast-duration, 350ms);\n --_emphasized-decelerate: var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1));\n --_emphasized-accelerate: var(--md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15));\n --_popover-in-duration: var(--md-sys-motion-duration-medium2, 300ms);\n --_popover-out-duration: var(--md-sys-motion-duration-short4, 200ms);\n\n display: inline-block;\n box-sizing: border-box;\n direction: inherit;\n font-family: var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);\n color: var(--_on-surface);\n}\n\n:host(.md-color-picker--inline) {\n inline-size: var(--_width);\n}\n\n/* ==========================================================\n 1. TRIGGER (popover variant)\n Rendered with the library <md-button variant=\"tonal\">. The\n button supplies its own container, state layer, ripple and\n focus ring — we only theme the slotted swatch (via the\n button's --md-button-icon-size sizing token) and keep the\n hex label numerals monospaced/tabular.\n ========================================================== */\n\n/* ==========================================================\n 2. POPOVER — M3 Menu enter/exit choreography\n Open: scale 0.8 → 1.0 + fade in with emphasized-decelerate\n (the panel \"settles into place\")\n Close: scale 1.0 → 0.95 + fade out with emphasized-accelerate\n (the panel \"gets out of the way\")\n The transform-origin is anchored at the inline-start top so\n the popover appears to grow out of the trigger.\n ========================================================== */\n\n.md-color-picker__popover {\n position: absolute;\n z-index: var(--md-sys-z-index-popup, 1000);\n margin-block-start: 8px;\n inline-size: var(--_width);\n background: var(--_surface);\n color: var(--_on-surface);\n border-radius: var(--_radius);\n box-shadow: var(--_popover-elevation);\n padding: max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px));\n box-sizing: border-box;\n transform-origin: top left;\n animation: md-color-picker-pop-in var(--_popover-in-duration) var(--_emphasized-decelerate) both;\n}\n\n.md-color-picker__popover[data-state=\"closing\"] {\n animation: md-color-picker-pop-out var(--_popover-out-duration) var(--_emphasized-accelerate) both;\n}\n\n@keyframes md-color-picker-pop-in {\n from {\n opacity: 0;\n transform: scale(0.8) translateY(-8px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n@keyframes md-color-picker-pop-out {\n from {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n to {\n opacity: 0;\n transform: scale(0.95) translateY(-4px);\n }\n}\n\n/* RTL mirrors transform-origin so the popover grows out of the\n appropriate trigger corner. */\n:host([dir=\"rtl\"]) .md-color-picker__popover,\n:host-context([dir=\"rtl\"]) .md-color-picker__popover {\n transform-origin: top right;\n}\n\n/* ==========================================================\n 3. PANEL\n ========================================================== */\n\n.md-color-picker__panel {\n display: flex;\n flex-direction: column;\n gap: max(4px, calc(14px + var(--md-sys-density-scale, 0) * 2px));\n inline-size: 100%;\n background: var(--_surface);\n border-radius: var(--_radius);\n padding: max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px));\n box-sizing: border-box;\n}\n\n:host(.md-color-picker--popover) .md-color-picker__panel {\n padding: 0;\n background: transparent;\n}\n\n/* ==========================================================\n 4. SATURATION / VALUE PLATE\n The thumb gets a settling spring on release via the\n `transition` only firing on non-dragging frames.\n ========================================================== */\n\n.md-color-picker__plate {\n position: relative;\n inline-size: 100%;\n block-size: var(--_plate-height);\n border-radius: var(--md-sys-shape-corner-large, 16px);\n overflow: hidden;\n touch-action: none;\n cursor: crosshair;\n}\n\n.md-color-picker__plate:focus-visible {\n outline: 3px solid var(--md-sys-color-secondary, #625B71);\n outline-offset: 2px;\n}\n\n.md-color-picker__plate-saturation,\n.md-color-picker__plate-value {\n position: absolute;\n inset: 0;\n}\n\n.md-color-picker__plate-saturation {\n background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0));\n}\n\n:host(:dir(rtl)) .md-color-picker__plate-saturation,\n:host([dir=\"rtl\"]) .md-color-picker__plate-saturation,\n:host-context([dir=\"rtl\"]) .md-color-picker__plate-saturation {\n background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0));\n}\n.md-color-picker__plate-value {\n background: linear-gradient(to top, #000000, rgba(0, 0, 0, 0));\n}\n\n/* ==========================================================\n 5. THUMBS\n ========================================================== */\n\n.md-color-picker__thumb {\n position: absolute;\n inline-size: var(--_thumb-size);\n block-size: var(--_thumb-size);\n border-radius: 50%;\n border: 2px solid var(--_thumb-border);\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.4),\n var(--md-sys-elevation-1, 0px 1px 2px rgba(0,0,0,0.3));\n margin-inline-start: calc(-0.5 * var(--_thumb-size));\n margin-block-start: calc(-0.5 * var(--_thumb-size));\n pointer-events: none;\n background-color: currentColor;\n transition:\n box-shadow var(--_state-duration) var(--_state-easing),\n transform var(--_state-duration) var(--_state-easing);\n}\n\n/* Press-on plate / slider: scale up the thumb to mimic the\n MD3 slider's \"expanded handle\". */\n.md-color-picker__plate:active .md-color-picker__thumb,\n.md-color-picker__hue:active .md-color-picker__thumb,\n.md-color-picker__alpha:active .md-color-picker__thumb {\n transform: scale(1.15);\n box-shadow:\n 0 0 0 6px color-mix(in srgb, var(--_primary) 16%, transparent),\n var(--md-sys-elevation-2, 0px 1px 2px rgba(0,0,0,0.3));\n}\n\n.md-color-picker__thumb--slider {\n inset-block-start: 50%;\n margin-block-start: 0;\n transform: translateY(-50%);\n}\n\n.md-color-picker__hue:active .md-color-picker__thumb--slider,\n.md-color-picker__alpha:active .md-color-picker__thumb--slider {\n transform: translateY(-50%) scale(1.15);\n}\n\n/* ==========================================================\n 6. SLIDERS\n ========================================================== */\n\n.md-color-picker__sliders {\n display: flex;\n gap: max(4px, calc(14px + var(--md-sys-density-scale, 0) * 2px));\n align-items: center;\n}\n\n.md-color-picker__sliders-stack {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: var(--md-sys-spacing-gap-md, 12px);\n}\n\n.md-color-picker__hue,\n.md-color-picker__alpha {\n position: relative;\n inline-size: 100%;\n block-size: 14px;\n border-radius: var(--md-sys-shape-corner-full, 9999px);\n touch-action: none;\n cursor: pointer;\n transition: box-shadow var(--_state-duration) var(--_state-easing);\n}\n\n.md-color-picker__hue {\n background: linear-gradient(\n to right,\n #ff0000 0%, #ffff00 17%, #00ff00 33%,\n #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%\n );\n}\n\n:host(:dir(rtl)) .md-color-picker__hue,\n:host([dir=\"rtl\"]) .md-color-picker__hue,\n:host-context([dir=\"rtl\"]) .md-color-picker__hue {\n background: linear-gradient(\n to left,\n #ff0000 0%, #ffff00 17%, #00ff00 33%,\n #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%\n );\n}\n\n.md-color-picker__alpha {\n background-image:\n linear-gradient(45deg, #ccc 25%, transparent 25%),\n linear-gradient(-45deg, #ccc 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, #ccc 75%),\n linear-gradient(-45deg, transparent 75%, #ccc 75%);\n background-size: 8px 8px;\n background-position: 0 0, 0 4px, 4px -4px, -4px 0;\n}\n\n.md-color-picker__alpha-track {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n}\n\n/* Pointer hit-area extender. The thumb is centred on its value position, so at\n 0% / 100% (e.g. alpha = 1, or a primary hue) half of it sits OUTSIDE the\n track — grabbing the knob there landed on the container, not the slider, so\n the drag never started (most visible in RTL, where alpha = 1 parks the knob\n at the inline-end edge by the preview). This transparent pseudo grows the\n slider's clickable box by half a thumb on every side to catch those grabs;\n pointer events over it still target the slider, and the cached rect (and thus\n the value mapping) is unchanged. */\n.md-color-picker__hue::before,\n.md-color-picker__alpha::before {\n content: '';\n position: absolute;\n inset-block: calc((100% - var(--_thumb-size)) / 2);\n inset-inline: calc(var(--_thumb-size) / -2);\n}\n\n.md-color-picker__hue:focus-visible,\n.md-color-picker__alpha:focus-visible {\n outline: 3px solid var(--md-sys-color-secondary, #625B71);\n outline-offset: 4px;\n}\n\n.md-color-picker__hue:hover,\n.md-color-picker__alpha:hover {\n box-shadow: 0 0 0 4px color-mix(in srgb, var(--_on-surface) 8%, transparent);\n}\n\n/* ==========================================================\n 7. PREVIEW\n ========================================================== */\n\n.md-color-picker__preview {\n flex-shrink: 0;\n inline-size: 40px;\n block-size: 40px;\n border-radius: 50%;\n background-image:\n linear-gradient(45deg, #ccc 25%, transparent 25%),\n linear-gradient(-45deg, #ccc 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, #ccc 75%),\n linear-gradient(-45deg, transparent 75%, #ccc 75%);\n background-size: 8px 8px;\n background-position: 0 0, 0 4px, 4px -4px, -4px 0;\n border: 1px solid var(--_outline);\n overflow: hidden;\n transition: transform var(--_spring-duration) var(--_spring-easing);\n}\n\n.md-color-picker__preview-inner {\n inline-size: 100%;\n block-size: 100%;\n transition: background-color var(--_state-duration) var(--_state-easing);\n}\n\n/* ==========================================================\n 8. INPUT FIELDS — M3 outlined-field treatment\n ========================================================== */\n\n.md-color-picker__field {\n display: flex;\n flex-direction: column;\n gap: var(--md-sys-spacing-gap-xs, 4px);\n flex: 1;\n min-inline-size: 0;\n}\n\n.md-color-picker__field label {\n font-family: var(--md-sys-typescale-label-small-font-family, Roboto, sans-serif);\n font-size: var(--md-sys-typescale-label-small-font-size, 11px);\n font-weight: var(--md-sys-typescale-label-small-font-weight, 500);\n line-height: var(--md-sys-typescale-label-small-line-height, 16px);\n letter-spacing: var(--md-sys-typescale-label-small-letter-spacing, 0.5px);\n color: var(--md-sys-color-on-surface-variant, #49454F);\n text-transform: uppercase;\n}\n\n.md-color-picker__field input {\n inline-size: 100%;\n /* 6px inline padding (not 12px): a 56px channel field must fit a centred\n 3-digit value (255 / 360) — 12px clipped the leading digit (e.g. 103 -> \"03\"),\n most visibly in RTL. The wide hex field has ample room either way. */\n padding: var(--md-sys-spacing-inset-sm, 8px) 6px;\n border: 1px solid var(--_outline);\n border-radius: var(--md-sys-shape-corner-extra-small, 4px);\n background: var(--md-sys-color-surface-container-lowest, #FFFFFF);\n color: var(--_on-surface);\n font: inherit;\n font-size: 13px;\n font-variant-numeric: tabular-nums;\n box-sizing: border-box;\n text-align: center;\n transition:\n border-color var(--_state-duration) var(--_state-easing),\n box-shadow var(--_state-duration) var(--_state-easing);\n}\n\n.md-color-picker__field input:hover:not(:disabled) {\n border-color: var(--_outline-strong);\n}\n\n.md-color-picker__field input:focus-visible {\n outline: none;\n border-color: var(--_primary);\n /* M3 outlined-field \"active\" treatment: double-line via box-shadow. */\n box-shadow: 0 0 0 1px var(--_primary);\n}\n\n.md-color-picker__field input[aria-invalid=\"true\"] {\n border-color: var(--md-sys-color-error, #B3261E);\n}\n\n.md-color-picker__field input[aria-invalid=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--md-sys-color-error, #B3261E);\n}\n\n.md-color-picker__field input:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.md-color-picker__field--hex input {\n text-align: start;\n font-family: var(--md-sys-typescale-mono-font, ui-monospace, 'SF Mono', Menlo, monospace);\n letter-spacing: 0.05em;\n}\n\n.md-color-picker__inputs {\n display: flex;\n gap: var(--md-sys-spacing-gap-sm, 8px);\n}\n\n/* ==========================================================\n 9. PRESETS — spring scale, animated selection ring\n ========================================================== */\n\n.md-color-picker__presets {\n display: flex;\n flex-wrap: wrap;\n gap: var(--md-sys-spacing-gap-sm, 8px);\n}\n\n.md-color-picker__preset {\n position: relative;\n inline-size: var(--_preset-size);\n block-size: var(--_preset-size);\n border: 1px solid var(--_outline);\n border-radius: 50%;\n cursor: pointer;\n padding: 0;\n transition:\n transform var(--_spring-duration) var(--_spring-easing),\n box-shadow var(--_spring-duration) var(--_spring-easing);\n}\n\n.md-color-picker__preset:hover:not(:disabled) {\n transform: scale(1.15) rotate(-4deg);\n box-shadow: var(--md-sys-elevation-1, 0px 1px 2px rgba(0,0,0,0.3));\n}\n\n.md-color-picker__preset:active:not(:disabled) {\n transform: scale(1.05) rotate(0deg);\n}\n\n.md-color-picker__preset:focus-visible {\n outline: 3px solid var(--md-sys-color-secondary, #625B71);\n outline-offset: 3px;\n}\n\n/* The selection ring animates out from the swatch when selected. */\n.md-color-picker__preset[aria-selected=\"true\"] {\n box-shadow:\n 0 0 0 2px var(--_surface),\n 0 0 0 4px var(--_primary),\n var(--md-sys-elevation-1, 0px 1px 2px rgba(0,0,0,0.3));\n transform: scale(1.1);\n}\n\n.md-color-picker__preset[aria-selected=\"true\"]:hover:not(:disabled) {\n transform: scale(1.18);\n}\n\n/* ==========================================================\n 10. DISABLED STATE\n ========================================================== */\n:host(.md-color-picker--disabled) .md-color-picker__plate,\n:host(.md-color-picker--disabled) .md-color-picker__hue,\n:host(.md-color-picker--disabled) .md-color-picker__alpha {\n pointer-events: none;\n opacity: 0.5;\n}\n\n/* ==========================================================\n 11. REDUCED MOTION\n ========================================================== */\n@media (prefers-reduced-motion: reduce) {\n .md-color-picker__popover {\n animation-duration: 0.01ms !important;\n }\n .md-color-picker__preset,\n .md-color-picker__field input,\n .md-color-picker__thumb,\n .md-color-picker__preview,\n .md-color-picker__hue,\n .md-color-picker__alpha {\n transition-duration: 0.01ms !important;\n }\n .md-color-picker__preset:hover:not(:disabled) {\n transform: scale(1.06);\n }\n}\n\n/* ==========================================================\n 12. FORCED COLORS\n ========================================================== */\n@media (forced-colors: active) {\n .md-color-picker__field input,\n .md-color-picker__preset {\n border: 1px solid CanvasText;\n }\n .md-color-picker__plate,\n .md-color-picker__hue,\n .md-color-picker__alpha {\n forced-color-adjust: none;\n }\n}\n\n/* ==========================================================\n DENSITY (local override)\n Maps the local `density` prop onto the same --md-sys-density-scale signal a\n global `data-density` ancestor sets. Declared on :host, so a local rung wins\n over the inherited global one. Every density-sensitive value in this file\n derives from that single signal by calc — never add a fixed per-rung ladder.\n ========================================================== */\n:host([density='-1']) { --md-sys-density-scale: -1; }\n:host([density='-2']) { --md-sys-density-scale: -2; }\n:host([density='-3']) { --md-sys-density-scale: -3; }\n:host([density='-4']) { --md-sys-density-scale: -4; }\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Watch,\n Method,\n Listen,\n} from '@stencil/core';\nimport {\n Hsva,\n hsvaToHex,\n hsvaToHsl,\n hsvaToRgba,\n hslToRgb,\n parseColor,\n formatColor,\n} from './color-utils';\n\nexport type ColorFormat = 'hex' | 'rgb' | 'hsl';\nexport type ColorPickerVariant = 'inline' | 'popover';\n\n@Component({\n tag: 'md-color-picker',\n styleUrl: 'md-color-picker.css',\n shadow: true,\n})\nexport class MdColorPicker {\n @Element() el!: HTMLElement;\n\n /**\n * Layout variant.\n * - `inline` (default) — picker UI is always visible.\n * - `popover` — opens the picker in a floating panel anchored to itself,\n * behind a trigger YOU slot into `trigger`. There is no built-in trigger.\n */\n @Prop({ reflect: true }) variant: ColorPickerVariant = 'inline';\n\n /**\n * Current value. Accepts any 3/4/6/8-digit hex, `rgb()`, `rgba()`, or\n * the formats emitted by this component. Two-way bindable.\n */\n @Prop({ mutable: true, reflect: true }) value: string = '#6750A4';\n\n /** Output format for `value` and `mdChange` events. */\n @Prop({ reflect: true }) format: ColorFormat = 'hex';\n\n /** Show the alpha slider + alpha hex field. */\n @Prop({ reflect: true }) alpha: boolean = false;\n\n /** Show the hex input field below the sliders. */\n @Prop({ attribute: 'show-hex' }) showHex: boolean = true;\n\n /** Show the RGB/HSL numeric inputs. */\n @Prop({ attribute: 'show-inputs' }) showInputs: boolean = true;\n\n /** Disable the entire control. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Swatch presets. When non-empty, a small palette appears below the sliders\n * for one-tap colour selection.\n *\n * Takes either form, so it behaves like every other list-valued prop in the\n * library rather than being the one exception:\n * - attribute — `presets=\"#000000,#FFFFFF,#FF5722\"` (comma-separated)\n * - property — `el.presets = ['#000000', '#FFFFFF', '#FF5722']`\n */\n @Prop() presets: string | string[] = '';\n\n /**\n * Accessible label for the whole picker. Defaults to \"Color picker\".\n */\n @Prop({ attribute: 'aria-label' }) ariaLabelProp: string = 'Color picker';\n\n /** Whether the popover is open. Only meaningful when variant=`popover`. */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * When true and `variant=\"popover\"`, clicking outside the component\n * closes the open panel. Defaults to `false` so existing popovers keep\n * their current behaviour until opted in.\n */\n @Prop({ attribute: 'dismiss-on-outside-click' }) dismissOnOutsideClick: boolean = false;\n\n /**\n * Local density rung. Drives the same `--md-sys-density-scale` signal that a\n * global `data-density` ancestor sets, so a local value simply overrides the\n * inherited one. 0 = default, -4 = ultra-compact.\n */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n /** Emitted on every change while the user drags / types. */\n @Event() mdInput: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the user commits a value (release pointer, blur input,\n * Enter, or click a preset).\n */\n @Event() mdChange: EventEmitter<{ value: string }>;\n\n /** Emitted when the popover opens or closes. */\n @Event() mdOpenChange: EventEmitter<{ open: boolean }>;\n\n @State() private hsva: Hsva = { h: 268, s: 53, v: 64, a: 1 };\n @State() private hexInput: string = '';\n @State() private hexInvalid: boolean = false;\n /** Whether the consumer supplied a trigger. `variant=\"popover\"` is inert\n * without one, so its absence is a dev-time warning rather than a silent\n * empty host. */\n @State() private hasSlottedTrigger: boolean = false;\n\n private satRect?: DOMRect;\n private hueRect?: DOMRect;\n private alphaRect?: DOMRect;\n private pointerDragKind: 'sat' | 'hue' | 'alpha' | null = null;\n private outsideClickHandler?: (e: MouseEvent) => void;\n\n /** Instance-unique prefix so each channel <label> can be associated with\n * its <input> via for/id without colliding across multiple pickers. */\n private uid = `md-color-picker-${Math.random().toString(36).slice(2, 7)}`;\n\n componentWillLoad() {\n this.applyValue(this.value, /* emit */ false);\n this.computeSlottedTrigger();\n }\n\n componentDidLoad() {\n this.syncOutsideClickListener();\n this.wireSlottedTrigger();\n // A consumer may swap the trigger at runtime (a different md-button, or\n // rendering it conditionally), so re-read on slotchange rather than once.\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"trigger\"]') as HTMLSlotElement | null;\n slot?.addEventListener('slotchange', () => {\n this.computeSlottedTrigger();\n this.wireSlottedTrigger();\n });\n }\n\n private computeSlottedTrigger() {\n this.hasSlottedTrigger = this.el.querySelector('[slot=\"trigger\"]') !== null;\n if (\n !this.hasSlottedTrigger &&\n this.variant === 'popover' &&\n typeof console !== 'undefined'\n ) {\n console.warn(\n '[md-color-picker] variant=\"popover\" needs a trigger: slot one into ' +\n '`trigger` (e.g. <md-button slot=\"trigger\">…</md-button>). Without it ' +\n 'there is nothing to open the panel.',\n );\n }\n }\n\n /** The slotted element is the consumer's, so we do not re-render it — we\n * attach the behaviour it needs: open on activation, and the ARIA that\n * describes the popup relationship. Both are idempotent. */\n private wireSlottedTrigger() {\n const trigger = this.el.querySelector('[slot=\"trigger\"]') as HTMLElement | null;\n if (!trigger || trigger === this.wiredTrigger) {\n this.syncSlottedTriggerAria();\n return;\n }\n this.wiredTrigger?.removeEventListener('click', this.toggleOpen);\n trigger.addEventListener('click', this.toggleOpen);\n this.wiredTrigger = trigger;\n this.syncSlottedTriggerAria();\n }\n\n private syncSlottedTriggerAria() {\n const t = this.wiredTrigger;\n if (!t) return;\n t.setAttribute('aria-haspopup', 'dialog');\n t.setAttribute('aria-expanded', String(this.open));\n }\n\n private wiredTrigger: HTMLElement | null = null;\n\n @Watch('value')\n onValueChange(newVal: string) {\n if (newVal === this.lastEmitted) return;\n this.applyValue(newVal, false);\n }\n\n private lastEmitted: string = '';\n\n /** Whether the host (or an ancestor) is in RTL layout. */\n private isRtl(): boolean {\n return (\n typeof getComputedStyle === 'function' &&\n getComputedStyle(this.el).direction === 'rtl'\n );\n }\n\n /** Normalized horizontal pointer ratio (0 = inline-start, 1 = inline-end). */\n private horizontalRatio(clientX: number, rect: DOMRect): number {\n const w = rect.width;\n if (w <= 0) return 0;\n return this.isRtl()\n ? (rect.right - clientX) / w\n : (clientX - rect.left) / w;\n }\n\n /** Valid `linear-gradient` side keyword matching inline flow (not `inline-end`). */\n private horizontalGradientTo(): 'right' | 'left' {\n return this.isRtl() ? 'left' : 'right';\n }\n\n private applyValue(input: string, emit: boolean) {\n const parsed = parseColor(input);\n if (parsed) {\n this.hsva = parsed;\n this.hexInput = hsvaToHex(parsed, this.alpha && parsed.a < 1);\n this.hexInvalid = false;\n if (emit) this.emit();\n } else {\n // Keep current hsva but mark hex input as invalid.\n this.hexInvalid = true;\n }\n }\n\n private emit(commit: boolean = false) {\n const out = formatColor(this.hsva, this.format);\n if (out !== this.value) {\n // Set lastEmitted BEFORE this.value so the @Watch('value')\n // sees a matching sentinel and skips applyValue (which would\n // otherwise re-parse our own output and waste work).\n this.lastEmitted = out;\n this.value = out;\n this.mdInput.emit({ value: out });\n if (commit) this.mdChange.emit({ value: out });\n } else if (commit) {\n this.mdChange.emit({ value: out });\n }\n }\n\n // ──────────────────────────────────────────────────────────────────\n // Saturation / Value picker\n // ──────────────────────────────────────────────────────────────────\n\n private onSatPointerDown = (e: PointerEvent) => {\n if (this.disabled) return;\n const target = e.currentTarget as HTMLElement;\n target.setPointerCapture(e.pointerId);\n this.satRect = target.getBoundingClientRect();\n this.pointerDragKind = 'sat';\n this.updateSatFromPoint(e.clientX, e.clientY);\n };\n\n private onSatPointerMove = (e: PointerEvent) => {\n if (this.pointerDragKind !== 'sat' || !this.satRect) return;\n this.updateSatFromPoint(e.clientX, e.clientY);\n };\n\n private onSatPointerUp = (e: PointerEvent) => {\n if (this.pointerDragKind !== 'sat') return;\n const target = e.currentTarget as HTMLElement;\n target.releasePointerCapture?.(e.pointerId);\n this.pointerDragKind = null;\n this.emit(true);\n };\n\n private updateSatFromPoint(clientX: number, clientY: number) {\n if (!this.satRect) return;\n const xRatio = this.horizontalRatio(clientX, this.satRect);\n const y = clientY - this.satRect.top;\n const s = Math.max(0, Math.min(100, xRatio * 100));\n const v = Math.max(0, Math.min(100, 100 - (y / this.satRect.height) * 100));\n this.hsva = { ...this.hsva, s, v };\n this.hexInput = hsvaToHex(this.hsva, this.alpha && this.hsva.a < 1);\n this.hexInvalid = false;\n this.emit(false);\n }\n\n private onSatKeyDown = (e: KeyboardEvent) => {\n if (this.disabled) return;\n const step = e.shiftKey ? 10 : 1;\n const rtl = this.isRtl();\n let { s, v } = this.hsva;\n let handled = true;\n switch (e.key) {\n case 'ArrowLeft': s += rtl ? step : -step; break;\n case 'ArrowRight': s += rtl ? -step : step; break;\n case 'ArrowDown': v -= step; break;\n case 'ArrowUp': v += step; break;\n case 'Home': s = 0; break;\n case 'End': s = 100; break;\n case 'PageDown': v = 0; break;\n case 'PageUp': v = 100; break;\n default: handled = false;\n }\n if (!handled) return;\n e.preventDefault();\n this.hsva = {\n ...this.hsva,\n s: Math.max(0, Math.min(100, s)),\n v: Math.max(0, Math.min(100, v)),\n };\n this.hexInput = hsvaToHex(this.hsva, this.alpha && this.hsva.a < 1);\n this.hexInvalid = false;\n this.emit(true);\n };\n\n // ──────────────────────────────────────────────────────────────────\n // Hue slider\n // ──────────────────────────────────────────────────────────────────\n\n private onHuePointerDown = (e: PointerEvent) => {\n if (this.disabled) return;\n const target = e.currentTarget as HTMLElement;\n target.setPointerCapture(e.pointerId);\n this.hueRect = target.getBoundingClientRect();\n this.pointerDragKind = 'hue';\n this.updateHueFromPoint(e.clientX);\n };\n\n private onHuePointerMove = (e: PointerEvent) => {\n if (this.pointerDragKind !== 'hue' || !this.hueRect) return;\n this.updateHueFromPoint(e.clientX);\n };\n\n private onHuePointerUp = (e: PointerEvent) => {\n if (this.pointerDragKind !== 'hue') return;\n const target = e.currentTarget as HTMLElement;\n target.releasePointerCapture?.(e.pointerId);\n this.pointerDragKind = null;\n this.emit(true);\n };\n\n private updateHueFromPoint(clientX: number) {\n if (!this.hueRect) return;\n const ratio = Math.max(0, Math.min(1, this.horizontalRatio(clientX, this.hueRect)));\n const h = ratio * 360;\n this.hsva = { ...this.hsva, h };\n this.hexInput = hsvaToHex(this.hsva, this.alpha && this.hsva.a < 1);\n this.hexInvalid = false;\n this.emit(false);\n }\n\n private onHueKeyDown = (e: KeyboardEvent) => {\n if (this.disabled) return;\n const step = e.shiftKey ? 15 : 1;\n const rtl = this.isRtl();\n let { h } = this.hsva;\n let handled = true;\n switch (e.key) {\n case 'ArrowLeft': h += rtl ? step : -step; break;\n case 'ArrowRight': h += rtl ? -step : step; break;\n case 'Home': h = 0; break;\n case 'End': h = 360; break;\n default: handled = false;\n }\n if (!handled) return;\n e.preventDefault();\n h = ((h % 360) + 360) % 360;\n this.hsva = { ...this.hsva, h };\n this.hexInput = hsvaToHex(this.hsva, this.alpha && this.hsva.a < 1);\n this.hexInvalid = false;\n this.emit(true);\n };\n\n // ──────────────────────────────────────────────────────────────────\n // Alpha slider\n // ──────────────────────────────────────────────────────────────────\n\n private onAlphaPointerDown = (e: PointerEvent) => {\n if (this.disabled) return;\n const target = e.currentTarget as HTMLElement;\n target.setPointerCapture(e.pointerId);\n this.alphaRect = target.getBoundingClientRect();\n this.pointerDragKind = 'alpha';\n this.updateAlphaFromPoint(e.clientX);\n };\n\n private onAlphaPointerMove = (e: PointerEvent) => {\n if (this.pointerDragKind !== 'alpha' || !this.alphaRect) return;\n this.updateAlphaFromPoint(e.clientX);\n };\n\n private onAlphaPointerUp = (e: PointerEvent) => {\n if (this.pointerDragKind !== 'alpha') return;\n const target = e.currentTarget as HTMLElement;\n target.releasePointerCapture?.(e.pointerId);\n this.pointerDragKind = null;\n this.emit(true);\n };\n\n private updateAlphaFromPoint(clientX: number) {\n if (!this.alphaRect) return;\n const ratio = Math.max(0, Math.min(1, this.horizontalRatio(clientX, this.alphaRect)));\n this.hsva = { ...this.hsva, a: ratio };\n this.hexInput = hsvaToHex(this.hsva, true);\n this.hexInvalid = false;\n this.emit(false);\n }\n\n private onAlphaKeyDown = (e: KeyboardEvent) => {\n if (this.disabled) return;\n const step = e.shiftKey ? 0.1 : 0.01;\n const rtl = this.isRtl();\n let { a } = this.hsva;\n let handled = true;\n switch (e.key) {\n case 'ArrowLeft': a += rtl ? step : -step; break;\n case 'ArrowRight': a += rtl ? -step : step; break;\n case 'Home': a = 0; break;\n case 'End': a = 1; break;\n default: handled = false;\n }\n if (!handled) return;\n e.preventDefault();\n a = Math.max(0, Math.min(1, a));\n this.hsva = { ...this.hsva, a };\n this.hexInput = hsvaToHex(this.hsva, true);\n this.hexInvalid = false;\n this.emit(true);\n };\n\n // ──────────────────────────────────────────────────────────────────\n // Inputs\n // ──────────────────────────────────────────────────────────────────\n\n private onHexInput = (e: Event) => {\n const v = (e.target as HTMLInputElement).value;\n this.hexInput = v;\n const parsed = parseColor(v.startsWith('#') ? v : `#${v}`);\n if (parsed) {\n this.hsva = parsed;\n this.hexInvalid = false;\n this.emit(false);\n } else {\n this.hexInvalid = true;\n }\n };\n\n private onHexBlur = () => {\n // If invalid, snap back to the current colour's hex.\n if (this.hexInvalid) {\n this.hexInput = hsvaToHex(this.hsva, this.alpha && this.hsva.a < 1);\n this.hexInvalid = false;\n }\n this.emit(true);\n };\n\n private rgbaFromChannels(r: number, g: number, b: number) {\n const hex = `#${[r, g, b].map((n) => n.toString(16).padStart(2, '0')).join('')}`;\n const parsed = parseColor(hex);\n if (parsed) {\n this.hsva = { ...parsed, a: this.hsva.a };\n this.hexInput = hsvaToHex(this.hsva, this.alpha && this.hsva.a < 1);\n this.hexInvalid = false;\n this.emit(true);\n }\n }\n\n private onRgbChange = (channel: 'r' | 'g' | 'b', e: Event) => {\n const raw = (e.target as HTMLInputElement).value;\n const num = Math.max(0, Math.min(255, parseInt(raw, 10) || 0));\n const rgba = hsvaToRgba(this.hsva);\n this.rgbaFromChannels(\n channel === 'r' ? num : rgba.r,\n channel === 'g' ? num : rgba.g,\n channel === 'b' ? num : rgba.b,\n );\n };\n\n private onHslChange = (channel: 'h' | 's' | 'l', e: Event) => {\n const raw = (e.target as HTMLInputElement).value;\n const num = parseInt(raw, 10) || 0;\n const hsl = hsvaToHsl(this.hsva);\n const h = channel === 'h' ? Math.max(0, Math.min(360, num)) : hsl.h;\n const s = channel === 's' ? Math.max(0, Math.min(100, num)) : hsl.s;\n const l = channel === 'l' ? Math.max(0, Math.min(100, num)) : hsl.l;\n const { r, g, b } = hslToRgb(h, s, l);\n this.rgbaFromChannels(r, g, b);\n };\n\n private onAlphaInputChange = (e: Event) => {\n const raw = (e.target as HTMLInputElement).value;\n const num = Math.max(0, Math.min(1, parseFloat(raw) || 0));\n this.hsva = { ...this.hsva, a: num };\n this.hexInput = hsvaToHex(this.hsva, true);\n this.emit(true);\n };\n\n // ──────────────────────────────────────────────────────────────────\n // Presets\n // ──────────────────────────────────────────────────────────────────\n\n private get parsedPresets(): string[] {\n const raw = Array.isArray(this.presets)\n ? this.presets\n : String(this.presets ?? '').split(',');\n return raw.map((s) => String(s).trim()).filter(Boolean);\n }\n\n private onPresetClick = (hex: string) => {\n if (this.disabled) return;\n this.applyValue(hex, true);\n this.emit(true);\n };\n\n private onPresetKeyDown = (e: KeyboardEvent, hex: string) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.onPresetClick(hex);\n }\n };\n\n // ──────────────────────────────────────────────────────────────────\n // Popover\n // ──────────────────────────────────────────────────────────────────\n\n /** Programmatically open the popover. */\n @Method()\n async show(): Promise<void> {\n if (this.variant !== 'popover' || this.disabled) return;\n this.open = true;\n }\n\n /** Programmatically close the popover. */\n @Method()\n async close(): Promise<void> {\n if (this.variant !== 'popover') return;\n this.open = false;\n }\n\n @Watch('open')\n onOpenChange(value: boolean) {\n this.mdOpenChange.emit({ open: value });\n this.syncOutsideClickListener();\n // The trigger is the consumer's element, so nothing re-renders it — its\n // aria-expanded has to be pushed on EVERY transition, not just the ones the\n // trigger itself started (Escape, an outside click, or a controlled\n // `open = false` all land here).\n this.syncSlottedTriggerAria();\n }\n\n @Watch('variant')\n onVariantChange() {\n this.syncOutsideClickListener();\n }\n\n @Watch('dismissOnOutsideClick')\n onDismissOnOutsideClickChange() {\n this.syncOutsideClickListener();\n }\n\n @Watch('disabled')\n onDisabledChange() {\n this.syncOutsideClickListener();\n }\n\n disconnectedCallback() {\n this.removeOutsideClickHandler();\n this.wiredTrigger?.removeEventListener('click', this.toggleOpen);\n this.wiredTrigger = null;\n }\n\n private syncOutsideClickListener() {\n this.removeOutsideClickHandler();\n if (\n this.variant !== 'popover' ||\n !this.open ||\n !this.dismissOnOutsideClick ||\n this.disabled ||\n typeof document === 'undefined'\n ) {\n return;\n }\n requestAnimationFrame(() => {\n if (\n this.variant !== 'popover' ||\n !this.open ||\n !this.dismissOnOutsideClick ||\n this.disabled\n ) {\n return;\n }\n this.attachOutsideClickHandler();\n });\n }\n\n private attachOutsideClickHandler() {\n this.outsideClickHandler = (e: MouseEvent) => {\n if (this.disabled || !this.open) return;\n const path = e.composedPath ? e.composedPath() : [];\n if (path.includes(this.el)) return;\n const target = e.target as Node | null;\n if (target && this.el.contains(target)) return;\n this.open = false;\n };\n document.addEventListener('mousedown', this.outsideClickHandler, true);\n }\n\n private removeOutsideClickHandler() {\n if (this.outsideClickHandler && typeof document !== 'undefined') {\n document.removeEventListener('mousedown', this.outsideClickHandler, true);\n }\n this.outsideClickHandler = undefined;\n }\n\n @Listen('keydown', { target: 'window' })\n onGlobalKeyDown(e: KeyboardEvent) {\n if (this.variant === 'popover' && this.open && e.key === 'Escape') {\n e.preventDefault();\n this.open = false;\n }\n }\n\n private toggleOpen = () => {\n if (this.disabled) return;\n this.open = !this.open; // @Watch('open') syncs the trigger's aria-expanded\n };\n\n // ──────────────────────────────────────────────────────────────────\n // Render\n // ──────────────────────────────────────────────────────────────────\n\n private renderSaturationPlate() {\n const hue = this.hsva.h;\n const sat = this.hsva.s;\n const val = this.hsva.v;\n const hueRgb = hsvaToRgba({ h: hue, s: 100, v: 100, a: 1 });\n const bg = `rgb(${hueRgb.r}, ${hueRgb.g}, ${hueRgb.b})`;\n return (\n <div\n class=\"md-color-picker__plate\"\n part=\"plate\"\n role=\"application\"\n tabindex={this.disabled ? -1 : 0}\n aria-label=\"Saturation and brightness\"\n style={{ background: bg }}\n onPointerDown={this.onSatPointerDown}\n onPointerMove={this.onSatPointerMove}\n onPointerUp={this.onSatPointerUp}\n onPointerCancel={this.onSatPointerUp}\n onKeyDown={this.onSatKeyDown}\n >\n <div class=\"md-color-picker__plate-saturation\" aria-hidden=\"true\"></div>\n <div class=\"md-color-picker__plate-value\" aria-hidden=\"true\"></div>\n <div\n class=\"md-color-picker__thumb\"\n part=\"thumb\"\n style={{\n insetInlineStart: `${sat}%`,\n insetBlockStart: `${100 - val}%`,\n backgroundColor: hsvaToHex(this.hsva, false),\n }}\n ></div>\n </div>\n );\n }\n\n private renderHueSlider() {\n const hue = this.hsva.h;\n const ratio = hue / 360;\n return (\n <div\n class=\"md-color-picker__hue\"\n part=\"hue\"\n role=\"slider\"\n aria-label=\"Hue\"\n aria-valuemin=\"0\"\n aria-valuemax=\"360\"\n aria-valuenow={Math.round(hue)}\n aria-orientation=\"horizontal\"\n aria-disabled={this.disabled ? 'true' : undefined}\n tabindex={this.disabled ? -1 : 0}\n onPointerDown={this.onHuePointerDown}\n onPointerMove={this.onHuePointerMove}\n onPointerUp={this.onHuePointerUp}\n onPointerCancel={this.onHuePointerUp}\n onKeyDown={this.onHueKeyDown}\n >\n <div\n class=\"md-color-picker__thumb md-color-picker__thumb--slider\"\n style={{\n insetInlineStart: `${ratio * 100}%`,\n backgroundColor: hsvaToHex({ h: hue, s: 100, v: 100, a: 1 }, false),\n }}\n ></div>\n </div>\n );\n }\n\n private renderAlphaSlider() {\n if (!this.alpha) return null;\n const alphaVal = this.hsva.a;\n const baseRgb = hsvaToRgba({ ...this.hsva, a: 1 });\n const gradient = `linear-gradient(to ${this.horizontalGradientTo()}, rgba(${baseRgb.r}, ${baseRgb.g}, ${baseRgb.b}, 0), rgba(${baseRgb.r}, ${baseRgb.g}, ${baseRgb.b}, 1))`;\n return (\n <div\n class=\"md-color-picker__alpha\"\n part=\"alpha\"\n role=\"slider\"\n aria-label=\"Opacity\"\n aria-valuemin=\"0\"\n aria-valuemax=\"1\"\n aria-valuenow={+alphaVal.toFixed(2)}\n aria-orientation=\"horizontal\"\n aria-disabled={this.disabled ? 'true' : undefined}\n tabindex={this.disabled ? -1 : 0}\n onPointerDown={this.onAlphaPointerDown}\n onPointerMove={this.onAlphaPointerMove}\n onPointerUp={this.onAlphaPointerUp}\n onPointerCancel={this.onAlphaPointerUp}\n onKeyDown={this.onAlphaKeyDown}\n >\n <div class=\"md-color-picker__alpha-track\" style={{ backgroundImage: gradient }}></div>\n <div\n class=\"md-color-picker__thumb md-color-picker__thumb--slider\"\n style={{\n insetInlineStart: `${alphaVal * 100}%`,\n backgroundColor: hsvaToHex(this.hsva, true),\n }}\n ></div>\n </div>\n );\n }\n\n private renderHexInput() {\n if (!this.showHex) return null;\n return (\n <div class=\"md-color-picker__field md-color-picker__field--hex\" part=\"field-hex\">\n <label part=\"label\" htmlFor={`${this.uid}-hex`}>Hex</label>\n <input\n id={`${this.uid}-hex`}\n type=\"text\"\n value={this.hexInput}\n spellcheck={false}\n autoComplete=\"off\"\n aria-invalid={this.hexInvalid ? 'true' : undefined}\n disabled={this.disabled}\n onInput={this.onHexInput}\n onBlur={this.onHexBlur}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n (e.target as HTMLInputElement).blur();\n }\n }}\n />\n </div>\n );\n }\n\n private renderAlphaField() {\n if (!this.alpha) return null;\n return (\n <div class=\"md-color-picker__field\" part=\"field-a\">\n <label htmlFor={`${this.uid}-a`}>A</label>\n <input\n id={`${this.uid}-a`}\n type=\"number\"\n min=\"0\"\n max=\"1\"\n step=\"0.01\"\n value={+this.hsva.a.toFixed(2)}\n disabled={this.disabled}\n onChange={this.onAlphaInputChange}\n />\n </div>\n );\n }\n\n private renderRgbInputs() {\n const rgb = hsvaToRgba(this.hsva);\n return (\n <div class=\"md-color-picker__inputs\" part=\"inputs\">\n <div class=\"md-color-picker__field\" part=\"field-r\">\n <label htmlFor={`${this.uid}-r`}>R</label>\n <input\n id={`${this.uid}-r`}\n type=\"number\"\n min=\"0\"\n max=\"255\"\n step=\"1\"\n value={rgb.r}\n disabled={this.disabled}\n onChange={(e) => this.onRgbChange('r', e)}\n />\n </div>\n <div class=\"md-color-picker__field\" part=\"field-g\">\n <label htmlFor={`${this.uid}-g`}>G</label>\n <input\n id={`${this.uid}-g`}\n type=\"number\"\n min=\"0\"\n max=\"255\"\n step=\"1\"\n value={rgb.g}\n disabled={this.disabled}\n onChange={(e) => this.onRgbChange('g', e)}\n />\n </div>\n <div class=\"md-color-picker__field\" part=\"field-b\">\n <label htmlFor={`${this.uid}-b`}>B</label>\n <input\n id={`${this.uid}-b`}\n type=\"number\"\n min=\"0\"\n max=\"255\"\n step=\"1\"\n value={rgb.b}\n disabled={this.disabled}\n onChange={(e) => this.onRgbChange('b', e)}\n />\n </div>\n {this.renderAlphaField()}\n </div>\n );\n }\n\n private renderHslInputs() {\n const hsl = hsvaToHsl(this.hsva);\n return (\n <div class=\"md-color-picker__inputs\" part=\"inputs\">\n <div class=\"md-color-picker__field\" part=\"field-h\">\n <label htmlFor={`${this.uid}-h`}>H</label>\n <input\n id={`${this.uid}-h`}\n type=\"number\"\n min=\"0\"\n max=\"360\"\n step=\"1\"\n value={Math.round(hsl.h)}\n disabled={this.disabled}\n onChange={(e) => this.onHslChange('h', e)}\n />\n </div>\n <div class=\"md-color-picker__field\" part=\"field-s\">\n <label htmlFor={`${this.uid}-s`}>S</label>\n <input\n id={`${this.uid}-s`}\n type=\"number\"\n min=\"0\"\n max=\"100\"\n step=\"1\"\n value={Math.round(hsl.s)}\n disabled={this.disabled}\n onChange={(e) => this.onHslChange('s', e)}\n />\n </div>\n <div class=\"md-color-picker__field\" part=\"field-l\">\n <label htmlFor={`${this.uid}-l`}>L</label>\n <input\n id={`${this.uid}-l`}\n type=\"number\"\n min=\"0\"\n max=\"100\"\n step=\"1\"\n value={Math.round(hsl.l)}\n disabled={this.disabled}\n onChange={(e) => this.onHslChange('l', e)}\n />\n </div>\n {this.renderAlphaField()}\n </div>\n );\n }\n\n private renderChannelInputs() {\n if (!this.showInputs) return null;\n if (this.format === 'hsl') return this.renderHslInputs();\n return this.renderRgbInputs();\n }\n\n private renderPresets() {\n const presets = this.parsedPresets;\n if (presets.length === 0) return null;\n return (\n <div class=\"md-color-picker__presets\" part=\"presets\" role=\"listbox\" aria-label=\"Color presets\">\n {presets.map((hex) => (\n <button\n key={hex}\n type=\"button\"\n class=\"md-color-picker__preset\"\n part=\"preset\"\n role=\"option\"\n aria-label={hex}\n aria-selected={hsvaToHex(this.hsva, false).toLowerCase() === hex.toLowerCase() ? 'true' : 'false'}\n style={{ backgroundColor: hex }}\n disabled={this.disabled}\n onClick={() => this.onPresetClick(hex)}\n onKeyDown={(e: KeyboardEvent) => this.onPresetKeyDown(e, hex)}\n ></button>\n ))}\n </div>\n );\n }\n\n private renderPanel() {\n return (\n <div class=\"md-color-picker__panel\" part=\"panel\">\n {this.renderSaturationPlate()}\n <div class=\"md-color-picker__sliders\" part=\"sliders\">\n <div class=\"md-color-picker__sliders-stack\">\n {this.renderHueSlider()}\n {this.renderAlphaSlider()}\n </div>\n <div\n class=\"md-color-picker__preview\"\n part=\"preview\"\n role=\"img\"\n aria-label={`Current colour ${formatColor(this.hsva, this.format)}`}\n >\n <div\n class=\"md-color-picker__preview-inner\"\n style={{ backgroundColor: hsvaToHex(this.hsva, true) }}\n ></div>\n </div>\n </div>\n {this.renderHexInput()}\n {this.renderChannelInputs()}\n {this.renderPresets()}\n </div>\n );\n }\n\n render() {\n const previewColor = hsvaToHex(this.hsva, true);\n if (this.variant === 'popover') {\n return (\n <Host\n class={{\n 'md-color-picker': true,\n 'md-color-picker--popover': true,\n 'md-color-picker--open': this.open,\n 'md-color-picker--disabled': this.disabled,\n }}\n aria-label={this.ariaLabelProp}\n >\n {/* The trigger is entirely the consumer's: slot any element — an\n md-button of your chosen variant/size, an md-icon-button, your own\n swatch — and this component wires activation plus\n aria-haspopup / aria-expanded onto it. There is deliberately NO\n built-in trigger: a default would impose a variant, a size and a\n label on every consumer. */}\n <slot name=\"trigger\" />\n {this.open && (\n <div class=\"md-color-picker__popover\" part=\"popover\" role=\"dialog\" aria-label={this.ariaLabelProp}>\n {this.renderPanel()}\n </div>\n )}\n </Host>\n );\n }\n return (\n <Host\n class={{\n 'md-color-picker': true,\n 'md-color-picker--inline': true,\n 'md-color-picker--disabled': this.disabled,\n }}\n role=\"group\"\n aria-label={this.ariaLabelProp}\n >\n {this.renderPanel()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as e,H as t,c as i,h as r,d as a,t as n}from"./p-bSpXNc5J.js";import{w as s}from"./p-DYBUr7K_.js";import{s as o,a as d,g as l,c,r as h}from"./p-DWxN44zD.js";import{d as m}from"./p-BZakoRau.js";import{d as p}from"./p-R_guULjT.js";import{d as u}from"./p-Bkt_X-6v.js";import{d as f}from"./p-CVMM-tdC.js";import{d as _}from"./p-C3vB0Hd9.js";import{d as k}from"./p-CF7mq5T7.js";import{d as y}from"./p-DjKPc5EU.js";function b(e){return e<10?`0${e}`:String(e)}function v(e){return`${e.getFullYear()}-${b(e.getMonth()+1)}-${b(e.getDate())}`}function g(e,t,i){if(t<1||t>12||i<1||i>31)return null;const r=new Date(e,t-1,i);if(r.getFullYear()!==e||r.getMonth()!==t-1||r.getDate()!==i){return null}return r}function x(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function w(e,t){if(t&&t.length>0)return t;try{const t=new Intl.DateTimeFormat(e||"en-US",{year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(2e3,11,31));const i=t.find((e=>e.type==="literal"));return i?.value??"/"}catch{return"/"}}function z(e,t,i){const r=w(t,i);const a=new Intl.DateTimeFormat(t||undefined,{year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(e);return a.map((t=>{switch(t.type){case"day":return b(e.getDate());case"month":return b(e.getMonth()+1);case"year":return String(e.getFullYear());case"literal":return r;default:return""}})).join("")}function D(e,t){const i=w(e,t);const r=new Intl.DateTimeFormat(e||"en-US",{year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(2e3,11,31));return r.map((e=>{switch(e.type){case"day":return"DD";case"month":return"MM";case"year":return"YYYY";case"literal":return i;default:return""}})).join("")}function M(e){try{const t=new Intl.DateTimeFormat(e||"en-US").formatToParts(new Date(2025,3,3));const i=t.findIndex((e=>e.type==="day"));const r=t.findIndex((e=>e.type==="month"));return i>=0&&r>=0&&i<r}catch{return false}}function C(e,t){if(e.length===8){const i=Number.parseInt(e.slice(0,2),10);const r=Number.parseInt(e.slice(2,4),10);const a=Number.parseInt(e.slice(4,8),10);let n;let s;if(i>12&&r<=12){s=i;n=r}else if(r>12&&i<=12){n=i;s=r}else if(i>12&&r>12){return null}else if(M(t)){s=i;n=r}else{n=i;s=r}return g(a,n,s)}if(e.length===7){const i=Number.parseInt(e.slice(3,7),10);const r=[{month:Number.parseInt(e.slice(0,1),10),day:Number.parseInt(e.slice(1,3),10),pattern:"MDD"},{day:Number.parseInt(e.slice(0,2),10),month:Number.parseInt(e.slice(2,3),10),pattern:"DDM"},{month:Number.parseInt(e.slice(0,2),10),day:Number.parseInt(e.slice(2,3),10),pattern:"MMD"}];const a=r.map((e=>({...e,date:g(i,e.month,e.day)}))).filter((e=>e.date!==null));if(a.length===0)return null;if(a.length===1)return a[0].date;const n=Number.parseInt(e.slice(1,3),10);const s=Number.parseInt(e.slice(0,1),10);if(s>=1&&s<=9&&n>=10){const e=a.find((e=>e.pattern==="MDD"));if(e)return e.date}const o=Number.parseInt(e.slice(0,2),10);if(o>12){const e=a.find((e=>e.pattern==="DDM"));if(e)return e.date}const d=Number.parseInt(e.slice(0,2),10);if(d>12){const e=a.find((e=>e.pattern==="MMD"));if(e)return e.date}const l=M(t)?"DDM":"MMD";const c=a.find((e=>e.pattern===l))??a[0];return c.date}return null}function S(e,t,i){const r=e.trim();if(!r)return null;const a=F(r);if(a)return a;if(/^\d+$/.test(r)){return C(r,t)}let n;if(i&&i.length>0){n=r.split(new RegExp(x(i))).filter(Boolean)}else{n=r.split(/[/\-.]|\s+/).filter(Boolean)}if(n.length!==3)return null;const s=n.map((e=>Number.parseInt(e,10)));if(s.some((e=>Number.isNaN(e))))return null;let o;let d;let l;if(n[0].length===4||s[0]>31){[o,d,l]=s}else if(n[2].length===4||s[2]>31){if(s[0]>12&&s[1]<=12){[l,d,o]=s}else if(s[1]>12&&s[0]<=12){[d,l,o]=s}else if(M(t)){[l,d,o]=s}else{[d,l,o]=s}}else{return null}return g(o,d,l)}function F(e){if(!e)return null;const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return null;const i=Number(t[1]);const r=Number(t[2])-1;const a=Number(t[3]);const n=new Date(i,r,a);if(n.getFullYear()!==i||n.getMonth()!==r||n.getDate()!==a){return null}return n}function P(e,t){return new Date(e,t+1,0).getDate()}function Y(e){try{const t=Intl;const i=new t.Locale(e||"en-US");if(typeof i.getWeekInfo==="function"){const e=i.getWeekInfo();if(e&&typeof e.firstDay==="number"){return e.firstDay===7?0:e.firstDay}}if(i.weekInfo&&typeof i.weekInfo.firstDay==="number"){return i.weekInfo.firstDay===7?0:i.weekInfo.firstDay}}catch{}return 0}function I(e,t){return e<=t}function A(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function E(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function T(e,t){const i=new Date(e.getFullYear(),e.getMonth()+t,1);const r=P(i.getFullYear(),i.getMonth());return new Date(i.getFullYear(),i.getMonth(),Math.min(e.getDate(),r))}function N(e,t,i){const r=v(e);if(t&&!I(t,r)){return F(t)??e}if(i&&!I(r,i)){return F(i)??e}return e}function L(e,t,i){const r=v(e);if(t&&!I(t,r))return true;if(i&&!I(r,i))return true;return false}function $(e,t,i){const r=new Date(e,t,1);const a=r.getDay();const n=(a-i+7)%7;const s=E(r,-n);const o=[];for(let e=0;e<42;e++){const i=E(s,e);o.push({date:i,outOfMonth:i.getMonth()!==t})}return o}function j(e,t,i="narrow"){const r=new Intl.DateTimeFormat(e||undefined,{weekday:i});const a=[];for(let e=0;e<7;e++){const i=(t+e)%7;a.push(r.format(new Date(2024,0,7+i)))}return a}const V=()=>`:host{--_selection-bloom-duration:var( --md-date-picker-selection-bloom-duration, var(--md-sys-motion-duration-long1, 450ms) );--_selection-bloom-easing:var( --md-date-picker-selection-bloom-easing, var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)) );--_selection-bloom-out-duration:var( --md-date-picker-selection-bloom-out-duration, var(--md-sys-motion-duration-short4, 200ms) );--_calendar-bloom-duration:var( --md-date-picker-calendar-bloom-duration, var(--md-sys-motion-duration-medium2, 300ms) );--_grid-slide-duration:var( --md-date-picker-grid-slide-duration, var(--md-sys-motion-duration-medium2, 300ms) );--_grid-slide-easing:var( --md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1) );--_panel-bloom-out-duration:var( --md-date-picker-panel-bloom-out-duration, var(--md-sys-motion-duration-short4, 200ms) );--_selection-bloom-out-easing:var( --md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15) );--_container-color:var(--md-date-picker-container-color, var(--md-sys-color-surface));--_header-color:var(--md-date-picker-header-color, var(--md-sys-color-surface-container-high));--_container-shape:var(--md-date-picker-container-shape, var(--md-sys-shape-corner-extra-large, 28px));--_field-color:var(--md-date-picker-field-color, var(--md-sys-color-outline));--_field-focus-color:var(--md-date-picker-field-focus-color, var(--md-sys-color-primary));--_field-text-color:var(--md-date-picker-field-text-color, var(--md-sys-color-on-surface));--_field-container-color:var( --md-date-picker-field-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9) );--_field-container-shape:var( --md-date-picker-field-container-shape, var(--md-sys-shape-corner-extra-small, 4px) );--_field-supporting-color:var( --md-date-picker-field-supporting-color, var(--md-sys-color-on-surface-variant) );--_label-color:var(--md-date-picker-label-color, var(--md-sys-color-on-surface-variant));--_headline-color:var(--md-date-picker-headline-color, var(--md-sys-color-on-surface));--_supporting-color:var(--md-date-picker-supporting-color, var(--md-sys-color-on-surface-variant));--_weekday-color:var(--md-date-picker-weekday-color, var(--md-sys-color-on-surface));--_weekday-size:24px;--_day-color:var(--md-date-picker-day-color, var(--md-sys-color-on-surface));--_day-outside-color:var(--md-date-picker-day-outside-color, var(--md-sys-color-on-surface-variant, #49454f));--_day-selected-color:var(--md-date-picker-day-selected-color, var(--md-sys-color-on-primary));--_day-selected-bg:var(--md-date-picker-day-selected-bg, var(--md-sys-color-primary));--_today-outline-color:var(--md-date-picker-today-outline-color, var(--md-sys-color-primary));--_action-color:var(--md-date-picker-action-color, var(--md-sys-color-primary));--_menu-color:var(--md-date-picker-menu-color, var(--md-sys-color-surface-container-high));--_scrim-color:var(--md-date-picker-scrim-color, var(--md-sys-color-scrim, #000));--_icon-color:var(--md-date-picker-icon-color, var(--md-sys-color-on-surface-variant));--_panel-width:var(--md-date-picker-panel-width, max(288px, calc(380px + var(--md-sys-density-scale, 0) * 20px)));--_panel-max-block-size:var(--md-date-picker-panel-max-block-size, 524px);--_error-color:var(--md-sys-color-error);--_icon-size:var(--md-date-picker-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_day-size:max(28px, calc(40px + var(--md-sys-density-scale, 0) * 3px));--_year-inline-size:var(--md-date-picker-year-inline-size, max(48px, calc(72px + var(--md-sys-density-scale, 0) * 6px)));--_year-block-size:var(--md-date-picker-year-block-size, max(24px, calc(36px + var(--md-sys-density-scale, 0) * 3px)));--_year-grid-gap:var(--md-date-picker-year-grid-gap, max(4px, calc(12px + var(--md-sys-density-scale, 0) * 2px)));--_year-grid-padding-inline:var(--md-date-picker-year-grid-padding-inline, 30px);--_year-grid-viewport-block-size:var(--md-date-picker-year-grid-viewport-block-size, max(180px, calc(288px + var(--md-sys-density-scale, 0) * 24px)));--_grid-gap:max(2px, calc(6px + var(--md-sys-density-scale, 0) * 1px));--_caret-fade-duration:var(--md-sys-motion-duration-short3, 150ms);--_caret-fade-easing:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));display:inline-block;inline-size:100%;max-inline-size:360px;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);color:var(--_field-text-color);position:relative}:host(.md-date-picker--docked){align-self:flex-start;--_docked-panel-width:var(--md-date-picker-docked-panel-width, max(calc(360px + var(--md-sys-density-scale, 0) * 10px), var(--_panel-width)));--_docked-content-block-size:calc( var(--_weekday-size) + 16px + 6 * var(--_day-size) + 5 * var(--_grid-gap) + 8px )}:host(.md-date-picker--modal){display:contents}:host(.md-date-picker--disabled){pointer-events:none;opacity:0.5}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;overflow-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.md-date-picker__icon{font-size:var(--_icon-size);inline-size:var(--_icon-size);block-size:var(--_icon-size);color:var(--_icon-color);pointer-events:none}.md-date-picker__textfield,.md-date-picker__entry-textfield{display:block;inline-size:100%;--md-text-field-outline-color:var(--_field-color);--md-text-field-input-color:var(--_field-text-color);--md-text-field-label-color:var(--_label-color);--md-text-field-active-indicator-color:var(--_field-focus-color);--md-text-field-supporting-text-color:var(--_field-supporting-color);--md-text-field-icon-color:var(--_icon-color);--md-text-field-container-color:var(--_field-container-color);--md-text-field-container-shape:var(--_field-container-shape);--md-text-field-filled-pill:var(--md-date-picker-field-filled-pill, 0)}:host(.md-date-picker--open) .md-date-picker__textfield{--md-text-field-active-indicator-color:var(--_field-focus-color);--md-text-field-icon-color:var(--_field-focus-color)}.md-date-picker__docked-anchor{position:relative;display:block;inline-size:100%}.md-date-picker__modal{position:fixed;inset:0;z-index:var(--md-sys-z-index-modal, 1000);display:flex;align-items:center;justify-content:center;padding:var(--md-sys-spacing-inset-lg, 16px)}.md-date-picker__scrim{position:absolute;inset:0;background:color-mix(in srgb, var(--_scrim-color) 32%, transparent);animation:md-date-picker-fade-in var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-standard, ease)}.md-date-picker__modal--closing .md-date-picker__scrim{animation:md-date-picker-fade-out var(--_panel-bloom-out-duration) var(--md-sys-motion-easing-standard, ease) forwards}.md-date-picker__panel{position:relative;display:flex;flex-direction:column;inline-size:var(--_panel-width);max-inline-size:calc(100vw - 32px);max-block-size:min( var(--_panel-max-block-size), calc(100vh - 32px), calc(100dvh - 32px) );overflow:hidden;background:var(--_container-color);color:var(--_field-text-color);border-radius:var(--_container-shape);box-shadow:var(--md-sys-elevation-3, 0 4px 8px 3px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3))}.md-date-picker__panel:not(.md-date-picker__panel--docked):not(.md-date-picker__panel--input-mode){--_container-color:var(--md-date-picker-container-color, var(--md-sys-color-surface-container-high));block-size:auto}.md-date-picker__panel--input-mode:not(.md-date-picker__panel--docked){--_container-color:var(--md-date-picker-container-color, var(--md-sys-color-surface-container-high));block-size:auto;min-block-size:0}.md-date-picker__panel:not(.md-date-picker__panel--docked):not(.md-date-picker__panel--bloom-out){animation:md-date-picker-scale var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));transform-origin:center top}.md-date-picker__panel--docked.md-date-picker__panel--bloom-in:not(.md-date-picker__panel--bloom-out){animation:md-date-picker-selection-bloom-in var(--_selection-bloom-duration) var(--_selection-bloom-easing) both}.md-date-picker__panel--bloom-out{animation:md-date-picker-panel-bloom-out var(--_panel-bloom-out-duration) var(--_selection-bloom-out-easing) both;transform-origin:center top}:host(.md-date-picker--panel-closing) .md-date-picker__panel{pointer-events:none}.md-date-picker__panel:focus,.md-date-picker__panel:focus-visible{outline:none}.md-date-picker__panel--docked{--_container-color:var(--md-sys-color-surface-container-high);position:absolute;inset-block-start:4px;inset-block-end:auto;inset-inline-start:0;inset-inline-end:auto;inline-size:var(--_docked-panel-width);max-inline-size:calc(100vw - 32px);block-size:auto;min-block-size:0;max-block-size:min( var(--_panel-max-block-size), calc(100vh - 32px), calc(100dvh - 32px) );display:flex;flex-direction:column;overflow:visible;box-shadow:none;border-radius:var(--md-sys-shape-corner-large, 16px);z-index:var(--md-sys-z-index-popup, 900)}.md-date-picker__panel--docked.md-date-picker__panel--align-end{inset-inline-start:auto;inset-inline-end:0}.md-date-picker__panel--docked.md-date-picker__panel--placement-above{inset-block-start:auto;inset-block-end:4px}.md-date-picker__docked-popup{position:absolute;inset-block-start:100%;inset-block-end:auto;inset-inline-start:0;inline-size:100%}.md-date-picker__docked-popup--above{inset-block-start:auto;inset-block-end:100%}:host{--_docked-origin-inline-start:left;--_docked-origin-inline-end:right}:host([dir='rtl']),:host-context([dir='rtl']){--_docked-origin-inline-start:right;--_docked-origin-inline-end:left}.md-date-picker__panel--docked.md-date-picker__panel--bloom-in:not(.md-date-picker__panel--bloom-out){transform-origin:top var(--_docked-origin-inline-start)}.md-date-picker__panel--docked.md-date-picker__panel--align-end.md-date-picker__panel--bloom-in:not(.md-date-picker__panel--bloom-out){transform-origin:top var(--_docked-origin-inline-end)}.md-date-picker__panel--docked.md-date-picker__panel--placement-above.md-date-picker__panel--bloom-in:not(.md-date-picker__panel--bloom-out){transform-origin:bottom var(--_docked-origin-inline-start)}.md-date-picker__panel--docked.md-date-picker__panel--placement-above.md-date-picker__panel--align-end.md-date-picker__panel--bloom-in:not(.md-date-picker__panel--bloom-out){transform-origin:bottom var(--_docked-origin-inline-end)}.md-date-picker__panel--docked.md-date-picker__panel--bloom-out{transform-origin:top var(--_docked-origin-inline-start)}.md-date-picker__panel--docked.md-date-picker__panel--align-end.md-date-picker__panel--bloom-out{transform-origin:top var(--_docked-origin-inline-end)}.md-date-picker__panel--docked.md-date-picker__panel--placement-above.md-date-picker__panel--bloom-out{transform-origin:bottom var(--_docked-origin-inline-start)}.md-date-picker__panel--docked.md-date-picker__panel--placement-above.md-date-picker__panel--align-end.md-date-picker__panel--bloom-out{transform-origin:bottom var(--_docked-origin-inline-end)}.md-date-picker__header{display:flex;flex-direction:column;gap:0;padding-block-start:var(--md-sys-spacing-inset-lg, 16px);padding-block-end:var(--md-sys-spacing-inset-md, 12px);padding-inline-start:var(--md-sys-spacing-inset-xl, 24px);padding-inline-end:var(--md-sys-spacing-inset-md, 12px);background-color:var(--_header-color);border-block-end:1px solid var(--md-sys-color-outline-variant);flex:none}.md-date-picker__header-supporting{font-family:var(--md-sys-typescale-label-medium-font-family, Roboto, sans-serif);font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-medium-font-weight, 500);line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);color:var(--_supporting-color);padding-block-end:max(4px, calc(36px + var(--md-sys-density-scale, 0) * 6px))}.md-date-picker__header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-gap-sm, 8px);min-block-size:max(28px, calc(40px + var(--md-sys-density-scale, 0) * 3px))}.md-date-picker__headline{flex:1 1 auto;min-inline-size:0;font-family:var(--md-sys-typescale-headline-large-font-family, Roboto, sans-serif);font-size:max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px));font-weight:var(--md-sys-typescale-headline-large-font-weight, 400);line-height:max(30px, calc(40px + var(--md-sys-density-scale, 0) * 2.5px));letter-spacing:var(--md-sys-typescale-headline-large-letter-spacing, 0px);color:var(--_headline-color)}.md-date-picker__mode-toggle{flex:none;--md-icon-button-container-width:48px;--md-icon-button-container-height:48px}.md-date-picker__body{padding-block-start:var(--md-sys-spacing-inset-md, 12px);padding-inline:12px;padding-block-end:0;display:flex;flex-direction:column}.md-date-picker__panel:not(.md-date-picker__panel--docked) .md-date-picker__body{flex:1 1 auto;min-block-size:0;overflow:hidden}.md-date-picker__nav{display:flex;align-items:center;justify-content:space-between;min-block-size:48px;padding-inline:var(--md-sys-spacing-inset-xs, 4px);margin-block-end:var(--md-sys-spacing-inset-xs, 4px);flex:none}.md-date-picker__nav-buttons{display:flex;gap:var(--md-sys-spacing-gap-xs, 4px);align-items:center}.md-date-picker__nav md-icon-button.md-date-picker__nav-chevron{flex:none}.md-date-picker__body--no-actions{padding-block-end:max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px))}.md-date-picker__body--docked,.md-date-picker__body--docked.md-date-picker__body--docked-selection{padding-block-start:max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px));padding-inline:12px;padding-block-end:0}.md-date-picker__body--docked.md-date-picker__body--no-actions{padding-block-end:max( 0px, calc( max(4px, calc(20px + var(--md-sys-density-scale, 0) * 2px)) - var(--md-sys-spacing-inset-sm, 8px) ) );display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0;overflow:hidden}.md-date-picker__docked-below-nav{flex:none;display:flex;align-items:center;inline-size:100%;box-sizing:border-box}.md-date-picker__selection-divider{flex:none;inline-size:100%;margin:0;padding:0;border:none;box-sizing:border-box;display:flex;align-items:center}.md-date-picker__body--docked-selection .md-date-picker__docked-below-nav,.md-date-picker__body--docked-selection .md-date-picker__selection-menu-wrap{margin-inline:-12px;inline-size:calc(100% + 24px)}.md-date-picker__selection-divider::before{content:'';display:block;inline-size:100%;block-size:1px;background-color:var(--md-sys-color-outline-variant)}.md-date-picker__body--docked-selection .md-date-picker__selection-divider{animation:md-date-picker-selection-divider-in var(--_selection-bloom-duration) var(--_selection-bloom-easing) both}.md-date-picker__body--docked-selection>.md-date-picker__selection-menu-wrap{box-sizing:border-box;flex:1 1 auto;block-size:auto;min-block-size:0;max-block-size:100%;border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px);transform-origin:center top}.md-date-picker__body--docked-selection>.md-date-picker__selection-menu-wrap:not(.md-date-picker__selection-menu-wrap--bloom-out){animation:md-date-picker-selection-bloom-in var(--_selection-bloom-duration) var(--_selection-bloom-easing) both}.md-date-picker__selection-menu-wrap--bloom-out{animation:md-date-picker-selection-bloom-out var(--_selection-bloom-out-duration) var(--_selection-bloom-out-easing) both;transform-origin:center top}.md-date-picker__body--docked>.md-date-picker__calendar{box-sizing:border-box;flex:1 1 auto;block-size:auto;min-block-size:0;max-block-size:100%;overflow-x:clip;overflow-y:auto}.md-date-picker__body--docked .md-date-picker__calendar--docked-bloom-in{animation:md-date-picker-docked-calendar-bloom-in var(--_calendar-bloom-duration) var(--_selection-bloom-easing) both;transform-origin:center top}.md-date-picker__panel:not(.md-date-picker__panel--docked) .md-date-picker__calendar--content-bloom-in{animation:md-date-picker-docked-calendar-bloom-in var(--_calendar-bloom-duration) var(--_selection-bloom-easing) both;transform-origin:center top}.md-date-picker__docked-nav{--_nav-chevron-size:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--_nav-focus-ring-gap:5px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--md-sys-spacing-gap-lg, 16px);inline-size:100%;padding-block-start:0;padding-inline:0;padding-block-end:30px;flex:none;box-sizing:border-box}.md-date-picker__docked-nav .md-date-picker__nav-group{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--md-sys-spacing-gap-xs, 4px);flex:0 0 auto;min-inline-size:0;box-sizing:border-box}.md-date-picker__docked-nav md-icon-button.md-date-picker__directional-icon{flex:none;flex-shrink:0}.md-date-picker__docked-nav .md-date-picker__nav-group--month{justify-content:flex-start}.md-date-picker__docked-nav .md-date-picker__nav-group--year{justify-content:flex-end}.md-date-picker__nav-chevron-slot{position:relative;flex:none;flex-shrink:0;inline-size:var(--_nav-chevron-size, 40px);block-size:var(--_nav-chevron-size, 40px)}.md-date-picker__nav-chevron-slot>md-tooltip,.md-date-picker__nav-chevron-slot>.md-date-picker__nav-chevron-spacer{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--_caret-fade-duration) var(--_caret-fade-easing), visibility 0s linear var(--_caret-fade-duration)}.md-date-picker__nav-chevron-slot>md-tooltip.md-date-picker__nav-chevron--visible,.md-date-picker__nav-chevron-slot>.md-date-picker__nav-chevron-spacer.md-date-picker__nav-chevron--visible{opacity:1;visibility:visible;transition:opacity var(--_caret-fade-duration) var(--_caret-fade-easing), visibility 0s linear 0s}.md-date-picker__nav-chevron-slot>md-tooltip{display:block}.md-date-picker__nav-chevron-slot>md-tooltip.md-date-picker__nav-chevron--visible{pointer-events:auto;z-index:1}.md-date-picker__nav-chevron-spacer{display:block;inline-size:100%;block-size:100%}.md-date-picker__icon-button{display:inline-flex;align-items:center;justify-content:center;inline-size:40px;block-size:40px;border:none;border-radius:var(--md-sys-shape-corner-full, 9999px);background:transparent;cursor:pointer;position:relative;flex:none}.md-date-picker__icon-button:hover{background:color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent)}.md-date-picker__icon-button:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:2px}.md-date-picker__menu-button{flex:none;--md-button-label-color:var(--md-sys-color-on-surface-variant);--md-button-icon-size:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));--_state-layer-color:var(--md-sys-color-on-surface-variant)}.md-date-picker__menu-button.md-button--sm{gap:2px}.md-date-picker__menu-button.md-button--selected{--md-button-container-color:var(--md-sys-color-secondary-container);--md-button-label-color:var(--md-sys-color-on-secondary-container);--_state-layer-color:var(--md-sys-color-on-secondary-container)}.md-date-picker__menu-button::part(label){font-family:var(--md-sys-typescale-label-large-font-family, Roboto, sans-serif);font-size:max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-label-large-font-weight, 500);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-label-large-letter-spacing, 0.1px)}.md-date-picker__menu-button-tooltip{--md-tooltip-plain-max-inline-size:max-content}.md-date-picker__menu-caret{position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:none;inline-size:20px;block-size:20px}.md-date-picker__menu-caret-glyph{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;font-size:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));line-height:1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--_caret-fade-duration) var(--_caret-fade-easing), visibility 0s linear var(--_caret-fade-duration)}.md-date-picker__menu-caret-glyph--visible{opacity:1;visibility:visible;transition:opacity var(--_caret-fade-duration) var(--_caret-fade-easing), visibility 0s linear 0s}.md-date-picker__selection-menu-wrap{inline-size:100%;display:flex;flex-direction:column;flex:0 0 auto;overflow:hidden;margin-block:0;box-sizing:border-box;background-color:var(--_container-color)}.md-date-picker__selection-menu{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0;inline-size:100%;block-size:100%;pointer-events:auto;z-index:auto;--md-menu-min-width:100%;--md-menu-max-width:none;--md-menu-inline-surface-color:var(--_container-color);--md-menu-inline-fill-radius-end:var(--md-sys-shape-corner-large, 16px)}.md-date-picker__selection-menu md-menu-item{--md-menu-item-gap:var(--md-sys-spacing-gap-lg, 16px);padding-inline-start:var(--md-sys-spacing-inset-lg, 16px)}.md-date-picker__selection-menu md-menu-item::part(headline){font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-large-font-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 24px);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing, 0.5px);color:var(--md-sys-color-on-surface)}.md-date-picker__calendar{padding-block-end:var(--md-sys-spacing-inset-sm, 8px);overflow-x:clip}.md-date-picker__panel:not(.md-date-picker__panel--docked) .md-date-picker__calendar{flex:1 1 auto;display:flex;flex-direction:column;min-block-size:0;padding-block-end:0;overflow:hidden}.md-date-picker__panel:not(.md-date-picker__panel--docked) .md-date-picker__weekdays{flex:none}.md-date-picker__weekdays,.md-date-picker__grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:var(--_grid-gap);justify-items:center}.md-date-picker__weekdays{padding-block-end:var(--md-sys-spacing-inset-lg, 16px)}.md-date-picker__weekday-tooltip{display:flex;align-items:center;justify-content:center;inline-size:var(--_day-size);cursor:pointer}.md-date-picker__weekday{display:flex;align-items:center;justify-content:center;inline-size:var(--_day-size);block-size:var(--_weekday-size);cursor:pointer;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-large-font-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 24px);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing, 0.5px);color:var(--_weekday-color)}.md-date-picker__grid{grid-auto-rows:var(--_day-size)}.md-date-picker__week{display:contents}.md-date-picker__grid--slide-forward{animation:md-date-picker-grid-slide-forward var(--_grid-slide-duration) var(--_grid-slide-easing) both}.md-date-picker__grid--slide-backward{animation:md-date-picker-grid-slide-backward var(--_grid-slide-duration) var(--_grid-slide-easing) both}@keyframes md-date-picker-grid-slide-forward{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes md-date-picker-grid-slide-backward{from{transform:translateX(-100%)}to{transform:translateX(0)}}:host-context([dir='rtl']) .md-date-picker__grid--slide-forward,:host([dir='rtl']) .md-date-picker__grid--slide-forward{animation-name:md-date-picker-grid-slide-forward-rtl}:host-context([dir='rtl']) .md-date-picker__grid--slide-backward,:host([dir='rtl']) .md-date-picker__grid--slide-backward{animation-name:md-date-picker-grid-slide-backward-rtl}@keyframes md-date-picker-grid-slide-forward-rtl{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes md-date-picker-grid-slide-backward-rtl{from{transform:translateX(100%)}to{transform:translateX(0)}}.md-date-picker__day,.md-date-picker__year{--md-button-label-color:var(--_day-color);--md-button-container-color:transparent;position:relative;padding:0;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);font-size:max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));font-weight:var(--md-sys-typescale-body-large-font-weight, 400);line-height:var(--md-sys-typescale-body-large-line-height, 24px);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing, 0.5px);font-variant-numeric:tabular-nums}.md-date-picker__day::part(label),.md-date-picker__year::part(label){position:relative;z-index:1;font:inherit;font-variant-numeric:tabular-nums}.md-date-picker__day:focus-visible,.md-date-picker__year:focus-visible{outline-offset:-1px}.md-date-picker__day{--md-button-min-width:var(--_day-size);--md-button-width:var(--_day-size);--md-button-min-height:var(--_day-size);--md-button-height:var(--_day-size)}.md-date-picker__day--today{--md-button-container-shape:var(--md-date-picker-day-today-shape, calc(var(--_day-size) / 2));--md-button-label-color:var(--_today-outline-color);box-shadow:0 0 0 1px var(--_today-outline-color)}.md-date-picker__day--outside{--md-button-label-color:var(--_day-outside-color)}.md-date-picker__day--selected,.md-date-picker__year--selected{--md-button-container-color:var(--_day-selected-bg);--md-button-label-color:var(--_day-selected-color);--md-button-container-shape:var(--md-date-picker-day-selected-shape)}.md-date-picker__day--selected.md-date-picker__day--today{box-shadow:none}.md-date-picker__day--disabled,.md-date-picker__year--disabled{--md-button-label-color:color-mix( in srgb, var(--_day-color) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent )}.md-date-picker__year-grid-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0;overflow:hidden;transform-origin:center top}.md-date-picker__body--year-view .md-date-picker__year-grid-wrap{margin-inline:-12px;inline-size:calc(100% + 24px);box-sizing:border-box}.md-date-picker__panel:not(.md-date-picker__panel--docked) .md-date-picker__year-grid-wrap:not(.md-date-picker__year-grid-wrap--bloom-out){animation:md-date-picker-selection-bloom-in var(--_selection-bloom-duration) var(--_selection-bloom-easing) both}.md-date-picker__year-grid-wrap--bloom-out{animation:md-date-picker-selection-bloom-out var(--_selection-bloom-out-duration) var(--_selection-bloom-out-easing) both}.md-date-picker__year-grid-scroll{flex:1 1 auto;min-block-size:0;overflow-y:auto}.md-date-picker__panel:not(.md-date-picker__panel--docked) .md-date-picker__year-grid-scroll{min-block-size:var(--_year-grid-viewport-block-size);max-block-size:var(--_year-grid-viewport-block-size)}.md-date-picker__year-grid{display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:var(--_year-block-size);gap:var(--_year-grid-gap);padding-block-start:8px;padding-inline:var(--_year-grid-padding-inline);padding-block-end:16px;align-content:start}.md-date-picker__year-row{display:contents}.md-date-picker__panel:not(.md-date-picker__panel--docked):not(.md-date-picker__panel--input-mode) .md-date-picker__entry{flex:1 1 auto;min-block-size:0;overflow-y:auto;padding:var(--md-sys-spacing-inset-lg, 16px) var(--md-sys-spacing-inset-xl, 24px) var(--md-sys-spacing-inset-sm, 8px)}.md-date-picker__year{--md-button-min-width:var(--_year-inline-size);--md-button-width:var(--_year-inline-size);--md-button-min-height:var(--_year-block-size);--md-button-height:var(--_year-block-size)}.md-date-picker__year:nth-child(3n+1){justify-self:start}.md-date-picker__year:nth-child(3n+2){justify-self:center}.md-date-picker__year:nth-child(3n){justify-self:end}.md-date-picker__entry{display:flex;flex-wrap:wrap;gap:var(--md-sys-spacing-gap-lg, 16px);padding:0;inline-size:100%}.md-date-picker__body--input-mode{padding-block-start:var(--md-sys-spacing-inset-xl, 24px);padding-inline:var(--md-sys-spacing-inset-xl, 24px);padding-block-end:var(--md-sys-spacing-inset-sm, 8px);flex:none}.md-date-picker__entry-error{flex-basis:100%;font-size:max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));color:var(--_error-color)}.md-date-picker__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--md-sys-spacing-gap-sm, 8px);min-block-size:max(28px, calc(40px + var(--md-sys-density-scale, 0) * 3px));padding-block:var(--md-sys-spacing-inset-sm, 8px) var(--md-sys-spacing-inset-md, 12px);padding-inline:12px;flex:none}.md-date-picker__action-btn{--md-button-label-color:var(--_action-color)}.md-date-picker__action-btn--primary{--md-button-label-color:var(--_action-color)}:host-context([dir='rtl']) .md-date-picker__directional-icon .md-date-picker__icon,:host([dir='rtl']) .md-date-picker__directional-icon .md-date-picker__icon{transform:scaleX(-1)}:host-context([dir='rtl']) md-icon-button.md-date-picker__directional-icon,:host([dir='rtl']) md-icon-button.md-date-picker__directional-icon{transform:scaleX(-1)}::slotted([slot='leading-icon']){display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_icon-size);block-size:var(--_icon-size);font-size:var(--_icon-size);color:var(--_icon-color);fill:currentColor;pointer-events:none}:host([data-theme='dark']),:host-context([data-theme='dark']){--_container-color:var(--md-date-picker-container-color, var(--md-sys-color-surface));--_header-color:var(--md-date-picker-header-color, var(--md-sys-color-surface-container-high))}@keyframes md-date-picker-selection-bloom-in{from{opacity:0;transform:translateY(8px) scale(0.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes md-date-picker-selection-bloom-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(4px) scale(0.96)}}@keyframes md-date-picker-selection-divider-in{from{opacity:0}to{opacity:1}}@keyframes md-date-picker-docked-calendar-bloom-in{from{opacity:0;transform:translateY(8px) scale(0.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes md-date-picker-fade-in{from{opacity:0}}@keyframes md-date-picker-fade-out{from{opacity:1}to{opacity:0}}@keyframes md-date-picker-scale{from{opacity:0;transform:scale(0.9)}}@keyframes md-date-picker-panel-bloom-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(4px) scale(0.96)}}@media (prefers-reduced-motion: reduce){.md-date-picker__scrim,.md-date-picker__modal--closing .md-date-picker__scrim,.md-date-picker__panel:not(.md-date-picker__panel--docked),.md-date-picker__panel--docked.md-date-picker__panel--bloom-in,.md-date-picker__panel--bloom-out,.md-date-picker__body--docked-selection .md-date-picker__selection-divider,.md-date-picker__body--docked-selection>.md-date-picker__selection-menu-wrap:not(.md-date-picker__selection-menu-wrap--bloom-out),.md-date-picker__selection-menu-wrap--bloom-out,.md-date-picker__panel:not(.md-date-picker__panel--docked) .md-date-picker__year-grid-wrap:not(.md-date-picker__year-grid-wrap--bloom-out),.md-date-picker__year-grid-wrap--bloom-out,.md-date-picker__calendar--docked-bloom-in,.md-date-picker__calendar--content-bloom-in,.md-date-picker__grid--slide-forward,.md-date-picker__grid--slide-backward{animation:none}.md-date-picker__nav-chevron-slot>md-tooltip,.md-date-picker__nav-chevron-slot>.md-date-picker__nav-chevron-spacer,.md-date-picker__menu-caret-glyph{transition:none}}:host([density='-1']){--md-sys-density-scale:-1}:host([density='-2']){--md-sys-density-scale:-2}:host([density='-3']){--md-sys-density-scale:-3}:host([density='-4']){--md-sys-density-scale:-4}`;let B=0;const q=450;const O=200;const R=200;const K=300;const U=3;const H=5;const X=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.mdChange=i(this,"mdChange",7);this.mdSelected=i(this,"mdSelected",7);this.mdInput=i(this,"mdInput",7);this.mdOpen=i(this,"mdOpen",7);this.mdClose=i(this,"mdClose",7);this.mdCancel=i(this,"mdCancel",7);this.mdViewChange=i(this,"mdViewChange",7);this.mdMenuOpen=i(this,"mdMenuOpen",7);this.mdMenuSelect=i(this,"mdMenuSelect",7);this.mdModeChange=i(this,"mdModeChange",7);this.mdValidityChange=i(this,"mdValidityChange",5);this.internals=this.attachInternals();this.valueMissingLabel="Please choose a date.";this.reserveSupportingSpace=false;this.customValidityMessage="";this.defaultValue="";this.variant="modal-input";this.value="";this.label="Date";this.placeholder="";this.min="";this.max="";this.open=false;this.disabled=false;this.required=false;this.clearable=false;this.clearLabel="Clear date";this.error=false;this.errorText="";this.supportingText="";this.locale="";this.dateSeparator="";this.fieldVariant="outlined";this.firstDayOfWeek=-1;this.headline="Select date";this.cancelLabel="Cancel";this.okLabel="OK";this.selectDateLabel="Select date";this.enterDatesLabel="Enter dates";this.invalidDateLabel="Invalid date";this.previousMonthLabel="Previous month";this.nextMonthLabel="Next month";this.previousYearLabel="Previous year";this.nextYearLabel="Next year";this.chooseMonthLabel="Choose month";this.chooseYearLabel="Choose year";this.chooseMonthYearLabel="Choose a different month and year";this.chooseMonthAndYearLabel="Choose month and year";this.toggleCalendarLabel="Switch to calendar input";this.toggleTextLabel="Switch to text input";this.openCalendarLabel="Open calendar";this.closeCalendarLabel="Close calendar";this.calendarIcon="calendar_today";this.yearGridLabel="Year";this.scrimDismissible=true;this.outsideClickDismissible=true;this.commitOnSelect=false;this.name="";this.density=0;this.focused=false;this.inputDraft="";this.viewYear=(new Date).getFullYear();this.viewMonth=(new Date).getMonth();this.viewMode="calendar";this.inputMode=false;this.focusedDate=new Date;this.pendingDate=null;this.hasSlottedHeader=false;this.hasSlottedActions=false;this.hasSlottedLeading=false;this.hasSlottedCalendarIcon=false;this.monthMenuOpen=false;this.yearMenuOpen=false;this.selectionMenuClosing=null;this.dockedCalendarBloom=false;this.gridSlideDirection=null;this.yearViewClosing=false;this.modalCalendarBloom=false;this.panelClosing=false;this.dockedPanelAlign="start";this.dockedPanelPlacement="below";this.dockedPanelMaxBlockSize=null;this.uid=`md-dp-${++B}`;this.entryInputShouldFocus=false;this.restoreFocusEl=null;this.gridShouldFocus=false;this.menuShouldFocus=null;this.menuRestoreFocus=null;this.yearGridShouldScroll=false;this.yearListMinYear=null;this.yearListMaxYear=null;this.panelPointerEngaged=false;this.closingFromDismiss=false;this.dockedPositionCleanup=null;this.dockedPositionRafId=0;this.dockedPositionRafAttempts=0;this.lastSelectedEmitValue=null;this.onFieldInput=e=>{const t=e.target.value;this.inputDraft=t;this.mdInput.emit({value:t})};this.onFieldCommit=()=>{const e=this.inputDraft.trim();if(!e){this.value="";this.inputDraft="";this.error=false;this.errorText="";this.emitChange();this.syncTextFieldDisplay();return}const t=S(e,this.locale,this.dateSeparator||undefined);if(!t||this.isDisabledDate(t)){this.error=true;this.errorText=this.errorText||(this.invalidDateLabel??"Invalid date");return}this.value=v(t);this.inputDraft=this.formatField(t);this.error=false;this.errorText="";this.syncViewToValue();this.emitChange();this.syncTextFieldDisplay()};this.onGridSlideAnimationEnd=e=>{if(e.target!==e.currentTarget)return;const t=e.animationName??"";if(!t.includes("md-date-picker-grid-slide"))return;this.gridSlideDirection=null};this.toggleMonthMenu=()=>{void this.toggleMonthMenuAsync()};this.toggleYearMenu=()=>{void this.toggleYearMenuAsync()};this.onMonthMenuClose=()=>{if(!this.monthMenuOpen)return;void this.closeDockedSelectionMenu("month",{bloomCalendar:true,restoreFocus:true})};this.onYearMenuClose=()=>{if(!this.yearMenuOpen)return;void this.closeDockedSelectionMenu("year",{bloomCalendar:true,restoreFocus:true})};this.toggleYearView=()=>{if(this.viewMode==="year"){void this.closeYearViewAnimated()}else{this.openYearView()}};this.toggleInputMode=()=>{if(this.inputMode){this.commitDialogInput();if(this.error)return}else{this.inputDraft=this.pendingDate?this.formatField(this.pendingDate):""}this.inputMode=!this.inputMode;this.viewMode="calendar";this.emitModeChange(this.inputMode?"input":"calendar");if(this.inputMode){this.entryInputShouldFocus=true}};this.onPanelMouseDown=e=>{if(e.button!==0||!this.open||!this.panelEl)return;if(!this.shouldPanelClaimFocus(e.target))return;this.panelPointerEngaged=true;if(this.viewMode==="calendar"&&!this.inputMode&&!this.monthMenuOpen&&!this.yearMenuOpen){this.gridShouldFocus=true}};this.handleDayKeyDown=e=>{if(e.defaultPrevented)return;this.handleCalendarKeyDown(e)};this.handleCalendarKeyDown=e=>{if(e.defaultPrevented)return;if(this.isDockedMenuToggleKey(e)){const t=e.key.toLowerCase();if(t==="m"){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();this.toggleMonthMenu();return}if(t==="y"){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();this.toggleYearMenu();return}}let t=null;switch(this.resolveNavigationKey(e)){case"ArrowRight":t=E(this.focusedDate,1);break;case"ArrowLeft":t=E(this.focusedDate,-1);break;case"ArrowDown":t=E(this.focusedDate,7);break;case"ArrowUp":t=E(this.focusedDate,-7);break;case"Home":t=new Date(this.focusedDate.getFullYear(),this.focusedDate.getMonth(),1);break;case"End":t=new Date(this.focusedDate.getFullYear(),this.focusedDate.getMonth(),P(this.focusedDate.getFullYear(),this.focusedDate.getMonth()));break;case"PageUp":t=T(this.focusedDate,e.shiftKey?-12:-1);break;case"PageDown":t=T(this.focusedDate,e.shiftKey?12:1);break;case"Enter":{if(!this.isDayGridKeyTarget(e.target))return;e.preventDefault();if(this.isDisabledDate(this.focusedDate))return;this.selectDay({date:this.focusedDate,outOfMonth:false});this.commit();return}case" ":{if(!this.isDayGridKeyTarget(e.target))return;e.preventDefault();this.selectDay({date:this.focusedDate,outOfMonth:false});return}default:return}e.preventDefault();const i=this.viewYear;const r=this.viewMonth;this.focusedDate=N(t,this.min,this.max);const a=this.resolveNavigationKey(e);if((a==="PageUp"||a==="PageDown")&&(this.focusedDate.getFullYear()!==i||this.focusedDate.getMonth()!==r)){this.setGridSlideDirection(a==="PageDown"?1:-1)}this.viewYear=this.focusedDate.getFullYear();this.viewMonth=this.focusedDate.getMonth();this.gridShouldFocus=true};this.onPanelKeyDown=e=>{if(e.key==="Escape"){e.preventDefault();if(this.isDocked&&(this.monthMenuOpen||this.yearMenuOpen)){this.closeMenus(null,true);return}this.requestDismiss();return}if(this.canHandleCalendarKeyDown(e,this.resolveCalendarKeyTarget(e))){this.handleCalendarKeyDown(e);return}if(e.key==="Tab"&&!this.isDocked){this.trapTab(e)}};this.textFieldKeyDown=e=>{if(e.key!=="Enter")return;if(e.defaultPrevented)return;e.preventDefault();e.stopPropagation();this.syncInputDraftFromField(e.target);this.onFieldCommit()};this.entryTextFieldKeyDown=e=>{if(e.key!=="Enter"||!this.inputMode)return;if(e.defaultPrevented)return;e.preventDefault();e.stopPropagation();this.syncInputDraftFromField(e.target);this.commitDialogInput();if(this.error)return;this.commit()};this.lastValidityKey=null}get hasField(){return this.variant!=="modal"}get isDocked(){return this.variant==="docked"}get triggerExpanded(){return this.open&&!this.panelClosing}connectedCallback(){this.syncViewToValue()}componentWillLoad(){this.defaultValue=this.value;this.syncFormValue();this.hasSlottedHeader=!!this.el.querySelector('[slot="header"]');this.hasSlottedActions=!!this.el.querySelector('[slot="actions"]');this.hasSlottedLeading=!!this.el.querySelector('[slot="leading-icon"]');this.hasSlottedCalendarIcon=!!this.el.querySelector('[slot="calendar-icon"]');if(this.value){this.seedFieldDraftFromValue()}if(this.open){this.seedPending();this.lockScroll();this.gridShouldFocus=true}}componentDidLoad(){const e=this.el.shadowRoot;if(!e)return;const t=(t,i)=>{const r=e.querySelector(`slot[name="${t}"]`);if(!r)return;const a=()=>i(r.assignedElements().length>0);r.addEventListener("slotchange",a);a()};t("header",(e=>this.hasSlottedHeader=e));t("actions",(e=>this.hasSlottedActions=e));t("leading-icon",(e=>this.hasSlottedLeading=e));t("calendar-icon",(e=>this.hasSlottedCalendarIcon=e))}disconnectedCallback(){this.unlockScroll();this.unbindDockedPositionListeners()}getDockedViewportMargin(){return 16}resetDockedPanelPosition(){this.dockedPanelAlign="start";this.dockedPanelPlacement="below";this.dockedPanelMaxBlockSize=null;this.dockedPositionRafAttempts=0;if(this.dockedPositionRafId){cancelAnimationFrame(this.dockedPositionRafId);this.dockedPositionRafId=0}}resolveDockedPanelBlockSize(e){const t=e.style.getPropertyValue("max-block-size");const i=e.style.getPropertyPriority("max-block-size");e.style.setProperty("max-block-size","none","important");const r=e.offsetHeight||e.getBoundingClientRect().height;if(t){e.style.setProperty("max-block-size",t,i)}else{e.style.removeProperty("max-block-size")}return r}isRtl(){if(typeof window==="undefined")return false;return getComputedStyle(this.el).direction==="rtl"}projectedHorizontalRect(e,t,i){const r=this.isRtl();if(i==="start"){if(r){return{left:e.right-t,right:e.right}}return{left:e.left,right:e.left+t}}if(r){return{left:e.left,right:e.left+t}}return{left:e.right-t,right:e.right}}positionDockedPanel(){if(!this.isDocked||!this.open||this.panelClosing)return;const t=this.dockedAnchorEl??this.el.shadowRoot?.querySelector(".md-date-picker__docked-anchor");const i=this.panelEl;if(!t||!i)return;const r=t.getBoundingClientRect();const a=i.offsetWidth||i.getBoundingClientRect().width;const n=i.offsetHeight||i.getBoundingClientRect().height;if(a===0||n===0){if(typeof requestAnimationFrame==="function"&&this.dockedPositionRafAttempts<e.DOCKED_POSITION_RAF_MAX){this.dockedPositionRafAttempts+=1;cancelAnimationFrame(this.dockedPositionRafId);this.dockedPositionRafId=requestAnimationFrame((()=>{this.dockedPositionRafId=0;this.positionDockedPanel()}))}return}this.dockedPositionRafAttempts=0;const s=this.resolveDockedPanelBlockSize(i);const o=this.getDockedViewportMargin();const d=window.innerWidth;const l=window.innerHeight;const c=4;let h="start";let m="below";let p=null;const u=this.projectedHorizontalRect(r,a,"start");if(u.right>d-o){const e=this.projectedHorizontalRect(r,a,"end");if(e.left>=o){h="end"}}const f=this.projectedHorizontalRect(r,a,h);if(f.left<o){const e=this.projectedHorizontalRect(r,a,"end");if(e.left>=o){h="end"}}else if(h==="end"){const e=this.projectedHorizontalRect(r,a,"end");if(e.left<o){const e=this.projectedHorizontalRect(r,a,"start");if(e.right<=d-o){h="start"}}}const _=r.bottom+c+s;if(_>l-o){const e=r.top-c-s;if(e>=o){m="above"}else{const e=l-o-r.bottom-c;if(e>0){p=`${Math.floor(e)}px`}}}if(m==="above"){const e=r.top-c-o;if(e>0&&s>e){p=`${Math.floor(e)}px`}}const k=this.dockedPanelAlign!==h||this.dockedPanelPlacement!==m||this.dockedPanelMaxBlockSize!==p;if(k){this.dockedPanelAlign=h;this.dockedPanelPlacement=m;this.dockedPanelMaxBlockSize=p}}bindDockedPositionListeners(){if(this.dockedPositionCleanup||typeof window==="undefined")return;const e=()=>this.positionDockedPanel();window.addEventListener("resize",e,{passive:true});window.addEventListener("scroll",e,{passive:true,capture:true});this.dockedPositionCleanup=()=>{window.removeEventListener("resize",e);window.removeEventListener("scroll",e,{capture:true})}}unbindDockedPositionListeners(){this.dockedPositionCleanup?.();this.dockedPositionCleanup=null}onBoundsChange(){if(!this.open)this.syncViewToValue()}onDateSeparatorChange(){if(this.value){this.seedFieldDraftFromValue()}}onOpenChange(e,t){if(e===t)return;if(e){this.panelClosing=false;this.handleOpen()}else if(!this.closingFromDismiss&&!this.panelClosing){this.open=true;void this.dismissPanel()}else{this.handleClose()}}async show(){if(this.disabled)return;this.open=true}async close(){await this.dismissPanel()}async clear(){if(this.disabled)return;this.value="";this.inputDraft="";this.error=false;this.errorText="";this.emitChange()}async focusInput(){const e=this.el.shadowRoot?.querySelector("md-text-field")?.shadowRoot?.querySelector(".md-text-field__input");if(e){e.focus();return}this.triggerEl?.focus()}get loc(){return this.locale||undefined}resolvedFirstDay(){if(this.firstDayOfWeek>=0&&this.firstDayOfWeek<=6){return this.firstDayOfWeek}return Y(this.locale)}formatHeadline(e){if(!e)return"";return new Intl.DateTimeFormat(this.loc,{weekday:"short",month:"short",day:"numeric"}).format(e)}formatField(e){if(!e)return"";return z(e,this.loc,this.dateSeparator||undefined)}formatMonthYear(e,t){return new Intl.DateTimeFormat(this.loc,{month:"long",year:"numeric"}).format(new Date(e,t,1))}formatFullDate(e){return new Intl.DateTimeFormat(this.loc,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(e)}dateFormatHint(){return D(this.loc,this.dateSeparator||undefined)}syncViewToValue(){const e=F(this.value)??F(this.min)??new Date;this.viewYear=e.getFullYear();this.viewMonth=e.getMonth();this.focusedDate=N(e,this.min,this.max)}seedPending(){this.viewMode="calendar";this.pendingDate=F(this.value);this.seedFieldDraftFromValue();this.syncViewToValue()}handleOpen(){this.restoreFocusEl=typeof document!=="undefined"?document.activeElement??null:null;this.inputMode=this.variant==="modal-input"?false:this.inputMode;this.monthMenuOpen=false;this.yearMenuOpen=false;this.clearYearListRange();this.yearViewClosing=false;this.clearModalCalendarBloom();this.resetDockedPanelPosition();this.seedPending();this.lockScroll();this.mdOpen.emit();this.gridShouldFocus=true;if(this.isDocked){this.bindDockedPositionListeners()}}handleClose(){this.unlockScroll();this.unbindDockedPositionListeners();this.resetDockedPanelPosition();this.panelPointerEngaged=false;this.panelClosing=false;this.clearDockedCalendarBloom();this.clearModalCalendarBloom();this.yearViewClosing=false;this.monthMenuOpen=false;this.yearMenuOpen=false;this.selectionMenuClosing=null;this.clearYearListRange();this.mdClose.emit();const e=this.restoreFocusEl??this.triggerEl??null;if(typeof requestAnimationFrame==="function"){requestAnimationFrame((()=>e?.focus?.()))}else{e?.focus?.()}}async dismissPanel(){if(!this.open||this.panelClosing)return;if(this.isDocked&&(this.monthMenuOpen||this.yearMenuOpen||this.selectionMenuClosing)){await this.closeDockedMenusAnimated(null,false)}if(this.prefersReducedMotion()){this.closingFromDismiss=true;this.open=false;this.closingFromDismiss=false;return}this.panelClosing=true;await this.delay(this.panelBloomOutMs());this.closingFromDismiss=true;this.open=false;this.panelClosing=false;this.closingFromDismiss=false}lockScroll(){if(this.isDocked)return;try{document.body.style.setProperty("overflow","hidden")}catch{}}unlockScroll(){try{document.body.style.removeProperty("overflow")}catch{}}isDisabledDate(e){if(L(e,this.min,this.max))return true;if(this.isDateDisabled&&this.isDateDisabled(e))return true;return false}isDisabledYear(e){const t=F(this.min);const i=F(this.max);if(t&&e<t.getFullYear())return true;if(i&&e>i.getFullYear())return true;return false}emitChange(){const e=F(this.value);this.mdChange.emit({value:this.value,date:e})}emitSelected(e){const t=v(e);if(this.lastSelectedEmitValue===t)return;this.lastSelectedEmitValue=t;this.mdSelected.emit({value:t,date:e});void Promise.resolve().then((()=>{this.lastSelectedEmitValue=null}))}emitViewChange(e){this.mdViewChange.emit({month:this.viewMonth,year:this.viewYear,source:e})}emitMenuOpen(e){this.mdMenuOpen.emit({type:e})}emitMenuSelect(e,t,i){this.mdMenuSelect.emit({type:e,value:t,label:i})}emitModeChange(e){this.mdModeChange.emit({mode:e})}monthLabel(e){return new Intl.DateTimeFormat(this.loc,{month:"long"}).format(new Date(2024,e,1))}selectDay(e){const t=e.date;if(this.isDisabledDate(t))return;this.closeMenus(null,false);this.focusedDate=t;if(e.outOfMonth){this.viewYear=t.getFullYear();this.viewMonth=t.getMonth()}this.pendingDate=t;this.emitSelected(t);if(this.commitOnSelect)this.commit()}commit(){if(this.pendingDate){this.value=v(this.pendingDate);this.inputDraft=this.formatField(this.pendingDate);this.error=false;this.errorText=""}this.emitChange();void this.dismissPanel()}cancel(){this.mdCancel.emit();void this.dismissPanel()}requestDismiss(){this.cancel()}syncInputDraftFromField(e){const t=this.asEventElement(e);if(!t)return;const i=t.closest("input:not([readonly]):not([disabled]), textarea:not([readonly]):not([disabled])");if(i){this.inputDraft=i.value;return}const r=t.closest("md-text-field");if(r){this.inputDraft=r.value??this.inputDraft}}syncTextFieldDisplay(){if(this.variant==="modal")return;const e=this.el.shadowRoot?.querySelector("md-text-field");if(!e)return;e.value=this.inputDraft;const t=e.shadowRoot?.querySelector(".md-text-field__input");if(t){t.value=this.inputDraft}}syncEntryTextFieldDisplay(){if(!this.entryTextFieldEl)return;const e=this.entryTextFieldEl;e.value=this.inputDraft;const t=e.shadowRoot?.querySelector(".md-text-field__input");if(t){t.value=this.inputDraft}}seedFieldDraftFromValue(){const e=F(this.value);this.inputDraft=e?this.formatField(e):""}commitDialogInput(){const e=this.inputDraft.trim();if(!e){this.error=false;this.errorText="";this.pendingDate=null;return}const t=S(e,this.locale,this.dateSeparator||undefined);if(!t||this.isDisabledDate(t)){this.error=true;this.errorText=this.invalidDateLabel??"Invalid date";return}this.error=false;this.errorText="";this.pendingDate=t;this.inputDraft=this.formatField(t);this.syncEntryTextFieldDisplay();this.viewYear=t.getFullYear();this.viewMonth=t.getMonth();this.focusedDate=t}setGridSlideDirection(e){if(this.prefersReducedMotion())return;if(this.monthMenuOpen||this.yearMenuOpen||this.selectionMenuClosing||this.dockedCalendarBloom){return}this.gridSlideDirection=e>0?"forward":"backward"}goToMonth(e,t=false){this.setGridSlideDirection(e);const i=T(new Date(this.viewYear,this.viewMonth,1),e);this.viewYear=i.getFullYear();this.viewMonth=i.getMonth();if(t){this.emitViewChange("chevron-month")}}goToYear(e,t=false){this.setGridSlideDirection(e);this.viewYear+=e;if(this.yearMenuOpen||this.selectionMenuClosing==="year"||this.viewMode==="year"||this.yearViewClosing){this.captureYearListRange()}if(t){this.emitViewChange("chevron-year")}}navActionLabel(e,t){if(e==="month"){return t==="prev"?this.previousMonthLabel??"Previous month":this.nextMonthLabel??"Next month"}return t==="prev"?this.previousYearLabel??"Previous year":this.nextYearLabel??"Next year"}navShortcutKey(e,t){if(e==="month"){return t==="prev"?"Page Up":"Page Down"}return t==="prev"?"Shift+Page Up":"Shift+Page Down"}navTooltipText(e,t){return`${this.navActionLabel(e,t)} (${this.navShortcutKey(e,t)})`}menuShortcutKey(e){return e==="month"?"Shift+M":"Shift+Y"}menuTooltipText(e){if(e==="month"){const t=new Intl.DateTimeFormat(this.loc,{month:"long"}).format(new Date(this.viewYear,this.viewMonth,1));return`${t} · ${this.chooseMonthLabel} (${this.menuShortcutKey(e)})`}return`${this.chooseYearLabel} (${this.menuShortcutKey(e)})`}captureYearListRange(){const e=this.viewYear;this.yearListMinYear=F(this.min)?.getFullYear()??e-100;this.yearListMaxYear=F(this.max)?.getFullYear()??e+100}clearYearListRange(){this.yearListMinYear=null;this.yearListMaxYear=null}getYearListBounds(){if(this.yearListMinYear!=null&&this.yearListMaxYear!=null){return{minYear:this.yearListMinYear,maxYear:this.yearListMaxYear}}const e=this.viewYear;return{minYear:F(this.min)?.getFullYear()??e-100,maxYear:F(this.max)?.getFullYear()??e+100}}closeMenus(e,t){if(this.isDocked){void this.closeDockedMenusAnimated(e,t);return}if(e!=="month"&&this.monthMenuOpen){this.monthMenuOpen=false;if(t)this.restoreMenuFocus(this.monthMenuButtonEl)}if(e!=="year"&&this.yearMenuOpen){this.yearMenuOpen=false;this.clearYearListRange();if(t)this.restoreMenuFocus(this.yearMenuButtonEl)}}async closeDockedSelectionMenu(e,t={}){const{bloomCalendar:i=true,restoreFocus:r=true}=t;const a=e==="month"?this.monthMenuOpen:this.yearMenuOpen;if(!a||this.selectionMenuClosing===e)return;this.selectionMenuClosing=e;await this.delay(this.selectionBloomOutMs());this.selectionMenuClosing=null;if(e==="month"){this.monthMenuOpen=false}else{this.yearMenuOpen=false;this.clearYearListRange()}if(r){this.gridShouldFocus=false;this.menuRestoreFocus=e}else if(i&&!this.monthMenuOpen&&!this.yearMenuOpen){this.gridShouldFocus=true}if(i&&!this.monthMenuOpen&&!this.yearMenuOpen){this.beginDockedCalendarBloom()}else if(this.isDocked&&!this.monthMenuOpen&&!this.yearMenuOpen){this.positionDockedPanel()}}async closeDockedMenusAnimated(e,t){const i=e===null;if(e!=="month"&&this.monthMenuOpen){await this.closeDockedSelectionMenu("month",{bloomCalendar:i,restoreFocus:t})}if(e!=="year"&&this.yearMenuOpen){await this.closeDockedSelectionMenu("year",{bloomCalendar:i,restoreFocus:t})}}openDockedMonthMenu(){this.clearDockedCalendarBloom();this.selectionMenuClosing=null;this.menuRestoreFocus=null;this.yearMenuOpen=false;this.monthMenuOpen=true;this.menuShouldFocus="month";this.emitMenuOpen("month")}openDockedYearMenu(){this.clearDockedCalendarBloom();this.selectionMenuClosing=null;this.menuRestoreFocus=null;this.monthMenuOpen=false;this.captureYearListRange();this.yearMenuOpen=true;this.menuShouldFocus="year";this.emitMenuOpen("year")}isDockedMonthMenuExpanded(){return this.monthMenuOpen||this.selectionMenuClosing==="month"}isDockedYearMenuExpanded(){return this.yearMenuOpen||this.selectionMenuClosing==="year"}dockedSelectionMenuToShow(){if(this.monthMenuOpen&&this.yearMenuOpen){if(this.selectionMenuClosing==="year")return"month";if(this.selectionMenuClosing==="month")return"year";return"year"}if(this.yearMenuOpen||this.selectionMenuClosing==="year")return"year";if(this.monthMenuOpen||this.selectionMenuClosing==="month")return"month";return null}dockedMenuTrailingIcon(e){return e?"arrow_drop_up":"arrow_drop_down"}renderDockedMenuTrailingCaret(e){return r("span",{slot:"trailing-icon",class:"md-date-picker__menu-caret",part:"menu-caret","aria-hidden":"true"},r("span",{class:{"md-date-picker__menu-caret-glyph":true,"material-symbols-outlined":true,"md-date-picker__menu-caret-glyph--down":true,"md-date-picker__menu-caret-glyph--visible":!e}},"arrow_drop_down"),r("span",{class:{"md-date-picker__menu-caret-glyph":true,"material-symbols-outlined":true,"md-date-picker__menu-caret-glyph--up":true,"md-date-picker__menu-caret-glyph--visible":e}},"arrow_drop_up"))}restoreMenuFocus(e){if(!e)return;const t=()=>e.focus();if(typeof requestAnimationFrame==="function"){requestAnimationFrame((()=>requestAnimationFrame(t)))}else{t()}}getDockedSelectionMenuScrollEl(e){const t=e.shadowRoot;if(!t)return null;return t.querySelector(".md-menu__scroll-shadow")??t.querySelector(".md-menu__surface")}getDockedSelectionMenuTarget(e){const t=e==="month"?"month-menu":"year-menu";const i=this.panelEl?.querySelector(`[part="${t}"]`);if(!i)return null;return i.querySelector("md-menu-item[selected]")??i.querySelector(`md-menu-item[part*="${e}-option-selected"]`)??i.querySelector("md-menu-item")}scrollDockedSelectionMenuIntoView(e){const t=e==="month"?"month-menu":"year-menu";const i=this.panelEl?.querySelector(`[part="${t}"]`);if(!i)return;const r=this.getDockedSelectionMenuTarget(e);if(!r)return;const a=this.getDockedSelectionMenuScrollEl(i);if(a){const e=a.getBoundingClientRect();const t=r.getBoundingClientRect();const i=t.top+t.height/2;const n=e.top+e.height/2;a.scrollTop+=i-n;return}if(typeof r.scrollIntoView==="function"){r.scrollIntoView({block:"center",inline:"nearest"})}}afterDockedSelectionMenuPaint(e){const t=()=>{this.scrollDockedSelectionMenuIntoView(e);this.getDockedSelectionMenuTarget(e)?.focus()};const i=this.selectionBloomInMs();if(i>0){void this.delay(i).then(t);return}if(typeof requestAnimationFrame==="function"){requestAnimationFrame((()=>requestAnimationFrame(t)))}else{t()}}calculateModalYearGridScrollTop(){const e=3;const t=36;const i=12;const r=8;const a=16;const n=288;const{minYear:s,maxYear:o}=this.getYearListBounds();const d=o-s+1;const l=Math.max(0,Math.min(this.viewYear-s,d-1));const c=Math.floor(l/e);const h=Math.ceil(d/e);const m=t+i;const p=r+h*t+Math.max(0,h-1)*i+a;const u=r+c*m;const f=u+t/2;const _=f-n/2;const k=Math.max(0,p-n);return Math.max(0,Math.min(_,k))}getModalYearGridScrollEl(){const e=this.panelEl?.querySelector('[part="year-grid-wrap"]');if(!e)return null;return e.querySelector(".md-date-picker__year-grid-scroll")??null}scrollModalYearGridIntoView(){const e=this.getModalYearGridScrollEl();if(!e)return;e.scrollTop=this.calculateModalYearGridScrollTop();const t=e.querySelector(`[data-year="${this.viewYear}"]`)??e.querySelector('[part~="year-selected"]');if(!t)return;const i=e.getBoundingClientRect();const r=t.getBoundingClientRect();const a=r.top+r.height/2;const n=i.top+i.height/2;e.scrollTop+=a-n}afterModalYearGridPaint(){const e=()=>this.scrollModalYearGridIntoView();this.scrollModalYearGridIntoView();if(typeof requestAnimationFrame==="function"){requestAnimationFrame((()=>requestAnimationFrame(e)))}else{e()}}prefersReducedMotion(){return typeof window!=="undefined"&&(window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??false)}selectionBloomInMs(){return this.prefersReducedMotion()?0:q}selectionBloomOutMs(){return this.prefersReducedMotion()?0:O}calendarBloomInMs(){return this.prefersReducedMotion()?0:K}panelBloomOutMs(){return this.prefersReducedMotion()?0:R}delay(e){if(e<=0)return Promise.resolve();return new Promise((t=>setTimeout(t,e)))}beginDockedCalendarBloom(){if(this.prefersReducedMotion()){this.dockedCalendarBloom=false;return}this.dockedCalendarBloom=true;void this.delay(this.calendarBloomInMs()).then((()=>{if(!this.monthMenuOpen&&!this.yearMenuOpen&&!this.selectionMenuClosing){this.dockedCalendarBloom=false;this.positionDockedPanel()}}))}clearDockedCalendarBloom(){this.dockedCalendarBloom=false}beginModalCalendarBloom(){if(this.prefersReducedMotion()||this.isDocked){this.modalCalendarBloom=false;return}this.modalCalendarBloom=true;void this.delay(this.calendarBloomInMs()).then((()=>{if(this.viewMode==="calendar"&&!this.yearViewClosing){this.modalCalendarBloom=false}}))}clearModalCalendarBloom(){this.modalCalendarBloom=false}async waitForSelectionMenuClose(e){while(this.selectionMenuClosing===e){await this.delay(16)}}async toggleMonthMenuAsync(){if(this.monthMenuOpen){await this.closeDockedSelectionMenu("month",{bloomCalendar:true,restoreFocus:true});return}if(this.yearMenuOpen){this.clearDockedCalendarBloom();this.selectionMenuClosing=null;this.menuRestoreFocus=null;this.monthMenuOpen=true;this.menuShouldFocus="month";this.emitMenuOpen("month");await this.closeDockedSelectionMenu("year",{bloomCalendar:false,restoreFocus:false});return}if(this.selectionMenuClosing==="year"){await this.waitForSelectionMenuClose("year")}this.openDockedMonthMenu()}async toggleYearMenuAsync(){if(this.yearMenuOpen){await this.closeDockedSelectionMenu("year",{bloomCalendar:true,restoreFocus:true});return}if(this.monthMenuOpen){this.captureYearListRange();this.clearDockedCalendarBloom();this.selectionMenuClosing=null;this.menuRestoreFocus=null;this.yearMenuOpen=true;this.menuShouldFocus="year";this.emitMenuOpen("year");await this.closeDockedSelectionMenu("month",{bloomCalendar:false,restoreFocus:false});return}if(this.selectionMenuClosing==="month"){await this.waitForSelectionMenuClose("month")}this.openDockedYearMenu()}async pickDockedSelection(e,i,r){const a=r instanceof t?r:null;if(a){await s(a)}i();await this.closeDockedSelectionMenu(e,{bloomCalendar:true,restoreFocus:false})}pickMonth(e,t){void this.pickDockedSelection("month",(()=>{this.viewMonth=e;this.emitMenuSelect("month",e,this.monthLabel(e));this.emitViewChange("month-menu")}),t)}pickYear(e,t){void this.pickDockedSelection("year",(()=>{this.viewYear=e;this.emitMenuSelect("year",e,String(e));this.emitViewChange("year-menu")}),t)}selectYear(e){if(this.isDisabledYear(e))return;this.viewYear=e;this.focusedDate=new Date(e,this.viewMonth,1);this.emitMenuSelect("year",e,String(e));this.emitViewChange("year-menu");void this.closeYearViewAnimated()}openYearView(){this.clearModalCalendarBloom();this.yearViewClosing=false;this.viewMode="year";this.captureYearListRange();this.yearGridShouldScroll=true;this.emitMenuOpen("year")}async closeYearViewAnimated(){if(this.viewMode!=="year"||this.yearViewClosing)return;if(this.prefersReducedMotion()){this.viewMode="calendar";this.clearYearListRange();return}this.yearViewClosing=true;await this.delay(this.selectionBloomOutMs());this.yearViewClosing=false;this.viewMode="calendar";this.clearYearListRange();this.beginModalCalendarBloom()}resolveNavigationKey(e){if(e.key==="PageUp"||e.code==="PageUp")return"PageUp";if(e.key==="PageDown"||e.code==="PageDown")return"PageDown";if(e.altKey&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey){if(e.key==="ArrowUp"||e.code==="ArrowUp")return"PageUp";if(e.key==="ArrowDown"||e.code==="ArrowDown")return"PageDown"}return e.key}asEventElement(e){if(e==null||typeof e!=="object")return null;if(!("closest"in e)||typeof e.closest!=="function"){return null}return e}isEditableKeyTarget(e){const t=this.asEventElement(e);if(!t)return false;const i=t.closest('input:not([readonly]):not([disabled]), textarea:not([disabled]), [contenteditable="true"]');return!!i}isInsideSelectionMenu(e){return!!this.findInPickerTree(e,'[part="month-menu"]')||!!this.findInPickerTree(e,'[part="year-menu"]')}findInPickerTree(e,t){const i=this.asEventElement(e);if(!i)return null;let r=i;while(r){try{if(r.matches(t))return r}catch{}const e=r.getRootNode();if(e instanceof ShadowRoot){r=e.host}else{r=r.parentElement}}return null}isDayGridKeyTarget(e){if(this.findInPickerTree(e,"[data-date]"))return true;if(typeof document!=="undefined"){return!!this.findInPickerTree(document.activeElement,"[data-date]")}return false}isDockedMenuToggleKey(e){if(!this.isDocked||!e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)return false;const t=e.key.toLowerCase();return t==="m"||t==="y"}isCalendarNavigationKey(e){const t=this.resolveNavigationKey(e);if(t==="ArrowRight"||t==="ArrowLeft"||t==="ArrowDown"||t==="ArrowUp"||t==="Home"||t==="End"||t==="PageUp"||t==="PageDown"||t==="Enter"||t===" "){return true}return this.isDockedMenuToggleKey(e)}canHandleCalendarKeyDown(e,t){if(!this.open||e.defaultPrevented)return false;if(this.viewMode!=="calendar"||this.inputMode)return false;const i=this.isDockedMenuToggleKey(e);if(!i&&(this.monthMenuOpen||this.yearMenuOpen||this.selectionMenuClosing)){return false}if(!this.isCalendarNavigationKey(e))return false;const r=t??e.target;if(this.isEditableKeyTarget(r)){if(!(this.hasField&&this.isTriggerFieldTarget(r)))return false;if(this.resolveNavigationKey(e)==="Enter")return false}if(!i&&this.isInsideSelectionMenu(r))return false;const a=this.resolveNavigationKey(e);if(a==="Enter"||a===" "){if(!this.isDayGridKeyTarget(r)&&!this.isDayGridKeyTarget(e.target)){return false}}return true}getEventPathNodes(e){if(typeof e.composedPath==="function"){return e.composedPath()}const t=[];let i=e.target;while(i){t.push(i);const e=i.getRootNode();if(e instanceof ShadowRoot){i=e.host}else{i=i.parentNode}}return t}isNodeInPicker(e){if(e==null||typeof e!=="object"||!("nodeType"in e))return false;let t=e;while(t){if(t===this.el||t===this.panelEl)return true;const e=t.getRootNode();if(e instanceof ShadowRoot){t=e.host}else{t=t.parentNode}}return false}isEventInPicker(e){if(!this.open)return false;if(this.getEventPathNodes(e).includes(this.el))return true;if(typeof document!=="undefined"){if(this.isNodeInPicker(document.activeElement))return true;if(this.panelPointerEngaged)return true}return false}isTriggerFieldTarget(e){return this.isNodeInPicker(e)&&!this.isNodeInPanel(e)}resolveCalendarKeyTarget(e){if(typeof document!=="undefined"){const e=document.activeElement;if(e&&this.isNodeInPanel(e))return e}if(e.target&&this.isNodeInPicker(e.target))return e.target;if(typeof document!=="undefined"){const e=document.activeElement;if(e&&this.isNodeInPicker(e))return e}return this.panelEl??null}shouldPanelClaimFocus(e){const t=this.asEventElement(e);if(!t)return true;if(t.closest('button, [role="button"], input, textarea, [contenteditable="true"], md-menu-item, a[href]')){return false}return true}isNodeInPanel(e){if(!this.panelEl||e==null||typeof e!=="object"||!("nodeType"in e)){return false}let t=e;while(t){if(t===this.panelEl)return true;const e=t.getRootNode();if(e instanceof ShadowRoot){t=e.host}else{t=t.parentNode}}return false}tryCommitTriggerFieldOnEnter(e){if(this.disabled||!this.hasField||e.key!=="Enter")return false;const t=e.target;if(!t||!this.isNodeInPicker(t))return false;if(!this.isEditableKeyTarget(t)||!this.isTriggerFieldTarget(t))return false;e.preventDefault();e.stopPropagation();this.syncInputDraftFromField(t);this.onFieldCommit();return true}tryCommitDialogInputOnEnter(e){if(this.disabled||!this.inputMode||e.key!=="Enter")return false;const t=e.target;if(!t||!this.isEditableKeyTarget(t))return false;const i=this.asEventElement(t);if(!i?.closest('[part="entry-input"]'))return false;e.preventDefault();e.stopPropagation();this.syncInputDraftFromField(t);this.commitDialogInput();if(this.error)return true;this.commit();return true}routePickerKeyDown(e,t=false){if(e.defaultPrevented||this.panelClosing)return;if(this.tryCommitDialogInputOnEnter(e))return;if(this.tryCommitTriggerFieldOnEnter(e))return;if(!this.open)return;if(!t&&!this.isEventInPicker(e))return;if(e.key==="Escape"){e.preventDefault();if(this.isDocked&&(this.monthMenuOpen||this.yearMenuOpen)){this.closeMenus(null,true);return}this.requestDismiss();return}if(this.canHandleCalendarKeyDown(e,this.resolveCalendarKeyTarget(e))){this.handleCalendarKeyDown(e)}}handleDocumentKeyDown(e){this.routePickerKeyDown(e)}handleDocumentPointerDown(e){if(!this.open||this.panelClosing)return;if(!this.isDocked||!this.outsideClickDismissible)return;if(this.getEventPathNodes(e).includes(this.el))return;if(this.isNodeInPicker(e.target))return;this.requestDismiss()}handleHostKeyDown(e){this.routePickerKeyDown(e,true)}swallowNestedMdOpen(e){if((e.composedPath?.()[0]??e.target)!==this.el){e.stopImmediatePropagation()}}swallowNestedMdClose(e){if((e.composedPath?.()[0]??e.target)!==this.el){e.stopImmediatePropagation()}}focusFocusedDay(){const e=v(this.focusedDate);const t=this.panelEl?.querySelector(`[data-date="${e}"]`);if(!t)return;const i=()=>t.focus();if(typeof requestAnimationFrame==="function"){requestAnimationFrame((()=>requestAnimationFrame(i)))}else{i()}}trapTab(e){const t=this.panelEl;if(!t)return;const i=Array.from(t.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter((e=>e.offsetParent!==null||e===document.activeElement));if(i.length===0)return;const r=i[0];const a=i[i.length-1];const n=this.el.shadowRoot?.activeElement??null;if(e.shiftKey&&n===r){e.preventDefault();a.focus()}else if(!e.shiftKey&&n===a){e.preventDefault();r.focus()}}componentDidRender(){if(this.isDocked&&this.open&&!this.panelClosing&&!this.selectionMenuClosing&&!this.dockedCalendarBloom){this.positionDockedPanel()}if(this.menuShouldFocus){const e=this.menuShouldFocus;this.menuShouldFocus=null;this.afterDockedSelectionMenuPaint(e);return}if(this.yearGridShouldScroll){this.yearGridShouldScroll=false;this.afterModalYearGridPaint();return}if(this.menuRestoreFocus){const e=this.menuRestoreFocus;this.menuRestoreFocus=null;const t=e==="month"?this.monthMenuButtonEl:this.yearMenuButtonEl;this.restoreMenuFocus(t);return}if(this.entryInputShouldFocus&&this.inputMode){this.entryInputShouldFocus=false;const e=this.entryTextFieldEl?.shadowRoot?.querySelector(".md-text-field__input");if(e instanceof t){e.focus()}return}if(this.open&&this.gridShouldFocus&&this.viewMode==="calendar"&&!this.inputMode&&!this.monthMenuOpen&&!this.yearMenuOpen){this.focusFocusedDay();this.gridShouldFocus=false}}renderTextFieldTrigger(){const e=F(this.value);const t=this.focused?this.inputDraft:this.formatField(e);const i=this.error&&this.errorText?"":this.supportingText||this.dateFormatHint();return r("md-text-field",{class:"md-date-picker__textfield",part:"field",variant:this.fieldVariant,label:this.label,value:t,supportingText:i,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,disabled:this.disabled,required:this.required,appearFocused:this.open,onFocusin:()=>{this.focused=true;if(!this.error)this.seedFieldDraftFromValue()},onFocusout:()=>{this.focused=false},onKeyDown:this.textFieldKeyDown,onMdInput:e=>{this.inputDraft=e.detail;this.mdInput.emit({value:e.detail})},onMdChange:e=>{this.inputDraft=e.detail;this.onFieldCommit()}},this.hasSlottedLeading&&r("slot",{name:"leading-icon",slot:"leading-icon"}),this.clearable&&!!this.value&&!this.disabled&&r("md-icon-button",{slot:"trailing-icon",class:"md-date-picker__clear-button",part:"clear-button",variant:"standard",icon:"close","aria-label":this.clearLabel,onClick:e=>{e.stopPropagation();void this.clear()}}),r("md-icon-button",{slot:"trailing-icon",class:"md-date-picker__calendar-button",part:"calendar-button",variant:this.triggerExpanded?"tonal":"standard",icon:this.hasSlottedCalendarIcon?"":this.calendarIcon,"aria-label":this.triggerExpanded?this.closeCalendarLabel:this.openCalendarLabel,"aria-haspopup":"dialog","aria-expanded":this.triggerExpanded?"true":"false",disabled:this.disabled,ref:e=>this.triggerEl=e,onMdClick:()=>this.open?this.close():this.show()},this.hasSlottedCalendarIcon&&r("slot",{name:"calendar-icon",slot:""})))}renderModalNavChevron(e,t){return r("md-tooltip",{class:"md-date-picker__nav-chevron-tooltip",text:this.navTooltipText("month",e),showDelay:0,position:"bottom",offset:U},r("md-icon-button",{class:"md-date-picker__directional-icon md-date-picker__nav-chevron",part:e==="prev"?"prev-button":"next-button",size:"sm",icon:e==="prev"?"chevron_left":"chevron_right","aria-label":this.navActionLabel("month",e),onClick:t}))}modalMonthYearTooltipText(e,t){return`${this.formatMonthYear(e,t)} · ${this.chooseMonthAndYearLabel}`}renderNav(e=false){const t=e?T(new Date(this.viewYear,this.viewMonth,1),1).getFullYear():this.viewYear;const i=e?T(new Date(this.viewYear,this.viewMonth,1),1).getMonth():this.viewMonth;const a=!e&&(this.viewMode==="year"||this.yearViewClosing);const n=r("md-button",{class:{"md-date-picker__menu-button":true,"md-date-picker__menu-button--expanded":a},part:"month-toggle",variant:"text",size:"sm",toggle:true,selected:a,trailingIcon:e?undefined:this.dockedMenuTrailingIcon(a),suppressExpandIconFlip:true,mirrorIcon:a,"aria-label":this.chooseMonthYearLabel,"aria-expanded":a?"true":"false",disabled:e,onMdClick:t=>{t.preventDefault();if(!e)this.toggleYearView()}},this.formatMonthYear(t,i),!e&&this.renderDockedMenuTrailingCaret(a));return r("div",{class:"md-date-picker__nav",part:"nav"},e?n:r("md-tooltip",{class:"md-date-picker__menu-button-tooltip",text:this.modalMonthYearTooltipText(t,i),showDelay:0,position:"bottom",offset:H},n),this.viewMode==="calendar"&&r("div",{class:"md-date-picker__nav-buttons"},this.renderModalNavChevron("prev",(()=>this.goToMonth(-1,true))),this.renderModalNavChevron("next",(()=>this.goToMonth(1,true)))))}renderDockedNavChevron(e,t,i,a){return r("span",{class:"md-date-picker__nav-chevron-slot",part:`${e}-${t}-chevron-slot`},r("md-tooltip",{class:{"md-date-picker__nav-chevron-tooltip":true,"md-date-picker__nav-chevron--visible":i},text:this.navTooltipText(t,e),showDelay:0,position:"bottom",offset:U},r("md-icon-button",{class:"md-date-picker__directional-icon md-date-picker__nav-chevron",part:`${e}-${t}-button`,size:"sm",icon:e==="prev"?"chevron_left":"chevron_right","aria-label":this.navActionLabel(t,e),disabled:!i,onClick:i?a:undefined})),r("span",{class:{"md-date-picker__nav-chevron-spacer":true,"md-date-picker__nav-chevron--visible":!i},part:`${e}-${t}-chevron-spacer`,"aria-hidden":"true"}))}renderDockedNav(){const e=new Intl.DateTimeFormat(this.loc,{month:"short"}).format(new Date(this.viewYear,this.viewMonth,1));const t=this.isDockedMonthMenuExpanded();const i=this.isDockedYearMenuExpanded();return r("div",{class:"md-date-picker__docked-nav",part:"nav"},r("div",{class:{"md-date-picker__nav-group":true,"md-date-picker__nav-group--month":true,"md-date-picker__nav-group--selection-open":t}},this.renderDockedNavChevron("prev","month",!i,(()=>this.goToMonth(-1,true))),r("md-tooltip",{class:"md-date-picker__menu-button-tooltip",text:this.menuTooltipText("month"),showDelay:0,position:"bottom",offset:H},r("md-button",{class:{"md-date-picker__menu-button":true,"md-date-picker__menu-button--expanded":t},part:"month-menu-button",variant:"text",size:"sm",toggle:true,selected:t,trailingIcon:this.dockedMenuTrailingIcon(t),suppressExpandIconFlip:true,mirrorIcon:t,"aria-label":this.chooseMonthLabel,"aria-haspopup":"menu","aria-expanded":t?"true":"false",ref:e=>this.monthMenuButtonEl=e,onMdClick:e=>{e.preventDefault();this.toggleMonthMenu()}},e,this.renderDockedMenuTrailingCaret(t))),this.renderDockedNavChevron("next","month",!i,(()=>this.goToMonth(1,true)))),r("div",{class:{"md-date-picker__nav-group":true,"md-date-picker__nav-group--year":true,"md-date-picker__nav-group--selection-open":i}},this.renderDockedNavChevron("prev","year",!t,(()=>this.goToYear(-1,true))),r("md-tooltip",{class:"md-date-picker__menu-button-tooltip",text:this.menuTooltipText("year"),showDelay:0,position:"bottom",offset:H},r("md-button",{class:{"md-date-picker__menu-button":true,"md-date-picker__menu-button--expanded":i},part:"year-menu-button",variant:"text",size:"sm",toggle:true,selected:i,trailingIcon:this.dockedMenuTrailingIcon(i),suppressExpandIconFlip:true,mirrorIcon:i,"aria-label":this.chooseYearLabel,"aria-haspopup":"menu","aria-expanded":i?"true":"false",ref:e=>this.yearMenuButtonEl=e,onMdClick:e=>{e.preventDefault();this.toggleYearMenu()}},this.viewYear,this.renderDockedMenuTrailingCaret(i))),this.renderDockedNavChevron("next","year",!t,(()=>this.goToYear(1,true)))))}renderDockedSelectionDivider(){return r("div",{class:"md-date-picker__selection-divider",part:"selection-divider",role:"separator","aria-hidden":"true"})}renderDockedMonthMenu(e){const t=Array.from({length:12},((e,t)=>new Intl.DateTimeFormat(this.loc,{month:"long"}).format(new Date(2024,t,1))));return r("div",{class:{"md-date-picker__selection-menu-wrap":true,"md-date-picker__selection-menu-wrap--bloom-out":e},part:"month-menu-wrap"},r("md-menu",{class:"md-date-picker__selection-menu md-menu--inline-fill",part:"month-menu",exportparts:"menu-viewport:month-menu-viewport",variant:"baseline",open:true,quick:true,persistent:true,autoFocus:false,onMdClose:this.onMonthMenuClose},t.map(((e,t)=>{const i=t===this.viewMonth;return r("md-menu-item",{part:i?"month-option month-option-selected":"month-option",headline:e,type:"radio","check-position":"start","keep-open":true,selected:i,onMdClick:e=>this.pickMonth(t,e.target)})}))))}renderDockedYearMenu(e){const t=this.viewYear;const{minYear:i,maxYear:a}=this.getYearListBounds();const n=[];for(let e=i;e<=a;e++)n.push(e);return r("div",{class:{"md-date-picker__selection-menu-wrap":true,"md-date-picker__selection-menu-wrap--year":true,"md-date-picker__selection-menu-wrap--bloom-out":e},part:"year-menu-wrap"},r("md-menu",{class:"md-date-picker__selection-menu md-menu--inline-fill",part:"year-menu",exportparts:"menu-viewport:year-menu-viewport",variant:"baseline",open:true,quick:true,persistent:true,autoFocus:false,onMdClose:this.onYearMenuClose},n.map((e=>{const i=e===t;return r("md-menu-item",{part:i?"year-option year-option-selected":"year-option",headline:String(e),type:"radio","check-position":"start","keep-open":true,selected:i,onMdClick:t=>this.pickYear(e,t.target)})}))))}renderCalendar(e,t,i=true,a=false){const n=this.resolvedFirstDay();const s=j(this.locale,n,"narrow");const o=j(this.locale,n,"long");const d=$(e,t,n);const l=new Date;const c=this.formatMonthYear(e,t);return r("div",{class:{"md-date-picker__calendar":true,"md-date-picker__calendar--docked-bloom-in":a&&this.isDocked,"md-date-picker__calendar--content-bloom-in":a&&!this.isDocked},part:"calendar",role:"grid","aria-label":c},r("div",{class:"md-date-picker__weekdays",part:"weekdays",role:"row","aria-hidden":"true"},s.map(((e,t)=>r("md-tooltip",{class:"md-date-picker__weekday-tooltip",text:o[t],showDelay:0,position:"bottom",offset:3},r("span",{class:"md-date-picker__weekday",part:"weekday",role:"presentation"},e))))),r("div",{class:{"md-date-picker__grid":true,"md-date-picker__grid--slide-forward":this.gridSlideDirection==="forward","md-date-picker__grid--slide-backward":this.gridSlideDirection==="backward"},part:"grid",role:"rowgroup",onAnimationEnd:this.onGridSlideAnimationEnd},Array.from({length:d.length/7},((e,t)=>r("div",{class:"md-date-picker__week",part:"week",role:"row"},d.slice(t*7,t*7+7).map((e=>this.renderDay(e,l,i))))))))}renderDay(e,t,i){const a=e.date;const n=v(a);const s=this.isDisabledDate(a);const o=A(a,t);const d=A(a,this.focusedDate)&&i;const l=!!this.pendingDate&&A(a,this.pendingDate);const c=!l&&!o&&!s&&!e.outOfMonth;const h=["day"];if(l)h.push("day-selected");if(o)h.push("day-today");if(s)h.push("day-disabled");if(e.outOfMonth)h.push("day-outside");if(c)h.push("day-unselected");return r("md-button",{class:{"md-date-picker__day":true,"md-date-picker__day--selected":l,"md-date-picker__day--today":o,"md-date-picker__day--disabled":s,"md-date-picker__day--outside":e.outOfMonth,"md-date-picker__day--unselected":c},part:h.join(" "),variant:l?"filled":"text",size:"sm",shape:"square",selected:l,roleOverride:"gridcell",groupTabindex:d?0:-1,"data-date":n,"aria-selected":l?"true":"false","aria-disabled":s?"true":undefined,"aria-current":o?"date":undefined,"aria-label":this.formatFullDate(a),disabled:s,onMdClick:()=>this.selectDay(e),onKeyDown:i?this.handleDayKeyDown:undefined},a.getDate())}renderYearGrid(e=false){const t=this.viewYear;const{minYear:i,maxYear:a}=this.getYearListBounds();const n=[];for(let e=i;e<=a;e++)n.push(e);return r("div",{class:{"md-date-picker__year-grid-wrap":true,"md-date-picker__year-grid-wrap--bloom-out":e},part:"year-grid-wrap"},r("div",{class:"md-date-picker__year-grid-scroll",part:"year-grid-scroll year-grid-viewport"},r("div",{class:"md-date-picker__year-grid",part:"year-grid",role:"grid","aria-label":this.yearGridLabel},Array.from({length:Math.ceil(n.length/3)},((e,i)=>r("div",{class:"md-date-picker__year-row",part:"year-row",role:"row"},n.slice(i*3,i*3+3).map((e=>{const i=e===t;const a=this.isDisabledYear(e);const n=!i&&!a;const s=["year"];if(i)s.push("year-selected");if(a)s.push("year-disabled");if(n)s.push("year-unselected");return r("md-button",{class:{"md-date-picker__year":true,"md-date-picker__year--selected":i,"md-date-picker__year--disabled":a,"md-date-picker__year--unselected":n},part:s.join(" "),variant:i?"filled":"text",size:"sm",shape:"square",selected:i,roleOverride:"gridcell","data-year":String(e),"aria-selected":i?"true":"false","aria-disabled":a?"true":undefined,"aria-label":String(e),disabled:a,onMdClick:()=>this.selectYear(e)},e)}))))))))}renderDialogInput(){return r("div",{class:"md-date-picker__entry",part:"entry"},r("md-text-field",{class:"md-date-picker__entry-textfield",part:"entry-input",variant:"outlined",label:this.label,placeholder:this.placeholder||this.dateFormatHint(),value:this.inputDraft,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,ref:e=>this.entryTextFieldEl=e,onKeyDown:this.entryTextFieldKeyDown,onMdInput:e=>{this.inputDraft=e.detail;this.mdInput.emit({value:e.detail})}}))}renderHeadline(){if(this.inputMode){return this.enterDatesLabel}return this.pendingDate?this.formatHeadline(this.pendingDate):this.selectDateLabel}renderHeader(){if(this.hasSlottedHeader){return r("div",{class:"md-date-picker__header",part:"header"},r("slot",{name:"header"}))}const e=this.headline;const t=this.inputMode?this.toggleCalendarLabel:this.toggleTextLabel;return r("div",{class:"md-date-picker__header",part:"header"},r("div",{class:"md-date-picker__header-supporting",part:"supporting"},e),r("div",{class:"md-date-picker__header-row"},r("div",{class:"md-date-picker__headline",part:"headline"},this.renderHeadline()),this.variant!=="docked"&&r("md-tooltip",{class:"md-date-picker__mode-toggle-tooltip",text:t,showDelay:0,position:"bottom"},r("md-icon-button",{class:"md-date-picker__mode-toggle",part:"mode-toggle",icon:this.inputMode?"calendar_today":"edit","aria-label":t,onClick:this.toggleInputMode}))))}get hasActionRow(){return this.hasSlottedActions||!this.commitOnSelect||this.inputMode}renderActions(){if(!this.hasActionRow)return null;if(this.hasSlottedActions){return r("div",{class:"md-date-picker__actions",part:"actions"},r("slot",{name:"actions"}))}return r("div",{class:"md-date-picker__actions",part:"actions"},r("md-button",{class:"md-date-picker__action-btn",variant:"text",size:"sm",onMdClick:()=>this.cancel(),part:"cancel-button"},this.cancelLabel),r("md-button",{class:"md-date-picker__action-btn md-date-picker__action-btn--primary",variant:"text",size:"sm",onMdClick:()=>{if(this.inputMode){this.commitDialogInput();if(this.error)return}this.commit()},part:"ok-button"},this.okLabel))}renderBody(){if(this.inputMode){return r("div",{class:{"md-date-picker__body":true,"md-date-picker__body--input-mode":true,"md-date-picker__body--no-actions":!this.hasActionRow},part:"body"},this.renderDialogInput())}const e=this.viewMode==="year"||this.yearViewClosing;const t=this.viewMode==="calendar"&&!this.yearViewClosing;const i=this.dockedCalendarBloom||this.modalCalendarBloom;if(e&&!this.isDocked){return r("div",{class:{"md-date-picker__body":true,"md-date-picker__body--year-view":true,"md-date-picker__body--no-actions":!this.hasActionRow},part:"body"},this.renderNav(),this.renderYearGrid(this.yearViewClosing))}if(this.isDocked){const e=this.monthMenuOpen||this.yearMenuOpen||!!this.selectionMenuClosing;const t=this.dockedSelectionMenuToShow();const i=t==="year";const a=t==="month";return r("div",{class:{"md-date-picker__body":true,"md-date-picker__body--docked":true,"md-date-picker__body--docked-selection":e,"md-date-picker__body--no-actions":!this.hasActionRow},part:"body"},this.renderDockedNav(),e&&r("div",{class:"md-date-picker__docked-below-nav",part:"docked-below-nav"},this.renderDockedSelectionDivider()),a&&this.renderDockedMonthMenu(this.selectionMenuClosing==="month"),i&&this.renderDockedYearMenu(this.selectionMenuClosing==="year"),!e&&this.renderCalendar(this.viewYear,this.viewMonth,true,this.dockedCalendarBloom))}return r("div",{class:{"md-date-picker__body":true,"md-date-picker__body--no-actions":!this.hasActionRow},part:"body"},this.renderNav(),t&&this.renderCalendar(this.viewYear,this.viewMonth,true,i))}renderPanel(e=false){const t=e&&this.dockedPanelMaxBlockSize?{maxBlockSize:this.dockedPanelMaxBlockSize}:undefined;return r("div",{class:{"md-date-picker__panel":true,"md-date-picker__panel--docked":e,"md-date-picker__panel--align-end":e&&this.dockedPanelAlign==="end","md-date-picker__panel--placement-above":e&&this.dockedPanelPlacement==="above","md-date-picker__panel--input-mode":!e&&this.inputMode,"md-date-picker__panel--bloom-in":!this.panelClosing,"md-date-picker__panel--bloom-out":this.panelClosing},part:"panel",role:"dialog","aria-modal":e?undefined:"true","aria-label":this.label,style:t,ref:e=>this.panelEl=e,tabindex:"-1",onMouseDown:this.onPanelMouseDown,onKeyDown:this.onPanelKeyDown},!e&&this.renderHeader(),this.renderBody(),this.renderActions())}renderModal(){return r("div",{class:{"md-date-picker__modal":true,"md-date-picker__modal--closing":this.panelClosing},part:"modal"},r("div",{class:"md-date-picker__scrim",part:"scrim",onClick:()=>this.scrimDismissible&&this.requestDismiss()}),this.renderPanel(false))}render(){const e=this.open||this.panelClosing;const t=this.open&&!this.panelClosing;return r(a,{key:"32adec3ed4418d1d48c02b0894c17574d38fd146",class:{"md-date-picker":true,[`md-date-picker--${this.variant}`]:true,"md-date-picker--open":t,"md-date-picker--panel-closing":this.panelClosing,"md-date-picker--disabled":this.disabled,"md-date-picker--error":this.error},"aria-disabled":this.disabled?"true":null},this.isDocked?r("div",{class:"md-date-picker__docked-anchor",ref:e=>this.dockedAnchorEl=e},this.renderTextFieldTrigger(),e&&r("div",{class:{"md-date-picker__docked-popup":true,"md-date-picker__docked-popup--above":this.dockedPanelPlacement==="above"}},this.renderPanel(true))):this.hasField&&this.renderTextFieldTrigger(),e&&!this.isDocked&&this.renderModal())}syncFormValue(){o(this.internals,this.value||null);d(this.internals,{missing:this.required&&!this.value,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}formResetCallback(){this.value=this.defaultValue}async getValidity(){return l(this.internals)}emitValidityChange(){const e=l(this.internals);const t=`${e.valid}|${e.validationMessage}`;if(this.lastValidityKey===t)return;const i=this.lastValidityKey!==null;this.lastValidityKey=t;if(i)this.mdValidityChange.emit(e)}async checkValidity(){return c(this.internals)}async reportValidity(){return h(this.internals)}async setCustomValidity(e){this.customValidityMessage=e;this.syncFormValue()}static get formAssociated(){return true}get el(){return this}static get watchers(){return{value:[{onBoundsChange:0},{syncFormValue:0}],min:[{onBoundsChange:0}],max:[{onBoundsChange:0}],dateSeparator:[{onDateSeparatorChange:0}],open:[{onOpenChange:0}],required:[{syncFormValue:0}],valueMissingLabel:[{syncFormValue:0}]}}static get style(){return V()}},[321,"md-date-picker",{valueMissingLabel:[1,"value-missing-label"],reserveSupportingSpace:[4,"reserve-supporting-space"],variant:[513],value:[1537],label:[1],placeholder:[1],min:[1],max:[1],open:[1540],disabled:[516],required:[516],clearable:[516],clearLabel:[1,"clear-label"],error:[1540],errorText:[1025,"error-text"],supportingText:[1,"supporting-text"],locale:[1],dateSeparator:[1,"date-separator"],fieldVariant:[1,"field-variant"],firstDayOfWeek:[2,"first-day-of-week"],headline:[1],cancelLabel:[1,"cancel-label"],okLabel:[1,"ok-label"],selectDateLabel:[1,"select-date-label"],enterDatesLabel:[1,"enter-dates-label"],invalidDateLabel:[1,"invalid-date-label"],previousMonthLabel:[1,"previous-month-label"],nextMonthLabel:[1,"next-month-label"],previousYearLabel:[1,"previous-year-label"],nextYearLabel:[1,"next-year-label"],chooseMonthLabel:[1,"choose-month-label"],chooseYearLabel:[1,"choose-year-label"],chooseMonthYearLabel:[1,"choose-month-year-label"],chooseMonthAndYearLabel:[1,"choose-month-and-year-label"],toggleCalendarLabel:[1,"toggle-calendar-label"],toggleTextLabel:[1,"toggle-text-label"],openCalendarLabel:[1,"open-calendar-label"],closeCalendarLabel:[1,"close-calendar-label"],calendarIcon:[1,"calendar-icon"],yearGridLabel:[1,"year-grid-label"],scrimDismissible:[4,"scrim-dismissible"],outsideClickDismissible:[4,"outside-click-dismissible"],commitOnSelect:[516,"commit-on-select"],name:[1],isDateDisabled:[16],density:[514],focused:[32],inputDraft:[32],viewYear:[32],viewMonth:[32],viewMode:[32],inputMode:[32],focusedDate:[32],pendingDate:[32],hasSlottedHeader:[32],hasSlottedActions:[32],hasSlottedLeading:[32],hasSlottedCalendarIcon:[32],monthMenuOpen:[32],yearMenuOpen:[32],selectionMenuClosing:[32],dockedCalendarBloom:[32],gridSlideDirection:[32],yearViewClosing:[32],modalCalendarBloom:[32],panelClosing:[32],dockedPanelAlign:[32],dockedPanelPlacement:[32],dockedPanelMaxBlockSize:[32],show:[64],close:[64],clear:[64],focusInput:[64],getValidity:[64],checkValidity:[64],reportValidity:[64],setCustomValidity:[64]},[[6,"keydown","handleDocumentKeyDown"],[7,"pointerdown","handleDocumentPointerDown"],[2,"keydown","handleHostKeyDown"],[0,"mdOpen","swallowNestedMdOpen"],[0,"mdClose","swallowNestedMdClose"]],{value:[{onBoundsChange:0},{syncFormValue:0}],min:[{onBoundsChange:0}],max:[{onBoundsChange:0}],dateSeparator:[{onDateSeparatorChange:0}],open:[{onOpenChange:0}],required:[{syncFormValue:0}],valueMissingLabel:[{syncFormValue:0}]}]);X.DOCKED_POSITION_RAF_MAX=60;function G(){if(typeof customElements==="undefined"){return}const e=["md-date-picker","md-button","md-icon-button","md-menu","md-menu-item","md-ripple","md-text-field","md-tooltip"];e.forEach((e=>{switch(e){case"md-date-picker":if(!customElements.get(n(e))){customElements.define(n(e),X)}break;case"md-button":if(!customElements.get(n(e))){m()}break;case"md-icon-button":if(!customElements.get(n(e))){p()}break;case"md-menu":if(!customElements.get(n(e))){u()}break;case"md-menu-item":if(!customElements.get(n(e))){f()}break;case"md-ripple":if(!customElements.get(n(e))){_()}break;case"md-text-field":if(!customElements.get(n(e))){k()}break;case"md-tooltip":if(!customElements.get(n(e))){y()}break}}))}G();const W=X;const J=G;export{W as MdDatePicker,J as defineCustomElement};
|
|
2
|
+
//# sourceMappingURL=md-date-picker.js.map
|