@awc-ui/core 1.0.0-beta.3 → 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/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 +1 -1
- package/dist/cjs/md-accordion-item.cjs.entry.js +3 -3
- package/dist/cjs/md-app-bar.cjs.entry.js +1 -1
- package/dist/cjs/md-area-chart.cjs.entry.js +2 -2
- package/dist/cjs/md-autocomplete.cjs.entry.js +4 -3
- package/dist/cjs/md-autocomplete.cjs.entry.js.map +1 -1
- package/dist/cjs/md-avatar_2.cjs.entry.js +3 -3
- package/dist/cjs/md-badge.cjs.entry.js +2 -2
- package/dist/cjs/md-bar-chart.cjs.entry.js +2 -2
- package/dist/cjs/md-bottom-sheet.cjs.entry.js +4 -4
- package/dist/cjs/md-breadcrumbs.cjs.entry.js +2 -2
- package/dist/cjs/md-button-group.cjs.entry.js +2 -2
- package/dist/cjs/{md-button_7.cjs.entry.js → md-button_6.cjs.entry.js} +13 -38
- package/dist/cjs/md-button_6.cjs.entry.js.map +1 -0
- package/dist/cjs/md-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/md-chip.cjs.entry.js +2 -2
- package/dist/cjs/md-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/md-dialog.cjs.entry.js +2 -2
- package/dist/cjs/md-divider.cjs.entry.js +2 -2
- package/dist/cjs/md-fab-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/md-fab-menu.cjs.entry.js +2 -2
- package/dist/cjs/md-fab.cjs.entry.js +2 -2
- package/dist/cjs/md-line-chart.cjs.entry.js +2 -2
- package/dist/cjs/md-list-item.cjs.entry.js +3 -3
- package/dist/cjs/md-list.cjs.entry.js +3 -3
- 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_2.cjs.entry.js +5 -5
- package/dist/cjs/md-multi-select.cjs.entry.js +5 -4
- package/dist/cjs/md-multi-select.cjs.entry.js.map +1 -1
- package/dist/cjs/md-navigation-bar.cjs.entry.js +1 -1
- package/dist/cjs/md-navigation-tab.cjs.entry.js +2 -2
- package/dist/cjs/md-number-field.cjs.entry.js +2 -2
- package/dist/cjs/md-organization-chart.cjs.entry.js +2 -2
- package/dist/cjs/md-otp-field.cjs.entry.js +3 -3
- package/dist/cjs/md-search.cjs.entry.js +7 -6
- package/dist/cjs/md-search.cjs.entry.js.map +1 -1
- package/dist/cjs/md-select-option.cjs.entry.js +1 -1
- package/dist/cjs/md-select.cjs.entry.js +5 -4
- package/dist/cjs/md-select.cjs.entry.js.map +1 -1
- package/dist/cjs/md-slider.cjs.entry.js +2 -2
- package/dist/cjs/md-sparkline.cjs.entry.js +2 -2
- package/dist/cjs/md-status-dot.cjs.entry.js +1 -1
- package/dist/cjs/md-table.cjs.entry.js +3 -3
- package/dist/cjs/md-text-field.cjs.entry.js +7 -7
- package/dist/cjs/md-time-picker.cjs.entry.js +1 -1
- package/dist/cjs/md-transfer-list.cjs.entry.js +1 -1
- package/dist/cjs/md3.cjs.js +1 -1
- 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/components/md-accordion-item.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-area-chart.js.map +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-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.js +1 -1
- package/dist/components/md-menu.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-radio.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.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-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-tab.js +1 -1
- package/dist/components/md-table-expand-toggle.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.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-tooltip.js +1 -1
- package/dist/components/md-transfer-list.js +1 -1
- package/dist/components/{p-Eb44PPZa.js → p-1RSrsLOs.js} +2 -2
- package/dist/components/{p-D8oM1Kr3.js → p-2HV152w7.js} +2 -2
- package/dist/components/{p-BA2v4IuG.js → p-6ZDAcEKN.js} +2 -2
- package/dist/components/{p-BADA63mI.js → p-B2fYoYe9.js} +2 -2
- package/dist/components/p-B2fYoYe9.js.map +1 -0
- package/dist/components/{p-CCMritCA.js → p-C77M30dm.js} +2 -2
- package/dist/{components-csr/p-Bmu7RqHM.js → components/p-CNgkGl_1.js} +2 -2
- package/dist/components/p-CNgkGl_1.js.map +1 -0
- package/dist/components/{p-CtVItLby.js → p-D5Ht729E.js} +2 -2
- package/dist/components/p-DPqGg8C1.js +2 -0
- package/dist/components/p-DPqGg8C1.js.map +1 -0
- package/dist/components/{p-CTC8XAB6.js → p-De3E5Q8v.js} +2 -2
- package/dist/components/{p-B-JfuA2g.js → p-Dm_7DA1f.js} +2 -2
- package/dist/components/{p-DEzb9xsY.js → p-Dz3R-2Wn.js} +2 -2
- package/dist/components/{p-B-iHDK5h.js → p-Zjf9uhOr.js} +2 -2
- package/dist/components/{p-DfU4xY2F.js → p-ssLobpGS.js} +2 -2
- package/dist/components/{p-DYL-8C5C.js → p-zMR3UIR_.js} +2 -2
- package/dist/components-csr/md-accordion-item.js +1 -1
- package/dist/components-csr/md-app-bar.js +1 -1
- package/dist/components-csr/md-area-chart.js +1 -1
- package/dist/components-csr/md-area-chart.js.map +1 -1
- package/dist/components-csr/md-autocomplete.js +1 -1
- package/dist/components-csr/md-autocomplete.js.map +1 -1
- package/dist/components-csr/md-avatar.js +1 -1
- package/dist/components-csr/md-badge.js +1 -1
- package/dist/components-csr/md-bar-chart.js +1 -1
- package/dist/components-csr/md-bottom-sheet.js +1 -1
- package/dist/components-csr/md-breadcrumb-item.js +1 -1
- package/dist/components-csr/md-breadcrumbs.js +1 -1
- package/dist/components-csr/md-button-group.js +1 -1
- package/dist/components-csr/md-button.js +1 -1
- package/dist/components-csr/md-card.js +1 -1
- package/dist/components-csr/md-checkbox.js +1 -1
- package/dist/components-csr/md-chip.js +1 -1
- package/dist/components-csr/md-date-picker.js +1 -1
- package/dist/components-csr/md-date-picker.js.map +1 -1
- package/dist/components-csr/md-dialog.js +1 -1
- package/dist/components-csr/md-dialog.js.map +1 -1
- package/dist/components-csr/md-divider.js +1 -1
- package/dist/components-csr/md-divider.js.map +1 -1
- package/dist/components-csr/md-fab-menu-item.js +1 -1
- package/dist/components-csr/md-fab-menu.js +1 -1
- package/dist/components-csr/md-fab.js +1 -1
- package/dist/components-csr/md-icon-button.js +1 -1
- package/dist/components-csr/md-line-chart.js +1 -1
- package/dist/components-csr/md-line-chart.js.map +1 -1
- package/dist/components-csr/md-list-item.js +1 -1
- package/dist/components-csr/md-list.js +1 -1
- package/dist/components-csr/md-loading-indicator.js +1 -1
- package/dist/components-csr/md-menu-item.js +1 -1
- package/dist/components-csr/md-menu.js +1 -1
- package/dist/components-csr/md-multi-select.js +1 -1
- package/dist/components-csr/md-multi-select.js.map +1 -1
- package/dist/components-csr/md-navigation-bar.js +1 -1
- package/dist/components-csr/md-navigation-rail-tab.js +1 -1
- package/dist/components-csr/md-navigation-rail.js +1 -1
- package/dist/components-csr/md-navigation-tab.js +1 -1
- package/dist/components-csr/md-number-field.js +1 -1
- package/dist/components-csr/md-organization-chart.js +1 -1
- package/dist/components-csr/md-otp-field.js +1 -1
- package/dist/components-csr/md-radio.js +1 -1
- package/dist/components-csr/md-ripple.js +1 -1
- package/dist/components-csr/md-search.js +1 -1
- package/dist/components-csr/md-search.js.map +1 -1
- package/dist/components-csr/md-segmented-button.js +1 -1
- package/dist/components-csr/md-select-option.js +1 -1
- package/dist/components-csr/md-select.js +1 -1
- package/dist/components-csr/md-side-sheet.js +1 -1
- package/dist/components-csr/md-slider.js +1 -1
- package/dist/components-csr/md-snackbar.js +1 -1
- package/dist/components-csr/md-snackbar.js.map +1 -1
- package/dist/components-csr/md-sparkline.js +1 -1
- package/dist/components-csr/md-split-button.js +1 -1
- package/dist/components-csr/md-status-dot.js +1 -1
- package/dist/components-csr/md-step.js +1 -1
- package/dist/components-csr/md-step.js.map +1 -1
- package/dist/components-csr/md-stepper.js +1 -1
- package/dist/components-csr/md-stepper.js.map +1 -1
- package/dist/components-csr/md-sub-menu-item.js +1 -1
- package/dist/components-csr/md-tab.js +1 -1
- package/dist/components-csr/md-table-expand-toggle.js +1 -1
- package/dist/components-csr/md-table-pagination.js +1 -1
- package/dist/components-csr/md-table-pagination.js.map +1 -1
- package/dist/components-csr/md-table.js +1 -1
- package/dist/components-csr/md-text-field.js +1 -1
- package/dist/components-csr/md-time-picker.js +1 -1
- package/dist/components-csr/md-time-picker.js.map +1 -1
- package/dist/components-csr/md-tooltip.js +1 -1
- package/dist/components-csr/md-transfer-list.js +1 -1
- package/dist/components-csr/p-6WgHjhDg.js +2 -0
- package/dist/components-csr/p-6WgHjhDg.js.map +1 -0
- package/dist/components-csr/{p-C0DlKmRg.js → p-BEmwDSzw.js} +2 -2
- package/dist/components-csr/{p-DvXQXhgu.js → p-BQKzjYcY.js} +2 -2
- package/dist/components-csr/{p-CG6FaRlt.js → p-BWMwewtY.js} +2 -2
- package/dist/components-csr/{p--OUYjgKN.js → p-BZakoRau.js} +2 -2
- package/dist/components-csr/p-BZakoRau.js.map +1 -0
- package/dist/components-csr/{p-CSrxeWwL.js → p-Bkt_X-6v.js} +2 -2
- package/dist/components-csr/{p-Hm3X1iai.js → p-C3vB0Hd9.js} +2 -2
- package/dist/components-csr/{p-CrbzXk64.js → p-CF7mq5T7.js} +2 -2
- package/dist/components-csr/{p-DF19mmLl.js → p-CVMM-tdC.js} +2 -2
- package/dist/components-csr/{p-C4_7YnHT.js → p-DMQ-6aj8.js} +2 -2
- package/dist/components-csr/{p--TCJgZnE.js → p-DjKPc5EU.js} +2 -2
- package/dist/{components/p-Lsoo1B-2.js → components-csr/p-If0JHsYV.js} +2 -2
- package/dist/components-csr/p-If0JHsYV.js.map +1 -0
- package/dist/components-csr/{p-IWA0yIjJ.js → p-R_guULjT.js} +2 -2
- package/dist/components-csr/{p-uZbtHo-A.js → p-uSMrgqAy.js} +2 -2
- 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/{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/{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/lazy-loading-indicator-BWFcjJiK.js +67 -0
- package/dist/esm/lazy-loading-indicator-BWFcjJiK.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/md-accordion-item.entry.js +3 -3
- package/dist/esm/md-app-bar.entry.js +1 -1
- package/dist/esm/md-area-chart.entry.js +6 -6
- package/dist/esm/md-autocomplete.entry.js +4 -3
- package/dist/esm/md-autocomplete.entry.js.map +1 -1
- package/dist/esm/md-avatar_2.entry.js +3 -3
- package/dist/esm/md-badge.entry.js +2 -2
- package/dist/esm/md-bar-chart.entry.js +6 -6
- package/dist/esm/md-bottom-sheet.entry.js +4 -4
- package/dist/esm/md-breadcrumb-item.entry.js +1 -1
- package/dist/esm/md-breadcrumbs.entry.js +2 -2
- package/dist/esm/md-button-group.entry.js +2 -2
- package/dist/esm/{md-button_7.entry.js → md-button_6.entry.js} +15 -39
- package/dist/esm/md-button_6.entry.js.map +1 -0
- package/dist/esm/md-checkbox.entry.js +2 -2
- package/dist/esm/md-chip.entry.js +2 -2
- package/dist/esm/md-date-picker.entry.js +1 -1
- package/dist/esm/md-dialog.entry.js +2 -2
- package/dist/esm/md-divider.entry.js +2 -2
- package/dist/esm/md-fab-menu-item.entry.js +2 -2
- package/dist/esm/md-fab-menu.entry.js +2 -2
- package/dist/esm/md-fab.entry.js +2 -2
- package/dist/esm/md-line-chart.entry.js +6 -6
- package/dist/esm/md-list-item.entry.js +4 -4
- package/dist/esm/md-list.entry.js +3 -3
- 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_2.entry.js +5 -5
- package/dist/esm/md-multi-select.entry.js +5 -4
- package/dist/esm/md-multi-select.entry.js.map +1 -1
- package/dist/esm/md-navigation-bar.entry.js +1 -1
- package/dist/esm/md-navigation-rail-tab.entry.js +1 -1
- package/dist/esm/md-navigation-tab.entry.js +3 -3
- package/dist/esm/md-number-field.entry.js +2 -2
- package/dist/esm/md-organization-chart.entry.js +2 -2
- package/dist/esm/md-otp-field.entry.js +3 -3
- package/dist/esm/md-pie-chart.entry.js +2 -2
- package/dist/esm/md-search.entry.js +7 -6
- package/dist/esm/md-search.entry.js.map +1 -1
- package/dist/esm/md-select-option.entry.js +1 -1
- package/dist/esm/md-select.entry.js +5 -4
- package/dist/esm/md-select.entry.js.map +1 -1
- package/dist/esm/md-slider.entry.js +2 -2
- package/dist/esm/md-sparkline.entry.js +6 -6
- package/dist/esm/md-status-dot.entry.js +1 -1
- package/dist/esm/md-table.entry.js +3 -3
- package/dist/esm/md-text-field.entry.js +7 -7
- package/dist/esm/md-time-picker.entry.js +1 -1
- package/dist/esm/md-transfer-list.entry.js +1 -1
- package/dist/esm/md3.js +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/md3/md3.esm.js +1 -1
- package/dist/md3/p-08f1c469.entry.js +2 -0
- package/dist/md3/{p-7f53a423.entry.js.map → p-08f1c469.entry.js.map} +1 -1
- package/dist/md3/{p-7112374d.entry.js → p-108f89d7.entry.js} +2 -2
- package/dist/md3/{p-d7e99f9e.entry.js → p-1112bffc.entry.js} +2 -2
- package/dist/md3/{p-ef7b1826.entry.js → p-114c270b.entry.js} +2 -2
- package/dist/md3/{p-944e69e0.entry.js → p-1835fe36.entry.js} +2 -2
- package/dist/md3/{p-22633b2d.entry.js → p-2ba2db3b.entry.js} +2 -2
- package/dist/md3/{p-1d7e0203.entry.js → p-3f64a27d.entry.js} +2 -2
- package/dist/md3/{p-bed8dfec.entry.js → p-43c708ad.entry.js} +2 -2
- package/dist/md3/{p-ae360663.entry.js → p-4b7cf934.entry.js} +2 -2
- package/dist/md3/{p-27135a6b.entry.js → p-4f26bd60.entry.js} +2 -2
- package/dist/md3/{p-2befc42c.entry.js → p-56c7c570.entry.js} +2 -2
- package/dist/md3/{p-0a599351.entry.js → p-56ca0c3c.entry.js} +2 -2
- package/dist/md3/{p-96c06b24.entry.js → p-5b63149a.entry.js} +2 -2
- package/dist/md3/{p-4ba3623e.entry.js → p-5f668b0a.entry.js} +2 -2
- package/dist/md3/{p-9b9677cc.entry.js → p-6237ddac.entry.js} +2 -2
- package/dist/md3/{p-b243284b.entry.js → p-6d65fc6a.entry.js} +2 -2
- package/dist/md3/{p-8b1ea5dc.entry.js → p-707b6d7c.entry.js} +2 -2
- package/dist/md3/{p-a49df43d.entry.js → p-71f1660b.entry.js} +2 -2
- package/dist/md3/{p-7858833e.entry.js → p-7501170f.entry.js} +2 -2
- package/dist/md3/{p-6ea7117d.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-4aed552f.entry.js → p-80379565.entry.js} +2 -2
- package/dist/md3/p-830724e4.entry.js +2 -0
- package/dist/md3/p-830724e4.entry.js.map +1 -0
- package/dist/md3/{p-e3c37222.entry.js → p-87f88d62.entry.js} +2 -2
- package/dist/md3/p-8a7e0297.entry.js +2 -0
- package/dist/md3/p-8a7e0297.entry.js.map +1 -0
- package/dist/md3/{p-8135c606.entry.js → p-8bdcda53.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-6bf632c7.entry.js → p-90ccf4c3.entry.js} +2 -2
- package/dist/md3/{p-BjYKc1Ge.js → p-BdEoSBtL.js} +2 -2
- package/dist/md3/{p-BjYKc1Ge.js.map → p-BdEoSBtL.js.map} +1 -1
- package/dist/md3/{p-DzPKu-Ma.js → p-CGqeEMjY.js} +2 -2
- package/dist/md3/{p-DzPKu-Ma.js.map → p-CGqeEMjY.js.map} +1 -1
- package/dist/md3/{p-DvOKnoqK.js → p-CVFH1DkU.js} +2 -2
- 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-D17cVKxS.js +2 -0
- package/dist/md3/p-D17cVKxS.js.map +1 -0
- package/dist/md3/{p-Bx6--dQF.js → p-DGtztV3K.js} +2 -2
- package/dist/md3/{p-Bx6--dQF.js.map → p-DGtztV3K.js.map} +1 -1
- package/dist/md3/p-DnKDoE8K.js +2 -0
- package/dist/md3/p-DnKDoE8K.js.map +1 -0
- package/dist/md3/{p-5f39b49d.entry.js → p-ab568d1c.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-b54bbf88.entry.js +2 -0
- package/dist/md3/p-b54bbf88.entry.js.map +1 -0
- package/dist/md3/{p-21c89d1d.entry.js → p-ba011453.entry.js} +2 -2
- package/dist/md3/{p-cdcea99f.entry.js → p-c2944c87.entry.js} +2 -2
- package/dist/md3/{p-3a4bd4eb.entry.js → p-cc6e8afd.entry.js} +2 -2
- package/dist/md3/{p-c0476406.entry.js → p-d8885f53.entry.js} +2 -2
- package/dist/md3/{p-da0c36d9.entry.js → p-db6fb4e1.entry.js} +2 -2
- package/dist/md3/{p-5929e59c.entry.js → p-dcba2857.entry.js} +2 -2
- package/dist/md3/{p-925768ac.entry.js → p-e357e8ac.entry.js} +2 -2
- package/dist/md3/{p-e6b09e71.entry.js → p-e5c6795e.entry.js} +2 -2
- package/dist/md3/{p-1e85b8a8.entry.js → p-e871663b.entry.js} +2 -2
- package/dist/md3/p-f297d786.entry.js +2 -0
- package/dist/md3/{p-38f82d34.entry.js.map → p-f297d786.entry.js.map} +1 -1
- package/dist/md3/{p-b5586b66.entry.js → p-f5399b73.entry.js} +2 -2
- package/dist/md3/{p-5c35f916.entry.js → p-fd686966.entry.js} +2 -2
- package/dist/md3/{p-C_ogF68H.js → p-nhfFYWzy.js} +2 -2
- 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/hydrate/index.js +172 -106
- package/hydrate/index.mjs +172 -106
- package/package.json +18 -4
- package/dist/cjs/md-button_7.cjs.entry.js.map +0 -1
- package/dist/components/p-BADA63mI.js.map +0 -1
- package/dist/components/p-Lsoo1B-2.js.map +0 -1
- package/dist/components-csr/p--OUYjgKN.js.map +0 -1
- package/dist/components-csr/p-Bmu7RqHM.js.map +0 -1
- package/dist/esm/md-button_7.entry.js.map +0 -1
- package/dist/md3/p-2dda08b2.entry.js +0 -2
- package/dist/md3/p-2dda08b2.entry.js.map +0 -1
- package/dist/md3/p-38f82d34.entry.js +0 -2
- package/dist/md3/p-5db87a9d.entry.js +0 -2
- package/dist/md3/p-5db87a9d.entry.js.map +0 -1
- package/dist/md3/p-637baee1.entry.js +0 -2
- package/dist/md3/p-637baee1.entry.js.map +0 -1
- package/dist/md3/p-7f53a423.entry.js +0 -2
- package/dist/md3/p-RLxbNqRv.js +0 -2
- package/dist/md3/p-b7602557.entry.js +0 -2
- package/dist/md3/p-b7602557.entry.js.map +0 -1
- package/dist/md3/p-eddae19a.entry.js +0 -2
- package/dist/md3/p-eddae19a.entry.js.map +0 -1
- /package/dist/components/{p-Eb44PPZa.js.map → p-1RSrsLOs.js.map} +0 -0
- /package/dist/components/{p-D8oM1Kr3.js.map → p-2HV152w7.js.map} +0 -0
- /package/dist/components/{p-BA2v4IuG.js.map → p-6ZDAcEKN.js.map} +0 -0
- /package/dist/components/{p-CCMritCA.js.map → p-C77M30dm.js.map} +0 -0
- /package/dist/components/{p-CtVItLby.js.map → p-D5Ht729E.js.map} +0 -0
- /package/dist/components/{p-CTC8XAB6.js.map → p-De3E5Q8v.js.map} +0 -0
- /package/dist/components/{p-B-JfuA2g.js.map → p-Dm_7DA1f.js.map} +0 -0
- /package/dist/components/{p-DEzb9xsY.js.map → p-Dz3R-2Wn.js.map} +0 -0
- /package/dist/components/{p-B-iHDK5h.js.map → p-Zjf9uhOr.js.map} +0 -0
- /package/dist/components/{p-DfU4xY2F.js.map → p-ssLobpGS.js.map} +0 -0
- /package/dist/components/{p-DYL-8C5C.js.map → p-zMR3UIR_.js.map} +0 -0
- /package/dist/components-csr/{p-C0DlKmRg.js.map → p-BEmwDSzw.js.map} +0 -0
- /package/dist/components-csr/{p-DvXQXhgu.js.map → p-BQKzjYcY.js.map} +0 -0
- /package/dist/components-csr/{p-CG6FaRlt.js.map → p-BWMwewtY.js.map} +0 -0
- /package/dist/components-csr/{p-CSrxeWwL.js.map → p-Bkt_X-6v.js.map} +0 -0
- /package/dist/components-csr/{p-Hm3X1iai.js.map → p-C3vB0Hd9.js.map} +0 -0
- /package/dist/components-csr/{p-CrbzXk64.js.map → p-CF7mq5T7.js.map} +0 -0
- /package/dist/components-csr/{p-DF19mmLl.js.map → p-CVMM-tdC.js.map} +0 -0
- /package/dist/components-csr/{p-C4_7YnHT.js.map → p-DMQ-6aj8.js.map} +0 -0
- /package/dist/components-csr/{p--TCJgZnE.js.map → p-DjKPc5EU.js.map} +0 -0
- /package/dist/components-csr/{p-IWA0yIjJ.js.map → p-R_guULjT.js.map} +0 -0
- /package/dist/components-csr/{p-uZbtHo-A.js.map → p-uSMrgqAy.js.map} +0 -0
- /package/dist/md3/{p-7112374d.entry.js.map → p-108f89d7.entry.js.map} +0 -0
- /package/dist/md3/{p-d7e99f9e.entry.js.map → p-1112bffc.entry.js.map} +0 -0
- /package/dist/md3/{p-ef7b1826.entry.js.map → p-114c270b.entry.js.map} +0 -0
- /package/dist/md3/{p-944e69e0.entry.js.map → p-1835fe36.entry.js.map} +0 -0
- /package/dist/md3/{p-22633b2d.entry.js.map → p-2ba2db3b.entry.js.map} +0 -0
- /package/dist/md3/{p-1d7e0203.entry.js.map → p-3f64a27d.entry.js.map} +0 -0
- /package/dist/md3/{p-bed8dfec.entry.js.map → p-43c708ad.entry.js.map} +0 -0
- /package/dist/md3/{p-ae360663.entry.js.map → p-4b7cf934.entry.js.map} +0 -0
- /package/dist/md3/{p-27135a6b.entry.js.map → p-4f26bd60.entry.js.map} +0 -0
- /package/dist/md3/{p-2befc42c.entry.js.map → p-56c7c570.entry.js.map} +0 -0
- /package/dist/md3/{p-0a599351.entry.js.map → p-56ca0c3c.entry.js.map} +0 -0
- /package/dist/md3/{p-96c06b24.entry.js.map → p-5b63149a.entry.js.map} +0 -0
- /package/dist/md3/{p-4ba3623e.entry.js.map → p-5f668b0a.entry.js.map} +0 -0
- /package/dist/md3/{p-9b9677cc.entry.js.map → p-6237ddac.entry.js.map} +0 -0
- /package/dist/md3/{p-b243284b.entry.js.map → p-6d65fc6a.entry.js.map} +0 -0
- /package/dist/md3/{p-8b1ea5dc.entry.js.map → p-707b6d7c.entry.js.map} +0 -0
- /package/dist/md3/{p-a49df43d.entry.js.map → p-71f1660b.entry.js.map} +0 -0
- /package/dist/md3/{p-7858833e.entry.js.map → p-7501170f.entry.js.map} +0 -0
- /package/dist/md3/{p-6ea7117d.entry.js.map → p-7d1686a7.entry.js.map} +0 -0
- /package/dist/md3/{p-4aed552f.entry.js.map → p-80379565.entry.js.map} +0 -0
- /package/dist/md3/{p-e3c37222.entry.js.map → p-87f88d62.entry.js.map} +0 -0
- /package/dist/md3/{p-8135c606.entry.js.map → p-8bdcda53.entry.js.map} +0 -0
- /package/dist/md3/{p-6bf632c7.entry.js.map → p-90ccf4c3.entry.js.map} +0 -0
- /package/dist/md3/{p-5f39b49d.entry.js.map → p-ab568d1c.entry.js.map} +0 -0
- /package/dist/md3/{p-21c89d1d.entry.js.map → p-ba011453.entry.js.map} +0 -0
- /package/dist/md3/{p-cdcea99f.entry.js.map → p-c2944c87.entry.js.map} +0 -0
- /package/dist/md3/{p-3a4bd4eb.entry.js.map → p-cc6e8afd.entry.js.map} +0 -0
- /package/dist/md3/{p-c0476406.entry.js.map → p-d8885f53.entry.js.map} +0 -0
- /package/dist/md3/{p-da0c36d9.entry.js.map → p-db6fb4e1.entry.js.map} +0 -0
- /package/dist/md3/{p-5929e59c.entry.js.map → p-dcba2857.entry.js.map} +0 -0
- /package/dist/md3/{p-925768ac.entry.js.map → p-e357e8ac.entry.js.map} +0 -0
- /package/dist/md3/{p-e6b09e71.entry.js.map → p-e5c6795e.entry.js.map} +0 -0
- /package/dist/md3/{p-1e85b8a8.entry.js.map → p-e871663b.entry.js.map} +0 -0
- /package/dist/md3/{p-b5586b66.entry.js.map → p-f5399b73.entry.js.map} +0 -0
- /package/dist/md3/{p-5c35f916.entry.js.map → p-fd686966.entry.js.map} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,f as i,h as e,H as a,g as n}from"./p-WmvQpZnM.js";import{V as o,i as r,n as l,r as h,c as d,l as c}from"./p-Bz-JaJcA.js";import{s as p,a as m,g as u,c as f,r as y}from"./p-DWxN44zD.js";import{p as g}from"./p-CxhZdOPw.js";const b=()=>`:host{--md-text-field-padding-inline-end:var(--md-sys-spacing-inset-lg, 16px);display:inline-block;inline-size:var(--md-select-width, 100%);min-inline-size:var(--md-select-min-width, 0);box-sizing:border-box;font-family:var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif)}.md-select__field{inline-size:100%;cursor:pointer;--md-text-field-cursor:pointer}.md-select__field::part(input){cursor:pointer}:host(.md-select--disabled) .md-select__field::part(input){cursor:not-allowed}.md-select__field .md-select__trailing{display:inline-flex;align-items:center;gap:var(--md-select-trailing-gap, 2px);width:auto;height:auto}.md-select__caret{font-size:var(--md-select-caret-size, 24px);line-height:1;color:var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F));transition:transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-select--open) .md-select__caret{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.md-select__caret{transition:none}}.md-select__loader{display:inline-flex;align-items:center;justify-content:center;inline-size:24px;block-size:24px;--md-loading-indicator-size:var(--md-select-spinner-size, 22px);--md-loading-indicator-shape-size:var(--md-select-spinner-size, 22px)}:host([full-width]){display:block;inline-size:100%}.md-select__loading{display:flex;align-items:center;padding-block:var(--md-sys-spacing-inset-lg, 16px);padding-inline:var(--md-sys-spacing-inset-lg, 16px)}.md-select__loading md-progress-indicator{inline-size:100%}.md-select__field .md-select__clear{--_clear-color:var(--md-select-clear-color, var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F)));--md-icon-button-container-width:24px;--md-icon-button-container-height:24px;--md-icon-button-icon-size:18px;--md-icon-button-icon-color:var(--_clear-color);--md-icon-button-state-layer-color:var(--_clear-color)}.md-select__option-icon{font-size:20px;line-height:1;color:var(--md-select-option-icon-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-select--disabled){cursor:default}:host(.md-select--disabled) .md-select__field{--md-text-field-cursor:not-allowed}.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-select__vspacer{display:block;flex:none;pointer-events:none}.md-select__search-wrap{position:relative;display:block}.md-select__search{box-sizing:border-box;width:100%;border:none;outline:none;padding:12px 44px 12px 16px;font:inherit;color:var(--md-sys-color-on-surface, #1d1b20);background:var(--md-sys-color-surface-container, #f3edf7);border-bottom:1px solid var(--md-sys-color-outline-variant, #cac4d0)}.md-select__search::placeholder{color:var(--md-sys-color-on-surface-variant, #49454f)}.md-select__search-spinner{position:absolute;inset-block-start:50%;inset-inline-end:12px;margin-block-start:-12px;--md-loading-indicator-size:24px;--md-loading-indicator-shape-size:18px;pointer-events: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 _=0;const x=200;const v=180;const w=class{constructor(e){t(this,e);this.mdChange=s(this,"mdChange",7);this.mdOpen=s(this,"mdOpen",7);this.mdClose=s(this,"mdClose",7);this.mdValidityChange=s(this,"mdValidityChange",5);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.valueMissingLabel="Please select an item in the list.";this.reserveSupportingSpace=false;this.customValidityMessage="";this.variant="outlined";this.label="";this.placeholder="";this.value="";this.disabled=false;this.required=false;this.error=false;this.errorText="";this.supportingText="";this.density=0;this.clearable=false;this.matchTriggerWidth=true;this.placement="bottom-start";this.options=[];this.virtualize="auto";this.filterable=false;this.filterMode="substring";this.name="";this.searchPlaceholder="Search…";this.filterLabel="";this.noResultsText="No results";this.noOptionsText="No options";this.clearLabel="Clear selection";this.searchingLabel="Searching";this.loadingText="Loading…";this.clearIcon="close";this.dropdownIcon="arrow_drop_down";this.loading=false;this.fullWidth=false;this.open=false;this.optionsData=[];this.triggerId=`md-select-${++_}`;this.vc=new o({queryItem:t=>this.el.shadowRoot?.querySelector(`md-menu-item[data-vindex="${t}"]`)??null,requestRender:()=>i(this)});this.providerSet=false;this.selectedLabel="";this.query="";this.searching=false;this.queryText=null;this.defaultValue="";this.lastValidityKey=null;this._syncGuard=false;this._lastEmit=null;this.toggleOpen=()=>{if(this.disabled)return;this.open=!this.open};this.selectValue=t=>{if(this.value===t){this.open=false;return}this.value=t;this.mdChange.emit(t);this.open=false;this.fieldEl?.focus?.()};this.clearValue=t=>{t.stopPropagation();if(this.disabled||!this.value)return;this.value="";this.mdChange.emit("")};this.vpWired=false;this.handleMenuOpen=()=>{this._syncGuard=true;this.open=true;this._syncGuard=false;if(this._lastEmit!=="open"){this._lastEmit="open";this.mdOpen.emit()}if(this.vc.active){this.wireViewport();if(this.filterable){requestAnimationFrame((()=>{const t=this.el.shadowRoot?.querySelector(".md-select__search");t?.focus();void this.menuEl?.setComboboxElement?.(t)}))}}};this.handleMenuClose=()=>{this._syncGuard=true;this.open=false;this._syncGuard=false;if(this.query)this.query="";if(this._lastEmit!=="close"){this._lastEmit="close";this.mdClose.emit()}void this.menuEl?.setComboboxElement?.(null);this.vc.detachViewport();this.vpWired=false};this.onSearchInput=t=>{const s=t.target.value;this.queryText=null;if(!this.vc.active){this.query=s;return}if(!this.searching){this.searching=true;i(this)}clearTimeout(this.searchDebounce);this.searchDebounce=setTimeout((()=>{this.vc.setQuery(s);this.searching=false;i(this)}),v)}}get optionList(){return g(this.options,"md-select","options")}async show(){if(this.disabled)return;this.open=true}async close(){this.open=false}async focusTrigger(){this.fieldEl?.focus?.()}async reset(){if(!this.value)return;this.value="";this.mdChange.emit("")}async loadOptions(t){if(this.virtualize==="never"||!r()){this.vc.reset();this.optionsData=l(h(t));return}this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);const s=await this.vc.load(t);if(!s){this.vc.reset();this.optionsData=l(h(t))}else{this.updateSelectedLabel()}i(this)}async setQuery(t){this.vc.setQuery(t);if(!this.vc.active)this.query=t;this.queryText=t;this.syncSearchField();i(this)}syncSearchField(){if(this.queryText===null)return;const t=this.el.shadowRoot?.querySelector(".md-select__search");if(!t)return;t.value=this.queryText;this.queryText=null}async getLabels(t){return Object.fromEntries(this.vc.getLabels(t))}componentWillLoad(){this.refreshOptions();if(!this.value){const t=this.optionsData.find((t=>t.selected&&!t.disabled));if(t)this.value=t.value}this.defaultValue=this.value;this.syncFormValue()}syncFormValue(){p(this.internals,this.value||null);this.updateSelectedLabel();this.syncValidity()}syncValidity(){m(this.internals,{missing:this.required&&!this.value,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}async getValidity(){return u(this.internals)}emitValidityChange(){const t=u(this.internals);const s=`${t.valid}|${t.validationMessage}`;if(this.lastValidityKey===s)return;const i=this.lastValidityKey!==null;this.lastValidityKey=s;if(i)this.mdValidityChange.emit(t)}async checkValidity(){return f(this.internals)}async reportValidity(){return y(this.internals)}async setCustomValidity(t){this.customValidityMessage=t;this.syncValidity()}formResetCallback(){this.value=this.defaultValue}refreshOptions(){const t=d(this.el,this.optionList);const s=this.virtualize==="always"||this.virtualize==="auto"&&t.length>x;if(s&&r()&&t.length>0){this.optionsData=[];this.vc.setFixedRowHeight(this.rowHeight);this.vc.setFilterMode(this.filterMode);void this.vc.load(t).then((s=>{if(!s){this.optionsData=t;i(this)}else{this.updateSelectedLabel()}}))}else{this.vc.reset();this.optionsData=t}}updateSelectedLabel(){if(!this.value){this.selectedLabel=""}else if(this.vc.active){this.selectedLabel=this.vc.getLabels([this.value]).get(this.value)??this.selectedLabel}i(this)}onOptionChange(t){t.stopPropagation();this.refreshOptions()}syncMenu(t){if(this._syncGuard||!this.menuEl)return;if(t){this.menuEl.show?.({autoFocus:!(this.filterable&&this.vc.active)})}else{this.menuEl.close?.()}}handleKeyDown(t){if(this.disabled)return;if(!this.open&&(t.key==="ArrowDown"||t.key==="Enter"||t.key===" ")){t.preventDefault();this.open=true}else if(this.open&&t.key==="Escape"){t.preventDefault();this.open=false;this.fieldEl?.focus?.()}}wireViewport(){void(async()=>{const t=await(this.menuEl?.getScrollViewport?.())??null;if(!t||this.vpWired)return;this.vpWired=true;await this.vc.attachViewport((async()=>t))})()}componentDidRender(){this.syncSearchField();if(!this.menuEl)return;if(this.vc.active&&!this.providerSet){void this.menuEl.setVirtualProvider?.(this.vc.provider);this.providerSet=true}else if(!this.vc.active&&this.providerSet){void this.menuEl.setVirtualProvider?.(null);this.providerSet=false}if(this.open&&this.vc.active&&!this.vpWired)this.wireViewport()}disconnectedCallback(){clearTimeout(this.searchDebounce);this.vc.detachViewport()}get accessibleName(){if(this.label)return this.label;const t=this.el.getAttribute("aria-label");if(t&&t.trim())return t.trim();const s=this.el.getAttribute("aria-labelledby");if(s){const t=this.el.getRootNode();const i=s.trim().split(/\s+/).map((s=>t.getElementById?.(s)?.textContent?.trim()??"")).filter(Boolean).join(" ");if(i)return i}return""}renderTrigger(){const t=this.vc.active?this.selectedLabel:c(this.optionsData,this.value);const s=!!this.value&&!!t;const i=this.clearable&&s&&!this.disabled;const a=this.label?undefined:this.accessibleName||undefined;return e("md-text-field",{ref:t=>this.fieldEl=t,id:this.triggerId,class:"md-select__field",part:"field",exportparts:"container:field-container",variant:this.variant,label:this.label,"aria-label":a,placeholder:s?"":this.placeholder,value:t,readOnly:true,disabled:this.disabled,required:this.required,error:this.error,errorText:this.errorText,reserveSupportingSpace:this.reserveSupportingSpace,supportingText:this.supportingText,density:this.density,appearFocused:this.open,onClick:this.toggleOpen},e("span",{slot:"trailing-icon",class:"md-select__trailing",part:"trailing","aria-hidden":"true"},this.loading?e("span",{class:"md-select__loader",part:"loading-spinner"},e("slot",{name:"loader"},e("md-loading-indicator",{label:this.loadingText}))):[i&&e("md-icon-button",{class:"md-select__clear",part:"clear",size:"xs",icon:this.clearIcon,"aria-label":this.clearLabel,shapeMorph:false,groupTabindex:-1,onClick:this.clearValue}),e("span",{class:"md-select__caret material-symbols-outlined",part:"caret"},e("slot",{name:"dropdown-icon"},this.dropdownIcon))]))}renderVirtualOptions(){return e("div",{class:"md-select__listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-label":this.accessibleName||"Options"},e("div",{class:"md-select__vspacer",style:{height:`${this.vc.topPad}px`},"aria-hidden":"true"}),this.vc.windowRows.map(((t,s)=>{const i=this.vc.windowStart+s;const a=t.value===this.value;return e("md-menu-item",{key:t.index,id:`${this.triggerId}-opt-${i}`,"data-vindex":i,presentation:"option",type:"radio","check-position":"start","keep-open":true,part:a?"option option-selected":"option",disabled:t.disabled,selected:a,headline:t.label,"supporting-text":t.supportingText||"","aria-setsize":this.vc.filteredLength,"aria-posinset":i+1,onMdClick:()=>this.selectValue(t.value)},t.icon?e("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-select__option-icon","aria-hidden":"true"},t.icon):null,t.label)})),e("div",{class:"md-select__vspacer",style:{height:`${this.vc.bottomPad}px`},"aria-hidden":"true"}))}renderMenu(){const t=this.vc.active;const s=this.filterable&&!t?this.query.trim().toLowerCase():"";const i=s?this.optionsData.filter((t=>t.label.toLowerCase().includes(s)||(t.supportingText||"").toLowerCase().includes(s))):this.optionsData;const a=this.loading?"":t?this.vc.filteredLength===0?this.noResultsText:"":this.optionsData.length===0?this.noOptionsText:s&&i.length===0?this.noResultsText:"";const n=t?this.maxHeight??320:this.maxHeight;return e("md-menu",{ref:t=>this.menuEl=t,anchor:this.triggerId,placement:this.placement,"match-anchor-width":this.matchTriggerWidth||this.fullWidth,"max-height":n,"empty-text":a,listbox:true,"list-label":this.accessibleName||"Options",part:"menu",onMdOpen:this.handleMenuOpen,onMdClose:this.handleMenuClose},this.filterable&&!this.loading&&e("div",{slot:"header",class:"md-select__search-wrap",part:"search-wrap"},e("input",{class:"md-select__search",part:"search",type:"text",role:"combobox","aria-haspopup":"listbox","aria-expanded":String(this.open),"aria-controls":`${this.triggerId}-listbox`,"aria-autocomplete":"list",autocomplete:"off",placeholder:this.searchPlaceholder,"aria-label":this.filterLabel||(this.label?`Filter ${this.label}`:"Filter options"),onInput:this.onSearchInput,onClick:t=>t.stopPropagation()}),this.searching&&e("md-loading-indicator",{class:"md-select__search-spinner",part:"search-spinner",label:this.searchingLabel,"aria-hidden":"true"})),this.loading?e("div",{class:"md-select__loading",part:"loading-bar",role:"status","aria-label":this.loadingText},e("md-progress-indicator",{variant:"linear",indeterminate:true,wave:true,part:"loading-progress",label:this.loadingText})):t?this.renderVirtualOptions():e("div",{class:"md-select__listbox",role:"listbox",id:`${this.triggerId}-listbox`,"aria-label":this.accessibleName||"Options"},i.map((t=>e("md-menu-item",{key:t.value,id:`${this.triggerId}-opt-${t.value}`,presentation:"option",type:"radio","check-position":"start","keep-open":true,part:t.value===this.value?"option option-selected":"option",disabled:t.disabled,selected:t.value===this.value,headline:t.label,"supporting-text":t.supportingText||"",onMdClick:()=>this.selectValue(t.value)},t.icon?e("span",{slot:"leading-icon",part:"option-icon",class:"material-symbols-outlined md-select__option-icon",style:t.iconColor?{color:t.iconColor}:undefined,"aria-hidden":"true"},t.icon):null)))))}render(){return e(a,{key:"9673c714adf54a5c44d38754a7539d75a530e750",class:{"md-select":true,[`md-select--${this.variant}`]:true,"md-select--open":this.open,"md-select--disabled":this.disabled,"md-select--loading":this.loading},"aria-haspopup":"listbox","aria-busy":this.loading?"true":undefined},this.renderTrigger(),this.renderMenu(),e("div",{key:"4d83d5a2e165c72dfeddb87ad9679ecaaf964d44",class:"md-select__options",hidden:true},e("slot",{key:"0dbc2ee39737fc9fa38af8c0c2da4ca154807777",onSlotchange:()=>this.refreshOptions()})))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{value:[{syncFormValue:0}],required:[{syncValidity:0}],valueMissingLabel:[{syncValidity:0}],options:[{refreshOptions:0}],open:[{syncMenu:0}]}}};w.style=b();export{w as md_select};
|
|
2
|
-
//# sourceMappingURL=p-5db87a9d.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["mdSelectCss","selectIdCounter","VIRTUALIZE_THRESHOLD","SEARCH_DEBOUNCE_MS","MdSelect","constructor","hostRef","this","valueMissingLabel","reserveSupportingSpace","customValidityMessage","variant","label","placeholder","value","disabled","required","error","errorText","supportingText","density","clearable","matchTriggerWidth","placement","options","virtualize","filterable","filterMode","name","searchPlaceholder","filterLabel","noResultsText","noOptionsText","clearLabel","searchingLabel","loadingText","clearIcon","dropdownIcon","loading","fullWidth","open","optionsData","triggerId","vc","VirtualSelectController","queryItem","i","el","shadowRoot","querySelector","requestRender","forceUpdate","providerSet","selectedLabel","query","searching","queryText","defaultValue","lastValidityKey","_syncGuard","_lastEmit","toggleOpen","selectValue","val","mdChange","emit","fieldEl","focus","clearValue","e","stopPropagation","vpWired","handleMenuOpen","mdOpen","active","wireViewport","requestAnimationFrame","input","menuEl","setComboboxElement","handleMenuClose","mdClose","detachViewport","onSearchInput","q","target","clearTimeout","searchDebounce","setTimeout","setQuery","optionList","parseJsonArrayProp","show","close","focusTrigger","reset","loadOptions","source","isWasmSupported","normalizeInits","rowsToArray","setFixedRowHeight","rowHeight","setFilterMode","ok","load","updateSelectedLabel","syncSearchField","getLabels","values","Object","fromEntries","componentWillLoad","refreshOptions","preselected","find","o","selected","syncFormValue","setFormValue","internals","syncValidity","setValidityState","missing","missingMessage","customMessage","emitValidityChange","getValidity","getValidityOf","v","key","valid","validationMessage","primed","mdValidityChange","checkValidity","checkValidityOf","reportValidity","reportValidityOf","setCustomValidity","message","formResetCallback","data","collectOptions","shouldVirtualize","length","then","get","onOptionChange","syncMenu","autoFocus","handleKeyDown","preventDefault","vp","getScrollViewport","attachViewport","async","componentDidRender","setVirtualProvider","provider","disconnectedCallback","accessibleName","ariaLabel","getAttribute","trim","labelledby","root","getRootNode","text","split","map","id","getElementById","textContent","filter","Boolean","join","renderTrigger","display","labelFor","hasValue","showClear","fieldAriaLabel","undefined","h","ref","class","part","exportparts","readOnly","appearFocused","onClick","slot","size","icon","shapeMorph","groupTabindex","renderVirtualOptions","role","style","height","topPad","windowRows","row","filteredIndex","windowStart","index","presentation","type","headline","filteredLength","onMdClick","bottomPad","renderMenu","virtual","toLowerCase","listOptions","includes","emptyText","menuMaxHeight","maxHeight","anchor","listbox","onMdOpen","onMdClose","String","autocomplete","onInput","indeterminate","wave","opt","iconColor","color","render","Host","hidden","onSlotchange"],"sources":["src/components/md-select/md-select.css?tag=md-select&encapsulation=shadow","src/components/md-select/md-select.tsx"],"sourcesContent":["/* ==========================================================\n md-select — single-select dropdown\n\n The heavy lifting (field surface, label float, error state, menu\n motion + positioning + keyboard) is delegated to md-text-field and\n md-menu. This stylesheet only owns the host layout and the trailing\n caret / clear affordances rendered into the field's trailing slot.\n\n PUBLIC CSS CUSTOM PROPERTIES (select-owned):\n --md-select-width Host inline size (default 100%)\n --md-select-min-width Host minimum inline size (default 0)\n --md-select-caret-color Dropdown caret colour\n --md-select-caret-size Dropdown caret glyph size (default 24px)\n --md-select-clear-color Clear (✕) icon colour (default: caret colour)\n --md-select-trailing-gap Gap between clear + caret (default 2px)\n --md-select-option-icon-color Leading icon colour in option rows\n\n The composed field + menu expose their own --md-text-field-* / --md-menu-*\n / --md-menu-item-* tokens, which flow straight through when set on the host.\n\n PUBLIC PARTS:\n field, field-container, trailing, clear, caret, menu,\n option, option-selected, option-icon\n ========================================================== */\n\n:host {\n /* The text inset already includes the caret's 7px optical bearing (see\n md-text-field --_text-inset). Pull the TRAILING side back to the plain\n box inset so the caret's BOX sits 7px shallower and its INK lands on the\n same column as the text. */\n --md-text-field-padding-inline-end: var(--md-sys-spacing-inset-lg, 16px);\n display: inline-block;\n inline-size: var(--md-select-width, 100%);\n min-inline-size: var(--md-select-min-width, 0);\n box-sizing: border-box;\n font-family: var(--md-sys-typescale-body-large-font-family, Roboto, sans-serif);\n}\n\n.md-select__field {\n inline-size: 100%;\n cursor: pointer;\n --md-text-field-cursor: pointer;\n}\n\n/* Override the browser's default text cursor on the readonly input —\n the whole field behaves as a button, not an editable field. */\n.md-select__field::part(input) {\n cursor: pointer;\n}\n\n:host(.md-select--disabled) .md-select__field::part(input) {\n cursor: not-allowed;\n}\n\n/* ── Trailing cluster (clear + caret) ───────────────────── */\n\n/* The trailing slot holds a *cluster* (clear + caret), but md-text-field\n sizes any single slotted trailing icon to a fixed 24px box via\n `.md-text-field__icon ::slotted(*)` — which would squash the cluster and\n push the caret off the edge. Scoping under `.md-select__field` raises this\n rule's specificity above that ::slotted rule so the cluster sizes to its\n content across the shadow boundary. */\n.md-select__field .md-select__trailing {\n display: inline-flex;\n align-items: center;\n gap: var(--md-select-trailing-gap, 2px);\n width: auto;\n height: auto;\n}\n\n\n.md-select__caret {\n font-size: var(--md-select-caret-size, 24px);\n line-height: 1;\n color: var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F));\n transition: transform var(--md-sys-motion-duration-short4, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n\n/* Flip the caret when open — works for any custom dropdown-icon, not just the\n default arrow (which then reads as \"up\"). */\n:host(.md-select--open) .md-select__caret {\n transform: rotate(180deg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .md-select__caret {\n transition: none;\n }\n}\n\n/* Busy state: the spinner replaces the caret/clear cluster in the trigger. The\n default md-loading-indicator is 48px — shrink it to the trailing footprint. */\n.md-select__loader {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 24px;\n block-size: 24px;\n --md-loading-indicator-size: var(--md-select-spinner-size, 22px);\n --md-loading-indicator-shape-size: var(--md-select-spinner-size, 22px);\n}\n\n/* Full-width: fill the parent's inline size as a block (overrides the default\n inline-block sizing). The dropdown follows via match-trigger-width. */\n:host([full-width]) {\n display: block;\n inline-size: 100%;\n}\n\n/* Busy state inside the menu: the wavy linear progress bar fills the surface\n width with comfortable padding (replaces the old \"Loading…\" text). */\n.md-select__loading {\n display: flex;\n align-items: center;\n padding-block: var(--md-sys-spacing-inset-lg, 16px);\n padding-inline: var(--md-sys-spacing-inset-lg, 16px);\n}\n\n.md-select__loading md-progress-indicator {\n inline-size: 100%;\n}\n\n/* Clear affordance is an md-icon-button (ripple + state layer for free).\n Compact it to the prior 24px footprint; defaults to the caret colour so it\n sits inline with the caret, but is independently overridable. */\n.md-select__field .md-select__clear {\n --_clear-color: var(--md-select-clear-color,\n var(--md-select-caret-color, var(--md-sys-color-on-surface-variant, #49454F)));\n --md-icon-button-container-width: 24px;\n --md-icon-button-container-height: 24px;\n --md-icon-button-icon-size: 18px;\n --md-icon-button-icon-color: var(--_clear-color);\n --md-icon-button-state-layer-color: var(--_clear-color);\n}\n\n/* ── Option leading icon (in the menu rows) ─────────────── */\n\n.md-select__option-icon {\n font-size: 20px;\n line-height: 1;\n color: var(--md-select-option-icon-color, var(--md-sys-color-on-surface-variant, #49454F));\n}\n\n/* ── Disabled ───────────────────────────────────────────── */\n\n:host(.md-select--disabled) {\n cursor: default;\n}\n\n:host(.md-select--disabled) .md-select__field {\n --md-text-field-cursor: not-allowed;\n}\n\n/* Material Symbols inside the shadow root. */\n.material-symbols-outlined {\n font-family: var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n overflow-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n}\n\n/* ── Virtualized list ──────────────────────────────────── */\n\n/* Spacers reserve the full scroll height above/below the rendered window so\n the menu scrolls as if every option were present. */\n.md-select__vspacer {\n display: block;\n flex: none;\n pointer-events: none;\n}\n\n/* Search field pinned in the menu header (filterable virtualized lists). */\n.md-select__search-wrap {\n position: relative;\n display: block;\n}\n\n.md-select__search {\n box-sizing: border-box;\n width: 100%;\n border: none;\n outline: none;\n /* Right padding reserves room for the search spinner. */\n padding: 12px 44px 12px 16px;\n font: inherit;\n color: var(--md-sys-color-on-surface, #1d1b20);\n background: var(--md-sys-color-surface-container, #f3edf7);\n border-bottom: 1px solid var(--md-sys-color-outline-variant, #cac4d0);\n}\n\n.md-select__search::placeholder {\n color: var(--md-sys-color-on-surface-variant, #49454f);\n}\n\n/* M3 shape-morph loading indicator shown while a debounced search is in flight.\n Motion + reduced-motion handling live inside md-loading-indicator. */\n.md-select__search-spinner {\n position: absolute;\n inset-block-start: 50%;\n inset-inline-end: 12px;\n margin-block-start: -12px;\n --md-loading-indicator-size: 24px;\n --md-loading-indicator-shape-size: 18px;\n pointer-events: none;\n}\n\n/* ==========================================================\n DENSITY (local override)\n This component FORWARDS `density` to the md-text-field it embeds, which\n handles the field box — but that forward says nothing about this host, so its\n OWN chrome (dropdown surface, chips, frame gaps) stayed at density-0 whenever\n density came from the local prop rather than a global ancestor. Mapping the\n prop onto the shared signal here fixes that asymmetry; the spacing-token half\n of the rung arrives from the [density=\"-N\"] selector in tokens.css.\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 { AttachInternals, Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, forceUpdate, h } from '@stencil/core';\nimport {\n collectOptions,\n labelFor,\n normalizeInits,\n OptionRowSource,\n rowsToArray,\n SelectOptionData,\n SelectOptionInit,\n} from '../../utils/select-options';\nimport {\n setFormValue,\n setValidityState,\n checkValidityOf,\n reportValidityOf,\n getValidityOf,\n} from '../../utils/form';\nimport { VirtualSelectController } from '../../utils/virtual-select-controller';\nimport { isWasmSupported, FilterMode } from '../../utils/wasm-option-store';\nimport { VirtualMenuProvider } from '../../utils/types';\nimport { parseJsonArrayProp } from '../../utils/json-prop';\n\nlet selectIdCounter = 0;\n\n/** Above this many options, `virtualize=\"auto\"` switches to the WASM path. */\nconst VIRTUALIZE_THRESHOLD = 200;\n\n/** Idle time after a keystroke before the search query runs (debounce). */\nconst SEARCH_DEBOUNCE_MS = 180;\n\ntype VirtualMenuEl = HTMLElement & {\n show?: (opts?: { autoFocus?: boolean }) => Promise<void>;\n close?: () => Promise<void>;\n setVirtualProvider?: (p: VirtualMenuProvider | null) => Promise<void>;\n setComboboxElement?: (el: HTMLElement | null) => Promise<void>;\n getScrollViewport?: () => Promise<HTMLElement | null>;\n};\n\n/**\n * `md-select` — Material Design 3 single-select dropdown.\n *\n * Composes the library's own primitives instead of re-implementing them:\n * - `md-text-field` is the trigger surface, so the picker inherits the\n * full filled/outlined visuals, density scale, floating label, error\n * state, supporting text, and focus ring of every other input. It is\n * `readonly` (not editable) and `appear-focused` while the menu is open\n * so the field + menu read as one connected control.\n * - `md-menu` is the option surface, so the picker inherits open/close\n * motion, viewport-aware positioning, single-open coordination, roving\n * tabindex, type-ahead, and Escape/Home/End — for free.\n *\n * Options are authored either declaratively as slotted `<md-select-option>`\n * children (primary API) or via the programmatic `options` array. Each\n * becomes a `type=\"radio\"` `md-menu-item` so only one is ever selected.\n *\n * @slot - `md-select-option` children for the dropdown (primary authoring API).\n * @slot dropdown-icon - Replaces the caret glyph (e.g. a custom SVG). Rotates 180° when open.\n * @slot loader - Replaces the busy-state spinner shown in the trigger while `loading`.\n *\n * @part field - The inner `md-text-field` trigger surface.\n * @part field-container - The text-field's container box (border/fill).\n * @part trailing - The trailing cluster wrapping the clear + caret.\n * @part clear - The clear (✕) `md-icon-button`.\n * @part caret - The dropdown caret glyph.\n * @part loading-spinner - The busy-state spinner in the trigger (`loading`).\n * @part loading-bar - The busy-state container in the menu (`loading`).\n * @part loading-progress - The wavy progress indicator shown in the menu while `loading`.\n * @part menu - The `md-menu` option surface.\n * @part option - Each option row (`md-menu-item`).\n * @part option-selected - The currently selected option row.\n * @part option-icon - An option's leading icon.\n * @part search - The filter input (`filterable`).\n * @part search-spinner - The in-menu spinner shown while filtering.\n */\n@Component({\n tag: 'md-select',\n styleUrl: 'md-select.css',\n shadow: true,\n formAssociated: true,\n})\nexport class MdSelect {\n @Element() el!: HTMLElement;\n\n\n /**\n * Localized constraint-validation message shown when `required` is unmet.\n *\n * A prop rather than a hardcoded string, matching md-time-picker's\n * `value-missing-label`: components stay i18n-engine-agnostic and the\n * consumer localizes through its own dictionary. Native inputs get their\n * message from the browser's locale for free; a form-associated custom\n * element supplies its own, so leaving this hardcoded would ship an\n * English-only form to every locale.\n */\n @Prop({ attribute: 'value-missing-label' }) valueMissingLabel: string =\n 'Please select an item in the list.';\n\n\n /**\n * Always occupy the supporting-text line, even when there is no message, so a\n * validation error does not push the content below it down. Forwarded to the\n * embedded md-text-field. See that component for why it is opt-in.\n */\n @Prop({ attribute: 'reserve-supporting-space' }) reserveSupportingSpace: boolean = false;\n\n /** Message set via setCustomValidity(); non-empty wins over valueMissing. */\n private customValidityMessage = '';\n\n /**\n * Form-association handle. The select submits its `value` under the host's\n * `name` via `setFormValue`, so it participates in `<form>`/`FormData`\n * natively — a hidden `<input>` in the shadow root would be invisible to\n * `FormData`.\n */\n @AttachInternals() internals!: ElementInternals;\n\n /** Visual variant — forwarded to the inner `md-text-field`. */\n @Prop({ reflect: true }) variant: 'filled' | 'outlined' = 'outlined';\n\n /** Floating label / accessible name. */\n @Prop() label: string = '';\n\n /** Placeholder shown when no value is selected. */\n @Prop() placeholder: string = '';\n\n /** Selected option value. Empty string = nothing selected. */\n @Prop({ mutable: true, reflect: true }) value: string = '';\n\n /** Disabled — non-interactive. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Required (form validation parity). */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Error state — forwarded to the inner field. */\n @Prop({ reflect: true }) error: boolean = false;\n\n /** Error text rendered in place of supporting text when `error` is set. */\n @Prop({ attribute: 'error-text' }) errorText: string = '';\n\n /** Supporting / helper text rendered below the field. */\n @Prop({ attribute: 'supporting-text' }) supportingText: string = '';\n\n /** Density forwarded to the inner field (0 = comfortable … -3 = compact). */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n /** Show a clear (✕) button in the trigger when a value is selected. */\n @Prop({ reflect: true }) clearable: boolean = false;\n\n /**\n * Match the dropdown width to the trigger width. When `false` the menu\n * sizes to its content (down to its own min-width). Maps to `md-menu`'s\n * `match-anchor-width`. Default `true` — the expected select behaviour.\n */\n @Prop({ attribute: 'match-trigger-width', reflect: true })\n matchTriggerWidth: boolean = true;\n\n /** Menu placement relative to the trigger — forwarded to `md-menu`. */\n @Prop() placement: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' =\n 'bottom-start';\n\n /**\n * Cap the dropdown height. When the options exceed it the list scrolls\n * vertically with top/bottom edge shadows. A number is pixels; any CSS\n * length is passed through (e.g. `'50vh'`). Forwarded to `md-menu`'s\n * `max-height`.\n */\n @Prop({ attribute: 'max-height' }) maxHeight?: number | string;\n\n /** Programmatic options. Ignored when `<md-select-option>` children exist. */\n /**\n * Programmatic options. Slotted `md-select-option` children take precedence.\n *\n * Accepts the array (property) or a **JSON string** (attribute), so a\n * plain-HTML page can declare its data inline instead of reaching for a\n * script. Malformed JSON degrades to an empty list with a console warning.\n */\n @Prop() options: SelectOptionInit[] | string = [];\n\n /** `options` as an array, whether it arrived as one or as a JSON attribute. */\n private get optionList(): SelectOptionInit[] {\n return parseJsonArrayProp<SelectOptionInit>(this.options, 'md-select', 'options');\n }\n\n /**\n * Virtualization mode for large option lists (backed by a WASM data engine):\n * - `'auto'` (default): virtualize only above `VIRTUALIZE_THRESHOLD` rows.\n * - `'always'`: always virtualize the `options` / `loadOptions` dataset.\n * - `'never'`: keep the classic DOM rendering regardless of size.\n * Virtualized rows render label + selection only (no per-row icon /\n * supporting text) and assume a uniform row height.\n */\n @Prop() virtualize: 'auto' | 'always' | 'never' = 'auto';\n\n /**\n * Show a search field in the menu header.\n *\n * A plain list filters client-side on label / supporting text; a virtualized\n * one filters inside the WASM engine. Closing the menu clears the query.\n */\n @Prop() filterable: boolean = false;\n\n /** Filter strategy used by `filterable` / `setQuery`. */\n @Prop({ attribute: 'filter-mode' }) filterMode: FilterMode = 'substring';\n\n /** Fixed virtualized row height (px). Auto-measured from the first row if unset. */\n @Prop({ attribute: 'row-height' }) rowHeight?: number;\n\n /** Form field name. The selected value is submitted under this name. */\n @Prop({ reflect: true }) name: string = '';\n\n // ── Localizable UI strings ───────────────────────────────\n // Defaults are English; override per the page locale (see the date picker for\n // the same convention). Option labels themselves come from `options` data.\n\n /** Placeholder for the in-menu filter field (`filterable`). */\n @Prop({ attribute: 'search-placeholder' }) searchPlaceholder: string = 'Search…';\n /** Accessible name for the filter field. Falls back to `Filter <label>`. */\n @Prop({ attribute: 'filter-label' }) filterLabel: string = '';\n /** Empty-state text when a filter matches nothing. */\n @Prop({ attribute: 'no-results-text' }) noResultsText: string = 'No results';\n /** Empty-state text when there are no options at all. */\n @Prop({ attribute: 'no-options-text' }) noOptionsText: string = 'No options';\n /** Accessible label for the clear button (`clearable`). */\n @Prop({ attribute: 'clear-label' }) clearLabel: string = 'Clear selection';\n /** Accessible label for the in-menu loading spinner while filtering. */\n @Prop({ attribute: 'searching-label' }) searchingLabel: string = 'Searching';\n /** Text shown in the trigger / menu while `loading` is true. */\n @Prop({ attribute: 'loading-text' }) loadingText: string = 'Loading…';\n\n // ── Icon customization (Material Symbols names; or use the slots below) ──\n\n /** Icon (Material Symbols name) for the clear button (`clearable`). */\n @Prop({ attribute: 'clear-icon' }) clearIcon: string = 'close';\n /** Caret icon; rotates 180° when open. Slot `dropdown-icon` overrides it. */\n @Prop({ attribute: 'dropdown-icon' }) dropdownIcon: string = 'arrow_drop_down';\n\n /**\n * Show a busy state: the trigger shows a spinner instead of the caret and the\n * host is `aria-busy`. Use while an async dataset loads (e.g. before/around a\n * large `loadOptions`). Replace the spinner with the `loader` slot.\n */\n @Prop({ reflect: true }) loading: boolean = false;\n\n /**\n * Stretch the control to fill its parent's inline width (otherwise it sizes to\n * a sensible default). The dropdown follows when `match-trigger-width` is set.\n */\n @Prop({ attribute: 'full-width', reflect: true }) fullWidth: boolean = false;\n\n /** Open state of the dropdown. Reflected so `:host([open])` rules apply. */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /** Emits the newly selected value whenever the selection changes. */\n @Event() mdChange!: EventEmitter<string>;\n\n /** Emits when the dropdown opens. */\n @Event() mdOpen!: EventEmitter<void>;\n\n /** Emits when the dropdown closes. */\n @Event() mdClose!: EventEmitter<void>;\n\n @State() private optionsData: SelectOptionData[] = [];\n\n @State() private triggerId = `md-select-${++selectIdCounter}`;\n\n private fieldEl?: HTMLElement & { focus?: () => void };\n private menuEl?: VirtualMenuEl;\n\n /** Shared virtualization engine (WASM store + window math + provider glue). */\n private vc = new VirtualSelectController({\n queryItem: (i) =>\n (this.el.shadowRoot?.querySelector(\n `md-menu-item[data-vindex=\"${i}\"]`,\n ) as HTMLElement | null) ?? null,\n requestRender: () => forceUpdate(this),\n });\n private providerSet = false;\n /** Trigger label for the selected value while virtualized (off-window safe). */\n private selectedLabel = '';\n private searchDebounce?: ReturnType<typeof setTimeout>;\n /** Client-side filter query for `filterable` on a NON-virtualized list. The\n * virtualized path filters inside the WASM engine via `vc.setQuery`. */\n @State() private query = '';\n\n /** True between a keystroke and the debounced query resolving (drives the spinner). */\n private searching = false;\n\n // ── Public API ───────────────────────────────────────────\n\n /** Open the dropdown programmatically. */\n @Method()\n async show() {\n if (this.disabled) return;\n this.open = true;\n }\n\n /** Close the dropdown programmatically. */\n @Method()\n async close() {\n this.open = false;\n }\n\n /** Move focus to the trigger field. */\n @Method()\n async focusTrigger() {\n this.fieldEl?.focus?.();\n }\n\n /** Clear the selection. */\n @Method()\n async reset() {\n if (!this.value) return;\n this.value = '';\n this.mdChange.emit('');\n }\n\n /**\n * Load a large dataset into the WASM-backed virtualized list (the high-scale\n * entry point). Accepts a materialised `SelectOptionInit[]` or a row factory\n * (`{ count, getRow }`) — the factory streams rows into WASM one at a time, so\n * tens of millions of options never exist as JS objects at once. Falls back to\n * plain DOM rendering when `virtualize=\"never\"` or WebAssembly is unavailable.\n */\n @Method()\n async loadOptions(source: SelectOptionInit[] | OptionRowSource) {\n if (this.virtualize === 'never' || !isWasmSupported()) {\n this.vc.reset();\n this.optionsData = normalizeInits(rowsToArray(source));\n return;\n }\n this.optionsData = [];\n this.vc.setFixedRowHeight(this.rowHeight);\n this.vc.setFilterMode(this.filterMode);\n const ok = await this.vc.load(source);\n if (!ok) {\n // The store declines an empty set (and a WASM failure). Without dropping\n // whatever it still holds, `loadOptions([])` after a populated load left\n // the PREVIOUS rows active and rendering — so a consumer could not clear\n // the list by handing over an empty one.\n this.vc.reset();\n this.optionsData = normalizeInits(rowsToArray(source));\n } else {\n this.updateSelectedLabel();\n }\n forceUpdate(this);\n }\n\n /**\n * Filter the menu exactly as typing into the in-menu search field would.\n *\n * The field is uncontrolled, so the text is mirrored into it as well —\n * otherwise the list narrows while the box still reads empty, which looks\n * like the call did nothing. The menu may be closed (no field rendered yet),\n * so the text is stashed and applied on the next render.\n */\n @Method()\n async setQuery(query: string) {\n this.vc.setQuery(query);\n if (!this.vc.active) this.query = query;\n this.queryText = query;\n this.syncSearchField();\n forceUpdate(this);\n }\n\n /** Text pushed by `setQuery()`, pending mirroring into the search field. */\n private queryText: string | null = null;\n\n private syncSearchField() {\n if (this.queryText === null) return;\n const input = this.el.shadowRoot?.querySelector(\n '.md-select__search',\n ) as HTMLInputElement | null;\n if (!input) return;\n input.value = this.queryText;\n this.queryText = null;\n }\n\n /** Resolve labels for values that may be outside the current filter/window. */\n @Method()\n async getLabels(values: string[]): Promise<Record<string, string>> {\n return Object.fromEntries(this.vc.getLabels(values));\n }\n\n // ── Lifecycle / reactivity ───────────────────────────────\n\n /** Initial value, restored on form reset. */\n private defaultValue = '';\n\n componentWillLoad() {\n this.refreshOptions();\n // Adopt an option-declared `selected` hint when no value was provided.\n if (!this.value) {\n const preselected = this.optionsData.find((o) => o.selected && !o.disabled);\n if (preselected) this.value = preselected.value;\n }\n this.defaultValue = this.value;\n this.syncFormValue();\n }\n\n /** Keep the submitted form value in sync with the selection. */\n @Watch('value')\n syncFormValue() {\n setFormValue(this.internals, this.value || null);\n this.updateSelectedLabel();\n this.syncValidity();\n }\n\n /**\n * Publish `required` to the owning form. Without this the select is\n * form-associated (its value reaches FormData) yet ALWAYS reports valid, so an\n * empty required control lets the form submit — `required` renders as a visual\n * hint and nothing more. Kept in the same place as the value sync so the two\n * can never drift.\n */\n @Watch('required')\n @Watch('valueMissingLabel')\n private syncValidity() {\n setValidityState(this.internals, {\n missing: this.required && !this.value,\n missingMessage: this.valueMissingLabel,\n customMessage: this.customValidityMessage,\n });\n this.emitValidityChange();\n }\n\n /** Current validity: boolean, message and flags. Mirrors md-text-field. */\n @Method()\n async getValidity(): Promise<{\n valid: boolean;\n validationMessage: string;\n flags: Record<string, boolean>;\n }> {\n return getValidityOf(this.internals);\n }\n\n /**\n * Fires when this control's validity CHANGES — never on every keystroke, and\n * never for a re-publish that lands on the same state.\n *\n * `composed: false` is deliberate. Composites like md-select embed an\n * md-text-field, and a composed event escapes that inner shadow root, so a\n * listener on md-select would receive the inner field's event as well as the\n * host's — two events, different payloads, for one logical control. Keeping\n * it uncomposed means each component reports only for itself, while\n * `bubbles: true` still lets a <form> or app root hear every control.\n */\n @Event({ bubbles: true, composed: false }) mdValidityChange: EventEmitter<{\n valid: boolean;\n validationMessage: string;\n flags: Record<string, boolean>;\n }>;\n\n /** Last emitted validity, so a re-publish that changes nothing stays silent. */\n private lastValidityKey: string | null = null;\n\n /**\n * Emit mdValidityChange if validity actually moved.\n *\n * The FIRST call only primes the baseline. Initial state is not a change, and\n * emitting on mount would fire once per control on every page load — noise a\n * consumer would have to filter out, and misleading for anything logging\n * \"field became invalid\".\n */\n private emitValidityChange() {\n const v = getValidityOf(this.internals);\n const key = `${v.valid}|${v.validationMessage}`;\n if (this.lastValidityKey === key) return;\n const primed = this.lastValidityKey !== null;\n this.lastValidityKey = key;\n if (primed) this.mdValidityChange.emit(v);\n }\n\n /** Constraint-validation API, matching md-text-field and the native contract. */\n @Method()\n async checkValidity(): Promise<boolean> {\n return checkValidityOf(this.internals);\n }\n\n /** Like checkValidity(), but also shows the browser's validation message. */\n @Method()\n async reportValidity(): Promise<boolean> {\n return reportValidityOf(this.internals);\n }\n\n /** App/server-side validation: a non-empty message marks the control invalid\n * for its form until cleared with an empty string. */\n @Method()\n async setCustomValidity(message: string) {\n this.customValidityMessage = message;\n this.syncValidity();\n }\n\n /** Restore the initial selection when the owning form is reset. */\n formResetCallback() {\n this.value = this.defaultValue;\n }\n\n @Watch('options')\n refreshOptions() {\n const data = collectOptions(this.el, this.optionList);\n const shouldVirtualize =\n this.virtualize === 'always' ||\n (this.virtualize === 'auto' && data.length > VIRTUALIZE_THRESHOLD);\n\n if (shouldVirtualize && isWasmSupported() && data.length > 0) {\n this.optionsData = [];\n this.vc.setFixedRowHeight(this.rowHeight);\n this.vc.setFilterMode(this.filterMode);\n void this.vc.load(data).then((ok) => {\n if (!ok) {\n this.optionsData = data;\n forceUpdate(this);\n } else {\n this.updateSelectedLabel();\n }\n });\n } else {\n this.vc.reset();\n this.optionsData = data;\n }\n }\n\n /** Refresh the cached trigger label for the current value (virtual mode). */\n private updateSelectedLabel() {\n if (!this.value) {\n this.selectedLabel = '';\n } else if (this.vc.active) {\n this.selectedLabel = this.vc.getLabels([this.value]).get(this.value) ?? this.selectedLabel;\n }\n forceUpdate(this);\n }\n\n /** Slotted `<md-select-option>` mount/unmount/data change → re-read. */\n @Listen('mdSelectOptionChange')\n onOptionChange(e: Event) {\n e.stopPropagation();\n this.refreshOptions();\n }\n\n // Prevents @Watch re-entrancy when handleMenuClose syncs this.open back.\n private _syncGuard = false;\n // Deduplicates mdOpen/mdClose: only emit when the state actually flips.\n private _lastEmit: 'open' | 'close' | null = null;\n\n @Watch('open')\n syncMenu(open: boolean) {\n if (this._syncGuard || !this.menuEl) return;\n if (open) {\n // A filterable virtual menu focuses its search field, not the first row.\n this.menuEl.show?.({ autoFocus: !(this.filterable && this.vc.active) });\n } else {\n this.menuEl.close?.();\n }\n }\n\n // ── Keyboard (trigger) ───────────────────────────────────\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (this.disabled) return;\n if (!this.open && (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n this.open = true;\n } else if (this.open && e.key === 'Escape') {\n e.preventDefault();\n this.open = false;\n this.fieldEl?.focus?.();\n }\n }\n\n // ── Handlers ─────────────────────────────────────────────\n\n private toggleOpen = () => {\n if (this.disabled) return;\n this.open = !this.open;\n };\n\n private selectValue = (val: string) => {\n if (this.value === val) {\n this.open = false;\n return;\n }\n this.value = val;\n this.mdChange.emit(val);\n this.open = false;\n this.fieldEl?.focus?.();\n };\n\n private clearValue = (e: MouseEvent) => {\n e.stopPropagation();\n if (this.disabled || !this.value) return;\n this.value = '';\n this.mdChange.emit('');\n };\n\n /** True once the vc is wired to the menu's live scroll viewport. */\n private vpWired = false;\n\n /** Wire the vc to the menu scroll viewport; a null resolve (viewport not\n * rendered yet — e.g. the menu opened while the dataset was packing and\n * showed the uncapped busy bar) just returns, and componentDidRender\n * retries until the wiring lands. */\n private wireViewport() {\n void (async () => {\n const vp = (await this.menuEl?.getScrollViewport?.()) ?? null;\n if (!vp || this.vpWired) return;\n this.vpWired = true;\n await this.vc.attachViewport(async () => vp);\n })();\n }\n\n private handleMenuOpen = () => {\n this._syncGuard = true;\n this.open = true;\n this._syncGuard = false;\n if (this._lastEmit !== 'open') {\n this._lastEmit = 'open';\n this.mdOpen.emit();\n }\n if (this.vc.active) {\n this.wireViewport();\n if (this.filterable) {\n requestAnimationFrame(() => {\n const input = this.el.shadowRoot?.querySelector('.md-select__search') as HTMLElement | null;\n input?.focus();\n // Register the search input as the combobox so md-menu drives the\n // listbox via aria-activedescendant on it (focus stays here while the\n // user arrows through / filters the virtualized options).\n void this.menuEl?.setComboboxElement?.(input);\n });\n }\n }\n };\n\n private handleMenuClose = () => {\n this._syncGuard = true;\n this.open = false;\n this._syncGuard = false;\n // Reopening shows the full list: the search field is uncontrolled and\n // unmounts with the menu, so a stale query would filter an empty-looking box.\n if (this.query) this.query = '';\n if (this._lastEmit !== 'close') {\n this._lastEmit = 'close';\n this.mdClose.emit();\n }\n void this.menuEl?.setComboboxElement?.(null);\n this.vc.detachViewport();\n this.vpWired = false;\n };\n\n private onSearchInput = (e: Event) => {\n const q = (e.target as HTMLInputElement).value;\n this.queryText = null; // typing supersedes a pending programmatic query\n if (!this.vc.active) {\n // Plain (non-virtual) list: filter the rendered options client-side. It is\n // cheap, so it runs synchronously per keystroke — no spinner, no debounce.\n this.query = q;\n return;\n }\n // Show the spinner immediately, debounce the actual (expensive) query, then\n // clear the spinner once results are in — a smooth, intentional transition.\n if (!this.searching) {\n this.searching = true;\n forceUpdate(this);\n }\n clearTimeout(this.searchDebounce);\n this.searchDebounce = setTimeout(() => {\n this.vc.setQuery(q);\n this.searching = false;\n forceUpdate(this);\n }, SEARCH_DEBOUNCE_MS);\n };\n\n /** Register/clear the virtual provider on the menu once it's rendered, and\n * (re)try viewport wiring for menus opened mid-pack. */\n componentDidRender() {\n this.syncSearchField();\n if (!this.menuEl) return;\n if (this.vc.active && !this.providerSet) {\n void this.menuEl.setVirtualProvider?.(this.vc.provider);\n this.providerSet = true;\n } else if (!this.vc.active && this.providerSet) {\n void this.menuEl.setVirtualProvider?.(null);\n this.providerSet = false;\n }\n if (this.open && this.vc.active && !this.vpWired) this.wireViewport();\n }\n\n disconnectedCallback() {\n clearTimeout(this.searchDebounce);\n this.vc.detachViewport();\n }\n\n // ── Render ───────────────────────────────────────────────\n\n /**\n * Resolved accessible name for the control.\n *\n * A consumer names the select one of two ways: the visible `label` prop, or\n * `aria-label` / `aria-labelledby` on the host — the latter used when there\n * is no floating label, e.g. `md-table-pagination`'s rows-per-page select,\n * which has a *separate* visible label element next to it. The host is\n * role-less (generic), so a name set there is invisible to assistive tech,\n * and an `aria-labelledby` IDREF can't cross the shadow boundary into the\n * field's inner input. Resolve the name here (visible `label` wins, then\n * `aria-label`, then the flattened text of `aria-labelledby` targets) so it\n * can be forwarded onto the inner input (the real focus/accessible-name\n * target) and used to name the popup listbox — instead of the input having\n * no accessible name at all.\n */\n private get accessibleName(): string {\n if (this.label) return this.label;\n const ariaLabel = this.el.getAttribute('aria-label');\n if (ariaLabel && ariaLabel.trim()) return ariaLabel.trim();\n const labelledby = this.el.getAttribute('aria-labelledby');\n if (labelledby) {\n const root = this.el.getRootNode() as Document | ShadowRoot;\n const text = labelledby\n .trim()\n .split(/\\s+/)\n .map((id) => root.getElementById?.(id)?.textContent?.trim() ?? '')\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n return '';\n }\n\n private renderTrigger() {\n const display = this.vc.active\n ? this.selectedLabel\n : labelFor(this.optionsData, this.value);\n const hasValue = !!this.value && !!display;\n const showClear = this.clearable && hasValue && !this.disabled;\n // When there's no visible `label`, forward the host's accessible name\n // (aria-label / aria-labelledby) onto the field so md-text-field mirrors it\n // as the inner input's accessible name. Skipped when `label` is set: the\n // `label` prop already names the input, and passing aria-label too would\n // both double-name and leave an aria-label on md-text-field's role-less host.\n const fieldAriaLabel = this.label ? undefined : this.accessibleName || undefined;\n\n return (\n <md-text-field\n ref={(el) => (this.fieldEl = el as HTMLElement)}\n id={this.triggerId}\n class=\"md-select__field\"\n part=\"field\"\n exportparts=\"container:field-container\"\n variant={this.variant}\n label={this.label}\n aria-label={fieldAriaLabel}\n placeholder={hasValue ? '' : this.placeholder}\n value={display}\n readOnly={true}\n disabled={this.disabled}\n required={this.required}\n error={this.error}\n errorText={this.errorText}\n reserveSupportingSpace={this.reserveSupportingSpace}\n supportingText={this.supportingText}\n density={this.density}\n appearFocused={this.open}\n onClick={this.toggleOpen}\n >\n <span\n slot=\"trailing-icon\"\n class=\"md-select__trailing\"\n part=\"trailing\"\n aria-hidden=\"true\"\n >\n {this.loading ? (\n // Busy state: a spinner replaces the caret/clear. Consumers can swap\n // the spinner via the `loader` slot; the default is md-loading-indicator.\n <span class=\"md-select__loader\" part=\"loading-spinner\">\n <slot name=\"loader\">\n <md-loading-indicator label={this.loadingText}></md-loading-indicator>\n </slot>\n </span>\n ) : (\n [\n showClear && (\n <md-icon-button\n class=\"md-select__clear\"\n part=\"clear\"\n size=\"xs\"\n icon={this.clearIcon}\n aria-label={this.clearLabel}\n shapeMorph={false}\n // Keep it out of the tab order: the cluster is aria-hidden and\n // the select trigger owns focus, matching the prior <button>.\n groupTabindex={-1}\n // Native click (not mdClick) so stopPropagation prevents the\n // field's toggle from also firing and opening the menu.\n onClick={this.clearValue}\n ></md-icon-button>\n ),\n <span class=\"md-select__caret material-symbols-outlined\" part=\"caret\">\n <slot name=\"dropdown-icon\">{this.dropdownIcon}</slot>\n </span>,\n ]\n )}\n </span>\n </md-text-field>\n );\n }\n\n private renderVirtualOptions() {\n // The listbox wrapper lives in md-select's shadow root (slotted into md-menu),\n // so the combobox input's aria-controls / aria-activedescendant IDREFs\n // resolve, and the listbox directly owns its role=\"option\" children (the\n // spacers are aria-hidden). This is the WAI-ARIA combobox/listbox structure.\n return (\n <div\n class=\"md-select__listbox\"\n role=\"listbox\"\n id={`${this.triggerId}-listbox`}\n aria-label={this.accessibleName || 'Options'}\n >\n <div\n class=\"md-select__vspacer\"\n style={{ height: `${this.vc.topPad}px` }}\n aria-hidden=\"true\"\n ></div>\n {this.vc.windowRows.map((row, i) => {\n const filteredIndex = this.vc.windowStart + i;\n const selected = row.value === this.value;\n return (\n <md-menu-item\n key={row.index}\n // Stable id so md-menu can point aria-activedescendant here. Lives in\n // md-select's shadow root alongside the combobox input, so the IDREF\n // resolves. Keyed on the filtered index (its position in the list).\n id={`${this.triggerId}-opt-${filteredIndex}`}\n data-vindex={filteredIndex}\n // Exposes the row as a listbox option (role=\"option\" + aria-selected)\n // rather than a menuitemradio — the WAI-ARIA select/combobox pattern.\n presentation=\"option\"\n type=\"radio\"\n check-position=\"start\"\n keep-open\n part={selected ? 'option option-selected' : 'option'}\n disabled={row.disabled}\n selected={selected}\n headline={row.label}\n supporting-text={row.supportingText || ''}\n aria-setsize={this.vc.filteredLength}\n aria-posinset={filteredIndex + 1}\n onMdClick={() => this.selectValue(row.value)}\n >\n {row.icon ? (\n <span\n slot=\"leading-icon\"\n part=\"option-icon\"\n // Per-option `iconColor` is not carried on the virtualized (WASM)\n // path — the byte-packed row store has no colour column — so\n // virtual rows fall back to --md-select-option-icon-color.\n class=\"material-symbols-outlined md-select__option-icon\"\n aria-hidden=\"true\"\n >\n {row.icon}\n </span>\n ) : null}\n {row.label}\n </md-menu-item>\n );\n })}\n <div\n class=\"md-select__vspacer\"\n style={{ height: `${this.vc.bottomPad}px` }}\n aria-hidden=\"true\"\n ></div>\n </div>\n );\n }\n\n private renderMenu() {\n const virtual = this.vc.active;\n // Non-virtual `filterable`: narrow the rendered options by label / supporting\n // text (case-insensitive). Virtual filtering runs in the WASM engine instead.\n const q = this.filterable && !virtual ? this.query.trim().toLowerCase() : '';\n const listOptions = q\n ? this.optionsData.filter(\n (o) =>\n o.label.toLowerCase().includes(q) ||\n (o.supportingText || '').toLowerCase().includes(q),\n )\n : this.optionsData;\n // While loading we show a wavy progress bar in the menu (below), not text.\n const emptyText = this.loading\n ? ''\n : virtual\n ? this.vc.filteredLength === 0\n ? this.noResultsText\n : ''\n : this.optionsData.length === 0\n ? this.noOptionsText\n : q && listOptions.length === 0\n ? this.noResultsText\n : '';\n // Virtualization needs a bounded viewport to scroll within.\n const menuMaxHeight = virtual ? (this.maxHeight ?? 320) : this.maxHeight;\n\n return (\n <md-menu\n ref={(el) => (this.menuEl = el as VirtualMenuEl)}\n anchor={this.triggerId}\n placement={this.placement}\n match-anchor-width={this.matchTriggerWidth || this.fullWidth}\n max-height={menuMaxHeight}\n empty-text={emptyText}\n // Present the popup as a WAI-ARIA listbox (not a menu) for every select,\n // virtual or not, and name it.\n listbox\n list-label={this.accessibleName || 'Options'}\n part=\"menu\"\n onMdOpen={this.handleMenuOpen}\n onMdClose={this.handleMenuClose}\n >\n {this.filterable && !this.loading && (\n <div slot=\"header\" class=\"md-select__search-wrap\" part=\"search-wrap\">\n <input\n class=\"md-select__search\"\n part=\"search\"\n type=\"text\"\n // WAI-ARIA combobox: this input owns focus while the listbox is\n // open; the active option is conveyed via aria-activedescendant\n // (set by md-menu). aria-controls points at the listbox wrapper,\n // which md-select renders in this same shadow root so the IDREF\n // resolves (the menu surface is only role=\"presentation\").\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={String(this.open)}\n aria-controls={`${this.triggerId}-listbox`}\n aria-autocomplete=\"list\"\n autocomplete=\"off\"\n placeholder={this.searchPlaceholder}\n aria-label={this.filterLabel || (this.label ? `Filter ${this.label}` : 'Filter options')}\n onInput={this.onSearchInput}\n onClick={(e: MouseEvent) => e.stopPropagation()}\n />\n {this.searching && (\n <md-loading-indicator\n class=\"md-select__search-spinner\"\n part=\"search-spinner\"\n label={this.searchingLabel}\n aria-hidden=\"true\"\n ></md-loading-indicator>\n )}\n </div>\n )}\n {this.loading ? (\n // Busy state inside the menu: a wavy (M3 Expressive) indeterminate\n // linear progress bar instead of \"Loading…\" text.\n <div\n class=\"md-select__loading\"\n part=\"loading-bar\"\n role=\"status\"\n aria-label={this.loadingText}\n >\n <md-progress-indicator\n variant=\"linear\"\n indeterminate\n wave\n part=\"loading-progress\"\n label={this.loadingText}\n ></md-progress-indicator>\n </div>\n ) : virtual ? (\n this.renderVirtualOptions()\n ) : (\n // Listbox wrapper in md-select's shadow root so aria-controls (from a\n // combobox consumer) resolves and the listbox directly owns its\n // role=\"option\" children — the WAI-ARIA select pattern, matching the\n // virtual path. Options carry aria-selected (presentation=\"option\")\n // rather than the menuitemradio/aria-checked of a menu.\n <div\n class=\"md-select__listbox\"\n role=\"listbox\"\n id={`${this.triggerId}-listbox`}\n aria-label={this.accessibleName || 'Options'}\n >\n {listOptions.map((opt) => (\n <md-menu-item\n key={opt.value}\n id={`${this.triggerId}-opt-${opt.value}`}\n presentation=\"option\"\n type=\"radio\"\n check-position=\"start\"\n keep-open\n part={opt.value === this.value ? 'option option-selected' : 'option'}\n disabled={opt.disabled}\n selected={opt.value === this.value}\n headline={opt.label}\n supporting-text={opt.supportingText || ''}\n onMdClick={() => this.selectValue(opt.value)}\n >\n {opt.icon ? (\n <span\n slot=\"leading-icon\"\n part=\"option-icon\"\n class=\"material-symbols-outlined md-select__option-icon\"\n style={opt.iconColor ? { color: opt.iconColor } : undefined}\n aria-hidden=\"true\"\n >\n {opt.icon}\n </span>\n ) : null}\n {/* No light-DOM label copy: md-menu-item renders `headline` in\n its shadow and has no default slot — the unslotted text\n still entered accname computation, doubling the option's\n accessible name (\"10 10\"). */}\n </md-menu-item>\n ))}\n </div>\n )}\n </md-menu>\n );\n }\n\n render() {\n return (\n <Host\n class={{\n 'md-select': true,\n [`md-select--${this.variant}`]: true,\n 'md-select--open': this.open,\n 'md-select--disabled': this.disabled,\n 'md-select--loading': this.loading,\n }}\n aria-haspopup=\"listbox\"\n // No aria-expanded on the host: it has no role, so a screen reader ignores\n // it there (axe flags it \"aria attribute may be ignored\"). The expanded\n // state lives where it works — the filterable search (role=combobox) — and\n // on open, focus moves into the menu (the search, or md-menu's active row).\n aria-busy={this.loading ? 'true' : undefined}\n >\n {this.renderTrigger()}\n {this.renderMenu()}\n {/* Keep the declarative options in the light DOM (hidden) so the\n slotchange/mutation reactivity has something to observe. */}\n <div class=\"md-select__options\" hidden>\n <slot onSlotchange={() => this.refreshOptions()} />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as o,h as e,H as s,g as a}from"./p-WmvQpZnM.js";import{t as i}from"./p-DYBUr7K_.js";import{s as n,S as r}from"./p-BjYKc1Ge.js";import{s as d,a as c,g as l,c as m,r as h}from"./p-DWxN44zD.js";const u=()=>`:host{--_container-color:var(--md-button-container-color, transparent);--_label-color:var(--md-button-label-color, var(--md-sys-color-primary));--_state-layer-color:var(--md-sys-color-primary);--_container-elevation:var(--md-sys-elevation-0, none);--_icon-size:var(--md-button-icon-size, 18px);--_width:var(--md-button-width, auto);--_min-width:var( --md-button-min-width, max(40px, calc(var(--_size-min-width, 48px) + var(--md-sys-density-scale, 0) * 4px)) );--_max-width:var(--md-button-max-width, none);--_height:var(--md-button-height, auto);--_min-height:var( --md-button-min-height, max(24px, calc(var(--_size-min-height, 32px) + var(--md-sys-density-scale, 0) * 4px)) );display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:pointer;user-select:none;text-decoration:none;border:none;outline:3px solid transparent;outline-offset:2px;box-sizing:border-box;inline-size:var(--_width);block-size:var(--_height);min-inline-size:var(--_min-width);min-block-size:var(--_min-height);max-inline-size:var(--_max-width);background-color:var(--_container-color);color:var(--_label-color);box-shadow:var(--_container-elevation);--_shape-round:20px;transition:box-shadow var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), background-color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-radius var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)), color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));-webkit-tap-highlight-color:transparent;vertical-align:middle}:host(.md-button--xs){--_icon-size:var(--md-button-icon-size, max(10px, calc(20px + var(--md-sys-density-scale, 0) * 2.5px)));--_shape-round:16px;--_size-min-height:32px;--_size-min-width:48px;padding:0 max(6px, calc(12px + var(--md-sys-density-scale, 0) * 0.75px));gap:max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px));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);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);line-height:max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px))}:host(.md-button--sm){--_icon-size:var(--md-button-icon-size, max(10px, calc(20px + var(--md-sys-density-scale, 0) * 2.5px)));--_shape-round:20px;--_size-min-height:40px;--_size-min-width:58px;padding:0 max(8px, calc(16px + var(--md-sys-density-scale, 0) * 1px));gap:max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px));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);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing, 0.1px);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px))}:host(.md-button--md){--_icon-size:var(--md-button-icon-size, max(12px, calc(24px + var(--md-sys-density-scale, 0) * 3px)));--_shape-round:28px;--_size-min-height:56px;--_size-min-width:72px;padding:0 max(12px, calc(24px + var(--md-sys-density-scale, 0) * 1.5px));gap:max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px));font-family:var(--md-sys-typescale-title-small-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-title-small-font-weight, 500);letter-spacing:var(--md-sys-typescale-title-small-letter-spacing, 0.1px);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px))}:host(.md-button--lg){--_icon-size:var(--md-button-icon-size, max(16px, calc(32px + var(--md-sys-density-scale, 0) * 4px)));--_shape-round:48px;--_size-min-height:96px;--_size-min-width:88px;padding:0 max(24px, calc(48px + var(--md-sys-density-scale, 0) * 3px));gap:max(6px, calc(12px + var(--md-sys-density-scale, 0) * 1.5px));font-family:var(--md-sys-typescale-title-medium-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-title-medium-font-weight, 500);letter-spacing:var(--md-sys-typescale-title-medium-letter-spacing, 0.15px);line-height:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}:host(.md-button--xl){--_icon-size:var(--md-button-icon-size, max(20px, calc(40px + var(--md-sys-density-scale, 0) * 5px)));--_shape-round:68px;--_size-min-height:136px;--_size-min-width:120px;padding:0 max(32px, calc(64px + var(--md-sys-density-scale, 0) * 4px));gap:max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));font-family:var(--md-sys-typescale-headline-small-font-family, Roboto, sans-serif);font-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));font-weight:var(--md-sys-typescale-headline-small-font-weight, 400);letter-spacing:var(--md-sys-typescale-headline-small-letter-spacing, 0px);line-height:max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px))}:host(.md-button--full-width){display:flex;--_width:var(--md-button-width, 100%)}:host(.md-button--round){--_shape-rest:var(--md-button-container-shape, var(--_shape-round));border-radius:calc(var(--_shape-rest) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_shape-rest)) - var(--_shape-rest)))}:host(.md-button--square.md-button--xs){--_shape-rest:var(--md-button-container-shape, var(--md-sys-shape-corner-small, 8px));border-radius:calc(var(--_shape-rest) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_shape-rest)) - var(--_shape-rest)))}:host(.md-button--square.md-button--sm){--_shape-rest:var(--md-button-container-shape, var(--md-sys-shape-corner-medium, 12px));border-radius:calc(var(--_shape-rest) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_shape-rest)) - var(--_shape-rest)))}:host(.md-button--square.md-button--md){--_shape-rest:var(--md-button-container-shape, var(--md-sys-shape-corner-medium, 12px));border-radius:calc(var(--_shape-rest) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_shape-rest)) - var(--_shape-rest)))}:host(.md-button--square.md-button--lg){--_shape-rest:var(--md-button-container-shape, var(--md-sys-shape-corner-large, 16px));border-radius:calc(var(--_shape-rest) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_shape-rest)) - var(--_shape-rest)))}:host(.md-button--square.md-button--xl){--_shape-rest:var(--md-button-container-shape, var(--md-sys-shape-corner-extra-large, 28px));border-radius:calc(var(--_shape-rest) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_shape-rest)) - var(--_shape-rest)))}:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--xs){--_morph-to:var(--md-sys-shape-corner-small, 8px)}:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--sm){--_morph-to:var(--md-sys-shape-corner-medium, 12px)}:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--md){--_morph-to:var(--md-sys-shape-corner-medium, 12px)}:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--lg){--_morph-to:var(--md-sys-shape-corner-large, 16px)}:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--xl){--_morph-to:var(--md-sys-shape-corner-extra-large, 28px)}:host(.md-button--shape-morph.md-button--square.md-button--selected){--_morph-to:var(--md-button-container-shape, var(--_shape-round))}:host(.md-button--pressed.md-button--xs){--_morph-to:var(--md-sys-shape-corner-extra-small, 4px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-button--pressed.md-button--sm){--_morph-to:var(--md-sys-shape-corner-small, 8px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-button--pressed.md-button--md){--_morph-to:var(--md-sys-shape-corner-small, 8px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-button--pressed.md-button--lg){--_morph-to:var(--md-sys-shape-corner-medium, 12px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-button--pressed.md-button--xl){--_morph-to:var(--md-sys-shape-corner-large, 16px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-button--connected-left.md-button--xs),:host(.md-button--connected-right.md-button--xs){--_c-inner:4px}:host(.md-button--connected-left.md-button--sm),:host(.md-button--connected-right.md-button--sm){--_c-inner:8px}:host(.md-button--connected-left.md-button--md),:host(.md-button--connected-right.md-button--md){--_c-inner:8px}:host(.md-button--connected-left.md-button--lg),:host(.md-button--connected-right.md-button--lg){--_c-inner:16px}:host(.md-button--connected-left.md-button--xl),:host(.md-button--connected-right.md-button--xl){--_c-inner:20px}:host(.md-button--connected-left.md-button--connected-right){border-radius:var(--_c-inner)}:host(.md-button--round.md-button--connected-right:not(.md-button--connected-left)){border-start-start-radius:var(--_shape-round);border-end-start-radius:var(--_shape-round);border-start-end-radius:var(--_c-inner);border-end-end-radius:var(--_c-inner)}:host(.md-button--round.md-button--connected-left:not(.md-button--connected-right)){border-start-start-radius:var(--_c-inner);border-end-start-radius:var(--_c-inner);border-start-end-radius:var(--_shape-round);border-end-end-radius:var(--_shape-round)}:host(.md-button--square.md-button--connected-right:not(.md-button--connected-left)),:host(.md-button--square.md-button--connected-left:not(.md-button--connected-right)){border-radius:var(--_c-inner)}:host(.md-button--filled){--_container-color:var(--md-button-container-color, var(--md-sys-color-primary));--_label-color:var(--md-button-label-color, var(--md-sys-color-on-primary));--_state-layer-color:var(--md-sys-color-on-primary)}:host(.md-button--filled:hover){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-button--filled:active){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-button--filled:focus-visible){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-button--outlined){--_container-color:var(--md-button-container-color, transparent);--_label-color:var(--md-button-label-color, var(--md-sys-color-primary));--_state-layer-color:var(--md-sys-color-primary);border:var(--md-button-outline-width, 1px) solid var(--md-button-outline-color, var(--md-sys-color-outline))}:host(.md-button--outlined.md-button--xs){padding:0 max(3px, calc(11px + var(--md-sys-density-scale, 0) * 2px))}:host(.md-button--outlined.md-button--sm){padding:0 max(7px, calc(23px + var(--md-sys-density-scale, 0) * 4px))}:host(.md-button--outlined.md-button--md){padding:0 max(9px, calc(27px + var(--md-sys-density-scale, 0) * 4px))}:host(.md-button--outlined.md-button--lg){padding:0 max(10px, calc(31px + var(--md-sys-density-scale, 0) * 4px))}:host(.md-button--outlined.md-button--xl){padding:0 max(15px, calc(47px + var(--md-sys-density-scale, 0) * 2px))}:host(.md-button--outlined:hover:not(.md-button--disabled)){border-color:var(--md-button-outline-color, var(--md-sys-color-primary))}:host(.md-button--outlined:focus-visible){border-color:var(--md-button-outline-color, var(--md-sys-color-primary))}:host(.md-button--text){--_container-color:var(--md-button-container-color, transparent);--_label-color:var(--md-button-label-color, var(--md-sys-color-primary));--_state-layer-color:var(--md-sys-color-primary)}:host(.md-button--text.md-button--xs){padding:0 max(3px, calc(8px + var(--md-sys-density-scale, 0) * 2px))}:host(.md-button--text.md-button--sm){padding:0 max(4px, calc(12px + var(--md-sys-density-scale, 0) * 4px))}:host(.md-button--text.md-button--md){padding:0 max(5px, calc(16px + var(--md-sys-density-scale, 0) * 4px))}:host(.md-button--text.md-button--lg){padding:0 max(6px, calc(20px + var(--md-sys-density-scale, 0) * 4px))}:host(.md-button--text.md-button--xl){padding:0 max(10px, calc(32px + var(--md-sys-density-scale, 0) * 2px))}:host(.md-button--elevated){--_container-color:var(--md-button-container-color, var(--md-sys-color-surface-container-low));--_label-color:var(--md-button-label-color, var(--md-sys-color-primary));--_state-layer-color:var(--md-sys-color-primary);--_container-elevation:var(--md-sys-elevation-1)}:host(.md-button--elevated:hover){--_container-elevation:var(--md-sys-elevation-2)}:host(.md-button--elevated:focus-visible){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-button--elevated:active){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-button--tonal){--_container-color:var(--md-button-container-color, var(--md-sys-color-secondary-container));--_label-color:var(--md-button-label-color, var(--md-sys-color-on-secondary-container));--_state-layer-color:var(--md-sys-color-on-secondary-container)}:host(.md-button--tonal:hover){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-button--tonal:focus-visible){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-button--tonal:active){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-button--filled.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)){--_container-color:var(--md-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));--_label-color:var(--md-button-label-color, var(--md-sys-color-primary));--_state-layer-color:var(--md-sys-color-primary)}:host(.md-button--tonal.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)){--_container-color:var(--md-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));--_label-color:var(--md-button-label-color, var(--md-sys-color-on-surface-variant, #49454F));--_state-layer-color:var(--md-sys-color-on-surface-variant, #49454F)}:host(.md-button--outlined.md-button--toggle.md-button--selected:not(.md-button--disabled)){--_container-color:var(--md-button-container-color, var(--md-sys-color-secondary-container, #E8DEF8));--_label-color:var(--md-button-label-color, var(--md-sys-color-on-secondary-container, #1E192B));--_state-layer-color:var(--md-sys-color-on-secondary-container, #1E192B);border-color:transparent}:host(.md-button--elevated.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)){--_container-color:var(--md-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));--_label-color:var(--md-button-label-color, var(--md-sys-color-on-surface-variant, #49454F));--_state-layer-color:var(--md-sys-color-on-surface-variant, #49454F);--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-button--text.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)){--_label-color:var(--md-button-label-color, var(--md-sys-color-on-surface-variant, #49454F));--_state-layer-color:var(--md-sys-color-on-surface-variant, #49454F)}.md-button__state-layer{position:absolute;inset:0;border-radius:inherit;background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none}:host(:hover) .md-button__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(:active:not(.md-button--disabled)) .md-button__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12);transition-duration:var(--md-sys-motion-duration-short1, 50ms);transition-timing-function:var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(:focus-visible) .md-button__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(:focus-visible){outline-color:var(--md-sys-color-secondary);z-index:1}:host(.md-button--disabled){cursor:default;pointer-events:none;--_container-elevation:var(--md-sys-elevation-0, none) !important;transition:none}:host([soft-disabled]){cursor:default;pointer-events:auto}:host([soft-disabled]) .md-button__state-layer{display:none}:host(.md-button--filled.md-button--disabled),:host(.md-button--tonal.md-button--disabled){--_container-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent)}:host(.md-button--elevated.md-button--disabled){--_container-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-button--disabled){--_label-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host(.md-button--outlined.md-button--disabled){--_container-color:transparent;border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent)}:host(.md-button--text.md-button--disabled){--_container-color:transparent}:host(.md-button--disabled:hover) .md-button__state-layer,:host(.md-button--disabled:active) .md-button__state-layer,:host(.md-button--disabled:focus-visible) .md-button__state-layer{opacity:0}.md-button__icon,.md-button__trailing-icon{color:var(--md-button-icon-color, inherit);font-size:var(--_icon-size, 18px);width:var(--_icon-size, 18px);height:var(--_icon-size, 18px);display:flex;align-items:center;justify-content:center;flex-shrink:0}slot[name="leading-icon"],slot[name="trailing-icon"]{display:contents}::slotted([slot="leading-icon"]),::slotted([slot="trailing-icon"]){color:var(--md-button-icon-color, inherit);width:var(--_icon-size, 18px);height:var(--_icon-size, 18px);flex-shrink:0}.md-button__trailing-icon,::slotted([slot="trailing-icon"]){transition:transform var(--md-sys-motion-duration-short2, 150ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host([aria-expanded="true"]:not([suppress-expand-icon-flip])) .md-button__trailing-icon,:host([aria-expanded="true"]:not([suppress-expand-icon-flip])) ::slotted([slot="trailing-icon"]){transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){:host{transition:none}.md-button__state-layer{transition:none}.md-button__trailing-icon,::slotted([slot="trailing-icon"]){transition:none}}.md-button__label{display:flex;align-items:center;white-space:nowrap}.md-button__loading{--_loading-size:var(--md-button-loading-size, max(10px, calc(var(--_icon-size, 18px) * 0.7)));--md-loading-indicator-size:var(--_loading-size);--md-loading-indicator-shape-size:var(--_loading-size);--md-loading-indicator-color:currentColor;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.md-button__loading ::slotted(*){flex-shrink:0}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;font-size:var(--_icon-size, 18px);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}:host([mirror-icon][dir="rtl"]) .md-button__icon,:host([mirror-icon][dir="rtl"]) .md-button__trailing-icon,:host([mirror-icon][dir="rtl"]) ::slotted([slot="leading-icon"]),:host([mirror-icon][dir="rtl"]) ::slotted([slot="trailing-icon"]){transform:scaleX(-1)}:host-context([dir="rtl"]):host([mirror-icon]) .md-button__icon,:host-context([dir="rtl"]):host([mirror-icon]) .md-button__trailing-icon,:host-context([dir="rtl"]):host([mirror-icon]) ::slotted([slot="leading-icon"]),:host-context([dir="rtl"]):host([mirror-icon]) ::slotted([slot="trailing-icon"]){transform:scaleX(-1)}: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}`;const b=class{constructor(e){t(this,e);this.mdClick=o(this,"mdClick",7);this.mdChange=o(this,"mdChange",7);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.type="button";this.variant="filled";this.size="sm";this.shape="round";this.disabled=false;this.softDisabled=false;this.ripple=true;this.loading=false;this.icon="";this.trailingIcon="";this.href="";this.target="_self";this.toggle=false;this.selected=false;this.shapeMorph=true;this.mirrorIcon=false;this.suppressExpandIconFlip=false;this.fullWidth=false;this.connectedLeft=false;this.connectedRight=false;this.value="";this.groupTabindex=null;this.roleOverride="";this.density=0;this.hasSlottedLeadingIcon=false;this.hasSlottedTrailingIcon=false;this.pressed=false;this.handleClick=t=>{if(this.isDisabled){t.preventDefault();return}const o=this.toggle?!this.selected:this.selected;const e=this.mdClick.emit({value:this.value,toggle:this.toggle,selected:o,href:this.href,target:this.target,originalEvent:t});if(e.defaultPrevented){t.preventDefault();return}if(this.toggle&&o!==this.selected){this.selected=o;this.mdChange.emit({selected:o,value:this.value})}if(this.href){const t=n(this.href);if(t)window.open(t,this.target,r);return}if(this.type==="submit"){this.internals.form?.requestSubmit()}else if(this.type==="reset"){this.internals.form?.reset()}};this.handleKeyDown=t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();if(!this.isDisabled){this.pressed=true;i(this.el);this.el.click();setTimeout((()=>{this.pressed=false}),150)}}};this.handlePointerDown=()=>{if(!this.isDisabled)this.pressed=true};this.handlePointerUp=()=>{this.pressed=false}}get isDisabled(){return this.disabled||this.softDisabled||this.loading}componentDidLoad(){const t=this.el.shadowRoot;if(!t)return;const o=t.querySelector('slot[name="leading-icon"]');const e=t.querySelector('slot[name="trailing-icon"]');o?.addEventListener("slotchange",(()=>{this.hasSlottedLeadingIcon=o.assignedElements().length>0}));e?.addEventListener("slotchange",(()=>{this.hasSlottedTrailingIcon=e.assignedElements().length>0}))}render(){const t=this.isDisabled;const o=!!this.icon;const a=!!this.trailingIcon;return e(s,{key:"6b090f8bb24dabe25b5cbcf0ca6b4e6b3c667a31",class:{"md-button":true,[`md-button--${this.variant}`]:true,[`md-button--${this.size}`]:true,[`md-button--${this.shape}`]:true,"md-button--with-leading-icon":o||this.hasSlottedLeadingIcon,"md-button--with-trailing-icon":a||this.hasSlottedTrailingIcon,"md-button--disabled":this.disabled||this.softDisabled,"md-button--loading":this.loading,"md-button--toggle":this.toggle,"md-button--selected":this.selected,"md-button--shape-morph":this.shapeMorph,"md-button--pressed":this.shapeMorph&&this.pressed,"md-button--connected-left":this.connectedLeft,"md-button--connected-right":this.connectedRight,"md-button--full-width":this.fullWidth},role:this.roleOverride||"button","aria-disabled":t?"true":"false","aria-pressed":this.toggle?String(this.selected):undefined,tabindex:this.disabled?"-1":this.groupTabindex!==null?String(this.groupTabindex):"0",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onPointerDown:this.handlePointerDown,onPointerUp:this.handlePointerUp,onPointerLeave:this.handlePointerUp,onPointerCancel:this.handlePointerUp},this.ripple&&e("md-ripple",{key:"5f4da04adad6d58814189fa629634d78f9b922d6",disabled:t}),e("span",{key:"136b4b9fdc384e87e628a263fd727381212ca39a",class:"md-button__state-layer",part:"state-layer","aria-hidden":"true"}),e("slot",{key:"de4b9b8078984d220f86c3ab984c9a6cf998e987",name:"leading-icon"},o&&e("span",{key:"fef73ccdb6e25406b090dc6778d1363dc5ac877c",class:"md-button__icon material-symbols-outlined",part:"icon"},this.icon)),e("span",{key:"b1b77be2bec9e05603f26421ec398c4d574f049d",class:"md-button__label",part:"label"},e("slot",{key:"3e55a0f0ffb89e2039ab6ce3838d5a804b5996dc"})),e("slot",{key:"8bb568db616e8c0892d01d948a2dfa76ca1f7241",name:"trailing-icon"},a&&e("span",{key:"36bafed7a8cf957bda74d8bb79372d1e893bc7f7",class:"md-button__trailing-icon material-symbols-outlined",part:"trailing-icon"},this.trailingIcon)),this.loading&&e("span",{key:"775c639e462c951d75ee2662f1a5d4bc151a125e",class:"md-button__loading",part:"loading","aria-hidden":"true"},e("slot",{key:"523db784cd7bf543fdd88ffb82f50a9771bff2fe",name:"loader"},e("md-loading-indicator",{key:"a6aa69ee8671bc181db7b9c13529b69934571243",class:"md-button__loading-default"}))))}static get formAssociated(){return true}get el(){return a(this)}};b.style=u();const p=()=>`:host{--_container-color:var(--md-card-container-color, var(--md-sys-color-surface-container-low));--_container-shape:var(--md-card-container-shape, var(--md-sys-shape-corner-medium, max(8px, calc(12px + var(--md-sys-density-scale, 0) * 1px))));--_container-elevation:var(--md-card-container-elevation, var(--md-sys-elevation-1));--_outline-color:var(--md-card-outline-color, var(--md-sys-color-outline-variant));--_outline-width:var(--md-card-outline-width, 1px);--_state-layer-color:var(--md-card-state-layer-color, var(--md-sys-color-on-surface));--_width:var(--md-card-width, auto);--_min-width:var(--md-card-min-width, auto);--_max-width:var(--md-card-max-width, none);--_height:var(--md-card-height, auto);--_min-height:var(--md-card-min-height, auto);--_max-height:var(--md-card-max-height, none);--_padding:var(--md-card-padding, max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px)));--_gap:var(--md-card-gap, max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px)));display:flex;flex-direction:column;position:relative;box-sizing:border-box;overflow:hidden;padding:var(--_padding);gap:var(--_gap);inline-size:var(--_width);min-inline-size:var(--_min-width);max-inline-size:var(--_max-width);block-size:var(--_height);min-block-size:var(--_min-height);max-block-size:var(--_max-height);background-color:var(--_container-color);border-radius:var(--_container-shape);box-shadow:var(--_container-elevation);color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-body-medium-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-body-medium-font-weight, 400);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);transition:box-shadow var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-card--full-width){--_width:100%}:host(.md-card--full-height){--_height:100%}:host(.md-card--elevated){--_container-color:var(--md-card-container-color, var(--md-sys-color-surface-container-low));--_container-elevation:var(--md-card-container-elevation, var(--md-sys-elevation-1))}:host(.md-card--filled){--_container-color:var(--md-card-container-color, var(--md-sys-color-surface-container-highest));--_container-elevation:var(--md-card-container-elevation, var(--md-sys-elevation-0, none))}:host(.md-card--outlined){--_container-color:var(--md-card-container-color, var(--md-sys-color-surface));--_container-elevation:var(--md-card-container-elevation, var(--md-sys-elevation-0, none))}.md-card__outline{position:absolute;inset:0;border-radius:inherit;border:var(--_outline-width) solid var(--_outline-color);pointer-events:none}:host(.md-card--interactive){cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host(.md-card--draggable){cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none}:host(.md-card--interactive.md-card--draggable){cursor:grab}:host(.md-card--dragged){cursor:grabbing}.md-card__state-layer{position:absolute;inset:0;border-radius:inherit;background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short1, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none;z-index:1}:host(.md-card--interactive:hover) .md-card__state-layer,:host(.md-card--draggable:hover) .md-card__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-card--interactive:focus-visible) .md-card__state-layer,:host(.md-card--draggable:focus-visible) .md-card__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(.md-card--interactive:active) .md-card__state-layer,:host(.md-card--draggable:active) .md-card__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(.md-card--dragged) .md-card__state-layer{opacity:var(--md-sys-state-dragged-state-layer-opacity, 0.16)}:host(.md-card--elevated.md-card--interactive:hover),:host(.md-card--elevated.md-card--draggable:hover){--_container-elevation:var(--md-sys-elevation-2)}:host(.md-card--elevated.md-card--interactive:focus-visible),:host(.md-card--elevated.md-card--draggable:focus-visible){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-card--elevated.md-card--interactive:active),:host(.md-card--elevated.md-card--draggable:active){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-card--elevated.md-card--dragged){--_container-elevation:var(--md-sys-elevation-4)}:host(.md-card--filled.md-card--interactive:hover),:host(.md-card--filled.md-card--draggable:hover){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-card--filled.md-card--interactive:focus-visible),:host(.md-card--filled.md-card--draggable:focus-visible){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-card--filled.md-card--interactive:active),:host(.md-card--filled.md-card--draggable:active){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-card--filled.md-card--dragged){--_container-elevation:var(--md-sys-elevation-3)}:host(.md-card--outlined.md-card--interactive:hover),:host(.md-card--outlined.md-card--draggable:hover){--_container-elevation:var(--md-sys-elevation-1)}:host(.md-card--outlined.md-card--interactive:focus-visible),:host(.md-card--outlined.md-card--draggable:focus-visible){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-card--outlined.md-card--interactive:active),:host(.md-card--outlined.md-card--draggable:active){--_container-elevation:var(--md-sys-elevation-0, none)}:host(.md-card--outlined.md-card--dragged){--_container-elevation:var(--md-sys-elevation-3)}:host(.md-card--outlined.md-card--interactive:focus-visible) .md-card__outline,:host(.md-card--outlined.md-card--draggable:focus-visible) .md-card__outline{border-color:var(--md-sys-color-on-surface)}:host(.md-card--outlined.md-card--dragged) .md-card__outline{border-color:var(--md-sys-color-outline-variant)}:host(.md-card--interactive:focus-visible){outline:3px solid var(--md-sys-color-secondary);outline-offset:2px}:host(.md-card--disabled){cursor:default;pointer-events:none;--_container-elevation:var(--md-sys-elevation-0, none) !important;--_container-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host(.md-card--disabled.md-card--outlined) .md-card__outline{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent)}:host(.md-card--disabled:hover) .md-card__state-layer,:host(.md-card--disabled:active) .md-card__state-layer,:host(.md-card--disabled:focus-visible) .md-card__state-layer{opacity:0}:host([soft-disabled]){cursor:default;pointer-events:auto;--_container-elevation:var(--md-sys-elevation-0, none) !important;--_container-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host([soft-disabled]) .md-card__state-layer{display:none}@media (prefers-reduced-motion: reduce){:host{transition:none}.md-card__state-layer{transition:none}}@media (forced-colors: active){:host{border:1px solid ButtonText;background-color:ButtonFace;color:ButtonText;forced-color-adjust:none}.md-card__outline{border-color:ButtonText}:host(.md-card--interactive:focus-visible){outline-color:Highlight}:host(.md-card--disabled){border-color:GrayText;color:GrayText;opacity:1}:host(.md-card--disabled) .md-card__outline{border-color:GrayText}.md-card__state-layer{display: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}`;const y=class{constructor(e){t(this,e);this.mdClick=o(this,"mdClick",7);this.mdDragStart=o(this,"mdDragStart",7);this.mdDragMove=o(this,"mdDragMove",7);this.mdDragEnd=o(this,"mdDragEnd",7);this.variant="elevated";this.interactive=false;this.dragEnabled=false;this.disabled=false;this.softDisabled=false;this.ripple=true;this.fullWidth=false;this.fullHeight=false;this.density=0;this.dragging=false;this.hasInteractiveContent=false;this.startX=0;this.startY=0;this.dragStarted=false;this.suppressClick=false;this.contentObserver=null;this.onPointerDown=t=>{if(!this.dragEnabled||this.isDisabled||t.button!==0)return;this.startX=t.clientX;this.startY=t.clientY;this.dragStarted=false;this.el.setPointerCapture(t.pointerId);this.el.addEventListener("pointermove",this.onPointerMove);this.el.addEventListener("pointerup",this.onPointerUp);this.el.addEventListener("pointercancel",this.onPointerUp)};this.onPointerMove=t=>{const o=t.clientX-this.startX;const e=t.clientY-this.startY;if(!this.dragStarted){if(Math.abs(o)+Math.abs(e)<y.DRAG_THRESHOLD)return;this.dragStarted=true;this.dragging=true;this.el.style.zIndex="1000";this.mdDragStart.emit(this.buildDetail(t))}this.el.style.transform=`translate(${o}px, ${e}px)`;this.mdDragMove.emit(this.buildDetail(t))};this.onPointerUp=t=>{if(this.dragStarted){this.suppressClick=true;requestAnimationFrame((()=>{this.suppressClick=false}));this.mdDragEnd.emit(this.buildDetail(t))}this.resetDragVisuals();this.cleanupListeners()};this.handleClick=t=>{if(!this.interactive)return;if(this.suppressClick)return;if(this.isDisabled){t.preventDefault();return}this.mdClick.emit(t)};this.handleKeyDown=t=>{if(!this.interactive||this.isDisabled)return;if(t.key==="Enter"||t.key===" "){t.preventDefault();i(this.el);this.el.click()}};this.detectInteractiveContent=()=>{const t=this.el.querySelectorAll(y.INTERACTIVE_CONTENT_SELECTOR).length>0;if(t!==this.hasInteractiveContent)this.hasInteractiveContent=t}}get isDisabled(){return this.disabled||this.softDisabled}connectedCallback(){this.el.addEventListener("pointerdown",this.onPointerDown)}componentWillLoad(){this.detectInteractiveContent()}componentDidLoad(){this.detectInteractiveContent();if(typeof MutationObserver!=="undefined"){this.contentObserver=new MutationObserver(this.detectInteractiveContent);this.contentObserver.observe(this.el,{childList:true,subtree:true})}}disconnectedCallback(){this.el.removeEventListener("pointerdown",this.onPointerDown);this.contentObserver?.disconnect();this.contentObserver=null;this.cancelDrag()}onDragEnabledChange(){if(!this.dragEnabled)this.cancelDrag()}buildDetail(t){return{clientX:t.clientX,clientY:t.clientY,offsetX:t.clientX-this.startX,offsetY:t.clientY-this.startY,startX:this.startX,startY:this.startY}}cancelDrag(){this.resetDragVisuals();this.cleanupListeners()}resetDragVisuals(){this.dragging=false;this.dragStarted=false;this.el.style.transform="";this.el.style.zIndex=""}cleanupListeners(){this.el.removeEventListener("pointermove",this.onPointerMove);this.el.removeEventListener("pointerup",this.onPointerUp);this.el.removeEventListener("pointercancel",this.onPointerUp)}render(){const t=this.isDisabled;const o=this.interactive&&!this.hasInteractiveContent;return e(s,{key:"bf9c73e3e7d290f2ef69cd392bdf2aaf214e3503",class:{"md-card":true,[`md-card--${this.variant}`]:true,"md-card--interactive":this.interactive,"md-card--draggable":this.dragEnabled,"md-card--disabled":this.interactive&&t,"md-card--dragged":this.dragging,"md-card--full-width":this.fullWidth,"md-card--full-height":this.fullHeight},role:o?"button":undefined,"aria-disabled":o&&t?"true":undefined,"aria-grabbed":this.dragEnabled?this.dragging?"true":"false":undefined,tabindex:o?this.disabled?"-1":"0":undefined,onClick:this.handleClick,onKeyDown:this.handleKeyDown},(this.interactive||this.dragEnabled)&&this.ripple&&e("md-ripple",{key:"73e11fe7916addea8967bb051bd8e5297f38502c",disabled:t}),(this.interactive||this.dragEnabled)&&e("span",{key:"af10e462142ac1fd5c492ac804f2721e21b24d8e",class:"md-card__state-layer",part:"state-layer","aria-hidden":"true"}),this.variant==="outlined"&&e("span",{key:"84d50d287ba601f79f15f0222a0b3b3a3c613ab8",class:"md-card__outline",part:"outline","aria-hidden":"true"}),e("slot",{key:"978ceb875d90c734bcdf5dd948e7c27140f4fff3",onSlotchange:this.detectInteractiveContent}))}get el(){return a(this)}static get watchers(){return{dragEnabled:[{onDragEnabledChange:0}]}}};y.DRAG_THRESHOLD=5;y.INTERACTIVE_CONTENT_SELECTOR=["a[href]","area[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","audio[controls]","video[controls]","iframe",'[contenteditable="true"]','[contenteditable=""]','[role="button"]','[role="link"]','[role="checkbox"]','[role="radio"]','[role="switch"]','[role="tab"]','[role="menuitem"]','[role="menuitemcheckbox"]','[role="menuitemradio"]','[role="option"]','[role="slider"]','[role="spinbutton"]','[role="textbox"]','[role="combobox"]','[role="searchbox"]',"md-button","md-icon-button","md-fab","md-checkbox","md-switch","md-radio","md-chip","md-select","md-multi-select","md-text-field","md-slider","md-segmented-button","md-menu-button","md-link","md-autocomplete"].join(",");y.style=p();const v=()=>`:host{--_container-color:var(--md-icon-button-container-color, transparent);--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-surface-variant, #49454F));--_icon-size:var(--md-icon-button-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_container-width:var(--md-icon-button-container-width, max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_container-height:var(--md-icon-button-container-height, max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_shape-round:20px;--_border-radius:var(--md-icon-button-container-shape, var(--_shape-round));display:inline-flex;align-items:center;justify-content:center;position:relative;width:var(--_container-width);height:var(--_container-height);border-radius:calc(var(--_border-radius) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_border-radius)) - var(--_border-radius)));cursor:pointer;user-select:none;border:none;outline:none;overflow:hidden;box-sizing:border-box;background-color:var(--_container-color);color:var(--_icon-color);-webkit-tap-highlight-color:transparent;transition:background-color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)), border-radius var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1));flex-shrink:0;vertical-align:middle}:host(.md-icon-button--xs){--_container-width:var(--md-icon-button-container-width, max(32px, calc(32px + var(--md-sys-density-scale, 0) * 4px)));--_container-height:var(--md-icon-button-container-height, max(32px, calc(32px + var(--md-sys-density-scale, 0) * 4px)));--_icon-size:var(--md-icon-button-icon-size, max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px)));--_shape-round:16px}:host(.md-icon-button--sm){--_container-width:var(--md-icon-button-container-width, max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_container-height:var(--md-icon-button-container-height, max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px)));--_icon-size:var(--md-icon-button-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_shape-round:20px}:host(.md-icon-button--md){--_container-width:var(--md-icon-button-container-width, max(32px, calc(56px + var(--md-sys-density-scale, 0) * 4px)));--_container-height:var(--md-icon-button-container-height, max(32px, calc(56px + var(--md-sys-density-scale, 0) * 4px)));--_icon-size:var(--md-icon-button-icon-size, max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px)));--_shape-round:28px}:host(.md-icon-button--lg){--_container-width:var(--md-icon-button-container-width, max(32px, calc(96px + var(--md-sys-density-scale, 0) * 4px)));--_container-height:var(--md-icon-button-container-height, max(32px, calc(96px + var(--md-sys-density-scale, 0) * 4px)));--_icon-size:var(--md-icon-button-icon-size, max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px)));--_shape-round:48px}:host(.md-icon-button--xl){--_container-width:var(--md-icon-button-container-width, max(32px, calc(136px + var(--md-sys-density-scale, 0) * 4px)));--_container-height:var(--md-icon-button-container-height, max(32px, calc(136px + var(--md-sys-density-scale, 0) * 4px)));--_icon-size:var(--md-icon-button-icon-size, max(28px, calc(40px + var(--md-sys-density-scale, 0) * 3px)));--_shape-round:68px}:host(.md-icon-button--width-narrow.md-icon-button--xs){--_container-width:var(--md-icon-button-container-width, max(32px, calc(28px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-narrow.md-icon-button--sm){--_container-width:var(--md-icon-button-container-width, max(32px, calc(32px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-narrow.md-icon-button--md){--_container-width:var(--md-icon-button-container-width, max(32px, calc(48px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-narrow.md-icon-button--lg){--_container-width:var(--md-icon-button-container-width, max(32px, calc(64px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-narrow.md-icon-button--xl){--_container-width:var(--md-icon-button-container-width, max(32px, calc(104px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-wide.md-icon-button--xs){--_container-width:var(--md-icon-button-container-width, max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-wide.md-icon-button--sm){--_container-width:var(--md-icon-button-container-width, max(32px, calc(52px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-wide.md-icon-button--md){--_container-width:var(--md-icon-button-container-width, max(32px, calc(72px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-wide.md-icon-button--lg){--_container-width:var(--md-icon-button-container-width, max(32px, calc(128px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--width-wide.md-icon-button--xl){--_container-width:var(--md-icon-button-container-width, max(32px, calc(184px + var(--md-sys-density-scale, 0) * 4px)))}:host(.md-icon-button--round){--_border-radius:var(--md-icon-button-container-shape, var(--_shape-round))}:host(.md-icon-button--square.md-icon-button--xs){--_border-radius:var(--md-icon-button-container-shape, var(--md-sys-shape-corner-medium, 12px))}:host(.md-icon-button--square.md-icon-button--sm){--_border-radius:var(--md-icon-button-container-shape, var(--md-sys-shape-corner-medium, 12px))}:host(.md-icon-button--square.md-icon-button--md){--_border-radius:var(--md-icon-button-container-shape, var(--md-sys-shape-corner-large, 16px))}:host(.md-icon-button--square.md-icon-button--lg){--_border-radius:var(--md-icon-button-container-shape, var(--md-sys-shape-corner-extra-large, 28px))}:host(.md-icon-button--square.md-icon-button--xl){--_border-radius:var(--md-icon-button-container-shape, var(--md-sys-shape-corner-extra-large, 28px))}:host(.md-icon-button--shape-morph.md-icon-button--round.md-icon-button--selected.md-icon-button--xs){--_morph-to:var(--md-sys-shape-corner-medium, 12px)}:host(.md-icon-button--shape-morph.md-icon-button--round.md-icon-button--selected.md-icon-button--sm){--_morph-to:var(--md-sys-shape-corner-medium, 12px)}:host(.md-icon-button--shape-morph.md-icon-button--round.md-icon-button--selected.md-icon-button--md){--_morph-to:var(--md-sys-shape-corner-large, 16px)}:host(.md-icon-button--shape-morph.md-icon-button--round.md-icon-button--selected.md-icon-button--lg){--_morph-to:var(--md-sys-shape-corner-extra-large, 28px)}:host(.md-icon-button--shape-morph.md-icon-button--round.md-icon-button--selected.md-icon-button--xl){--_morph-to:var(--md-sys-shape-corner-extra-large, 28px)}:host(.md-icon-button--shape-morph.md-icon-button--square.md-icon-button--selected){--_morph-to:var(--_shape-round)}:host(.md-icon-button--pressed.md-icon-button--xs){--_morph-to:var(--md-sys-shape-corner-small, 8px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-icon-button--pressed.md-icon-button--sm){--_morph-to:var(--md-sys-shape-corner-small, 8px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-icon-button--pressed.md-icon-button--md){--_morph-to:var(--md-sys-shape-corner-medium, 12px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-icon-button--pressed.md-icon-button--lg){--_morph-to:var(--md-sys-shape-corner-large, 16px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-icon-button--pressed.md-icon-button--xl){--_morph-to:var(--md-sys-shape-corner-large, 16px);transition-duration:var(--md-sys-motion-duration-short4, 200ms);transition-timing-function:var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-icon-button--width-narrow.md-icon-button--pressed){transition-duration:var(--md-sys-motion-duration-medium1, 250ms)}:host(.md-icon-button--connected-left.md-icon-button--xs),:host(.md-icon-button--connected-right.md-icon-button--xs){--_c-inner:4px}:host(.md-icon-button--connected-left.md-icon-button--sm),:host(.md-icon-button--connected-right.md-icon-button--sm){--_c-inner:8px}:host(.md-icon-button--connected-left.md-icon-button--md),:host(.md-icon-button--connected-right.md-icon-button--md){--_c-inner:8px}:host(.md-icon-button--connected-left.md-icon-button--lg),:host(.md-icon-button--connected-right.md-icon-button--lg){--_c-inner:16px}:host(.md-icon-button--connected-left.md-icon-button--xl),:host(.md-icon-button--connected-right.md-icon-button--xl){--_c-inner:20px}:host(.md-icon-button--connected-left.md-icon-button--connected-right){border-radius:var(--_c-inner)}:host(.md-icon-button--round.md-icon-button--connected-right:not(.md-icon-button--connected-left)){border-start-start-radius:var(--_shape-round);border-end-start-radius:var(--_shape-round);border-start-end-radius:var(--_c-inner);border-end-end-radius:var(--_c-inner)}:host(.md-icon-button--round.md-icon-button--connected-left:not(.md-icon-button--connected-right)){border-start-start-radius:var(--_c-inner);border-end-start-radius:var(--_c-inner);border-start-end-radius:var(--_shape-round);border-end-end-radius:var(--_shape-round)}:host(.md-icon-button--square.md-icon-button--connected-right:not(.md-icon-button--connected-left)),:host(.md-icon-button--square.md-icon-button--connected-left:not(.md-icon-button--connected-right)){border-radius:var(--_c-inner)}:host(.md-icon-button--standard){--_container-color:var(--md-icon-button-container-color, transparent);--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-icon-button--standard.md-icon-button--selected:not(.md-icon-button--disabled)){--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-primary, #6750A4));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-primary, #6750A4))}:host(.md-icon-button--filled){--_container-color:var(--md-icon-button-container-color, var(--md-sys-color-primary, #6750A4));--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-primary, #FFFFFF));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-primary, #FFFFFF))}:host(.md-icon-button--filled.md-icon-button--toggle:not(.md-icon-button--selected):not(.md-icon-button--disabled)){--_container-color:var(--md-icon-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-primary, #6750A4));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-primary, #6750A4))}:host(.md-icon-button--filled.md-icon-button--selected:not(.md-icon-button--disabled)){--_container-color:var(--md-icon-button-container-color, var(--md-sys-color-primary, #6750A4));--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-primary, #FFFFFF));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-primary, #FFFFFF))}:host(.md-icon-button--tonal){--_container-color:var(--md-icon-button-container-color, var(--md-sys-color-secondary-container, #E8DEF8));--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-secondary-container, #1E192B));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-secondary-container, #1E192B))}:host(.md-icon-button--tonal.md-icon-button--toggle:not(.md-icon-button--selected):not(.md-icon-button--disabled)){--_container-color:var(--md-icon-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-surface-variant, #49454F))}:host(.md-icon-button--tonal.md-icon-button--selected:not(.md-icon-button--disabled)){--_container-color:var(--md-icon-button-container-color, var(--md-sys-color-secondary-container, #E8DEF8));--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-secondary-container, #1E192B));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-secondary-container, #1E192B))}:host(.md-icon-button--outlined){--_container-color:var(--md-icon-button-container-color, transparent);--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-on-surface-variant, #49454F));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-on-surface-variant, #49454F));border:var(--md-icon-button-outline-width, 1px) solid var(--md-icon-button-outline-color, var(--md-sys-color-outline, #79747E))}:host(.md-icon-button--outlined.md-icon-button--selected:not(.md-icon-button--disabled)){--_container-color:var(--md-icon-button-container-color, var(--md-sys-color-inverse-surface, #313033));--_icon-color:var(--md-icon-button-icon-color, var(--md-sys-color-inverse-on-surface, #F4EFF4));--_state-layer-color:var(--md-icon-button-state-layer-color, var(--md-sys-color-inverse-on-surface, #F4EFF4));border-color:transparent}.md-icon-button__state-layer{position:absolute;inset:0;border-radius:inherit;background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none}:host(:hover) .md-icon-button__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(:active) .md-icon-button__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(:focus-visible) .md-icon-button__state-layer{opacity:var(--md-sys-state-focus-state-layer-opacity, 0.12)}:host(:focus-visible){outline:3px solid var(--md-sys-color-secondary, #625B71);outline-offset:2px;z-index:1}:host(.md-icon-button--disabled){cursor:default;pointer-events:none}:host([soft-disabled]){cursor:default;pointer-events:auto}:host([soft-disabled]) .md-icon-button__state-layer{display:none}:host(.md-icon-button--standard.md-icon-button--disabled),:host(.md-icon-button--outlined.md-icon-button--disabled){--_icon-color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host(.md-icon-button--outlined.md-icon-button--disabled){border-color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent)}:host(.md-icon-button--filled.md-icon-button--disabled),:host(.md-icon-button--tonal.md-icon-button--disabled){--_container-color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);--_icon-color:color-mix(in srgb, var(--md-sys-color-on-surface, #1C1B1F) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host(.md-icon-button--disabled:hover) .md-icon-button__state-layer,:host(.md-icon-button--disabled:active) .md-icon-button__state-layer,:host(.md-icon-button--disabled:focus-visible) .md-icon-button__state-layer{opacity:0}.md-icon-button__icon{display:none;align-items:center;justify-content:center;position:relative;z-index:1;color:inherit;width:var(--_icon-size);height:var(--_icon-size);font-size:0;line-height:0}.md-icon-button__icon slot{font-size:var(--_icon-size);line-height:1}.md-icon-button__icon--on{display:inline-flex}.md-icon-button__icon-font{font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size);display:flex;align-items:center;justify-content:center;line-height:1}:host(.md-icon-button--has-badge){overflow:visible}:host(.md-icon-button--has-badge) .md-icon-button__state-layer{overflow:hidden}::slotted(*:not(md-badge):not(md-avatar)){width:var(--_icon-size) !important;height:var(--_icon-size) !important;font-size:var(--_icon-size) !important;color:inherit !important;fill:currentColor !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important}.material-symbols-outlined{font-family:var(--md-sys-icon-font-family, 'Material Symbols Outlined', 'Material Icons');font-weight:normal;font-style:normal;font-size:var(--_icon-size, 24px);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}@media (forced-colors: active){:host{forced-color-adjust:none}:host(.md-icon-button--outlined){border-color:ButtonText}}: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}`;const f=class{constructor(e){t(this,e);this.mdClick=o(this,"mdClick",7);this.variant="standard";this.size="sm";this.shape="round";this.buttonWidth="default";this.disabled=false;this.softDisabled=false;this.toggle=false;this.selected=false;this.shapeMorph=true;this.ripple=true;this.icon="";this.selectedIcon="";this.href="";this.target="_self";this.connectedLeft=false;this.connectedRight=false;this.value="";this.groupTabindex=null;this.density=0;this.hasSlottedIcon=false;this.hasSlottedBadge=false;this.hasSlottedSelected=false;this.pressed=false;this.handleClick=t=>{if(this.isDisabled){t.preventDefault();return}const o=n(this.href);if(o){window.open(o,this.target,r)}if(this.toggle)this.selected=!this.selected;this.mdClick.emit({selected:this.selected})};this.handleKeyDown=t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();if(!this.isDisabled){this.pressed=true;i(this.el);this.el.click();setTimeout((()=>{this.pressed=false}),150)}}};this.handlePointerDown=()=>{if(!this.isDisabled)this.pressed=true};this.handlePointerUp=()=>{this.pressed=false}}get isDisabled(){return this.disabled||this.softDisabled}componentWillLoad(){this.syncSlottedIcons()}componentDidLoad(){const t=this.el.shadowRoot;if(!t)return;const o=t.querySelector("slot:not([name])");const e=t.querySelector('slot[name="selected"]');this.syncSlottedIcons();o?.addEventListener("slotchange",(()=>this.syncSlottedIcons()));e?.addEventListener("slotchange",(()=>this.syncSlottedIcons()))}hasMeaningfulSlotContent(t){if(!t)return false;return t.assignedNodes().some((t=>{if(t.nodeType===Node.ELEMENT_NODE){if(t.tagName.toLowerCase()==="md-badge")return false;return true}if(t.nodeType===Node.TEXT_NODE)return(t.textContent?.trim().length??0)>0;return false}))}syncSlottedIcons(){const t=this.el.shadowRoot;const o=t?.querySelector("slot:not([name])");const e=t?.querySelector('slot[name="selected"]');this.hasSlottedIcon=this.hasMeaningfulSlotContent(o);this.hasSlottedBadge=!!o?.assignedElements().some((t=>t.tagName.toLowerCase()==="md-badge"));this.hasSlottedSelected=this.hasMeaningfulSlotContent(e)}render(){const t=this.isDisabled;const o=this.toggle&&this.selected;const a=!!this.icon||this.hasSlottedIcon;const i=!o||!this.selectedIcon&&!this.hasSlottedSelected;return e(s,{key:"c8ba395e0f0eaa47019a6ec74ddb76135018d63a",class:{"md-icon-button":true,[`md-icon-button--${this.variant}`]:true,[`md-icon-button--${this.size}`]:true,[`md-icon-button--${this.shape}`]:true,[`md-icon-button--width-${this.buttonWidth}`]:this.buttonWidth!=="default","md-icon-button--selected":this.selected,"md-icon-button--toggle":this.toggle,"md-icon-button--disabled":this.disabled||this.softDisabled,"md-icon-button--shape-morph":this.shapeMorph,"md-icon-button--has-badge":this.hasSlottedBadge,"md-icon-button--pressed":this.shapeMorph&&this.pressed,"md-icon-button--connected-left":this.connectedLeft,"md-icon-button--connected-right":this.connectedRight},role:"button","aria-disabled":t?"true":"false","aria-pressed":this.toggle?String(this.selected):undefined,tabindex:this.disabled?"-1":this.groupTabindex!==null?String(this.groupTabindex):"0",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onPointerDown:this.handlePointerDown,onPointerUp:this.handlePointerUp,onPointerLeave:this.handlePointerUp,onPointerCancel:this.handlePointerUp},this.ripple&&e("md-ripple",{key:"38a31f8be791e2441c128668d12cffc8d2883863",disabled:t}),e("span",{key:"3e36940f6038c69663ae28330827edb68158e78e",class:"md-icon-button__state-layer",part:"state-layer","aria-hidden":"true"}),e("span",{key:"ee34874988c22da61d85a98db6e2f636c43b1bdb",class:{"md-icon-button__icon":true,"md-icon-button__icon--on":i},part:"icon"},e("slot",{key:"25fe46290a2d8793c7f72ee623fafcfeaf01d015"}),i&&a&&!this.hasSlottedIcon&&e("span",{key:"9da0f58088f30f43b37d14f93f1f2406454f493d",class:"md-icon-button__icon-font material-symbols-outlined","aria-hidden":"true"},o&&this.selectedIcon?this.selectedIcon:this.icon)),this.toggle&&(this.selectedIcon||this.hasSlottedSelected)&&e("span",{key:"366c07e84c1aa12ca7259983518ecb6e6e909852",class:{"md-icon-button__icon":true,"md-icon-button__icon--on":o},part:"selected-icon"},e("slot",{key:"7b346adf89aca1c953618e2b2654df70ed2c2320",name:"selected"}),!this.hasSlottedSelected&&this.selectedIcon&&e("span",{key:"f61d47d93eb24d4e95a5704dfc14bf59f3a3f9e0",class:"md-icon-button__icon-font material-symbols-outlined","aria-hidden":"true"},this.selectedIcon)))}get el(){return a(this)}};f.style=v();const _=()=>`:host{--_color:var(--md-loading-indicator-color, var(--md-sys-color-primary, #6750A4));--_size:var(--md-loading-indicator-size, max(32px, calc(48px + var(--md-sys-density-scale, 0) * 4px)));--_shape-size:var(--md-loading-indicator-shape-size, calc(var(--_size) * 0.792));--_container-color:var(--md-loading-indicator-container-color, var(--md-sys-color-primary-container, #EADDFF));--_container-shape:var(--md-loading-indicator-container-shape, var(--md-sys-shape-corner-full, 50%));display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_size);block-size:var(--_size);flex-shrink:0;box-sizing:border-box;overflow:hidden}:host(.md-loading-indicator--contained){--_color:var(--md-loading-indicator-color, var(--md-sys-color-on-primary-container, #21005D));background-color:var(--_container-color);border-radius:var(--_container-shape)}.md-loading-indicator__shape{display:block;inline-size:var(--_shape-size);block-size:var(--_shape-size);background-color:var(--_color);will-change:clip-path, transform;animation:md-loading-morph 4.55s infinite}@keyframes md-loading-morph{0%{clip-path:polygon( 50% 5.3%, 55.4% 9.1%, 59.3% 15.3%, 64% 16.1%, 71.2% 13.3%, 77.1% 14.7%, 78.3% 21.7%, 78.1% 28.4%, 82.6% 31.2%, 90% 33.4%, 92.6% 38.6%, 88.4% 44.9%, 85.3% 50%, 88.4% 55.1%, 92.6% 61.4%, 90% 66.6%, 82.6% 68.8%, 78.1% 71.6%, 78.3% 78.3%, 77.1% 85.3%, 71.2% 86.7%, 64% 83.9%, 59.3% 84.7%, 55.4% 90.9%, 50% 94.7%, 44.6% 90.9%, 40.7% 84.7%, 36% 83.9%, 28.8% 86.7%, 22.9% 85.3%, 21.7% 78.3%, 21.9% 71.6%, 17.4% 68.8%, 10% 66.6%, 7.4% 61.4%, 11.6% 55.1%, 14.7% 50%, 11.6% 44.9%, 7.4% 38.6%, 10% 33.4%, 17.4% 31.2%, 21.9% 28.4%, 21.7% 21.7%, 22.9% 14.7%, 28.8% 13.3%, 36% 16.1%, 40.7% 15.3%, 44.6% 9.1% );transform:rotate(0deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}14.3%{clip-path:polygon( 50% 6.8%, 55.4% 9.1%, 59.8% 13.6%, 64.2% 15.8%, 70% 15.4%, 76.2% 15.9%, 79.9% 20.1%, 80.8% 26.4%, 81.8% 31.6%, 85.8% 35.2%, 90.8% 39.1%, 92.6% 44.4%, 90% 50%, 86.7% 54.8%, 86.4% 59.8%, 88.1% 65.8%, 87.4% 71.6%, 82.7% 75.1%, 76.7% 76.7%, 72.5% 79.4%, 70% 84.6%, 66.4% 89.7%, 60.9% 90.8%, 55.1% 88.4%, 50% 86.8%, 44.9% 88.4%, 39.1% 90.8%, 33.6% 89.7%, 30% 84.6%, 27.5% 79.4%, 23.3% 76.7%, 17.3% 75.1%, 12.6% 71.6%, 11.9% 65.8%, 13.6% 59.8%, 13.3% 54.8%, 10% 50%, 7.4% 44.4%, 9.2% 39.1%, 14.2% 35.2%, 18.2% 31.6%, 19.2% 26.4%, 20.1% 20.1%, 23.8% 15.9%, 30% 15.4%, 35.8% 15.8%, 40.2% 13.6%, 44.6% 9.1% );transform:rotate(154deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}28.6%{clip-path:polygon( 50% 6.8%, 55.4% 8.9%, 60% 12.7%, 63.9% 16.4%, 67.5% 19.7%, 71.1% 22.5%, 75% 25%, 79.5% 27.4%, 84.4% 30.1%, 89.3% 33.7%, 91.4% 38.9%, 90% 44.7%, 87.6% 50%, 85.4% 54.7%, 83.5% 59%, 82.1% 63.3%, 81.2% 68%, 80.2% 73.2%, 78.9% 78.9%, 76.3% 84.2%, 71% 86.4%, 65% 86.2%, 59.5% 85.5%, 54.6% 84.8%, 50% 84.6%, 45.4% 84.8%, 40.5% 85.5%, 35% 86.2%, 29% 86.4%, 23.7% 84.2%, 21.1% 78.9%, 19.8% 73.2%, 18.8% 68%, 17.9% 63.3%, 16.5% 59%, 14.6% 54.7%, 12.4% 50%, 10% 44.7%, 8.6% 38.9%, 10.7% 33.7%, 15.6% 30.1%, 20.5% 27.4%, 25% 25%, 28.9% 22.5%, 32.5% 19.7%, 36.1% 16.4%, 40% 12.7%, 44.6% 8.9% );transform:rotate(309deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}42.9%{clip-path:polygon( 50% 5.1%, 55.8% 5.6%, 61.5% 7.3%, 66.6% 9.9%, 71.1% 13.4%, 74.8% 17.6%, 77.6% 22.4%, 79.5% 27.4%, 80.3% 32.5%, 80.1% 37.5%, 79.1% 42.2%, 77.5% 46.4%, 76.4% 50%, 77.5% 53.6%, 79.1% 57.8%, 80.1% 62.5%, 80.3% 67.5%, 79.5% 72.6%, 77.6% 77.6%, 74.8% 82.4%, 71.1% 86.6%, 66.6% 90.1%, 61.5% 92.7%, 55.8% 94.4%, 50% 94.9%, 44.2% 94.4%, 38.5% 92.7%, 33.4% 90.1%, 28.9% 86.6%, 25.2% 82.4%, 22.4% 77.6%, 20.5% 72.6%, 19.7% 67.5%, 19.9% 62.5%, 20.9% 57.8%, 22.5% 53.6%, 23.6% 50%, 22.5% 46.4%, 20.9% 42.2%, 19.9% 37.5%, 19.7% 32.5%, 20.5% 27.4%, 22.4% 22.4%, 25.2% 17.6%, 28.9% 13.4%, 33.4% 9.9%, 38.5% 7.3%, 44.2% 5.6% );transform:rotate(463deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}57.1%{clip-path:polygon( 50% 3.4%, 55.7% 7.1%, 59.5% 14.5%, 62.8% 19.1%, 68.4% 18.2%, 76.4% 15.7%, 82.9% 17.1%, 84.3% 23.6%, 81.8% 31.6%, 80.9% 37.2%, 85.5% 40.5%, 92.9% 44.3%, 96.6% 50%, 92.9% 55.7%, 85.5% 59.5%, 80.9% 62.8%, 81.8% 68.4%, 84.3% 76.4%, 82.9% 82.9%, 76.4% 84.3%, 68.4% 81.8%, 62.8% 80.9%, 59.5% 85.5%, 55.7% 92.9%, 50% 96.6%, 44.3% 92.9%, 40.5% 85.5%, 37.2% 80.9%, 31.6% 81.8%, 23.6% 84.3%, 17.1% 82.9%, 15.7% 76.4%, 18.2% 68.4%, 19.1% 62.8%, 14.5% 59.5%, 7.1% 55.7%, 3.4% 50%, 7.1% 44.3%, 14.5% 40.5%, 19.1% 37.2%, 18.2% 31.6%, 15.7% 23.6%, 17.1% 17.1%, 23.6% 15.7%, 31.6% 18.2%, 37.2% 19.1%, 40.5% 14.5%, 44.3% 7.1% );transform:rotate(617deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}71.4%{clip-path:polygon( 50% 18.1%, 54.2% 17.7%, 58.9% 16.8%, 64.3% 15.5%, 70.5% 14.5%, 77% 14.8%, 82.4% 17.6%, 85.2% 23%, 85.5% 29.5%, 84.5% 35.7%, 83.2% 41.1%, 82.3% 45.8%, 81.9% 50%, 82.3% 54.2%, 83.2% 58.9%, 84.5% 64.3%, 85.5% 70.5%, 85.2% 77%, 82.4% 82.4%, 77% 85.2%, 70.5% 85.5%, 64.3% 84.5%, 58.9% 83.2%, 54.2% 82.3%, 50% 81.9%, 45.8% 82.3%, 41.1% 83.2%, 35.7% 84.5%, 29.5% 85.5%, 23% 85.2%, 17.6% 82.4%, 14.8% 77%, 14.5% 70.5%, 15.5% 64.3%, 16.8% 58.9%, 17.7% 54.2%, 18.1% 50%, 17.7% 45.8%, 16.8% 41.1%, 15.5% 35.7%, 14.5% 29.5%, 14.8% 23%, 17.6% 17.6%, 23% 14.8%, 29.5% 14.5%, 35.7% 15.5%, 41.1% 16.8%, 45.8% 17.7% );transform:rotate(771deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}85.7%{clip-path:polygon( 50% 14.5%, 54.9% 12.8%, 60.3% 11.6%, 66.1% 11.2%, 72% 11.9%, 77.7% 13.9%, 82.5% 17.5%, 86.1% 22.3%, 88.1% 28%, 88.8% 33.9%, 88.4% 39.7%, 87.2% 45.1%, 85.5% 50%, 83.5% 54.4%, 81.3% 58.4%, 79% 62%, 76.5% 65.3%, 73.9% 68.4%, 71.2% 71.2%, 68.4% 73.9%, 65.3% 76.5%, 62% 79%, 58.4% 81.3%, 54.4% 83.5%, 50% 85.5%, 45.1% 87.2%, 39.7% 88.4%, 33.9% 88.8%, 28% 88.1%, 22.3% 86.1%, 17.5% 82.5%, 13.9% 77.7%, 11.9% 72%, 11.2% 66.1%, 11.6% 60.3%, 12.8% 54.9%, 14.5% 50%, 16.5% 45.6%, 18.7% 41.6%, 21% 38%, 23.5% 34.7%, 26.1% 31.6%, 28.8% 28.8%, 31.6% 26.1%, 34.7% 23.5%, 38% 21%, 41.6% 18.7%, 45.6% 16.5% );transform:rotate(926deg);animation-timing-function:cubic-bezier(0.34, 1.45, 0.4, 1)}100%{clip-path:polygon( 50% 5.3%, 55.4% 9.1%, 59.3% 15.3%, 64% 16.1%, 71.2% 13.3%, 77.1% 14.7%, 78.3% 21.7%, 78.1% 28.4%, 82.6% 31.2%, 90% 33.4%, 92.6% 38.6%, 88.4% 44.9%, 85.3% 50%, 88.4% 55.1%, 92.6% 61.4%, 90% 66.6%, 82.6% 68.8%, 78.1% 71.6%, 78.3% 78.3%, 77.1% 85.3%, 71.2% 86.7%, 64% 83.9%, 59.3% 84.7%, 55.4% 90.9%, 50% 94.7%, 44.6% 90.9%, 40.7% 84.7%, 36% 83.9%, 28.8% 86.7%, 22.9% 85.3%, 21.7% 78.3%, 21.9% 71.6%, 17.4% 68.8%, 10% 66.6%, 7.4% 61.4%, 11.6% 55.1%, 14.7% 50%, 11.6% 44.9%, 7.4% 38.6%, 10% 33.4%, 17.4% 31.2%, 21.9% 28.4%, 21.7% 21.7%, 22.9% 14.7%, 28.8% 13.3%, 36% 16.1%, 40.7% 15.3%, 44.6% 9.1% );transform:rotate(1080deg)}}.md-loading-indicator__sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host(:focus-visible){outline:3px solid var(--md-sys-color-secondary, #625B71);outline-offset:2px;border-radius:var(--_container-shape)}@media (prefers-reduced-motion: reduce){.md-loading-indicator__shape{animation:md-loading-pulse 2s ease-in-out infinite;border-radius:50%;clip-path:none}}@keyframes md-loading-pulse{0%,100%{opacity:1}50%{opacity:0.4}}@media (forced-colors: active){.md-loading-indicator__shape{background-color:CanvasText}:host(.md-loading-indicator--contained){background-color:Canvas;outline:1px solid CanvasText}}: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}`;const x=class{constructor(o){t(this,o);this.variant="uncontained";this.label="Loading";this.density=0}render(){return e(s,{key:"e6d22ea32ed8fef67906f81bb2ee61f127ed20f8",class:{"md-loading-indicator":true,[`md-loading-indicator--${this.variant}`]:true},role:"progressbar","aria-label":this.label,"aria-live":"polite"},e("span",{key:"284caf45947b622f09d46803b7b0205402b6a309",class:"md-loading-indicator__shape",part:"shape","aria-hidden":"true"}),e("span",{key:"472fac91cea4c2d490d49466b13ab75ab99ed962",class:"md-loading-indicator__sr-only",role:"status"},this.label))}};x.style=_();const g=()=>`:host{--_icon-color:var(--md-radio-icon-color, var(--md-sys-color-on-surface-variant));--_selected-icon-color:var(--md-radio-selected-icon-color, var(--md-sys-color-primary));--_icon-size:var(--md-radio-icon-size, max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px)));--_inner-circle-size:var(--md-radio-inner-circle-size, max(8px, calc(10px + var(--md-sys-density-scale, 0) * 0.5px)));--_state-layer-size:max(24px, calc(var(--md-radio-state-layer-size, 40px) + var(--md-sys-density-scale, 0) * 4px));--_state-layer-color:var(--md-radio-state-layer-color, var(--md-sys-color-on-surface));--_selected-state-layer-color:var(--md-radio-selected-state-layer-color, var(--md-sys-color-primary));display:inline-flex;align-items:center;justify-content:center;position:relative;inline-size:max(32px, calc(48px + var(--md-sys-density-scale, 0) * 4px));block-size:max(32px, calc(48px + var(--md-sys-density-scale, 0) * 4px));cursor:pointer;border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden;-webkit-tap-highlight-color:transparent;box-sizing:border-box;flex-shrink:0;vertical-align:middle;outline:none;color:var(--_state-layer-color)}:host(.md-radio--checked){color:var(--_selected-state-layer-color)}.md-radio__native{display:none}.md-radio__ripple-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);overflow:hidden}:host(.md-radio--disabled) .md-radio__ripple-layer,:host([soft-disabled]) .md-radio__ripple-layer{display:none}.md-radio__state-layer{position:absolute;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);background-color:var(--_state-layer-color);opacity:0;transition:opacity var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));pointer-events:none}:host(.md-radio--unchecked:hover) .md-radio__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-radio--unchecked:active) .md-radio__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(.md-radio--checked) .md-radio__state-layer{background-color:var(--_selected-state-layer-color)}:host(.md-radio--checked:hover) .md-radio__state-layer{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}:host(.md-radio--checked:active) .md-radio__state-layer{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}:host(:focus-visible)::after,:host(.md-radio--focus-ring)::after{content:'';position:absolute;inset:0;margin:auto;inline-size:var(--_state-layer-size);block-size:var(--_state-layer-size);border-radius:var(--md-sys-shape-corner-full, 50%);outline:3px solid var(--md-sys-color-secondary);outline-offset:0;pointer-events:none}.md-radio__container{position:relative;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_icon-size);block-size:var(--_icon-size);pointer-events:none;transition:transform var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(.md-radio--pressed) .md-radio__container{transform:scale(0.82);transition:transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}.md-radio__outer{position:absolute;inset:0;border-radius:var(--md-sys-shape-corner-full, 50%);border:2px solid var(--_icon-color);box-sizing:border-box;transition:border-color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1))}:host(.md-radio--checked) .md-radio__outer{border-color:var(--_selected-icon-color)}.md-radio__inner{inline-size:var(--_inner-circle-size);block-size:var(--_inner-circle-size);border-radius:var(--md-sys-shape-corner-full, 50%);background-color:var(--_selected-icon-color);transform:scale(0);transition:transform var(--md-sys-motion-duration-medium4, 400ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(.md-radio--checked) .md-radio__inner{transform:scale(1)}:host(.md-radio--disabled){cursor:default;pointer-events:none}:host(.md-radio--disabled.md-radio--unchecked) .md-radio__outer{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host(.md-radio--disabled.md-radio--checked) .md-radio__outer{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host(.md-radio--disabled.md-radio--checked) .md-radio__inner{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host(.md-radio--disabled) .md-radio__state-layer{display:none}:host([soft-disabled]){cursor:default;pointer-events:auto}:host([soft-disabled].md-radio--unchecked) .md-radio__outer{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host([soft-disabled].md-radio--checked) .md-radio__outer{border-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host([soft-disabled].md-radio--checked) .md-radio__inner{background-color:color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent)}:host([soft-disabled]) .md-radio__state-layer{display:none}@media (prefers-reduced-motion: reduce){.md-radio__container,.md-radio__state-layer,.md-radio__outer,.md-radio__inner{transition:none}}@media (forced-colors: active){:host{forced-color-adjust:none}.md-radio__outer{border-color:ButtonText}:host(.md-radio--checked) .md-radio__outer{border-color:Highlight}:host(.md-radio--checked) .md-radio__inner{background-color:Highlight}:host(:focus-visible)::after,:host(.md-radio--focus-ring)::after{outline-color:Highlight}:host(.md-radio--disabled) .md-radio__outer{border-color:GrayText}:host(.md-radio--disabled.md-radio--checked) .md-radio__inner{background-color:GrayText}.md-radio__state-layer{display: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}`;const k=class{constructor(e){t(this,e);this.mdChange=o(this,"mdChange",7);this.mdFocus=o(this,"mdFocus",7);this.mdBlur=o(this,"mdBlur",7);this.mdValidityChange=o(this,"mdValidityChange",5);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.valueMissingLabel="Please select one of these options.";this.customValidityMessage="";this.invalid=false;this.defaultChecked=false;this.checked=false;this.disabled=false;this.softDisabled=false;this.required=false;this.name="";this.value="";this.density=0;this.pressed=false;this.focused=false;this.programmaticFocus=false;this.managedTabIndex="0";this.parentLabel=null;this.lastValidityKey=null;this.handleLabelClick=t=>{if(!t.composedPath().includes(this.el)){this.handleClick()}};this.handleClick=()=>{if(this.isDisabled||this.checked)return;this.checked=true;this.mdChange.emit({checked:true,value:this.value})};this.handleKeyDown=t=>{if(this.isDisabled)return;if(t.key===" "){t.preventDefault();this.pressed=true;this.handleClick();i(this.el);setTimeout((()=>{this.pressed=false}),150);return}if(t.key==="ArrowDown"||t.key==="ArrowRight"){t.preventDefault();this.focusSibling(1)}else if(t.key==="ArrowUp"||t.key==="ArrowLeft"){t.preventDefault();this.focusSibling(-1)}};this.handleFocus=()=>{this.focused=true;this.mdFocus.emit()};this.handleBlur=()=>{this.focused=false;this.programmaticFocus=false;this.mdBlur.emit()};this.handlePointerDown=()=>{this.programmaticFocus=false;if(!this.isDisabled)this.pressed=true};this.handlePointerUp=()=>{this.pressed=false}}get isDisabled(){return this.disabled||this.softDisabled}connectedCallback(){this.parentLabel=this.el.closest("label");this.parentLabel?.addEventListener("click",this.handleLabelClick)}componentWillLoad(){this.defaultChecked=this.checked;this.syncFormValue()}componentDidLoad(){this.updateRovingTabIndex();this.syncGroupValidity()}disconnectedCallback(){this.parentLabel?.removeEventListener("click",this.handleLabelClick);this.parentLabel=null}onCheckedChange(t){if(t){this.uncheckOthers(this.el)}this.updateRovingTabIndex();this.syncFormValue();this.syncGroupValidity()}onValidityInputChange(){this.syncGroupValidity()}syncFormValue(){d(this.internals,this.checked?this.value||"on":null)}get groupHasSelection(){if(!this.name)return this.checked;const t=this.el.getRootNode();return Array.from(t.querySelectorAll(`md-radio[name="${this.name}"]`)).some((t=>{const o=t;return typeof o.checked==="boolean"?o.checked:t.hasAttribute("checked")}))}get groupIsRequired(){if(this.required)return true;if(!this.name)return false;const t=this.el.getRootNode();return Array.from(t.querySelectorAll(`md-radio[name="${this.name}"]`)).some((t=>t.hasAttribute("required")))}syncValidity(){this.invalid=this.customValidityMessage?true:this.groupIsRequired&&!this.groupHasSelection;c(this.internals,{missing:this.groupIsRequired&&!this.groupHasSelection,missingMessage:this.valueMissingLabel,customMessage:this.customValidityMessage});this.emitValidityChange()}syncGroupValidity(){this.syncValidity();if(!this.name)return;const t=this.el.getRootNode();t.querySelectorAll(`md-radio[name="${this.name}"]`).forEach((t=>{if(t!==this.el)t.syncValidityFromGroup?.()}))}async syncValidityFromGroup(){this.syncValidity()}formResetCallback(){this.checked=this.defaultChecked}async getValidity(){return l(this.internals)}emitValidityChange(){const t=l(this.internals);const o=`${t.valid}|${t.validationMessage}`;if(this.lastValidityKey===o)return;const e=this.lastValidityKey!==null;this.lastValidityKey=o;if(e)this.mdValidityChange.emit(t)}async checkValidity(){return m(this.internals)}async reportValidity(){return h(this.internals)}async setCustomValidity(t){this.customValidityMessage=t;this.syncValidity()}onDisabledChange(){this.updateRovingTabIndex()}async setFocus(){this.programmaticFocus=true;this.el.focus()}async setBlur(){this.el.blur()}async select(){if(this.isDisabled||this.checked)return;this.checked=true;this.mdChange.emit({checked:true,value:this.value})}updateRovingTabIndex(){if(this.disabled){this.managedTabIndex="-1";return}if(this.checked){this.managedTabIndex="0";return}if(!this.name){this.managedTabIndex="0";return}const t=this.el.getRootNode();const o=Array.from(t.querySelectorAll(`md-radio[name="${this.name}"]`));const e=o.some((t=>t!==this.el&&t.checked));if(e){this.managedTabIndex="-1";return}const s=o.find((t=>!t.disabled));this.managedTabIndex=s===this.el?"0":"-1"}uncheckOthers(t){if(!this.name)return;const o=this.el.getRootNode();const e=o.querySelectorAll(`md-radio[name="${this.name}"]`);e.forEach((o=>{if(o!==t&&o.hasAttribute("checked")){o.removeAttribute("checked")}}))}focusSibling(t){if(!this.name)return;const o=this.el.getRootNode();const e=Array.from(o.querySelectorAll(`md-radio[name="${this.name}"]`));const s=e.filter((t=>!t.hasAttribute("disabled")&&!t.hasAttribute("soft-disabled")));if(s.length===0)return;const a=s.indexOf(this.el);const n=(a+t+s.length)%s.length;const r=s[n];r.focus();r.setAttribute("checked","");i(r);r.dispatchEvent(new CustomEvent("mdChange",{detail:{checked:true,value:r.getAttribute("value")||""},bubbles:true,composed:true}))}render(){const t=this.isDisabled;return e(s,{key:"a423d9607194f4c390cbc948db8831ee8e6b9476",class:{"md-radio":true,"md-radio--checked":this.checked,"md-radio--unchecked":!this.checked,"md-radio--disabled":t,"md-radio--pressed":this.pressed,"md-radio--focused":this.focused,"md-radio--focus-ring":this.programmaticFocus},role:"radio","aria-invalid":this.invalid?"true":undefined,"aria-checked":String(this.checked),"aria-disabled":t?"true":undefined,"aria-required":this.required?"true":undefined,tabindex:this.managedTabIndex,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur,onPointerDown:this.handlePointerDown,onPointerUp:this.handlePointerUp,onPointerLeave:this.handlePointerUp,onPointerCancel:this.handlePointerUp},e("span",{key:"c22bd6ccfa4d3a535fe80dcf1d3c31bcf215087b",class:"md-radio__ripple-layer","aria-hidden":"true"},e("md-ripple",{key:"3c100609ffabcf044653239ccda3ced354979368",disabled:t})),e("span",{key:"928cdd5130f486f2431a0521e64a1d574820421f",class:"md-radio__state-layer",part:"state-layer","aria-hidden":"true"}),e("span",{key:"a3eb375c03d15313343adc779e1256bac4e95cb5",class:"md-radio__container",part:"container","aria-hidden":"true"},e("span",{key:"20a32a470255aa8fd8218c0f629a6dfdcc726ebe",class:"md-radio__outer",part:"outer-circle"}),e("span",{key:"9b1234f873e067ae02ba0feedf18f08ce6f99326",class:"md-radio__inner",part:"inner-circle"})),e("input",{key:"5c957cc036da4fdd672cf0de970a1043fb51a9a2",type:"radio",class:"md-radio__native",checked:this.checked,disabled:this.disabled,required:this.required,name:this.name,value:this.value,"aria-hidden":"true",tabindex:"-1",onChange:()=>{}}))}static get formAssociated(){return true}get el(){return a(this)}static get watchers(){return{checked:[{onCheckedChange:0}],required:[{onValidityInputChange:0}],name:[{onValidityInputChange:0}],valueMissingLabel:[{onValidityInputChange:0}],disabled:[{onDisabledChange:0}]}}};k.style=g();const w=()=>`:host{display:contents;border-radius:inherit;--_color:var(--md-ripple-color, currentColor)}.md-ripple{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}.md-ripple__wave{position:absolute;border-radius:50%;pointer-events:none;background:var(--_color);opacity:0;transform:scale(0);will-change:transform, opacity}.md-ripple{opacity:var(--md-sys-ripple-enabled, 1)}`;const z=450;const F=150;const C=.12;const E="cubic-bezier(0.2, 0, 0, 1)";const D="--md-ripple-grow-duration";const j="--md-ripple-grow-easing";const A=class{constructor(o){t(this,o);this.disabled=false;this.hostEl=null;this.activeWave=null;this.growAnimation=null;this.activeOpacity=C;this.bound=false;this.settlePromise=null;this.settleResolve=null;this.onPointerDown=t=>{if(this.disabled||this.rippleSuppressed())return;const o=this.el.shadowRoot?.querySelector(".md-ripple");if(!o||!this.hostEl)return;this.endWave();const e=this.hostEl.getBoundingClientRect();const s=this.resolveExtent("--md-ripple-extend-inline");const a=this.resolveExtent("--md-ripple-extend-block");const i=e.left-s;const n=e.right+s;const r=e.top-a;const d=e.bottom+a;const c=Math.max(Math.abs(t.clientX-i),Math.abs(t.clientX-n));const l=Math.max(Math.abs(t.clientY-r),Math.abs(t.clientY-d));const m=Math.sqrt(c*c+l*l);const h=m*2;const u=t.clientX-e.left-m;const b=t.clientY-e.top-m;const p=document.createElement("span");p.classList.add("md-ripple__wave");p.style.width=p.style.height=`${h}px`;p.style.left=`${u}px`;p.style.top=`${b}px`;o.appendChild(p);this.activeWave=p;this.activeOpacity=this.resolveOpacity();this.beginSettle();this.growAnimation=p.animate([{transform:"scale(0)",opacity:this.activeOpacity},{transform:"scale(1)",opacity:this.activeOpacity}],{duration:this.resolveGrowDuration(),easing:this.resolveGrowEasing(),fill:"forwards"});window.addEventListener("pointerup",this.onRelease,{once:true});window.addEventListener("pointercancel",this.onRelease,{once:true})};this.onRelease=()=>{this.endWave()}}rippleSuppressed(){if(typeof getComputedStyle!=="function")return false;try{return getComputedStyle(this.el).getPropertyValue("--md-sys-ripple-enabled").trim()==="0"}catch{return false}}resolveOpacity(){if(!this.hostEl)return C;const t=getComputedStyle(this.hostEl).getPropertyValue("--md-ripple-opacity").trim();if(!t)return C;const o=parseFloat(t);return Number.isFinite(o)?o:C}resolveExtent(t){const o=getComputedStyle(this.el).getPropertyValue(t).trim();if(!o)return 0;const e=parseFloat(o);return Number.isFinite(e)&&e>0?e:0}resolveGrowDuration(){const t=getComputedStyle(this.el).getPropertyValue(D).trim();if(!t)return z;const o=parseFloat(t);return Number.isFinite(o)&&o>0?o:z}resolveGrowEasing(){const t=getComputedStyle(this.el).getPropertyValue(j).trim();return t||E}beginSettle(){this.finishSettle();this.settlePromise=new Promise((t=>{this.settleResolve=t}))}finishSettle(){this.settleResolve?.();this.settleResolve=null;this.settlePromise=null}async whenSettled(){if(!this.settlePromise)return;const t=new Promise((t=>{setTimeout(t,F+50)}));await Promise.race([this.settlePromise,t]);this.finishSettle()}resolveHost(){const t=this.el.getRootNode();return this.el.parentElement??(t instanceof ShadowRoot?t.host:null)}bind(){if(this.bound)return;this.hostEl=this.resolveHost();if(!this.hostEl)return;this.bound=true;this.hostEl.addEventListener("pointerdown",this.onPointerDown)}connectedCallback(){this.bind();if(!this.bound){queueMicrotask((()=>this.bind()))}}disconnectedCallback(){this.hostEl?.removeEventListener("pointerdown",this.onPointerDown);this.hostEl=null;this.bound=false}async endWave(){const t=this.activeWave;const o=this.growAnimation;if(!t||!o)return;this.activeWave=null;this.growAnimation=null;if(o.playState!=="finished"){await o.finished}const e=t.animate([{opacity:this.activeOpacity},{opacity:0}],{duration:F,easing:E,fill:"forwards"});try{if(typeof e.finished?.then==="function"){await e.finished}else{await new Promise((t=>setTimeout(t,F)))}}catch{}t.remove();this.finishSettle()}async trigger(){if(this.disabled||this.rippleSuppressed())return;if(!this.hostEl)this.hostEl=this.resolveHost();const t=this.el.shadowRoot?.querySelector(".md-ripple");if(!t||!this.hostEl)return;this.endWave();const o=this.hostEl.getBoundingClientRect();const e=this.resolveExtent("--md-ripple-extend-inline");const s=this.resolveExtent("--md-ripple-extend-block");const a=o.width/2;const i=o.height/2;const n=a+e;const r=i+s;const d=Math.sqrt(n*n+r*r);const c=d*2;const l=document.createElement("span");l.classList.add("md-ripple__wave");l.style.width=l.style.height=`${c}px`;l.style.left=`${a-d}px`;l.style.top=`${i-d}px`;t.appendChild(l);this.activeWave=l;this.activeOpacity=this.resolveOpacity();this.beginSettle();this.growAnimation=l.animate([{transform:"scale(0)",opacity:this.activeOpacity},{transform:"scale(1)",opacity:this.activeOpacity}],{duration:this.resolveGrowDuration(),easing:this.resolveGrowEasing(),fill:"forwards"});this.growAnimation.addEventListener("finish",(()=>this.endWave()),{once:true})}render(){return e(s,{key:"db104269176da1fe8c379500716b44c7d6575407","aria-hidden":"true"},e("div",{key:"94d23e0d1697a050e49ae66e8e8c022b20f108bd",class:"md-ripple"}))}get el(){return a(this)}};A.style=w();const M=()=>`:host{--_container-color:var(--md-snackbar-container-color, var(--md-sys-color-inverse-surface, #313033));--_message-color:var(--md-snackbar-message-color, var(--md-sys-color-inverse-on-surface, #F4EFF4));--_action-color:var(--md-snackbar-action-color, var(--md-sys-color-inverse-primary, #D0BCFF));--_close-color:var(--md-snackbar-close-color, var(--md-sys-color-inverse-on-surface, #F4EFF4));--_container-shape:var(--md-snackbar-container-shape, var(--md-sys-shape-corner-extra-small, 4px));--_min-width:var(--md-snackbar-min-width, 288px);--_max-width:var(--md-snackbar-max-width, 568px);--_slide-from:translateY(100%);display:flex;position:fixed;inset-block-start:0;inset-block-end:0;inset-inline-start:0;inset-inline-end:0;padding:var(--md-sys-spacing-inset-xl, 24px);align-items:flex-end;justify-content:center;z-index:calc(var(--md-sys-z-index-snackbar, 2000) + var(--_stack-order, 0));pointer-events:none;visibility:hidden;opacity:0;transform:var(--_slide-from);transition:opacity var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15)), transform var(--md-sys-motion-duration-short4, 200ms) var(--md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15)), visibility 0ms linear var(--md-sys-motion-duration-short4, 200ms)}:host(.md-snackbar--open){visibility:visible;opacity:1;transform:translate(0, 0);transition:opacity var(--md-sys-motion-duration-medium1, 250ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)), transform var(--md-sys-motion-duration-medium1, 250ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)), visibility 0ms linear 0ms}:host(.md-snackbar--open) .md-snackbar__surface{pointer-events:auto}:host(.md-snackbar--bottom){align-items:flex-end;justify-content:center}:host(.md-snackbar--bottom-start){align-items:flex-end;justify-content:flex-start}:host(.md-snackbar--bottom-end){align-items:flex-end;justify-content:flex-end}:host(.md-snackbar--top),:host(.md-snackbar--top-start),:host(.md-snackbar--top-end){--_slide-from:translateY(-100%)}:host(.md-snackbar--top){align-items:flex-start;justify-content:center}:host(.md-snackbar--top-start){align-items:flex-start;justify-content:flex-start}:host(.md-snackbar--top-end){align-items:flex-start;justify-content:flex-end}:host(.md-snackbar--start),:host(.md-snackbar--end),:host(.md-snackbar--center){--_slide-from:translate(0, 0)}:host(.md-snackbar--start){align-items:center;justify-content:flex-start}:host(.md-snackbar--end){align-items:center;justify-content:flex-end}:host(.md-snackbar--center){align-items:center;justify-content:center}.md-snackbar__surface{display:flex;align-items:center;min-inline-size:var(--_min-width);max-inline-size:var(--_max-width);min-block-size:max(36px, calc(48px + var(--md-sys-density-scale, 0) * 3px));padding-inline-start:max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));padding-inline-end:max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));background-color:var(--_container-color);color:var(--_message-color);border-radius:var(--_container-shape);box-shadow:var(--md-sys-elevation-3);box-sizing:border-box}:host(.md-snackbar--with-action:not(.md-snackbar--with-close)) .md-snackbar__surface{padding-inline-end:var(--md-sys-spacing-inset-sm, 8px)}:host(.md-snackbar--with-close) .md-snackbar__surface{padding-inline-end:var(--md-sys-spacing-inset-md, 12px)}@media (max-width: 599px){:host{padding:var(--md-sys-spacing-inset-lg, 16px)}.md-snackbar__surface{inline-size:100%;min-inline-size:0;max-inline-size:100%}}.md-snackbar__message{flex:1;padding-block:max(6px, calc(14px + var(--md-sys-density-scale, 0) * 2px));font-family:var(--md-sys-typescale-body-medium-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-body-medium-font-weight, 400);line-height:max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing, 0.25px);color:inherit}.md-snackbar__actions{display:flex;align-items:center;flex-shrink:0}.md-snackbar__action-btn{flex-shrink:0;--md-button-label-color:var(--_action-color);--md-button-icon-color:var(--_action-color);--md-ripple-color:var(--_action-color)}.md-snackbar__close{display:flex;align-items:center;flex-shrink:0;outline:none;-webkit-tap-highlight-color:transparent}.md-snackbar__close md-icon-button{--md-icon-button-icon-color:var(--_close-color);--md-icon-button-container-width:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-container-height:max(32px, calc(40px + var(--md-sys-density-scale, 0) * 4px));--md-icon-button-icon-size:max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px))}:host(.md-snackbar--stacked) .md-snackbar__surface{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:start;column-gap:var(--md-sys-spacing-gap-md, 12px);row-gap:6px;min-block-size:68px;padding-block-start:var(--md-sys-spacing-inset-sm, 8px);padding-block-end:var(--md-sys-spacing-inset-sm, 8px)}:host(.md-snackbar--stacked) .md-snackbar__message{grid-column:1;grid-row:1;padding-block-end:var(--md-sys-spacing-inset-xs, 4px)}:host(.md-snackbar--stacked) .md-snackbar__close{grid-column:2;grid-row:1;align-self:start;margin-inline-start:0;margin-block-start:var(--md-sys-spacing-inset-xs, 4px);padding-block-start:0}:host(.md-snackbar--stacked) .md-snackbar__actions{grid-column:1 / -1;grid-row:2;justify-self:end}::slotted([slot="action"]){color:var(--_action-color)}::slotted([slot="close"]){color:var(--_close-color)}@media (prefers-reduced-motion: reduce){:host,:host(.md-snackbar--open){transition:none}}@media (forced-colors: active){.md-snackbar__surface{border:1px solid CanvasText}.md-snackbar__action-btn{color:LinkText}.md-snackbar__action-btn:focus-visible{outline-color:Highlight}}: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}`;const S=class{constructor(e){t(this,e);this.mdOpen=o(this,"mdOpen",7);this.mdClose=o(this,"mdClose",7);this.mdAction=o(this,"mdAction",7);this.open=false;this.message="";this.action="";this.closeable=false;this.autoHide=true;this.autoHideDuration=4e3;this.position="bottom";this.stacked=false;this.politeness="polite";this.dismissLabel="Dismiss";this.density=0;this.hasSlottedAction=false;this.hasSlottedClose=false;this.hasSlottedDefault=false;this.timerPaused=false;this.handleActionClick=()=>{this.mdAction.emit();this.startAutoHide()};this.handleCloseClick=()=>{this.dismissAfterRipple("close")};this.handleEscape=t=>{if(t.key==="Escape"&&this.open&&this.closeable){t.preventDefault();this.handleCloseClick()}};this.pauseAutoHide=()=>{if(this.autoHideTimer!=null&&this.open){this.timerPaused=true;this.clearAutoHide()}};this.resumeAutoHide=()=>{if(this.timerPaused&&this.open){this.timerPaused=false;this.startAutoHide()}};this.handleSurfaceFocusOut=t=>{const o=t.currentTarget;if(t.relatedTarget&&o.contains(t.relatedTarget)){return}this.resumeAutoHide()}}get isAutoHide(){return this.autoHide!==false&&this.autoHide!=="false"}componentDidLoad(){const t=this.el.shadowRoot;if(!t)return;const o=t.querySelector("slot:not([name])");const e=t.querySelector('slot[name="action"]');const s=t.querySelector('slot[name="close"]');o?.addEventListener("slotchange",(()=>{this.hasSlottedDefault=o.assignedNodes().some((t=>t.nodeType===Node.ELEMENT_NODE||t.nodeType===Node.TEXT_NODE&&t.textContent?.trim()!==""))}));e?.addEventListener("slotchange",(()=>{this.hasSlottedAction=e.assignedElements().length>0}));s?.addEventListener("slotchange",(()=>{this.hasSlottedClose=s.assignedElements().length>0}));if(this.open){this.onOpenChange(true,false)}}disconnectedCallback(){this.clearAutoHide();if(this.rippleDismissTimer!=null){clearTimeout(this.rippleDismissTimer);this.rippleDismissTimer=undefined}window.removeEventListener("keydown",this.handleEscape)}raiseAboveOpenPeers(){const t=Array.from(document.querySelectorAll("md-snackbar")).filter((t=>t!==this.el&&t.open));const o=t.reduce(((t,o)=>Math.max(t,Number(o.style.getPropertyValue("--_stack-order"))||0)),0);this.el.style.setProperty("--_stack-order",String(o+1))}onOpenChange(t,o){if(t){this.raiseAboveOpenPeers();this.mdOpen.emit();if(this.isAutoHide){this.startAutoHide()}window.addEventListener("keydown",this.handleEscape)}else{this.clearAutoHide();this.timerPaused=false;window.removeEventListener("keydown",this.handleEscape)}}async show(){this.open=true}async hide(t="close"){if(!this.open)return;this.open=false;this.mdClose.emit({reason:t})}startAutoHide(){this.clearAutoHide();this.autoHideTimer=setTimeout((()=>{if(this.open){this.open=false;this.mdClose.emit({reason:"auto"})}}),this.autoHideDuration)}clearAutoHide(){if(this.autoHideTimer!=null){clearTimeout(this.autoHideTimer);this.autoHideTimer=undefined}}dismissAfterRipple(t){this.rippleDismissTimer=setTimeout((()=>{this.rippleDismissTimer=undefined;if(this.open){this.open=false;this.mdClose.emit({reason:t})}}),150)}render(){const t=!!this.action||this.hasSlottedAction;const o=this.closeable||this.hasSlottedClose;return e(s,{key:"5c115cee24a10c7b14de31937b5d37fb11a804e0",class:{"md-snackbar":true,"md-snackbar--open":this.open,"md-snackbar--stacked":this.stacked,[`md-snackbar--${this.position}`]:true,"md-snackbar--with-action":t,"md-snackbar--with-close":o},role:this.politeness==="assertive"?"alert":"status","aria-live":this.politeness,"aria-atomic":"true"},e("div",{key:"e4e569c8e4652986182f964ac69a0b4911e4dda1",class:"md-snackbar__surface",part:"surface",onMouseEnter:this.pauseAutoHide,onMouseLeave:this.resumeAutoHide,onFocusin:this.pauseAutoHide,onFocusout:this.handleSurfaceFocusOut},e("span",{key:"6d7f576f17a20a3bf0d96742aa83a7de998927bd",class:"md-snackbar__message",part:"message"},e("slot",{key:"3a6874ad6d4e6fa54a02a210dc266a4a5f3bb2f0"},this.message)),t&&e("div",{key:"36af7feb22dff43e7413dd3773eb24bbd08f1149",class:"md-snackbar__actions",part:"actions"},e("slot",{key:"ebca9cb6723664319590a1694bbe0f9d424b38ff",name:"action"},this.action&&e("md-button",{key:"77c5813c137217a0d205d5dafdb11ce00f338cb4",variant:"text",size:"sm",class:"md-snackbar__action-btn",onClick:this.handleActionClick},this.action))),o&&e("div",{key:"10a85a75331759d41e706894e674e3da63cccd92",class:"md-snackbar__close",part:"close"},e("slot",{key:"b283137afaba0d4df99f2d2c409044f77a8f5cd2",name:"close"},this.closeable&&e("md-icon-button",{key:"94672d3f27248020c7edda783c534a5791b6f400",variant:"standard",icon:"close","aria-label":this.dismissLabel,onClick:this.handleCloseClick,exportparts:"icon:close-icon"})))))}get el(){return a(this)}static get watchers(){return{open:[{onOpenChange:0}]}}};S.style=M();export{b as md_button,y as md_card,f as md_icon_button,x as md_loading_indicator,k as md_radio,A as md_ripple,S as md_snackbar};
|
|
2
|
-
//# sourceMappingURL=p-637baee1.entry.js.map
|