@awc-ui/core 1.0.0-beta.2 → 1.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
- package/dist/cjs/engine.wasm-9JtXME10.js +12 -0
- package/dist/cjs/engine.wasm-9JtXME10.js.map +1 -0
- package/dist/cjs/{index-DlQ_5_Mv.js → index-Bm07YAg9.js} +4 -15
- package/dist/cjs/index-Bm07YAg9.js.map +1 -0
- package/dist/cjs/lazy-loading-indicator-CoC-_DMs.js +69 -0
- package/dist/cjs/lazy-loading-indicator-CoC-_DMs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/md-accordion-item.cjs.entry.js +4 -4
- package/dist/cjs/md-accordion.cjs.entry.js +1 -1
- package/dist/cjs/md-app-bar.cjs.entry.js +2 -2
- package/dist/cjs/md-area-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-autocomplete.cjs.entry.js +6 -5
- package/dist/cjs/md-autocomplete.cjs.entry.js.map +1 -1
- package/dist/cjs/md-avatar_2.cjs.entry.js +4 -4
- package/dist/cjs/md-badge.cjs.entry.js +3 -3
- package/dist/cjs/md-bar-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-bottom-sheet.cjs.entry.js +5 -5
- package/dist/cjs/md-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/md-breadcrumbs.cjs.entry.js +3 -3
- package/dist/cjs/md-button-group.cjs.entry.js +3 -3
- package/dist/cjs/{md-button_7.cjs.entry.js → md-button_6.cjs.entry.js} +14 -39
- package/dist/cjs/md-button_6.cjs.entry.js.map +1 -0
- package/dist/cjs/md-checkbox.cjs.entry.js +3 -3
- package/dist/cjs/md-chip.cjs.entry.js +3 -3
- package/dist/cjs/md-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/md-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/md-dialog.cjs.entry.js +3 -3
- package/dist/cjs/md-divider.cjs.entry.js +3 -3
- package/dist/cjs/md-fab-menu-item.cjs.entry.js +3 -3
- package/dist/cjs/md-fab-menu.cjs.entry.js +3 -3
- package/dist/cjs/md-fab.cjs.entry.js +3 -3
- package/dist/cjs/md-line-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-list-item.cjs.entry.js +4 -4
- package/dist/cjs/md-list.cjs.entry.js +4 -4
- package/dist/cjs/md-loading-indicator-CmzdcYLR.js +33 -0
- package/dist/cjs/md-loading-indicator-CmzdcYLR.js.map +1 -0
- package/dist/cjs/md-loading-indicator.cjs.entry.js +11 -0
- package/dist/cjs/md-loading-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/md-menu-item-group.cjs.entry.js +1 -1
- package/dist/cjs/md-menu_2.cjs.entry.js +6 -6
- package/dist/cjs/md-meter.cjs.entry.js +1 -1
- package/dist/cjs/md-multi-select.cjs.entry.js +7 -6
- package/dist/cjs/md-multi-select.cjs.entry.js.map +1 -1
- package/dist/cjs/md-navigation-bar.cjs.entry.js +2 -2
- package/dist/cjs/md-navigation-rail-tab.cjs.entry.js +1 -1
- package/dist/cjs/md-navigation-rail.cjs.entry.js +1 -1
- package/dist/cjs/md-navigation-tab.cjs.entry.js +3 -3
- package/dist/cjs/md-number-field.cjs.entry.js +3 -3
- package/dist/cjs/md-organization-chart.cjs.entry.js +3 -3
- package/dist/cjs/md-otp-field.cjs.entry.js +4 -4
- package/dist/cjs/md-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/md-progress-indicator.cjs.entry.js +1 -1
- package/dist/cjs/md-rating.cjs.entry.js +1 -1
- package/dist/cjs/md-search.cjs.entry.js +8 -7
- package/dist/cjs/md-search.cjs.entry.js.map +1 -1
- package/dist/cjs/md-segmented-button-set.cjs.entry.js +1 -1
- package/dist/cjs/md-segmented-button.cjs.entry.js +1 -1
- package/dist/cjs/md-select-option.cjs.entry.js +2 -2
- package/dist/cjs/md-select.cjs.entry.js +7 -6
- package/dist/cjs/md-select.cjs.entry.js.map +1 -1
- package/dist/cjs/md-side-sheet.cjs.entry.js +1 -1
- package/dist/cjs/md-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/md-slider.cjs.entry.js +3 -3
- package/dist/cjs/md-sparkline.cjs.entry.js +3 -3
- package/dist/cjs/md-split-button.cjs.entry.js +1 -1
- package/dist/cjs/md-status-dot.cjs.entry.js +2 -2
- package/dist/cjs/md-step.cjs.entry.js +1 -1
- package/dist/cjs/md-stepper.cjs.entry.js +1 -1
- package/dist/cjs/md-sub-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/md-switch.cjs.entry.js +1 -1
- package/dist/cjs/md-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/md-tab-panels.cjs.entry.js +1 -1
- package/dist/cjs/md-tab.cjs.entry.js +1 -1
- package/dist/cjs/md-table-body.cjs.entry.js +1 -1
- package/dist/cjs/md-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/md-table-container.cjs.entry.js +1 -1
- package/dist/cjs/md-table-expand-toggle.cjs.entry.js +1 -1
- package/dist/cjs/md-table-foot.cjs.entry.js +1 -1
- package/dist/cjs/md-table-head.cjs.entry.js +1 -1
- package/dist/cjs/md-table-pagination.cjs.entry.js +1 -1
- package/dist/cjs/md-table-row.cjs.entry.js +1 -1
- package/dist/cjs/md-table-sort-label.cjs.entry.js +1 -1
- package/dist/cjs/md-table-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/md-table.cjs.entry.js +4 -4
- package/dist/cjs/md-tabs.cjs.entry.js +1 -1
- package/dist/cjs/md-text-field.cjs.entry.js +8 -8
- package/dist/cjs/md-time-picker.cjs.entry.js +2 -2
- package/dist/cjs/md-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/md-transfer-list.cjs.entry.js +2 -2
- package/dist/cjs/md3.cjs.js +4 -3
- package/dist/cjs/md3.cjs.js.map +1 -1
- package/dist/cjs/{virtual-select-controller-CqriaZgm.js → virtual-select-controller-C5cSoKfB.js} +10 -9
- package/dist/cjs/virtual-select-controller-C5cSoKfB.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/md-accordion-item/md-accordion-item.js +3 -3
- package/dist/collection/components/md-app-bar/md-app-bar.js +1 -1
- package/dist/collection/components/md-area-chart/md-area-chart.js +2 -2
- package/dist/collection/components/md-autocomplete/md-autocomplete.js +4 -3
- package/dist/collection/components/md-autocomplete/md-autocomplete.js.map +1 -1
- package/dist/collection/components/md-avatar/md-avatar.js +2 -2
- package/dist/collection/components/md-badge/md-badge.js +2 -2
- package/dist/collection/components/md-bar-chart/md-bar-chart.js +2 -2
- package/dist/collection/components/md-bottom-sheet/md-bottom-sheet.js +4 -4
- package/dist/collection/components/md-breadcrumbs/md-breadcrumbs.js +2 -2
- package/dist/collection/components/md-button/md-button.js +4 -3
- package/dist/collection/components/md-button/md-button.js.map +1 -1
- package/dist/collection/components/md-button-group/md-button-group.js +2 -2
- package/dist/collection/components/md-card/md-card.js +2 -2
- package/dist/collection/components/md-checkbox/md-checkbox.js +2 -2
- package/dist/collection/components/md-chip/md-chip.js +2 -2
- package/dist/collection/components/md-date-picker/md-date-picker.js +1 -1
- package/dist/collection/components/md-dialog/md-dialog.js +2 -2
- package/dist/collection/components/md-divider/md-divider.js +2 -2
- package/dist/collection/components/md-fab/md-fab.js +2 -2
- package/dist/collection/components/md-fab-menu/md-fab-menu.js +2 -2
- package/dist/collection/components/md-fab-menu-item/md-fab-menu-item.js +2 -2
- package/dist/collection/components/md-icon-button/md-icon-button.js +4 -4
- package/dist/collection/components/md-line-chart/md-line-chart.js +2 -2
- package/dist/collection/components/md-list/md-list.js +3 -3
- package/dist/collection/components/md-list-item/md-list-item.js +3 -3
- package/dist/collection/components/md-loading-indicator/md-loading-indicator.js +2 -2
- package/dist/collection/components/md-menu/md-menu.js +3 -3
- package/dist/collection/components/md-menu-item/md-menu-item.js +2 -2
- package/dist/collection/components/md-multi-select/md-multi-select.js +5 -4
- package/dist/collection/components/md-multi-select/md-multi-select.js.map +1 -1
- package/dist/collection/components/md-navigation-bar/md-navigation-bar.js +1 -1
- package/dist/collection/components/md-navigation-tab/md-navigation-tab.js +2 -2
- package/dist/collection/components/md-number-field/md-number-field.js +2 -2
- package/dist/collection/components/md-organization-chart/md-organization-chart.js +2 -2
- package/dist/collection/components/md-otp-field/md-otp-field.js +3 -3
- package/dist/collection/components/md-ripple/md-ripple.js +1 -1
- package/dist/collection/components/md-search/md-search.js +7 -6
- package/dist/collection/components/md-search/md-search.js.map +1 -1
- package/dist/collection/components/md-select/md-select.js +5 -4
- package/dist/collection/components/md-select/md-select.js.map +1 -1
- package/dist/collection/components/md-select-option/md-select-option.js +1 -1
- package/dist/collection/components/md-slider/md-slider.js +2 -2
- package/dist/collection/components/md-sparkline/md-sparkline.js +2 -2
- package/dist/collection/components/md-status-dot/md-status-dot.js +1 -1
- package/dist/collection/components/md-table/md-table.js +3 -3
- package/dist/collection/components/md-text-field/md-text-field.js +7 -7
- package/dist/collection/components/md-time-picker/md-time-picker.js +1 -1
- package/dist/collection/components/md-tooltip/md-tooltip.js +1 -1
- package/dist/collection/components/md-transfer-list/md-transfer-list.js +1 -1
- package/dist/collection/utils/lazy-loading-indicator.js +62 -0
- package/dist/collection/utils/lazy-loading-indicator.js.map +1 -0
- package/dist/collection/wasm/engine-abi.js +8 -2
- package/dist/collection/wasm/engine-abi.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/md-accordion-item.js +1 -1
- package/dist/components/md-accordion.js +1 -1
- package/dist/components/md-app-bar.js +1 -1
- package/dist/components/md-area-chart.js +1 -1
- package/dist/components/md-autocomplete.js +1 -1
- package/dist/components/md-autocomplete.js.map +1 -1
- package/dist/components/md-avatar.js +1 -1
- package/dist/components/md-badge.js +1 -1
- package/dist/components/md-bar-chart.js +1 -1
- package/dist/components/md-bottom-sheet.js +1 -1
- package/dist/components/md-breadcrumb-item.js +1 -1
- package/dist/components/md-breadcrumbs.js +1 -1
- package/dist/components/md-button-group.js +1 -1
- package/dist/components/md-button.js +1 -1
- package/dist/components/md-card.js +1 -1
- package/dist/components/md-checkbox.js +1 -1
- package/dist/components/md-chip.js +1 -1
- package/dist/components/md-color-picker.js +1 -1
- package/dist/components/md-date-picker.js +1 -1
- package/dist/components/md-date-picker.js.map +1 -1
- package/dist/components/md-dialog.js +1 -1
- package/dist/components/md-dialog.js.map +1 -1
- package/dist/components/md-divider.js +1 -1
- package/dist/components/md-divider.js.map +1 -1
- package/dist/components/md-fab-menu-item.js +1 -1
- package/dist/components/md-fab-menu.js +1 -1
- package/dist/components/md-fab.js +1 -1
- package/dist/components/md-icon-button.js +1 -1
- package/dist/components/md-line-chart.js +1 -1
- package/dist/components/md-line-chart.js.map +1 -1
- package/dist/components/md-list-item.js +1 -1
- package/dist/components/md-list.js +1 -1
- package/dist/components/md-loading-indicator.js +1 -1
- package/dist/components/md-menu-item-group.js +1 -1
- package/dist/components/md-menu-item.js +1 -1
- package/dist/components/md-menu.js +1 -1
- package/dist/components/md-meter.js +1 -1
- package/dist/components/md-multi-select.js +1 -1
- package/dist/components/md-multi-select.js.map +1 -1
- package/dist/components/md-navigation-bar.js +1 -1
- package/dist/components/md-navigation-rail-tab.js +1 -1
- package/dist/components/md-navigation-rail.js +1 -1
- package/dist/components/md-navigation-tab.js +1 -1
- package/dist/components/md-number-field.js +1 -1
- package/dist/components/md-organization-chart.js +1 -1
- package/dist/components/md-otp-field.js +1 -1
- package/dist/components/md-pie-chart.js +1 -1
- package/dist/components/md-progress-indicator.js +1 -1
- package/dist/components/md-radio.js +1 -1
- package/dist/components/md-rating.js +1 -1
- package/dist/components/md-ripple.js +1 -1
- package/dist/components/md-search.js +1 -1
- package/dist/components/md-search.js.map +1 -1
- package/dist/components/md-segmented-button-set.js +1 -1
- package/dist/components/md-segmented-button.js +1 -1
- package/dist/components/md-select-option.js +1 -1
- package/dist/components/md-select.js +1 -1
- package/dist/components/md-side-sheet.js +1 -1
- package/dist/components/md-skeleton.js +1 -1
- package/dist/components/md-slider.js +1 -1
- package/dist/components/md-snackbar.js +1 -1
- package/dist/components/md-snackbar.js.map +1 -1
- package/dist/components/md-sparkline.js +1 -1
- package/dist/components/md-split-button.js +1 -1
- package/dist/components/md-status-dot.js +1 -1
- package/dist/components/md-step.js +1 -1
- package/dist/components/md-step.js.map +1 -1
- package/dist/components/md-stepper.js +1 -1
- package/dist/components/md-stepper.js.map +1 -1
- package/dist/components/md-sub-menu-item.js +1 -1
- package/dist/components/md-switch.js +1 -1
- package/dist/components/md-tab-panel.js +1 -1
- package/dist/components/md-tab-panels.js +1 -1
- package/dist/components/md-tab.js +1 -1
- package/dist/components/md-table-body.js +1 -1
- package/dist/components/md-table-cell.js +1 -1
- package/dist/components/md-table-container.js +1 -1
- package/dist/components/md-table-expand-toggle.js +1 -1
- package/dist/components/md-table-foot.js +1 -1
- package/dist/components/md-table-head.js +1 -1
- package/dist/components/md-table-pagination.js +1 -1
- package/dist/components/md-table-pagination.js.map +1 -1
- package/dist/components/md-table-row.js +1 -1
- package/dist/components/md-table-sort-label.js +1 -1
- package/dist/components/md-table-toolbar.js +1 -1
- package/dist/components/md-table.js +1 -1
- package/dist/components/md-tabs.js +1 -1
- package/dist/components/md-text-field.js +1 -1
- package/dist/components/md-time-picker.js +1 -1
- package/dist/components/md-time-picker.js.map +1 -1
- package/dist/components/md-toolbar.js +1 -1
- package/dist/components/md-tooltip.js +1 -1
- package/dist/components/md-transfer-list.js +1 -1
- package/dist/components/p-1RSrsLOs.js +2 -0
- package/dist/components/p-1RSrsLOs.js.map +1 -0
- package/dist/components/p-2HV152w7.js +2 -0
- package/dist/components/p-2HV152w7.js.map +1 -0
- package/dist/components/p-6ZDAcEKN.js +2 -0
- package/dist/components/p-6ZDAcEKN.js.map +1 -0
- package/dist/components/p-B2fYoYe9.js +2 -0
- package/dist/components/p-B2fYoYe9.js.map +1 -0
- package/dist/components/p-BR6gfOQH.js +2 -0
- package/dist/components/p-BR6gfOQH.js.map +1 -0
- package/dist/components/p-Bz-JaJcA.js +2 -0
- package/dist/components/p-Bz-JaJcA.js.map +1 -0
- package/dist/components/p-C77M30dm.js +2 -0
- package/dist/components/p-C77M30dm.js.map +1 -0
- package/dist/components/p-CNgkGl_1.js +2 -0
- package/dist/components/p-CNgkGl_1.js.map +1 -0
- package/dist/components/p-CfBPnYW7.js +2 -0
- package/dist/components/p-CfBPnYW7.js.map +1 -0
- package/dist/components/p-D5Ht729E.js +2 -0
- package/dist/components/p-D5Ht729E.js.map +1 -0
- package/dist/components/p-DPqGg8C1.js +2 -0
- package/dist/components/p-DPqGg8C1.js.map +1 -0
- package/dist/components/p-De3E5Q8v.js +2 -0
- package/dist/components/p-De3E5Q8v.js.map +1 -0
- package/dist/components/p-Dm_7DA1f.js +2 -0
- package/dist/components/p-Dm_7DA1f.js.map +1 -0
- package/dist/components/p-Dz3R-2Wn.js +2 -0
- package/dist/components/p-Dz3R-2Wn.js.map +1 -0
- package/dist/components/p-Zjf9uhOr.js +2 -0
- package/dist/components/p-Zjf9uhOr.js.map +1 -0
- package/dist/components/p-ssLobpGS.js +2 -0
- package/dist/components/p-ssLobpGS.js.map +1 -0
- package/dist/components/p-tSoecrcz.js +2 -0
- package/dist/components/p-tSoecrcz.js.map +1 -0
- package/dist/components/p-zMR3UIR_.js +2 -0
- package/dist/components/p-zMR3UIR_.js.map +1 -0
- package/dist/components-csr/index.js +2 -0
- package/dist/components-csr/index.js.map +1 -0
- package/dist/components-csr/md-accordion-item.js +2 -0
- package/dist/components-csr/md-accordion-item.js.map +1 -0
- package/dist/components-csr/md-accordion.js +2 -0
- package/dist/components-csr/md-accordion.js.map +1 -0
- package/dist/components-csr/md-app-bar.js +2 -0
- package/dist/components-csr/md-app-bar.js.map +1 -0
- package/dist/components-csr/md-area-chart.js +2 -0
- package/dist/components-csr/md-area-chart.js.map +1 -0
- package/dist/components-csr/md-autocomplete.js +2 -0
- package/dist/components-csr/md-autocomplete.js.map +1 -0
- package/dist/components-csr/md-avatar.js +2 -0
- package/dist/components-csr/md-avatar.js.map +1 -0
- package/dist/components-csr/md-badge.js +2 -0
- package/dist/components-csr/md-badge.js.map +1 -0
- package/dist/components-csr/md-bar-chart.js +2 -0
- package/dist/components-csr/md-bar-chart.js.map +1 -0
- package/dist/components-csr/md-bottom-sheet.js +2 -0
- package/dist/components-csr/md-bottom-sheet.js.map +1 -0
- package/dist/components-csr/md-breadcrumb-item.js +2 -0
- package/dist/components-csr/md-breadcrumb-item.js.map +1 -0
- package/dist/components-csr/md-breadcrumbs.js +2 -0
- package/dist/components-csr/md-breadcrumbs.js.map +1 -0
- package/dist/components-csr/md-button-group.js +2 -0
- package/dist/components-csr/md-button-group.js.map +1 -0
- package/dist/components-csr/md-button.js +2 -0
- package/dist/components-csr/md-button.js.map +1 -0
- package/dist/components-csr/md-card.js +2 -0
- package/dist/components-csr/md-card.js.map +1 -0
- package/dist/components-csr/md-checkbox.js +2 -0
- package/dist/components-csr/md-checkbox.js.map +1 -0
- package/dist/components-csr/md-chip.js +2 -0
- package/dist/components-csr/md-chip.js.map +1 -0
- package/dist/components-csr/md-color-picker.js +2 -0
- package/dist/components-csr/md-color-picker.js.map +1 -0
- package/dist/components-csr/md-date-picker.js +2 -0
- package/dist/components-csr/md-date-picker.js.map +1 -0
- package/dist/components-csr/md-dialog.js +2 -0
- package/dist/components-csr/md-dialog.js.map +1 -0
- package/dist/components-csr/md-divider.js +2 -0
- package/dist/components-csr/md-divider.js.map +1 -0
- package/dist/components-csr/md-fab-menu-item.js +2 -0
- package/dist/components-csr/md-fab-menu-item.js.map +1 -0
- package/dist/components-csr/md-fab-menu.js +2 -0
- package/dist/components-csr/md-fab-menu.js.map +1 -0
- package/dist/components-csr/md-fab.js +2 -0
- package/dist/components-csr/md-fab.js.map +1 -0
- package/dist/components-csr/md-icon-button.js +2 -0
- package/dist/components-csr/md-icon-button.js.map +1 -0
- package/dist/components-csr/md-line-chart.js +2 -0
- package/dist/components-csr/md-line-chart.js.map +1 -0
- package/dist/components-csr/md-list-item.js +2 -0
- package/dist/components-csr/md-list-item.js.map +1 -0
- package/dist/components-csr/md-list.js +2 -0
- package/dist/components-csr/md-list.js.map +1 -0
- package/dist/components-csr/md-loading-indicator.js +2 -0
- package/dist/components-csr/md-loading-indicator.js.map +1 -0
- package/dist/components-csr/md-menu-item-group.js +2 -0
- package/dist/components-csr/md-menu-item-group.js.map +1 -0
- package/dist/components-csr/md-menu-item.js +2 -0
- package/dist/components-csr/md-menu-item.js.map +1 -0
- package/dist/components-csr/md-menu.js +2 -0
- package/dist/components-csr/md-menu.js.map +1 -0
- package/dist/components-csr/md-meter.js +2 -0
- package/dist/components-csr/md-meter.js.map +1 -0
- package/dist/components-csr/md-multi-select.js +2 -0
- package/dist/components-csr/md-multi-select.js.map +1 -0
- package/dist/components-csr/md-navigation-bar.js +2 -0
- package/dist/components-csr/md-navigation-bar.js.map +1 -0
- package/dist/components-csr/md-navigation-rail-tab.js +2 -0
- package/dist/components-csr/md-navigation-rail-tab.js.map +1 -0
- package/dist/components-csr/md-navigation-rail.js +2 -0
- package/dist/components-csr/md-navigation-rail.js.map +1 -0
- package/dist/components-csr/md-navigation-tab.js +2 -0
- package/dist/components-csr/md-navigation-tab.js.map +1 -0
- package/dist/components-csr/md-number-field.js +2 -0
- package/dist/components-csr/md-number-field.js.map +1 -0
- package/dist/components-csr/md-organization-chart.js +2 -0
- package/dist/components-csr/md-organization-chart.js.map +1 -0
- package/dist/components-csr/md-otp-field.js +2 -0
- package/dist/components-csr/md-otp-field.js.map +1 -0
- package/dist/components-csr/md-pie-chart.js +2 -0
- package/dist/components-csr/md-pie-chart.js.map +1 -0
- package/dist/components-csr/md-progress-indicator.js +2 -0
- package/dist/components-csr/md-progress-indicator.js.map +1 -0
- package/dist/components-csr/md-radio.js +2 -0
- package/dist/components-csr/md-radio.js.map +1 -0
- package/dist/components-csr/md-rating.js +2 -0
- package/dist/components-csr/md-rating.js.map +1 -0
- package/dist/components-csr/md-ripple.js +2 -0
- package/dist/components-csr/md-ripple.js.map +1 -0
- package/dist/components-csr/md-search.js +2 -0
- package/dist/components-csr/md-search.js.map +1 -0
- package/dist/components-csr/md-segmented-button-set.js +2 -0
- package/dist/components-csr/md-segmented-button-set.js.map +1 -0
- package/dist/components-csr/md-segmented-button.js +2 -0
- package/dist/components-csr/md-segmented-button.js.map +1 -0
- package/dist/components-csr/md-select-option.js +2 -0
- package/dist/components-csr/md-select-option.js.map +1 -0
- package/dist/components-csr/md-select.js +2 -0
- package/dist/components-csr/md-select.js.map +1 -0
- package/dist/components-csr/md-side-sheet.js +2 -0
- package/dist/components-csr/md-side-sheet.js.map +1 -0
- package/dist/components-csr/md-skeleton.js +2 -0
- package/dist/components-csr/md-skeleton.js.map +1 -0
- package/dist/components-csr/md-slider.js +2 -0
- package/dist/components-csr/md-slider.js.map +1 -0
- package/dist/components-csr/md-snackbar.js +2 -0
- package/dist/components-csr/md-snackbar.js.map +1 -0
- package/dist/components-csr/md-sparkline.js +2 -0
- package/dist/components-csr/md-sparkline.js.map +1 -0
- package/dist/components-csr/md-split-button.js +2 -0
- package/dist/components-csr/md-split-button.js.map +1 -0
- package/dist/components-csr/md-status-dot.js +2 -0
- package/dist/components-csr/md-status-dot.js.map +1 -0
- package/dist/components-csr/md-step.js +2 -0
- package/dist/components-csr/md-step.js.map +1 -0
- package/dist/components-csr/md-stepper.js +2 -0
- package/dist/components-csr/md-stepper.js.map +1 -0
- package/dist/components-csr/md-sub-menu-item.js +2 -0
- package/dist/components-csr/md-sub-menu-item.js.map +1 -0
- package/dist/components-csr/md-switch.js +2 -0
- package/dist/components-csr/md-switch.js.map +1 -0
- package/dist/components-csr/md-tab-panel.js +2 -0
- package/dist/components-csr/md-tab-panel.js.map +1 -0
- package/dist/components-csr/md-tab-panels.js +2 -0
- package/dist/components-csr/md-tab-panels.js.map +1 -0
- package/dist/components-csr/md-tab.js +2 -0
- package/dist/components-csr/md-tab.js.map +1 -0
- package/dist/components-csr/md-table-body.js +2 -0
- package/dist/components-csr/md-table-body.js.map +1 -0
- package/dist/components-csr/md-table-cell.js +2 -0
- package/dist/components-csr/md-table-cell.js.map +1 -0
- package/dist/components-csr/md-table-container.js +2 -0
- package/dist/components-csr/md-table-container.js.map +1 -0
- package/dist/components-csr/md-table-expand-toggle.js +2 -0
- package/dist/components-csr/md-table-expand-toggle.js.map +1 -0
- package/dist/components-csr/md-table-foot.js +2 -0
- package/dist/components-csr/md-table-foot.js.map +1 -0
- package/dist/components-csr/md-table-head.js +2 -0
- package/dist/components-csr/md-table-head.js.map +1 -0
- package/dist/components-csr/md-table-pagination.js +2 -0
- package/dist/components-csr/md-table-pagination.js.map +1 -0
- package/dist/components-csr/md-table-row.js +2 -0
- package/dist/components-csr/md-table-row.js.map +1 -0
- package/dist/components-csr/md-table-sort-label.js +2 -0
- package/dist/components-csr/md-table-sort-label.js.map +1 -0
- package/dist/components-csr/md-table-toolbar.js +2 -0
- package/dist/components-csr/md-table-toolbar.js.map +1 -0
- package/dist/components-csr/md-table.js +2 -0
- package/dist/components-csr/md-table.js.map +1 -0
- package/dist/components-csr/md-tabs.js +2 -0
- package/dist/components-csr/md-tabs.js.map +1 -0
- package/dist/components-csr/md-text-field.js +2 -0
- package/dist/components-csr/md-text-field.js.map +1 -0
- package/dist/components-csr/md-time-picker.js +2 -0
- package/dist/components-csr/md-time-picker.js.map +1 -0
- package/dist/components-csr/md-toolbar.js +2 -0
- package/dist/components-csr/md-toolbar.js.map +1 -0
- package/dist/components-csr/md-tooltip.js +2 -0
- package/dist/components-csr/md-tooltip.js.map +1 -0
- package/dist/components-csr/md-transfer-list.js +2 -0
- package/dist/components-csr/md-transfer-list.js.map +1 -0
- package/dist/components-csr/p-6WgHjhDg.js +2 -0
- package/dist/components-csr/p-6WgHjhDg.js.map +1 -0
- package/dist/{components/p-uTEkf0sE.js → components-csr/p-BEmwDSzw.js} +2 -2
- package/dist/{components/p-C8EP4S21.js → components-csr/p-BQKzjYcY.js} +2 -2
- package/dist/{components/p-BwXpiUsu.js → components-csr/p-BWMwewtY.js} +2 -2
- package/dist/{components/p-DXXUoRSH.js → components-csr/p-BZakoRau.js} +2 -2
- package/dist/components-csr/p-BZakoRau.js.map +1 -0
- package/dist/{md3/p-BjYKc1Ge.js → components-csr/p-BdEoSBtL.js} +2 -2
- package/dist/components-csr/p-BdEoSBtL.js.map +1 -0
- package/dist/{components/p-B0Opn6dK.js → components-csr/p-Bkt_X-6v.js} +2 -2
- package/dist/components-csr/p-Bx6--dQF.js.map +1 -0
- package/dist/components-csr/p-Bz-JaJcA.js +2 -0
- package/dist/components-csr/p-Bz-JaJcA.js.map +1 -0
- package/dist/{components/p-stybaFzj.js → components-csr/p-C3vB0Hd9.js} +2 -2
- package/dist/{components/p-B3MWYEEJ.js → components-csr/p-CF7mq5T7.js} +2 -2
- package/dist/{components/p-7fN_yCXW.js → components-csr/p-CVMM-tdC.js} +2 -2
- package/dist/components-csr/p-C_ogF68H.js.map +1 -0
- package/dist/components-csr/p-Cch_V1vi.js +2 -0
- package/dist/components-csr/p-Cch_V1vi.js.map +1 -0
- package/dist/components-csr/p-CfBPnYW7.js +2 -0
- package/dist/components-csr/p-CfBPnYW7.js.map +1 -0
- package/dist/components-csr/p-CxhZdOPw.js +2 -0
- package/dist/components-csr/p-CxhZdOPw.js.map +1 -0
- package/dist/{components/p-Ch2-tttM.js → components-csr/p-DMQ-6aj8.js} +2 -2
- package/dist/components-csr/p-DWxN44zD.js +2 -0
- package/dist/components-csr/p-DWxN44zD.js.map +1 -0
- package/dist/components-csr/p-DYBUr7K_.js +2 -0
- package/dist/components-csr/p-DYBUr7K_.js.map +1 -0
- package/dist/{components/p-e2HRV63Y.js → components-csr/p-DfcpeJAu.js} +2 -2
- package/dist/{components/p-Dp-w93ot.js → components-csr/p-DjKPc5EU.js} +2 -2
- package/dist/components-csr/p-DvOKnoqK.js.map +1 -0
- package/dist/components-csr/p-DzPKu-Ma.js.map +1 -0
- package/dist/{components/p-UdGDg2oJ.js → components-csr/p-If0JHsYV.js} +2 -2
- package/dist/components-csr/p-If0JHsYV.js.map +1 -0
- package/dist/components-csr/p-RLxbNqRv.js.map +1 -0
- package/dist/{components/p-6wZSqm_2.js → components-csr/p-R_guULjT.js} +2 -2
- package/dist/components-csr/p-bSpXNc5J.js +2 -0
- package/dist/components-csr/p-bSpXNc5J.js.map +1 -0
- package/dist/{components/p-Ddiw2Kjw.js → components-csr/p-uSMrgqAy.js} +2 -2
- package/dist/components-csr/package.json +3 -0
- package/dist/esm/{a11y-C6CRqodW.js → a11y-BckJ95d7.js} +3 -3
- package/dist/esm/{a11y-C6CRqodW.js.map → a11y-BckJ95d7.js.map} +1 -1
- package/dist/esm/app-globals-DQuL1Twl.js +6 -0
- package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
- package/dist/esm/{bar-chart-ZZrajEkM.js → bar-chart-BuTyuCbt.js} +4 -4
- package/dist/esm/{bar-chart-ZZrajEkM.js.map → bar-chart-BuTyuCbt.js.map} +1 -1
- package/dist/esm/{chart-32olae06.js → chart-ByIhkqsG.js} +4 -4
- package/dist/esm/{chart-32olae06.js.map → chart-ByIhkqsG.js.map} +1 -1
- package/dist/esm/engine.wasm-CfBPnYW7.js +10 -0
- package/dist/esm/engine.wasm-CfBPnYW7.js.map +1 -0
- package/dist/esm/{hit-test-DHldf5Lm.js → hit-test-c_hI-yCX.js} +3 -3
- package/dist/esm/{hit-test-DHldf5Lm.js.map → hit-test-c_hI-yCX.js.map} +1 -1
- package/dist/esm/{index-DTaX19_O.js → index-WmvQpZnM.js} +5 -15
- package/dist/esm/index-WmvQpZnM.js.map +1 -0
- package/dist/esm/lazy-loading-indicator-BWFcjJiK.js +67 -0
- package/dist/esm/lazy-loading-indicator-BWFcjJiK.js.map +1 -0
- package/dist/esm/loader.js +4 -3
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/md-accordion-item.entry.js +4 -4
- package/dist/esm/md-accordion.entry.js +1 -1
- package/dist/esm/md-app-bar.entry.js +2 -2
- package/dist/esm/md-area-chart.entry.js +7 -7
- package/dist/esm/md-autocomplete.entry.js +6 -5
- package/dist/esm/md-autocomplete.entry.js.map +1 -1
- package/dist/esm/md-avatar_2.entry.js +4 -4
- package/dist/esm/md-badge.entry.js +3 -3
- package/dist/esm/md-bar-chart.entry.js +7 -7
- package/dist/esm/md-bottom-sheet.entry.js +5 -5
- package/dist/esm/md-breadcrumb-item.entry.js +2 -2
- package/dist/esm/md-breadcrumbs.entry.js +3 -3
- package/dist/esm/md-button-group.entry.js +3 -3
- package/dist/esm/{md-button_7.entry.js → md-button_6.entry.js} +16 -40
- package/dist/esm/md-button_6.entry.js.map +1 -0
- package/dist/esm/md-checkbox.entry.js +3 -3
- package/dist/esm/md-chip.entry.js +3 -3
- package/dist/esm/md-color-picker.entry.js +1 -1
- package/dist/esm/md-date-picker.entry.js +2 -2
- package/dist/esm/md-dialog.entry.js +3 -3
- package/dist/esm/md-divider.entry.js +3 -3
- package/dist/esm/md-fab-menu-item.entry.js +3 -3
- package/dist/esm/md-fab-menu.entry.js +3 -3
- package/dist/esm/md-fab.entry.js +3 -3
- package/dist/esm/md-line-chart.entry.js +7 -7
- package/dist/esm/md-list-item.entry.js +5 -5
- package/dist/esm/md-list.entry.js +4 -4
- package/dist/esm/md-loading-indicator-Bf-Pt29l.js +31 -0
- package/dist/esm/md-loading-indicator-Bf-Pt29l.js.map +1 -0
- package/dist/esm/md-loading-indicator.entry.js +5 -0
- package/dist/esm/md-loading-indicator.entry.js.map +1 -0
- package/dist/esm/md-menu-item-group.entry.js +1 -1
- package/dist/esm/md-menu_2.entry.js +6 -6
- package/dist/esm/md-meter.entry.js +1 -1
- package/dist/esm/md-multi-select.entry.js +7 -6
- package/dist/esm/md-multi-select.entry.js.map +1 -1
- package/dist/esm/md-navigation-bar.entry.js +2 -2
- package/dist/esm/md-navigation-rail-tab.entry.js +2 -2
- package/dist/esm/md-navigation-rail.entry.js +1 -1
- package/dist/esm/md-navigation-tab.entry.js +4 -4
- package/dist/esm/md-number-field.entry.js +3 -3
- package/dist/esm/md-organization-chart.entry.js +3 -3
- package/dist/esm/md-otp-field.entry.js +4 -4
- package/dist/esm/md-pie-chart.entry.js +3 -3
- package/dist/esm/md-progress-indicator.entry.js +1 -1
- package/dist/esm/md-rating.entry.js +1 -1
- package/dist/esm/md-search.entry.js +8 -7
- package/dist/esm/md-search.entry.js.map +1 -1
- package/dist/esm/md-segmented-button-set.entry.js +1 -1
- package/dist/esm/md-segmented-button.entry.js +1 -1
- package/dist/esm/md-select-option.entry.js +2 -2
- package/dist/esm/md-select.entry.js +7 -6
- package/dist/esm/md-select.entry.js.map +1 -1
- package/dist/esm/md-side-sheet.entry.js +1 -1
- package/dist/esm/md-skeleton.entry.js +1 -1
- package/dist/esm/md-slider.entry.js +3 -3
- package/dist/esm/md-sparkline.entry.js +7 -7
- package/dist/esm/md-split-button.entry.js +1 -1
- package/dist/esm/md-status-dot.entry.js +2 -2
- package/dist/esm/md-step.entry.js +1 -1
- package/dist/esm/md-stepper.entry.js +1 -1
- package/dist/esm/md-sub-menu-item.entry.js +1 -1
- package/dist/esm/md-switch.entry.js +1 -1
- package/dist/esm/md-tab-panel.entry.js +1 -1
- package/dist/esm/md-tab-panels.entry.js +1 -1
- package/dist/esm/md-tab.entry.js +1 -1
- package/dist/esm/md-table-body.entry.js +1 -1
- package/dist/esm/md-table-cell.entry.js +1 -1
- package/dist/esm/md-table-container.entry.js +1 -1
- package/dist/esm/md-table-expand-toggle.entry.js +1 -1
- package/dist/esm/md-table-foot.entry.js +1 -1
- package/dist/esm/md-table-head.entry.js +1 -1
- package/dist/esm/md-table-pagination.entry.js +1 -1
- package/dist/esm/md-table-row.entry.js +1 -1
- package/dist/esm/md-table-sort-label.entry.js +1 -1
- package/dist/esm/md-table-toolbar.entry.js +1 -1
- package/dist/esm/md-table.entry.js +4 -4
- package/dist/esm/md-tabs.entry.js +1 -1
- package/dist/esm/md-text-field.entry.js +8 -8
- package/dist/esm/md-time-picker.entry.js +2 -2
- package/dist/esm/md-toolbar.entry.js +1 -1
- package/dist/esm/md-transfer-list.entry.js +2 -2
- package/dist/esm/md3.js +4 -3
- package/dist/esm/md3.js.map +1 -1
- package/dist/esm/{rtl-DvOKnoqK.js → rtl-CVFH1DkU.js} +3 -3
- package/dist/esm/{rtl-DvOKnoqK.js.map → rtl-CVFH1DkU.js.map} +1 -1
- package/dist/esm/{url-BjYKc1Ge.js → url-BdEoSBtL.js} +3 -3
- package/dist/esm/{url-BjYKc1Ge.js.map → url-BdEoSBtL.js.map} +1 -1
- package/dist/esm/{virtual-select-controller-BEWIC0pC.js → virtual-select-controller-CR60w6DO.js} +10 -9
- package/dist/esm/virtual-select-controller-CR60w6DO.js.map +1 -0
- package/dist/md3/md3.css +1 -1
- package/dist/md3/md3.esm.js +1 -1
- package/dist/md3/md3.esm.js.map +1 -1
- package/dist/md3/p-08f1c469.entry.js +2 -0
- package/dist/md3/{p-4d82132d.entry.js.map → p-08f1c469.entry.js.map} +1 -1
- package/dist/md3/{p-9ddbf247.entry.js → p-108f89d7.entry.js} +2 -2
- package/dist/md3/p-1112bffc.entry.js +2 -0
- package/dist/md3/{p-cf07e761.entry.js.map → p-1112bffc.entry.js.map} +1 -1
- package/dist/md3/{p-c6a12344.entry.js → p-114c270b.entry.js} +2 -2
- package/dist/md3/p-1835fe36.entry.js +2 -0
- package/dist/md3/{p-a3308c40.entry.js.map → p-1835fe36.entry.js.map} +1 -1
- package/dist/md3/{p-396089fd.entry.js → p-1edb5a0d.entry.js} +2 -2
- package/dist/md3/p-2ba2db3b.entry.js +2 -0
- package/dist/md3/{p-6b2871a0.entry.js.map → p-2ba2db3b.entry.js.map} +1 -1
- package/dist/md3/p-3508d0e0.entry.js +2 -0
- package/dist/md3/{p-f31ab454.entry.js.map → p-3508d0e0.entry.js.map} +1 -1
- package/dist/md3/{p-b34d385b.entry.js → p-35b05b45.entry.js} +2 -2
- package/dist/md3/{p-c2dd8c8c.entry.js → p-38e9a583.entry.js} +2 -2
- package/dist/md3/{p-be02624e.entry.js → p-3c0469aa.entry.js} +2 -2
- package/dist/md3/p-3f64a27d.entry.js +2 -0
- package/dist/md3/{p-fb61868c.entry.js.map → p-3f64a27d.entry.js.map} +1 -1
- package/dist/md3/{p-63b8c8d1.entry.js → p-408ee4be.entry.js} +2 -2
- package/dist/md3/{p-edb34a6d.entry.js → p-43c708ad.entry.js} +2 -2
- package/dist/md3/{p-3015c7e3.entry.js → p-4770b534.entry.js} +2 -2
- package/dist/md3/{p-c861d774.entry.js → p-4b7cf934.entry.js} +2 -2
- package/dist/md3/{p-2e09a7b7.entry.js → p-4f26bd60.entry.js} +2 -2
- package/dist/md3/{p-7b463fbe.entry.js → p-4f2e82cb.entry.js} +2 -2
- package/dist/md3/{p-be412e3f.entry.js → p-501bf161.entry.js} +2 -2
- package/dist/md3/{p-c063c823.entry.js → p-56c7c570.entry.js} +2 -2
- package/dist/md3/{p-2e9503d7.entry.js → p-56ca0c3c.entry.js} +2 -2
- package/dist/md3/{p-ac8762e5.entry.js → p-5b63149a.entry.js} +2 -2
- package/dist/md3/{p-c5af701b.entry.js → p-5f668b0a.entry.js} +2 -2
- package/dist/md3/p-6237ddac.entry.js +2 -0
- package/dist/md3/{p-e7dc5a32.entry.js.map → p-6237ddac.entry.js.map} +1 -1
- package/dist/md3/{p-8eb0b6a4.entry.js → p-6d65fc6a.entry.js} +2 -2
- package/dist/md3/{p-e3124e1e.entry.js → p-707b6d7c.entry.js} +2 -2
- package/dist/md3/{p-a5fee424.entry.js → p-71f1660b.entry.js} +2 -2
- package/dist/md3/{p-1a8ec5bc.entry.js → p-7501170f.entry.js} +2 -2
- package/dist/md3/p-7c8842bf.entry.js +2 -0
- package/dist/md3/{p-ba2ebde1.entry.js.map → p-7c8842bf.entry.js.map} +1 -1
- package/dist/md3/{p-4e3d6e40.entry.js → p-7d1686a7.entry.js} +2 -2
- package/dist/md3/p-7e7f0e45.entry.js +2 -0
- package/dist/md3/p-7e7f0e45.entry.js.map +1 -0
- package/dist/md3/p-80379565.entry.js +2 -0
- package/dist/md3/{p-6c44cf13.entry.js.map → p-80379565.entry.js.map} +1 -1
- package/dist/md3/p-830724e4.entry.js +2 -0
- package/dist/md3/p-830724e4.entry.js.map +1 -0
- package/dist/md3/{p-4dda4cb0.entry.js → p-845ca9cc.entry.js} +2 -2
- package/dist/md3/{p-77a01bcc.entry.js → p-87f88d62.entry.js} +2 -2
- package/dist/md3/{p-5b74694e.entry.js → p-89d47130.entry.js} +2 -2
- package/dist/md3/p-8a6fed13.entry.js +2 -0
- package/dist/md3/{p-a803da99.entry.js.map → p-8a6fed13.entry.js.map} +1 -1
- package/dist/md3/p-8a7e0297.entry.js +2 -0
- package/dist/md3/p-8a7e0297.entry.js.map +1 -0
- package/dist/md3/{p-b0431a5c.entry.js → p-8bdcda53.entry.js} +2 -2
- package/dist/md3/{p-c10a33c2.entry.js → p-8e7df348.entry.js} +2 -2
- package/dist/md3/p-9003a7d4.entry.js +2 -0
- package/dist/md3/p-9003a7d4.entry.js.map +1 -0
- package/dist/md3/{p-05ae91b6.entry.js → p-90ccf4c3.entry.js} +2 -2
- package/dist/md3/p-BdEoSBtL.js +2 -0
- package/dist/md3/{p-BjYKc1Ge.js.map → p-BdEoSBtL.js.map} +1 -1
- package/dist/md3/p-Bz-JaJcA.js +2 -0
- package/dist/md3/p-Bz-JaJcA.js.map +1 -0
- package/dist/md3/p-CGqeEMjY.js +2 -0
- package/dist/md3/{p-DzPKu-Ma.js.map → p-CGqeEMjY.js.map} +1 -1
- package/dist/md3/p-CVFH1DkU.js +2 -0
- package/dist/md3/{p-DvOKnoqK.js.map → p-CVFH1DkU.js.map} +1 -1
- package/dist/md3/p-Cch92tDM.js +2 -0
- package/dist/md3/{p-RLxbNqRv.js.map → p-Cch92tDM.js.map} +1 -1
- package/dist/md3/p-CfBPnYW7.js +2 -0
- package/dist/md3/p-CfBPnYW7.js.map +1 -0
- package/dist/md3/p-D17cVKxS.js +2 -0
- package/dist/md3/p-D17cVKxS.js.map +1 -0
- package/dist/md3/p-DGtztV3K.js +2 -0
- package/dist/md3/{p-Bx6--dQF.js.map → p-DGtztV3K.js.map} +1 -1
- package/dist/md3/p-DQuL1Twl.js +2 -0
- package/dist/md3/p-DQuL1Twl.js.map +1 -0
- package/dist/md3/p-DnKDoE8K.js +2 -0
- package/dist/md3/p-DnKDoE8K.js.map +1 -0
- package/dist/md3/p-WmvQpZnM.js +3 -0
- package/dist/md3/p-WmvQpZnM.js.map +1 -0
- package/dist/md3/p-a3623653.entry.js +2 -0
- package/dist/md3/{p-19ee9c33.entry.js.map → p-a3623653.entry.js.map} +1 -1
- package/dist/md3/{p-da4e27d4.entry.js → p-a4d4cfed.entry.js} +2 -2
- package/dist/md3/{p-5394254f.entry.js → p-a976498b.entry.js} +2 -2
- package/dist/md3/{p-6038b907.entry.js → p-ab568d1c.entry.js} +2 -2
- package/dist/md3/{p-bf7842f8.entry.js → p-adf8a415.entry.js} +2 -2
- package/dist/md3/p-ae30e899.entry.js +2 -0
- package/dist/md3/p-ae30e899.entry.js.map +1 -0
- package/dist/md3/{p-45280bf4.entry.js → p-b2d88292.entry.js} +2 -2
- package/dist/md3/{p-796f79f8.entry.js → p-b3b5247b.entry.js} +2 -2
- package/dist/md3/{p-5b799707.entry.js → p-b4266f6b.entry.js} +2 -2
- package/dist/md3/p-b54bbf88.entry.js +2 -0
- package/dist/md3/p-b54bbf88.entry.js.map +1 -0
- package/dist/md3/{p-c00f7514.entry.js → p-ba011453.entry.js} +2 -2
- package/dist/md3/{p-6ba63c73.entry.js → p-bc24f0c9.entry.js} +2 -2
- package/dist/md3/{p-0c2e824d.entry.js → p-c20fbb9e.entry.js} +2 -2
- package/dist/md3/{p-fc0b325d.entry.js → p-c2944c87.entry.js} +2 -2
- package/dist/md3/{p-4e45b2ff.entry.js → p-c58c68d0.entry.js} +2 -2
- package/dist/md3/p-cc6e8afd.entry.js +2 -0
- package/dist/md3/{p-72457a85.entry.js.map → p-cc6e8afd.entry.js.map} +1 -1
- package/dist/md3/{p-0f764a1e.entry.js → p-d2e39c6e.entry.js} +2 -2
- package/dist/md3/{p-50555bb7.entry.js → p-d8885f53.entry.js} +2 -2
- package/dist/md3/{p-c1ca6f6c.entry.js → p-db6fb4e1.entry.js} +2 -2
- package/dist/md3/{p-81843ff7.entry.js → p-dcba2857.entry.js} +2 -2
- package/dist/md3/{p-65195996.entry.js → p-e357e8ac.entry.js} +2 -2
- package/dist/md3/{p-39cb7c24.entry.js → p-e5c6795e.entry.js} +2 -2
- package/dist/md3/p-e871663b.entry.js +2 -0
- package/dist/md3/{p-aaec2698.entry.js.map → p-e871663b.entry.js.map} +1 -1
- package/dist/md3/p-f1b69181.entry.js +2 -0
- package/dist/md3/{p-a986fd24.entry.js.map → p-f1b69181.entry.js.map} +1 -1
- package/dist/md3/p-f297d786.entry.js +2 -0
- package/dist/md3/{p-3cce1de3.entry.js.map → p-f297d786.entry.js.map} +1 -1
- package/dist/md3/{p-e6d7f0ff.entry.js → p-f403ad20.entry.js} +2 -2
- package/dist/md3/p-f5399b73.entry.js +2 -0
- package/dist/md3/{p-04e97f5d.entry.js.map → p-f5399b73.entry.js.map} +1 -1
- package/dist/md3/{p-708a9313.entry.js → p-f5fd9a0b.entry.js} +2 -2
- package/dist/md3/{p-aa0e7d4d.entry.js → p-f71af38f.entry.js} +2 -2
- package/dist/md3/{p-757e3aaf.entry.js → p-fac6da4c.entry.js} +2 -2
- package/dist/md3/{p-134b670a.entry.js → p-fc864f96.entry.js} +2 -2
- package/dist/md3/{p-32bdd439.entry.js → p-fd686966.entry.js} +2 -2
- package/dist/md3/p-nhfFYWzy.js +2 -0
- package/dist/md3/{p-C_ogF68H.js.map → p-nhfFYWzy.js.map} +1 -1
- package/dist/types/utils/lazy-loading-indicator.d.ts +7 -0
- package/dist/types/wasm/engine-abi.d.ts +14 -0
- package/hydrate/index.js +191 -113
- package/hydrate/index.mjs +191 -113
- package/package.json +30 -5
- package/dist/cjs/index-DlQ_5_Mv.js.map +0 -1
- package/dist/cjs/md-button_7.cjs.entry.js.map +0 -1
- package/dist/cjs/virtual-select-controller-CqriaZgm.js.map +0 -1
- package/dist/components/p-BEWIC0pC.js +0 -2
- package/dist/components/p-BEWIC0pC.js.map +0 -1
- package/dist/components/p-DXXUoRSH.js.map +0 -1
- package/dist/components/p-MWBNn6Lj.js +0 -2
- package/dist/components/p-MWBNn6Lj.js.map +0 -1
- package/dist/components/p-UdGDg2oJ.js.map +0 -1
- package/dist/esm/index-DTaX19_O.js.map +0 -1
- package/dist/esm/md-button_7.entry.js.map +0 -1
- package/dist/esm/virtual-select-controller-BEWIC0pC.js.map +0 -1
- package/dist/md3/p-04e97f5d.entry.js +0 -2
- package/dist/md3/p-19ee9c33.entry.js +0 -2
- package/dist/md3/p-21772851.entry.js +0 -2
- package/dist/md3/p-21772851.entry.js.map +0 -1
- package/dist/md3/p-3cce1de3.entry.js +0 -2
- package/dist/md3/p-47af9819.entry.js +0 -2
- package/dist/md3/p-47af9819.entry.js.map +0 -1
- package/dist/md3/p-4d82132d.entry.js +0 -2
- package/dist/md3/p-6b2871a0.entry.js +0 -2
- package/dist/md3/p-6c44cf13.entry.js +0 -2
- package/dist/md3/p-72457a85.entry.js +0 -2
- package/dist/md3/p-BEWIC0pC.js +0 -2
- package/dist/md3/p-BEWIC0pC.js.map +0 -1
- package/dist/md3/p-DTaX19_O.js +0 -3
- package/dist/md3/p-DTaX19_O.js.map +0 -1
- package/dist/md3/p-a3308c40.entry.js +0 -2
- package/dist/md3/p-a7ffb779.entry.js +0 -2
- package/dist/md3/p-a7ffb779.entry.js.map +0 -1
- package/dist/md3/p-a803da99.entry.js +0 -2
- package/dist/md3/p-a986fd24.entry.js +0 -2
- package/dist/md3/p-aaec2698.entry.js +0 -2
- package/dist/md3/p-ac35ac5f.entry.js +0 -2
- package/dist/md3/p-ac35ac5f.entry.js.map +0 -1
- package/dist/md3/p-b4631a55.entry.js +0 -2
- package/dist/md3/p-b4631a55.entry.js.map +0 -1
- package/dist/md3/p-ba2ebde1.entry.js +0 -2
- package/dist/md3/p-cf07e761.entry.js +0 -2
- package/dist/md3/p-e7dc5a32.entry.js +0 -2
- package/dist/md3/p-f31ab454.entry.js +0 -2
- package/dist/md3/p-fb61868c.entry.js +0 -2
- /package/dist/{components/p-uTEkf0sE.js.map → components-csr/p-BEmwDSzw.js.map} +0 -0
- /package/dist/{components/p-C8EP4S21.js.map → components-csr/p-BQKzjYcY.js.map} +0 -0
- /package/dist/{components/p-BwXpiUsu.js.map → components-csr/p-BWMwewtY.js.map} +0 -0
- /package/dist/{components/p-B0Opn6dK.js.map → components-csr/p-Bkt_X-6v.js.map} +0 -0
- /package/dist/{md3 → components-csr}/p-Bx6--dQF.js +0 -0
- /package/dist/{components/p-stybaFzj.js.map → components-csr/p-C3vB0Hd9.js.map} +0 -0
- /package/dist/{components/p-B3MWYEEJ.js.map → components-csr/p-CF7mq5T7.js.map} +0 -0
- /package/dist/{components/p-7fN_yCXW.js.map → components-csr/p-CVMM-tdC.js.map} +0 -0
- /package/dist/{md3 → components-csr}/p-C_ogF68H.js +0 -0
- /package/dist/{components/p-Ch2-tttM.js.map → components-csr/p-DMQ-6aj8.js.map} +0 -0
- /package/dist/{components/p-e2HRV63Y.js.map → components-csr/p-DfcpeJAu.js.map} +0 -0
- /package/dist/{components/p-Dp-w93ot.js.map → components-csr/p-DjKPc5EU.js.map} +0 -0
- /package/dist/{md3 → components-csr}/p-DvOKnoqK.js +0 -0
- /package/dist/{md3 → components-csr}/p-DzPKu-Ma.js +0 -0
- /package/dist/{md3 → components-csr}/p-RLxbNqRv.js +0 -0
- /package/dist/{components/p-6wZSqm_2.js.map → components-csr/p-R_guULjT.js.map} +0 -0
- /package/dist/{components/p-Ddiw2Kjw.js.map → components-csr/p-uSMrgqAy.js.map} +0 -0
- /package/dist/md3/{p-9ddbf247.entry.js.map → p-108f89d7.entry.js.map} +0 -0
- /package/dist/md3/{p-c6a12344.entry.js.map → p-114c270b.entry.js.map} +0 -0
- /package/dist/md3/{p-396089fd.entry.js.map → p-1edb5a0d.entry.js.map} +0 -0
- /package/dist/md3/{p-b34d385b.entry.js.map → p-35b05b45.entry.js.map} +0 -0
- /package/dist/md3/{p-c2dd8c8c.entry.js.map → p-38e9a583.entry.js.map} +0 -0
- /package/dist/md3/{p-be02624e.entry.js.map → p-3c0469aa.entry.js.map} +0 -0
- /package/dist/md3/{p-63b8c8d1.entry.js.map → p-408ee4be.entry.js.map} +0 -0
- /package/dist/md3/{p-edb34a6d.entry.js.map → p-43c708ad.entry.js.map} +0 -0
- /package/dist/md3/{p-3015c7e3.entry.js.map → p-4770b534.entry.js.map} +0 -0
- /package/dist/md3/{p-c861d774.entry.js.map → p-4b7cf934.entry.js.map} +0 -0
- /package/dist/md3/{p-2e09a7b7.entry.js.map → p-4f26bd60.entry.js.map} +0 -0
- /package/dist/md3/{p-7b463fbe.entry.js.map → p-4f2e82cb.entry.js.map} +0 -0
- /package/dist/md3/{p-be412e3f.entry.js.map → p-501bf161.entry.js.map} +0 -0
- /package/dist/md3/{p-c063c823.entry.js.map → p-56c7c570.entry.js.map} +0 -0
- /package/dist/md3/{p-2e9503d7.entry.js.map → p-56ca0c3c.entry.js.map} +0 -0
- /package/dist/md3/{p-ac8762e5.entry.js.map → p-5b63149a.entry.js.map} +0 -0
- /package/dist/md3/{p-c5af701b.entry.js.map → p-5f668b0a.entry.js.map} +0 -0
- /package/dist/md3/{p-8eb0b6a4.entry.js.map → p-6d65fc6a.entry.js.map} +0 -0
- /package/dist/md3/{p-e3124e1e.entry.js.map → p-707b6d7c.entry.js.map} +0 -0
- /package/dist/md3/{p-a5fee424.entry.js.map → p-71f1660b.entry.js.map} +0 -0
- /package/dist/md3/{p-1a8ec5bc.entry.js.map → p-7501170f.entry.js.map} +0 -0
- /package/dist/md3/{p-4e3d6e40.entry.js.map → p-7d1686a7.entry.js.map} +0 -0
- /package/dist/md3/{p-4dda4cb0.entry.js.map → p-845ca9cc.entry.js.map} +0 -0
- /package/dist/md3/{p-77a01bcc.entry.js.map → p-87f88d62.entry.js.map} +0 -0
- /package/dist/md3/{p-5b74694e.entry.js.map → p-89d47130.entry.js.map} +0 -0
- /package/dist/md3/{p-b0431a5c.entry.js.map → p-8bdcda53.entry.js.map} +0 -0
- /package/dist/md3/{p-c10a33c2.entry.js.map → p-8e7df348.entry.js.map} +0 -0
- /package/dist/md3/{p-05ae91b6.entry.js.map → p-90ccf4c3.entry.js.map} +0 -0
- /package/dist/md3/{p-da4e27d4.entry.js.map → p-a4d4cfed.entry.js.map} +0 -0
- /package/dist/md3/{p-5394254f.entry.js.map → p-a976498b.entry.js.map} +0 -0
- /package/dist/md3/{p-6038b907.entry.js.map → p-ab568d1c.entry.js.map} +0 -0
- /package/dist/md3/{p-bf7842f8.entry.js.map → p-adf8a415.entry.js.map} +0 -0
- /package/dist/md3/{p-45280bf4.entry.js.map → p-b2d88292.entry.js.map} +0 -0
- /package/dist/md3/{p-796f79f8.entry.js.map → p-b3b5247b.entry.js.map} +0 -0
- /package/dist/md3/{p-5b799707.entry.js.map → p-b4266f6b.entry.js.map} +0 -0
- /package/dist/md3/{p-c00f7514.entry.js.map → p-ba011453.entry.js.map} +0 -0
- /package/dist/md3/{p-6ba63c73.entry.js.map → p-bc24f0c9.entry.js.map} +0 -0
- /package/dist/md3/{p-0c2e824d.entry.js.map → p-c20fbb9e.entry.js.map} +0 -0
- /package/dist/md3/{p-fc0b325d.entry.js.map → p-c2944c87.entry.js.map} +0 -0
- /package/dist/md3/{p-4e45b2ff.entry.js.map → p-c58c68d0.entry.js.map} +0 -0
- /package/dist/md3/{p-0f764a1e.entry.js.map → p-d2e39c6e.entry.js.map} +0 -0
- /package/dist/md3/{p-50555bb7.entry.js.map → p-d8885f53.entry.js.map} +0 -0
- /package/dist/md3/{p-c1ca6f6c.entry.js.map → p-db6fb4e1.entry.js.map} +0 -0
- /package/dist/md3/{p-81843ff7.entry.js.map → p-dcba2857.entry.js.map} +0 -0
- /package/dist/md3/{p-65195996.entry.js.map → p-e357e8ac.entry.js.map} +0 -0
- /package/dist/md3/{p-39cb7c24.entry.js.map → p-e5c6795e.entry.js.map} +0 -0
- /package/dist/md3/{p-e6d7f0ff.entry.js.map → p-f403ad20.entry.js.map} +0 -0
- /package/dist/md3/{p-708a9313.entry.js.map → p-f5fd9a0b.entry.js.map} +0 -0
- /package/dist/md3/{p-aa0e7d4d.entry.js.map → p-f71af38f.entry.js.map} +0 -0
- /package/dist/md3/{p-757e3aaf.entry.js.map → p-fac6da4c.entry.js.map} +0 -0
- /package/dist/md3/{p-134b670a.entry.js.map → p-fc864f96.entry.js.map} +0 -0
- /package/dist/md3/{p-32bdd439.entry.js.map → p-fd686966.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as o,c as s,h as e,d as a,t as n}from"./p-MWBNn6Lj.js";import{t as r}from"./p-DYBUr7K_.js";import{s as i,a as d}from"./p-BdEoSBtL.js";import{d as l}from"./p-BwXpiUsu.js";import{d as m}from"./p-stybaFzj.js";const c=()=>`: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 h=t(class t extends o{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdClick=s(this,"mdClick",7);this.mdChange=s(this,"mdChange",7);this.internals=this.attachInternals();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 s=this.mdClick.emit({value:this.value,toggle:this.toggle,selected:o,href:this.href,target:this.target,originalEvent:t});if(s.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=i(this.href);if(t)window.open(t,this.target,d);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;r(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 s=t.querySelector('slot[name="trailing-icon"]');o?.addEventListener("slotchange",(()=>{this.hasSlottedLeadingIcon=o.assignedElements().length>0}));s?.addEventListener("slotchange",(()=>{this.hasSlottedTrailingIcon=s.assignedElements().length>0}))}render(){const t=this.isDisabled;const o=!!this.icon;const s=!!this.trailingIcon;return e(a,{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":s||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"},s&&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 this}static get style(){return c()}},[321,"md-button",{type:[513],variant:[1],size:[1],shape:[1],disabled:[516],softDisabled:[516,"soft-disabled"],ripple:[4],loading:[4],icon:[1],trailingIcon:[1,"trailing-icon"],href:[1],target:[1],toggle:[4],selected:[1028],shapeMorph:[4,"shape-morph"],mirrorIcon:[516,"mirror-icon"],suppressExpandIconFlip:[516,"suppress-expand-icon-flip"],fullWidth:[516,"full-width"],connectedLeft:[516,"connected-left"],connectedRight:[516,"connected-right"],value:[1],groupTabindex:[1026,"group-tabindex"],roleOverride:[1,"role-override"],density:[514],hasSlottedLeadingIcon:[32],hasSlottedTrailingIcon:[32],pressed:[32]}]);function u(){if(typeof customElements==="undefined"){return}const t=["md-button","md-loading-indicator","md-ripple"];t.forEach((t=>{switch(t){case"md-button":if(!customElements.get(n(t))){customElements.define(n(t),h)}break;case"md-loading-indicator":if(!customElements.get(n(t))){l()}break;case"md-ripple":if(!customElements.get(n(t))){m()}break}}))}u();export{h as M,u as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as t,H as o,c as e,h as s,d as a,t as n}from"./p-bSpXNc5J.js";import{L as r}from"./p-6WgHjhDg.js";import{t as i}from"./p-DYBUr7K_.js";import{s as d,a as l}from"./p-BdEoSBtL.js";import{d as m}from"./p-C3vB0Hd9.js";const c=()=>`: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 h=t(class t extends o{constructor(t){super();if(t!==false){this.__registerHost()}this.__attachShadow();this.mdClick=e(this,"mdClick",7);this.mdChange=e(this,"mdChange",7);this.internals=this.attachInternals();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=d(this.href);if(t)window.open(t,this.target,l);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 e=!!this.trailingIcon;return s(a,{key:"08c5be7135433762687d4386cfbbe3faa044789a",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":e||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&&s("md-ripple",{key:"5e8e1860cf1e07f5e786cda3993a938f5858ee93",disabled:t}),s("span",{key:"22815acead32dc0aa71a940fc9a48136721a46a5",class:"md-button__state-layer",part:"state-layer","aria-hidden":"true"}),s("slot",{key:"863362e479f2294ce3e189f7555fe5d3c246a84e",name:"leading-icon"},o&&s("span",{key:"fe2cd35d10f548d90ce64a3745afc45c4e74bf52",class:"md-button__icon material-symbols-outlined",part:"icon"},this.icon)),s("span",{key:"744ddd0f277e1e572f949a16c5097e31a60722ab",class:"md-button__label",part:"label"},s("slot",{key:"6c382a5e8c36b62de29a780890b2161c6e6a533f"})),s("slot",{key:"98ad3af9a3dae0012b3001155a23507ad4fa5e6c",name:"trailing-icon"},e&&s("span",{key:"361900cc872a3c8d3484bebf63d57207828d3e08",class:"md-button__trailing-icon material-symbols-outlined",part:"trailing-icon"},this.trailingIcon)),this.loading&&s("span",{key:"0e180026bd5c392787a3e4aa7ba8a8405a9f8aa5",class:"md-button__loading",part:"loading","aria-hidden":"true"},s("slot",{key:"cc7cb4c7311b4bed3d6882383c5e005784e1a1ce",name:"loader"},s(r,{key:"fce7949b088c1689508e022ae4a401dc0c46b6ba",class:"md-button__loading-default"}))))}static get formAssociated(){return true}get el(){return this}static get style(){return c()}},[321,"md-button",{type:[513],variant:[1],size:[1],shape:[1],disabled:[516],softDisabled:[516,"soft-disabled"],ripple:[4],loading:[4],icon:[1],trailingIcon:[1,"trailing-icon"],href:[1],target:[1],toggle:[4],selected:[1028],shapeMorph:[4,"shape-morph"],mirrorIcon:[516,"mirror-icon"],suppressExpandIconFlip:[516,"suppress-expand-icon-flip"],fullWidth:[516,"full-width"],connectedLeft:[516,"connected-left"],connectedRight:[516,"connected-right"],value:[1],groupTabindex:[1026,"group-tabindex"],roleOverride:[1,"role-override"],density:[514],hasSlottedLeadingIcon:[32],hasSlottedTrailingIcon:[32],pressed:[32]}]);function u(){if(typeof customElements==="undefined"){return}const t=["md-button","md-ripple"];t.forEach((t=>{switch(t){case"md-button":if(!customElements.get(n(t))){customElements.define(n(t),h)}break;case"md-ripple":if(!customElements.get(n(t))){m()}break}}))}u();export{h as M,u as d};
|
|
2
|
+
//# sourceMappingURL=p-BZakoRau.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mdButtonCss","MdButton","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","type","variant","size","shape","disabled","softDisabled","ripple","loading","icon","trailingIcon","href","target","toggle","selected","shapeMorph","mirrorIcon","suppressExpandIconFlip","fullWidth","connectedLeft","connectedRight","value","groupTabindex","roleOverride","density","hasSlottedLeadingIcon","hasSlottedTrailingIcon","pressed","handleClick","e","isDisabled","preventDefault","nextSelected","evt","mdClick","emit","originalEvent","defaultPrevented","mdChange","sanitizeHref","window","open","SAFE_WINDOW_FEATURES","internals","form","requestSubmit","reset","handleKeyDown","key","triggerRipple","el","click","setTimeout","handlePointerDown","handlePointerUp","componentDidLoad","shadow","shadowRoot","leadingSlot","querySelector","trailingSlot","addEventListener","assignedElements","length","render","isEffectivelyDisabled","hasLeadingIcon","hasTrailingIcon","h","Host","class","role","String","undefined","tabindex","onClick","onKeyDown","onPointerDown","onPointerUp","onPointerLeave","onPointerCancel","part","name","LazyLoadingIndicator"],"sources":["src/components/md-button/md-button.css?tag=md-button&encapsulation=shadow","src/components/md-button/md-button.tsx"],"sourcesContent":["/* ==========================================================\n md-button — Material Design 3 Common Button\n Spec: https://m3.material.io/components/buttons/specs\n API: https://developer.android.com/reference/kotlin/\n androidx/compose/material3/ButtonDefaults\n Supports M3 + M3 Expressive (size, shape)\n\n PUBLIC CSS CUSTOM PROPERTIES (override per-instance):\n --md-button-container-color Container background\n --md-button-label-color Label + icon text color\n --md-button-icon-color Icon-only color override\n --md-button-icon-size Icon dimensions\n --md-button-container-shape Border-radius override\n --md-button-outline-color Outlined border color\n --md-button-outline-width Outlined border width\n --md-button-width Fixed inline-size (default: auto)\n --md-button-min-width Minimum inline-size (default: per-size touch target)\n --md-button-max-width Maximum inline-size (default: none)\n --md-button-height Fixed block-size (default: auto)\n --md-button-min-height Minimum block-size (default: per-size touch target)\n\n CSS PARTS:\n state-layer State-layer overlay\n icon Leading icon (fallback)\n trailing-icon Trailing icon (fallback)\n label Label text wrapper\n loading Loading spinner\n\n SLOTS:\n leading-icon Custom leading icon (replaces icon prop)\n trailing-icon Custom trailing icon (replaces trailingIcon prop)\n\n RTL:\n Layout uses CSS logical properties throughout, so leading/\n trailing icons swap visual sides automatically in `dir=\"rtl\"`.\n Set the `mirror-icon` attribute on buttons that use directional\n glyphs (arrows, chevrons) so the icon path itself flips.\n ========================================================== */\n\n:host {\n --_container-color: var(--md-button-container-color, transparent);\n --_label-color: var(--md-button-label-color, var(--md-sys-color-primary));\n --_state-layer-color: var(--md-sys-color-primary);\n --_container-elevation: var(--md-sys-elevation-0, none);\n --_icon-size: var(--md-button-icon-size, 18px);\n\n /* Sizing — defaults come from each size class via --_size-* tokens.\n Public --md-button-{width,min-width,max-width,height,min-height}\n custom properties override per-instance for variable / full-width\n buttons without sacrificing the spec touch-target on resize. */\n --_width: var(--md-button-width, auto);\n /* Min-width tightens with density too (floored at 40px) so short-label\n buttons narrow, not just content-wide ones. Unchanged at density 0. */\n --_min-width: var(\n --md-button-min-width,\n max(40px, calc(var(--_size-min-width, 48px) + var(--md-sys-density-scale, 0) * 4px))\n );\n --_max-width: var(--md-button-max-width, none);\n --_height: var(--md-button-height, auto);\n /* Global density: on top of the size scale, each `data-density` rung (0…-4)\n trims 4px off the touch target, floored at 24px so small buttons stay\n usable. density-scale is 0 by default so the per-size height is unchanged. */\n --_min-height: var(\n --md-button-min-height,\n max(24px, calc(var(--_size-min-height, 32px) + var(--md-sys-density-scale, 0) * 4px))\n );\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n cursor: pointer;\n user-select: none;\n text-decoration: none;\n border: none;\n /* Transparent resting outline; focus-visible swaps outline-color in instantly.\n Deliberately NOT transitioned — on hydration the host's pre-upgrade UA outline\n (style:none, color:currentColor) animates to solid/transparent, which renders a\n dark ring that fades out on every button. Most visible when many mount at once\n (e.g. the 42 day cells in md-date-picker). Instant focus ring matches M3. */\n outline: 3px solid transparent;\n outline-offset: 2px;\n box-sizing: border-box;\n inline-size: var(--_width);\n block-size: var(--_height);\n min-inline-size: var(--_min-width);\n min-block-size: var(--_min-height);\n max-inline-size: var(--_max-width);\n background-color: var(--_container-color);\n color: var(--_label-color);\n box-shadow: var(--_container-elevation);\n --_shape-round: 20px;\n transition:\n box-shadow var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n background-color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n border-color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n 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)),\n color var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n -webkit-tap-highlight-color: transparent;\n vertical-align: middle;\n}\n\n/* ==========================================================\n 1. SIZE\n XS (32px) · SM (40px, default) · MD (48px) · LG (56px) · XL (96px)\n ========================================================== */\n/* Icon<->label gap tapers with density like the rest of the button: the\n container height and icon already shrink per rung, so a frozen gap made\n compact buttons read as loosely spaced. Each tier halves across the range\n (rate = base/8 per rung), floored at half its base. */\n:host(.md-button--xs) {\n --_icon-size: var(--md-button-icon-size, max(10px, calc(20px + var(--md-sys-density-scale, 0) * 2.5px)));\n --_shape-round: 16px;\n --_size-min-height: 32px;\n --_size-min-width: 48px;\n /* 25% across the density range, floored at half. At 50% the inset shrank\n faster than the button did — a -4 sm button was still 24px tall but had\n only 8px of side padding, which read crammed. */\n padding: 0 max(6px, calc(12px + var(--md-sys-density-scale, 0) * 0.75px));\n gap: max(2px, calc(4px + var(--md-sys-density-scale, 0) * 0.5px));\n font-family: var(--md-sys-typescale-label-medium-font-family, Roboto, sans-serif);\n font-size: max(10px, calc(12px + var(--md-sys-density-scale, 0) * 0.5px));\n font-weight: var(--md-sys-typescale-label-medium-font-weight, 500);\n letter-spacing: var(--md-sys-typescale-label-medium-letter-spacing, 0.5px);\n line-height: max(14px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));\n}\n\n:host(.md-button--sm) {\n --_icon-size: var(--md-button-icon-size, max(10px, calc(20px + var(--md-sys-density-scale, 0) * 2.5px)));\n --_shape-round: 20px;\n --_size-min-height: 40px;\n --_size-min-width: 58px;\n /* 25% across the density range, floored at half. At 50% the inset shrank\n faster than the button did — a -4 sm button was still 24px tall but had\n only 8px of side padding, which read crammed. */\n padding: 0 max(8px, calc(16px + var(--md-sys-density-scale, 0) * 1px));\n gap: max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px));\n font-family: var(--md-sys-typescale-label-large-font-family, Roboto, sans-serif);\n font-size: max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));\n font-weight: var(--md-sys-typescale-label-large-font-weight, 500);\n letter-spacing: var(--md-sys-typescale-label-large-letter-spacing, 0.1px);\n line-height: max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));\n}\n\n:host(.md-button--md) {\n --_icon-size: var(--md-button-icon-size, max(12px, calc(24px + var(--md-sys-density-scale, 0) * 3px)));\n --_shape-round: 28px;\n --_size-min-height: 56px;\n --_size-min-width: 72px;\n /* 25% across the density range, floored at half. At 50% the inset shrank\n faster than the button did — a -4 sm button was still 24px tall but had\n only 8px of side padding, which read crammed. */\n padding: 0 max(12px, calc(24px + var(--md-sys-density-scale, 0) * 1.5px));\n gap: max(4px, calc(8px + var(--md-sys-density-scale, 0) * 1px));\n font-family: var(--md-sys-typescale-title-small-font-family, Roboto, sans-serif);\n font-size: max(12px, calc(14px + var(--md-sys-density-scale, 0) * 0.5px));\n font-weight: var(--md-sys-typescale-title-small-font-weight, 500);\n letter-spacing: var(--md-sys-typescale-title-small-letter-spacing, 0.1px);\n line-height: max(16px, calc(20px + var(--md-sys-density-scale, 0) * 1px));\n}\n\n:host(.md-button--lg) {\n --_icon-size: var(--md-button-icon-size, max(16px, calc(32px + var(--md-sys-density-scale, 0) * 4px)));\n --_shape-round: 48px;\n --_size-min-height: 96px;\n --_size-min-width: 88px;\n /* 25% across the density range, floored at half. At 50% the inset shrank\n faster than the button did — a -4 sm button was still 24px tall but had\n only 8px of side padding, which read crammed. */\n padding: 0 max(24px, calc(48px + var(--md-sys-density-scale, 0) * 3px));\n gap: max(6px, calc(12px + var(--md-sys-density-scale, 0) * 1.5px));\n font-family: var(--md-sys-typescale-title-medium-font-family, Roboto, sans-serif);\n font-size: max(13px, calc(16px + var(--md-sys-density-scale, 0) * 0.5px));\n font-weight: var(--md-sys-typescale-title-medium-font-weight, 500);\n letter-spacing: var(--md-sys-typescale-title-medium-letter-spacing, 0.15px);\n line-height: max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));\n}\n\n:host(.md-button--xl) {\n --_icon-size: var(--md-button-icon-size, max(20px, calc(40px + var(--md-sys-density-scale, 0) * 5px)));\n --_shape-round: 68px;\n --_size-min-height: 136px;\n --_size-min-width: 120px;\n /* 25% across the density range, floored at half. At 50% the inset shrank\n faster than the button did — a -4 sm button was still 24px tall but had\n only 8px of side padding, which read crammed. */\n padding: 0 max(32px, calc(64px + var(--md-sys-density-scale, 0) * 4px));\n gap: max(8px, calc(16px + var(--md-sys-density-scale, 0) * 2px));\n font-family: var(--md-sys-typescale-headline-small-font-family, Roboto, sans-serif);\n font-size: max(18px, calc(24px + var(--md-sys-density-scale, 0) * 1px));\n font-weight: var(--md-sys-typescale-headline-small-font-weight, 400);\n letter-spacing: var(--md-sys-typescale-headline-small-letter-spacing, 0px);\n line-height: max(24px, calc(32px + var(--md-sys-density-scale, 0) * 2px));\n}\n\n/* ==========================================================\n 1b. FULL WIDTH — block-level, fills inline axis\n `full-width` switches the host from inline-flex to flex and stretches\n inline-size to 100% of the containing block. The size's\n --_size-min-height (touch target) is still in force, so the button\n keeps its spec block-size unless --md-button-height overrides it.\n --md-button-width still wins if explicitly set.\n ========================================================== */\n:host(.md-button--full-width) {\n display: flex;\n --_width: var(--md-button-width, 100%);\n}\n\n/* ==========================================================\n 2. SHAPE\n Round (default) · Square (scaled corner radius)\n Round uses --_shape-round (height/2 per size) instead of\n corner-full (9999px) so the browser can smoothly interpolate\n border-radius transitions between resting and morphed states.\n --md-button-container-shape overrides both.\n ========================================================== */\n/* The RESTING radius is named (--_shape-rest) so the morph states below can be\n expressed as a blend back toward it. --_morph-to carries the morphed target\n and defaults to the resting value, so a button with no active morph state\n resolves to exactly its resting radius:\n\n calc(REST + FLAG * (MORPH - REST)) FLAG 1 -> MORPH, FLAG 0 -> REST\n\n That is what makes `data-shape-morph=\"off\"` / `shape-morph=\"off\"` freeze the\n shape (§13 in tokens.css) without a re-render and without :host-context,\n which Firefox does not implement. */\n:host(.md-button--round) {\n --_shape-rest: var(--md-button-container-shape, var(--_shape-round));\n border-radius: calc(var(--_shape-rest) + var(--md-sys-shape-morph-enabled, 1) * (var(--_morph-to, var(--_shape-rest)) - var(--_shape-rest)));\n}\n\n: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))); }\n: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))); }\n: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))); }\n: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))); }\n: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))); }\n\n/* ==========================================================\n 2b. SHAPE MORPHING — M3 Expressive\n Uses direct border-radius overrides for reliable transitions.\n\n Order: selected rules FIRST, pressed rules LAST so pressed\n always wins while the pointer is down.\n\n Asymmetric timing (M3 motion tokens):\n Release / selected : medium4 (400ms) + emphasized-decelerate\n Press-in : short4 (200ms) + standard\n ========================================================== */\n\n/* ── Selected shape — round resting → square tokens when selected ── */\n:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--xs) { --_morph-to: var(--md-sys-shape-corner-small, 8px); }\n:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--sm) { --_morph-to: var(--md-sys-shape-corner-medium, 12px); }\n:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--md) { --_morph-to: var(--md-sys-shape-corner-medium, 12px); }\n:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--lg) { --_morph-to: var(--md-sys-shape-corner-large, 16px); }\n:host(.md-button--shape-morph.md-button--round.md-button--selected.md-button--xl) { --_morph-to: var(--md-sys-shape-corner-extra-large, 28px); }\n\n/* ── Selected shape — square resting → round when selected ── */\n:host(.md-button--shape-morph.md-button--square.md-button--selected) {\n --_morph-to: var(--md-button-container-shape, var(--_shape-round));\n}\n\n/* ── Pressed shape — both round & square morph to more square, overrides selected ── */\n:host(.md-button--pressed.md-button--xs) {\n --_morph-to: var(--md-sys-shape-corner-extra-small, 4px);\n transition-duration: var(--md-sys-motion-duration-short4, 200ms);\n transition-timing-function: var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n:host(.md-button--pressed.md-button--sm) {\n --_morph-to: var(--md-sys-shape-corner-small, 8px);\n transition-duration: var(--md-sys-motion-duration-short4, 200ms);\n transition-timing-function: var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n:host(.md-button--pressed.md-button--md) {\n --_morph-to: var(--md-sys-shape-corner-small, 8px);\n transition-duration: var(--md-sys-motion-duration-short4, 200ms);\n transition-timing-function: var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n:host(.md-button--pressed.md-button--lg) {\n --_morph-to: var(--md-sys-shape-corner-medium, 12px);\n transition-duration: var(--md-sys-motion-duration-short4, 200ms);\n transition-timing-function: var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n:host(.md-button--pressed.md-button--xl) {\n --_morph-to: var(--md-sys-shape-corner-large, 16px);\n transition-duration: var(--md-sys-motion-duration-short4, 200ms);\n transition-timing-function: var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n\n/* ==========================================================\n 2c. CONNECTED GROUP — per-corner border-radius\n Set by md-button-group when variant=\"connected\".\n shapeMorph is disabled for connected children so these rules\n only need to beat the base shape rules (section 2, specificity 0-1-0).\n ========================================================== */\n\n:host(.md-button--connected-left.md-button--xs),\n:host(.md-button--connected-right.md-button--xs) { --_c-inner: 4px; }\n:host(.md-button--connected-left.md-button--sm),\n:host(.md-button--connected-right.md-button--sm) { --_c-inner: 8px; }\n:host(.md-button--connected-left.md-button--md),\n:host(.md-button--connected-right.md-button--md) { --_c-inner: 8px; }\n:host(.md-button--connected-left.md-button--lg),\n:host(.md-button--connected-right.md-button--lg) { --_c-inner: 16px; }\n:host(.md-button--connected-left.md-button--xl),\n:host(.md-button--connected-right.md-button--xl) { --_c-inner: 20px; }\n\n/* Middle button — all corners inner */\n:host(.md-button--connected-left.md-button--connected-right) {\n border-radius: var(--_c-inner);\n}\n\n/* `connected-left` / `connected-right` reflect DOM-order siblings (set by\n md-button-group when a previous / next sibling exists), so the radii\n here must use logical corner properties to flip correctly under\n `dir=\"rtl\"`. The outer pill always lives on the free inline-start\n (first child) or inline-end (last child) edge. */\n\n/* First button (round) — pill on inline-start edge, inner on inline-end edge */\n:host(.md-button--round.md-button--connected-right:not(.md-button--connected-left)) {\n border-start-start-radius: var(--_shape-round);\n border-end-start-radius: var(--_shape-round);\n border-start-end-radius: var(--_c-inner);\n border-end-end-radius: var(--_c-inner);\n}\n\n/* Last button (round) — inner on inline-start edge, pill on inline-end edge */\n:host(.md-button--round.md-button--connected-left:not(.md-button--connected-right)) {\n border-start-start-radius: var(--_c-inner);\n border-end-start-radius: var(--_c-inner);\n border-start-end-radius: var(--_shape-round);\n border-end-end-radius: var(--_shape-round);\n}\n\n/* Square first / last — outer equals inner */\n:host(.md-button--square.md-button--connected-right:not(.md-button--connected-left)),\n:host(.md-button--square.md-button--connected-left:not(.md-button--connected-right)) {\n border-radius: var(--_c-inner);\n}\n\n/* ==========================================================\n 3. ICON PADDING\n An icon does NOT change the button's insets. The M3 Expressive size sheet\n specifies the SAME padding on both sides whether or not a leading icon is\n present (12/12, 16/16, 24/24, 48/48, 64/64) — the third number on those\n drawings is the icon-to-label gap, not a reduced leading inset. The size's\n base padding therefore applies symmetrically and there is nothing to override.\n ========================================================== */\n\n/* ==========================================================\n 4. COLOR VARIANTS\n --md-button-container-color and --md-button-label-color\n override the variant defaults when set.\n ========================================================== */\n\n/* Filled */\n:host(.md-button--filled) {\n --_container-color: var(--md-button-container-color, var(--md-sys-color-primary));\n --_label-color: var(--md-button-label-color, var(--md-sys-color-on-primary));\n --_state-layer-color: var(--md-sys-color-on-primary);\n}\n:host(.md-button--filled:hover) { --_container-elevation: var(--md-sys-elevation-1); }\n:host(.md-button--filled:active) { --_container-elevation: var(--md-sys-elevation-0, none); }\n:host(.md-button--filled:focus-visible) { --_container-elevation: var(--md-sys-elevation-0, none); }\n\n/* Outlined */\n:host(.md-button--outlined) {\n --_container-color: var(--md-button-container-color, transparent);\n --_label-color: var(--md-button-label-color, var(--md-sys-color-primary));\n --_state-layer-color: var(--md-sys-color-primary);\n border: var(--md-button-outline-width, 1px) solid var(--md-button-outline-color, var(--md-sys-color-outline));\n}\n:host(.md-button--outlined.md-button--xs) { padding: 0 max(3px, calc(11px + var(--md-sys-density-scale, 0) * 2px)); }\n:host(.md-button--outlined.md-button--sm) { padding: 0 max(7px, calc(23px + var(--md-sys-density-scale, 0) * 4px)); }\n:host(.md-button--outlined.md-button--md) { padding: 0 max(9px, calc(27px + var(--md-sys-density-scale, 0) * 4px)); }\n:host(.md-button--outlined.md-button--lg) { padding: 0 max(10px, calc(31px + var(--md-sys-density-scale, 0) * 4px)); }\n:host(.md-button--outlined.md-button--xl) { padding: 0 max(15px, calc(47px + var(--md-sys-density-scale, 0) * 2px)); }\n:host(.md-button--outlined:hover:not(.md-button--disabled)) {\n border-color: var(--md-button-outline-color, var(--md-sys-color-primary));\n}\n:host(.md-button--outlined:focus-visible) {\n border-color: var(--md-button-outline-color, var(--md-sys-color-primary));\n}\n\n/* Text */\n:host(.md-button--text) {\n --_container-color: var(--md-button-container-color, transparent);\n --_label-color: var(--md-button-label-color, var(--md-sys-color-primary));\n --_state-layer-color: var(--md-sys-color-primary);\n}\n:host(.md-button--text.md-button--xs) { padding: 0 max(3px, calc(8px + var(--md-sys-density-scale, 0) * 2px)); }\n:host(.md-button--text.md-button--sm) { padding: 0 max(4px, calc(12px + var(--md-sys-density-scale, 0) * 4px)); }\n:host(.md-button--text.md-button--md) { padding: 0 max(5px, calc(16px + var(--md-sys-density-scale, 0) * 4px)); }\n:host(.md-button--text.md-button--lg) { padding: 0 max(6px, calc(20px + var(--md-sys-density-scale, 0) * 4px)); }\n:host(.md-button--text.md-button--xl) { padding: 0 max(10px, calc(32px + var(--md-sys-density-scale, 0) * 2px)); }\n\n/* Elevated */\n:host(.md-button--elevated) {\n --_container-color: var(--md-button-container-color, var(--md-sys-color-surface-container-low));\n --_label-color: var(--md-button-label-color, var(--md-sys-color-primary));\n --_state-layer-color: var(--md-sys-color-primary);\n --_container-elevation: var(--md-sys-elevation-1);\n}\n:host(.md-button--elevated:hover) { --_container-elevation: var(--md-sys-elevation-2); }\n:host(.md-button--elevated:focus-visible) { --_container-elevation: var(--md-sys-elevation-1); }\n:host(.md-button--elevated:active) { --_container-elevation: var(--md-sys-elevation-1); }\n\n/* Tonal */\n:host(.md-button--tonal) {\n --_container-color: var(--md-button-container-color, var(--md-sys-color-secondary-container));\n --_label-color: var(--md-button-label-color, var(--md-sys-color-on-secondary-container));\n --_state-layer-color: var(--md-sys-color-on-secondary-container);\n}\n:host(.md-button--tonal:hover) { --_container-elevation: var(--md-sys-elevation-1); }\n:host(.md-button--tonal:focus-visible) { --_container-elevation: var(--md-sys-elevation-0, none); }\n:host(.md-button--tonal:active) { --_container-elevation: var(--md-sys-elevation-0, none); }\n\n/* ==========================================================\n 4b. TOGGLE SELECTED / UNSELECTED — MD3 spec\n When toggle=true, the unselected state is muted; selected\n shows the full variant color. Mirrors md-icon-button pattern.\n ========================================================== */\n\n/* The toggle-state rules below all carry `:not(.md-button--disabled)` so\n they drop out when the host becomes disabled. Without it, their higher\n specificity (4 classes vs the disabled rules' 2–3) would override the\n muted disabled palette and the button would still look enabled. */\n\n/* ── Filled toggle ── */\n:host(.md-button--filled.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)) {\n --_container-color: var(--md-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));\n --_label-color: var(--md-button-label-color, var(--md-sys-color-primary));\n --_state-layer-color: var(--md-sys-color-primary);\n}\n\n/* ── Tonal toggle ── */\n:host(.md-button--tonal.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)) {\n --_container-color: var(--md-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));\n --_label-color: var(--md-button-label-color, var(--md-sys-color-on-surface-variant, #49454F));\n --_state-layer-color: var(--md-sys-color-on-surface-variant, #49454F);\n}\n\n/* ── Outlined toggle ── */\n:host(.md-button--outlined.md-button--toggle.md-button--selected:not(.md-button--disabled)) {\n --_container-color: var(--md-button-container-color, var(--md-sys-color-secondary-container, #E8DEF8));\n --_label-color: var(--md-button-label-color, var(--md-sys-color-on-secondary-container, #1E192B));\n --_state-layer-color: var(--md-sys-color-on-secondary-container, #1E192B);\n border-color: transparent;\n}\n\n/* ── Elevated toggle ── */\n:host(.md-button--elevated.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)) {\n --_container-color: var(--md-button-container-color, var(--md-sys-color-surface-container-highest, #E6E0E9));\n --_label-color: var(--md-button-label-color, var(--md-sys-color-on-surface-variant, #49454F));\n --_state-layer-color: var(--md-sys-color-on-surface-variant, #49454F);\n --_container-elevation: var(--md-sys-elevation-0, none);\n}\n\n/* ── Text toggle ── */\n:host(.md-button--text.md-button--toggle:not(.md-button--selected):not(.md-button--disabled)) {\n --_label-color: var(--md-button-label-color, var(--md-sys-color-on-surface-variant, #49454F));\n --_state-layer-color: var(--md-sys-color-on-surface-variant, #49454F);\n}\n\n/* ==========================================================\n 5. STATE LAYER\n ========================================================== */\n.md-button__state-layer {\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background-color: var(--_state-layer-color);\n opacity: 0;\n transition: opacity var(--md-sys-motion-duration-short2, 100ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n pointer-events: none;\n}\n:host(:hover) .md-button__state-layer {\n opacity: var(--md-sys-state-hover-state-layer-opacity, 0.08);\n}\n:host(:active:not(.md-button--disabled)) .md-button__state-layer {\n opacity: var(--md-sys-state-pressed-state-layer-opacity, 0.12);\n transition-duration: var(--md-sys-motion-duration-short1, 50ms);\n transition-timing-function: var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1));\n}\n:host(:focus-visible) .md-button__state-layer {\n opacity: var(--md-sys-state-focus-state-layer-opacity, 0.12);\n}\n\n/* ==========================================================\n 6. FOCUS RING\n `z-index: 1` raises the focused button above its siblings so the\n outline is never clipped by a neighbor — important inside\n md-button-group, where connected groups have only 2px between\n buttons and standard groups animate neighbor padding on press.\n ========================================================== */\n/* Connected children inside md-button-group sit only 2px apart, so a\n 3px-outset focus ring naturally extends across the neighbor. The\n `z-index: 1` raise lets it draw *on top* of the neighbor cleanly so\n the ring keeps its full 2px breathing room — same visual treatment\n as a stand-alone button. */\n:host(:focus-visible) {\n outline-color: var(--md-sys-color-secondary);\n z-index: 1;\n}\n\n/* ==========================================================\n 7. DISABLED\n ========================================================== */\n:host(.md-button--disabled) {\n cursor: default;\n pointer-events: none;\n --_container-elevation: var(--md-sys-elevation-0, none) !important;\n transition: none;\n}\n\n:host([soft-disabled]) {\n cursor: default;\n pointer-events: auto;\n}\n:host([soft-disabled]) .md-button__state-layer { display: none; }\n\n:host(.md-button--filled.md-button--disabled),\n:host(.md-button--tonal.md-button--disabled) {\n --_container-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);\n}\n:host(.md-button--elevated.md-button--disabled) {\n --_container-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);\n --_container-elevation: var(--md-sys-elevation-0, none);\n}\n\n:host(.md-button--disabled) {\n --_label-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-content-opacity, 0.38) * 100%), transparent);\n}\n\n:host(.md-button--outlined.md-button--disabled) {\n --_container-color: transparent;\n border-color: color-mix(in srgb, var(--md-sys-color-on-surface) calc(var(--md-sys-state-disabled-container-opacity, 0.12) * 100%), transparent);\n}\n\n:host(.md-button--text.md-button--disabled) {\n --_container-color: transparent;\n}\n\n:host(.md-button--disabled:hover) .md-button__state-layer,\n:host(.md-button--disabled:active) .md-button__state-layer,\n:host(.md-button--disabled:focus-visible) .md-button__state-layer {\n opacity: 0;\n}\n\n/* ==========================================================\n 8. ICON (prop-based fallback inside slot)\n ========================================================== */\n.md-button__icon,\n.md-button__trailing-icon {\n color: var(--md-button-icon-color, inherit);\n font-size: var(--_icon-size, 18px);\n width: var(--_icon-size, 18px);\n height: var(--_icon-size, 18px);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n/* ==========================================================\n 9. NAMED ICON SLOTS\n Slots use display:contents so they don't create a box;\n slotted content participates directly in flex layout.\n ========================================================== */\nslot[name=\"leading-icon\"],\nslot[name=\"trailing-icon\"] {\n display: contents;\n}\n\n::slotted([slot=\"leading-icon\"]),\n::slotted([slot=\"trailing-icon\"]) {\n color: var(--md-button-icon-color, inherit);\n width: var(--_icon-size, 18px);\n height: var(--_icon-size, 18px);\n flex-shrink: 0;\n}\n\n/* ----------------------------------------------------------\n Trailing-icon rotation when this button is a popover anchor.\n\n md-menu (and any other popup component using the same ARIA\n contract) sets aria-expanded=\"true\" on its anchor element\n while the popup is open. Rotating the trailing dropdown\n indicator 180° on that signal flips arrow_drop_down to\n point up, matching MD3 select-trigger behavior, with no\n wiring needed on the consumer side.\n\n Honors prefers-reduced-motion via short2 motion duration.\n ---------------------------------------------------------- */\n.md-button__trailing-icon,\n::slotted([slot=\"trailing-icon\"]) {\n transition: transform var(--md-sys-motion-duration-short2, 150ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));\n}\n\n:host([aria-expanded=\"true\"]:not([suppress-expand-icon-flip])) .md-button__trailing-icon,\n:host([aria-expanded=\"true\"]:not([suppress-expand-icon-flip])) ::slotted([slot=\"trailing-icon\"]) {\n transform: rotate(180deg);\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host {\n transition: none;\n }\n\n .md-button__state-layer {\n transition: none;\n }\n\n .md-button__trailing-icon,\n ::slotted([slot=\"trailing-icon\"]) {\n transition: none;\n }\n}\n\n/* ==========================================================\n 10. LABEL\n ========================================================== */\n.md-button__label {\n display: flex;\n align-items: center;\n white-space: nowrap;\n}\n\n/* ==========================================================\n 11. LOADING SPINNER (scales with icon size)\n ========================================================== */\n.md-button__loading {\n /* A FRACTION of the icon it stands in for. Two constraints pull against each\n other: at full --_icon-size the ring reads heavier than the glyph (a bare\n stroke has none of the internal padding a Material glyph carries), but at\n 1em it was pinned to the label and stopped scaling per tier -- sm and md\n share a 14px label, so a 40px and a 56px button drew the same 14px ring\n despite 20px vs 24px icons. 0.7 keeps it visibly lighter than a glyph while\n tracking the tier, and inherits the icon's density taper. */\n /* 10px floor: the icon token itself bottoms out at 10px on the small tiers,\n and 0.7 of that is a 7px ring — too small to read as a spinner at all. */\n --_loading-size: var(--md-button-loading-size, max(10px, calc(var(--_icon-size, 18px) * 0.7)));\n\n /* Hand the size straight to md-loading-indicator's PUBLIC hooks. These\n replace the child's whole default expression, so the button's own taper\n (and its 10px floor) survives instead of hitting the child's 32px floor.\n Not --_size / --_shape-size: those are the child's private vars and\n writing them from out here is the handoff trap. currentColor keeps the\n indicator matching each variant's label, which a token would not. */\n --md-loading-indicator-size: var(--_loading-size);\n --md-loading-indicator-shape-size: var(--_loading-size);\n --md-loading-indicator-color: currentColor;\n flex-shrink: 0;\n /* A wrapper now, so the hooks above reach a SLOTTED replacement too. It has\n to lay out like the indicator it replaced — an inline span would add a text\n baseline gap next to the label. */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Whatever the consumer slots in gets the same box the default occupies. */\n.md-button__loading ::slotted(*) {\n flex-shrink: 0;\n}\n\n/* ==========================================================\n 12. MATERIAL SYMBOLS (default icon font)\n ========================================================== */\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 font-size: var(--_icon-size, 18px);\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/* ==========================================================\n 13. RTL — opt-in directional-icon mirroring\n\n Buttons that show directional Material Symbols (arrow_forward,\n chevron_right, send, reply…) should set `mirror-icon` so the\n glyph itself flips alongside the leading/trailing slot swap that\n the logical-property layout already performs. Non-directional\n icons (add, search, favorite…) leave `mirror-icon` unset so the\n glyph stays semantically correct.\n\n Two rules cover both placements of `dir=\"rtl\"`:\n (a) on the host itself — `:host([dir=\"rtl\"])`\n (b) on any ancestor element — `:host-context([dir=\"rtl\"])`\n ========================================================== */\n:host([mirror-icon][dir=\"rtl\"]) .md-button__icon,\n:host([mirror-icon][dir=\"rtl\"]) .md-button__trailing-icon,\n:host([mirror-icon][dir=\"rtl\"]) ::slotted([slot=\"leading-icon\"]),\n:host([mirror-icon][dir=\"rtl\"]) ::slotted([slot=\"trailing-icon\"]) {\n transform: scaleX(-1);\n}\n\n:host-context([dir=\"rtl\"]):host([mirror-icon]) .md-button__icon,\n:host-context([dir=\"rtl\"]):host([mirror-icon]) .md-button__trailing-icon,\n:host-context([dir=\"rtl\"]):host([mirror-icon]) ::slotted([slot=\"leading-icon\"]),\n:host-context([dir=\"rtl\"]):host([mirror-icon]) ::slotted([slot=\"trailing-icon\"]) {\n transform: scaleX(-1);\n}\n\n/* ==========================================================\n DENSITY (local override)\n Maps the local `density` prop onto the same --md-sys-density-scale signal a\n global `data-density` ancestor sets. Declared on :host, so a local rung wins\n over the inherited global one. Every density-sensitive value in this file\n derives from that single signal by calc — never add a fixed per-rung ladder.\n ========================================================== */\n:host([density='-1']) { --md-sys-density-scale: -1; }\n:host([density='-2']) { --md-sys-density-scale: -2; }\n:host([density='-3']) { --md-sys-density-scale: -3; }\n:host([density='-4']) { --md-sys-density-scale: -4; }\n","import { Component, Host, h, Prop, State, Event, EventEmitter, Element, AttachInternals } from '@stencil/core';\nimport { LazyLoadingIndicator } from '../../utils/lazy-loading-indicator';\nimport { triggerRipple } from '../../utils/ripple';\nimport { sanitizeHref, SAFE_WINDOW_FEATURES } from '../../utils/url';\n\n/**\n * Detail payload emitted by `md-button`'s `mdClick` event when the user\n * activates the button (mouse, touch, or keyboard).\n *\n * The event is **cancelable** — calling `event.preventDefault()` from a\n * listener stops the button's default side effects (toggle-state flip\n * and `href` navigation) but does NOT stop the underlying DOM click\n * event. This is the recommended hook for SPA routing and \"are you\n * sure?\" confirmation flows.\n */\nexport interface MdButtonClickDetail {\n /** The button's `value` prop (useful when grouped via `md-button-group`). */\n value: string;\n /** Whether toggle mode is enabled. */\n toggle: boolean;\n /**\n * Selected state the button WILL transition to if the click is not\n * cancelled. In non-toggle mode this is identical to `selected`.\n */\n selected: boolean;\n /** Navigation target (empty if the button is not a link). */\n href: string;\n /** Browsing context (`_self`, `_blank`, …). */\n target: string;\n /** The original DOM event that triggered the activation. */\n originalEvent: MouseEvent | KeyboardEvent;\n}\n\n/**\n * Detail payload emitted by `md-button`'s `mdChange` event when toggle\n * mode flips the selected state in response to a user activation.\n */\nexport interface MdButtonChangeDetail {\n /** New selected state. */\n selected: boolean;\n /** The button's `value` prop. */\n value: string;\n}\n\n@Component({\n tag: 'md-button',\n styleUrl: 'md-button.css',\n shadow: true,\n formAssociated: true,\n})\nexport class MdButton {\n @Element() el!: HTMLElement;\n\n /**\n * Form-association handle. Used to submit/reset the associated form when\n * `type` is `submit`/`reset` — works across shadow boundaries, unlike a\n * native `<button>` rendered in the shadow root (which can't see the\n * light-DOM `<form>` it lives in).\n */\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * Activation behavior, mirroring the native `<button type>`:\n * - `button` (default): no implicit form action.\n * - `submit`: submits the associated form (`requestSubmit`, so the form's\n * `submit` event fires and constraint validation runs).\n * - `reset`: resets the associated form.\n */\n @Prop({ reflect: true }) type: 'button' | 'submit' | 'reset' = 'button';\n\n @Prop() variant: 'filled' | 'outlined' | 'text' | 'elevated' | 'tonal' = 'filled';\n @Prop() size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n @Prop() shape: 'round' | 'square' = 'round';\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true, attribute: 'soft-disabled' }) softDisabled: boolean = false;\n @Prop() ripple: boolean = true;\n @Prop() loading: boolean = false;\n @Prop() icon: string = '';\n @Prop() trailingIcon: string = '';\n @Prop() href: string = '';\n @Prop() target: string = '_self';\n\n /** Enable toggle behavior (selected/unselected) */\n @Prop() toggle: boolean = false;\n\n /** Current selected state (toggle mode) */\n @Prop({ mutable: true }) selected: boolean = false;\n\n /** Enable M3 Expressive shape morphing on press and toggle */\n @Prop() shapeMorph: boolean = true;\n\n /**\n * Mirror leading and trailing icons horizontally when the button is\n * rendered in a right-to-left context. Set this on buttons that use\n * **directional** Material Symbols (arrows, chevrons, send, reply…)\n * — non-directional icons (add, search, favorite…) should leave it\n * `false` so the glyph stays semantically correct.\n */\n @Prop({ reflect: true, attribute: 'mirror-icon' }) mirrorIcon: boolean = false;\n\n /**\n * When true, suppresses the default 180° trailing-icon rotation while\n * `aria-expanded=\"true\"`. Use when the consumer swaps the glyph (e.g.\n * docked `md-date-picker` month/year triggers use `chevron_right`).\n */\n @Prop({ reflect: true, attribute: 'suppress-expand-icon-flip' })\n suppressExpandIconFlip: boolean = false;\n\n /**\n * Stretch the button to fill its inline-axis container.\n *\n * Switches the host from `inline-flex` to `flex` and sets\n * `inline-size: 100%` so the button consumes the full width of its\n * parent — the standard pattern for primary CTAs in forms, modals,\n * and bottom sheets. The size's `min-block-size` (touch target) is\n * preserved.\n *\n * For arbitrary fixed widths or heights, set the\n * `--md-button-width`, `--md-button-height`, `--md-button-min-width`,\n * `--md-button-min-height`, or `--md-button-max-width` CSS custom\n * properties on the host instead.\n */\n @Prop({ reflect: true, attribute: 'full-width' }) fullWidth: boolean = false;\n\n /** @internal Set by md-button-group — left side is connected to a neighbor */\n @Prop({ reflect: true }) connectedLeft: boolean = false;\n\n /** @internal Set by md-button-group — right side is connected to a neighbor */\n @Prop({ reflect: true }) connectedRight: boolean = false;\n\n /** @internal Value for button-group association */\n @Prop() value: string = '';\n\n /**\n * @internal Roving-tabindex override set by `md-button-group`. When the\n * button is a child of a group, the group sets this to `0` on the\n * currently-active button and `-1` on the rest, so Tab enters the group\n * once instead of stepping through every button. Outside a group, this\n * stays `null` and the button uses its normal tabindex behavior.\n */\n @Prop({ mutable: true, reflect: false }) groupTabindex: number | null = null;\n\n /**\n * Override the default `role=\"button\"`. Used by composite widgets such as\n * `md-date-picker` day cells (`role=\"gridcell\"`). Leave empty for `button`.\n */\n @Prop({ attribute: 'role-override' }) roleOverride: string = '';\n\n /**\n * Local density rung. Drives the same `--md-sys-density-scale` signal that a\n * global `data-density` ancestor sets, so a local value simply overrides the\n * inherited one. 0 = default, -4 = ultra-compact.\n */\n @Prop({ reflect: true }) density: 0 | -1 | -2 | -3 | -4 = 0;\n\n /**\n * Fires every time the user activates the button (mouse click, touch,\n * or `Enter`/`Space` while focused). The event is **cancelable** and\n * the detail payload describes what *would* happen: the post-click\n * toggle state, the navigation `href`, and so on.\n *\n * Calling `event.preventDefault()` from a listener suppresses the\n * default side effects (toggle flip + `href` navigation) but lets\n * the underlying DOM click bubble. This is the hook to use for SPA\n * routing, \"are you sure?\" prompts, async confirmation, etc.\n *\n * The event bubbles and is composed, so listeners outside the\n * shadow tree (the typical case) receive it.\n *\n * ```ts\n * document.querySelector('md-button')!.addEventListener('mdClick', (e) => {\n * const { href, selected } = (e as CustomEvent).detail;\n * if (!confirm('Continue?')) e.preventDefault();\n * });\n * ```\n */\n @Event({ cancelable: true, bubbles: true, composed: true })\n mdClick!: EventEmitter<MdButtonClickDetail>;\n\n /**\n * Fires when toggle mode flips the `selected` state in response to a\n * user activation. Not cancelable — the state change has already\n * happened. Pair with `mdClick` (cancelable) when you need a veto.\n *\n * Bubbles and is composed.\n */\n @Event({ bubbles: true, composed: true })\n mdChange!: EventEmitter<MdButtonChangeDetail>;\n\n @State() private hasSlottedLeadingIcon = false;\n @State() private hasSlottedTrailingIcon = false;\n @State() private pressed = false;\n\n private get isDisabled() {\n return this.disabled || this.softDisabled || this.loading;\n }\n\n componentDidLoad() {\n const shadow = this.el.shadowRoot;\n if (!shadow) return;\n\n const leadingSlot = shadow.querySelector('slot[name=\"leading-icon\"]') as HTMLSlotElement | null;\n const trailingSlot = shadow.querySelector('slot[name=\"trailing-icon\"]') as HTMLSlotElement | null;\n\n leadingSlot?.addEventListener('slotchange', () => {\n this.hasSlottedLeadingIcon = leadingSlot.assignedElements().length > 0;\n });\n trailingSlot?.addEventListener('slotchange', () => {\n this.hasSlottedTrailingIcon = trailingSlot.assignedElements().length > 0;\n });\n }\n\n private handleClick = (e: MouseEvent) => {\n if (this.isDisabled) { e.preventDefault(); return; }\n\n // Compute the post-click toggle state up front so the detail\n // payload describes what *would* happen — listeners can then\n // call preventDefault on the CustomEvent to veto the change.\n const nextSelected = this.toggle ? !this.selected : this.selected;\n\n const evt = this.mdClick.emit({\n value: this.value,\n toggle: this.toggle,\n selected: nextSelected,\n href: this.href,\n target: this.target,\n originalEvent: e,\n });\n\n if (evt.defaultPrevented) {\n // Suppress browser's default link navigation as well so the\n // host stays consistent. We don't flip selected and don't\n // open the href.\n e.preventDefault();\n return;\n }\n\n if (this.toggle && nextSelected !== this.selected) {\n this.selected = nextSelected;\n this.mdChange.emit({ selected: nextSelected, value: this.value });\n }\n\n /* Setting `href` makes this a link rather than a form control, so the\n branch is taken on the raw prop — an unsafe URL must not silently fall\n through to submitting the form. Only the navigation itself is refused. */\n if (this.href) {\n const href = sanitizeHref(this.href);\n if (href) window.open(href, this.target, SAFE_WINDOW_FEATURES);\n return;\n }\n\n // Implicit form action, mirroring a native submit/reset button. Uses\n // ElementInternals so the associated <form> is found across the shadow\n // boundary. requestSubmit() (not submit()) so the form's submit event\n // fires and built-in constraint validation runs.\n if (this.type === 'submit') {\n this.internals.form?.requestSubmit();\n } else if (this.type === 'reset') {\n this.internals.form?.reset();\n }\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (!this.isDisabled) {\n this.pressed = true;\n triggerRipple(this.el);\n this.el.click();\n setTimeout(() => { this.pressed = false; }, 150);\n }\n }\n };\n\n private handlePointerDown = () => {\n if (!this.isDisabled) this.pressed = true;\n };\n\n private handlePointerUp = () => {\n this.pressed = false;\n };\n\n render() {\n const isEffectivelyDisabled = this.isDisabled;\n const hasLeadingIcon = !!this.icon;\n const hasTrailingIcon = !!this.trailingIcon;\n\n return (\n <Host\n class={{\n 'md-button': true,\n [`md-button--${this.variant}`]: true,\n [`md-button--${this.size}`]: true,\n [`md-button--${this.shape}`]: true,\n 'md-button--with-leading-icon': hasLeadingIcon || this.hasSlottedLeadingIcon,\n 'md-button--with-trailing-icon': hasTrailingIcon || this.hasSlottedTrailingIcon,\n 'md-button--disabled': this.disabled || this.softDisabled,\n 'md-button--loading': this.loading,\n 'md-button--toggle': this.toggle,\n 'md-button--selected': this.selected,\n 'md-button--shape-morph': this.shapeMorph,\n 'md-button--pressed': this.shapeMorph && this.pressed,\n 'md-button--connected-left': this.connectedLeft,\n 'md-button--connected-right': this.connectedRight,\n 'md-button--full-width': this.fullWidth,\n }}\n role={this.roleOverride || 'button'}\n aria-disabled={isEffectivelyDisabled ? 'true' : 'false'}\n aria-pressed={this.toggle ? String(this.selected) : undefined}\n tabindex={\n this.disabled\n ? '-1'\n : (this.groupTabindex !== null ? String(this.groupTabindex) : '0')\n }\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onPointerDown={this.handlePointerDown}\n onPointerUp={this.handlePointerUp}\n onPointerLeave={this.handlePointerUp}\n onPointerCancel={this.handlePointerUp}\n >\n {this.ripple && <md-ripple disabled={isEffectivelyDisabled}></md-ripple>}\n <span class=\"md-button__state-layer\" part=\"state-layer\" aria-hidden=\"true\"></span>\n <slot name=\"leading-icon\">\n {hasLeadingIcon && <span class=\"md-button__icon material-symbols-outlined\" part=\"icon\">{this.icon}</span>}\n </slot>\n <span class=\"md-button__label\" part=\"label\"><slot /></span>\n <slot name=\"trailing-icon\">\n {hasTrailingIcon && <span class=\"md-button__trailing-icon material-symbols-outlined\" part=\"trailing-icon\">{this.trailingIcon}</span>}\n </slot>\n {this.loading && (\n /* md-loading-indicator, not a hand-rolled ring: never ship a custom\n loading affordance where a library component exists. It is\n md-loading-indicator rather than md-progress-indicator because the\n latter clamps its circular variant to a 24dp M3 minimum, while a\n button spinner runs 10-28px -- every tier but xl would clamp up and\n lose the density taper. Same choice md-select made for its trigger.\n\n The `loader` slot lets a consumer swap it (e.g. for a circular\n md-progress-indicator). The size hooks sit on this WRAPPER so they\n cascade to whatever ends up inside it, default or slotted. */\n <span class=\"md-button__loading\" part=\"loading\" aria-hidden=\"true\">\n <slot name=\"loader\">\n <LazyLoadingIndicator class=\"md-button__loading-default\" />\n </slot>\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"8NAAA,MAAMA,EAAc,IAAM,iroB,MCkDbC,EAAQC,EAAA,MAAAD,UAAAE,EANrB,WAAAC,CAAAC,G,4KAwB2BC,KAAAC,KAAsC,SAEvDD,KAAAE,QAAiE,SACjEF,KAAAG,KAAyC,KACzCH,KAAAI,MAA4B,QACXJ,KAAAK,SAAoB,MACQL,KAAAM,aAAwB,MACrEN,KAAAO,OAAkB,KAClBP,KAAAQ,QAAmB,MACnBR,KAAAS,KAAe,GACfT,KAAAU,aAAuB,GACvBV,KAAAW,KAAe,GACfX,KAAAY,OAAiB,QAGjBZ,KAAAa,OAAkB,MAGDb,KAAAc,SAAoB,MAGrCd,KAAAe,WAAsB,KASqBf,KAAAgB,WAAsB,MAQzEhB,KAAAiB,uBAAkC,MAgBgBjB,KAAAkB,UAAqB,MAG9ClB,KAAAmB,cAAyB,MAGzBnB,KAAAoB,eAA0B,MAG3CpB,KAAAqB,MAAgB,GASiBrB,KAAAsB,cAA+B,KAMlCtB,KAAAuB,aAAuB,GAOpCvB,KAAAwB,QAAiC,EAoCzCxB,KAAAyB,sBAAwB,MACxBzB,KAAA0B,uBAAyB,MACzB1B,KAAA2B,QAAU,MAqBnB3B,KAAA4B,YAAeC,IACrB,GAAI7B,KAAK8B,WAAY,CAAED,EAAEE,iBAAkB,M,CAK3C,MAAMC,EAAehC,KAAKa,QAAUb,KAAKc,SAAWd,KAAKc,SAEzD,MAAMmB,EAAMjC,KAAKkC,QAAQC,KAAK,CAC5Bd,MAAOrB,KAAKqB,MACZR,OAAQb,KAAKa,OACbC,SAAUkB,EACVrB,KAAMX,KAAKW,KACXC,OAAQZ,KAAKY,OACbwB,cAAeP,IAGjB,GAAII,EAAII,iBAAkB,CAIxBR,EAAEE,iBACF,M,CAGF,GAAI/B,KAAKa,QAAUmB,IAAiBhC,KAAKc,SAAU,CACjDd,KAAKc,SAAWkB,EAChBhC,KAAKsC,SAASH,KAAK,CAAErB,SAAUkB,EAAcX,MAAOrB,KAAKqB,O,CAM3D,GAAIrB,KAAKW,KAAM,CACb,MAAMA,EAAO4B,EAAavC,KAAKW,MAC/B,GAAIA,EAAM6B,OAAOC,KAAK9B,EAAMX,KAAKY,OAAQ8B,GACzC,M,CAOF,GAAI1C,KAAKC,OAAS,SAAU,CAC1BD,KAAK2C,UAAUC,MAAMC,e,MAChB,GAAI7C,KAAKC,OAAS,QAAS,CAChCD,KAAK2C,UAAUC,MAAME,O,GAIjB9C,KAAA+C,cAAiBlB,IACvB,GAAIA,EAAEmB,MAAQ,SAAWnB,EAAEmB,MAAQ,IAAK,CACtCnB,EAAEE,iBACF,IAAK/B,KAAK8B,WAAY,CACpB9B,KAAK2B,QAAU,KACfsB,EAAcjD,KAAKkD,IACnBlD,KAAKkD,GAAGC,QACRC,YAAW,KAAQpD,KAAK2B,QAAU,KAAK,GAAK,I,IAK1C3B,KAAAqD,kBAAoB,KAC1B,IAAKrD,KAAK8B,WAAY9B,KAAK2B,QAAU,IAAI,EAGnC3B,KAAAsD,gBAAkB,KACxBtD,KAAK2B,QAAU,KAAK,CAuEvB,CA7JC,cAAYG,GACV,OAAO9B,KAAKK,UAAYL,KAAKM,cAAgBN,KAAKQ,O,CAGpD,gBAAA+C,GACE,MAAMC,EAASxD,KAAKkD,GAAGO,WACvB,IAAKD,EAAQ,OAEb,MAAME,EAAcF,EAAOG,cAAc,6BACzC,MAAMC,EAAeJ,EAAOG,cAAc,8BAE1CD,GAAaG,iBAAiB,cAAc,KAC1C7D,KAAKyB,sBAAwBiC,EAAYI,mBAAmBC,OAAS,CAAC,IAExEH,GAAcC,iBAAiB,cAAc,KAC3C7D,KAAK0B,uBAAyBkC,EAAaE,mBAAmBC,OAAS,CAAC,G,CA0E5E,MAAAC,GACE,MAAMC,EAAwBjE,KAAK8B,WACnC,MAAMoC,IAAmBlE,KAAKS,KAC9B,MAAM0D,IAAoBnE,KAAKU,aAE/B,OACE0D,EAACC,EAAI,CAAArB,IAAA,2CACHsB,MAAO,CACL,YAAa,KACb,CAAC,cAActE,KAAKE,WAAY,KAChC,CAAC,cAAcF,KAAKG,QAAS,KAC7B,CAAC,cAAcH,KAAKI,SAAU,KAC9B,+BAAgC8D,GAAkBlE,KAAKyB,sBACvD,gCAAiC0C,GAAmBnE,KAAK0B,uBACzD,sBAAuB1B,KAAKK,UAAYL,KAAKM,aAC7C,qBAAsBN,KAAKQ,QAC3B,oBAAqBR,KAAKa,OAC1B,sBAAuBb,KAAKc,SAC5B,yBAA0Bd,KAAKe,WAC/B,qBAAsBf,KAAKe,YAAcf,KAAK2B,QAC9C,4BAA6B3B,KAAKmB,cAClC,6BAA8BnB,KAAKoB,eACnC,wBAAyBpB,KAAKkB,WAEhCqD,KAAMvE,KAAKuB,cAAgB,SAAQ,gBACpB0C,EAAwB,OAAS,QAAO,eACzCjE,KAAKa,OAAS2D,OAAOxE,KAAKc,UAAY2D,UACpDC,SACE1E,KAAKK,SACD,KACCL,KAAKsB,gBAAkB,KAAOkD,OAAOxE,KAAKsB,eAAiB,IAElEqD,QAAS3E,KAAK4B,YACdgD,UAAW5E,KAAK+C,cAChB8B,cAAe7E,KAAKqD,kBACpByB,YAAa9E,KAAKsD,gBAClByB,eAAgB/E,KAAKsD,gBACrB0B,gBAAiBhF,KAAKsD,iBAErBtD,KAAKO,QAAU6D,EAAA,aAAApB,IAAA,2CAAW3C,SAAU4D,IACrCG,EAAA,QAAApB,IAAA,2CAAMsB,MAAM,yBAAyBW,KAAK,cAAa,cAAa,SACpEb,EAAA,QAAApB,IAAA,2CAAMkC,KAAK,gBACRhB,GAAkBE,EAAA,QAAApB,IAAA,2CAAMsB,MAAM,4CAA4CW,KAAK,QAAQjF,KAAKS,OAE/F2D,EAAA,QAAApB,IAAA,2CAAMsB,MAAM,mBAAmBW,KAAK,SAAQb,EAAA,QAAApB,IAAA,8CAC5CoB,EAAA,QAAApB,IAAA,2CAAMkC,KAAK,iBACRf,GAAmBC,EAAA,QAAApB,IAAA,2CAAMsB,MAAM,qDAAqDW,KAAK,iBAAiBjF,KAAKU,eAEjHV,KAAKQ,SAWJ4D,EAAA,QAAApB,IAAA,2CAAMsB,MAAM,qBAAqBW,KAAK,UAAS,cAAa,QAC1Db,EAAA,QAAApB,IAAA,2CAAMkC,KAAK,UACTd,EAACe,EAAoB,CAAAnC,IAAA,2CAACsB,MAAM,iC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const n=["http:","https:","mailto:","tel:","sms:","ftp:"];function e(e){if(e==null)return undefined;const r=String(e).trim();if(!r)return undefined;const t=r.replace(/[^!-~]/g,"").toLowerCase();const o=t.indexOf(":");if(o===-1)return r;const s=t.search(/[/?#]/);if(s!==-1&&s<o)return r;return n.includes(t.slice(0,o+1))?r:undefined}const r="noopener,noreferrer";const t="noopener noreferrer";export{
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
const n=["http:","https:","mailto:","tel:","sms:","ftp:"];function e(e){if(e==null)return undefined;const r=String(e).trim();if(!r)return undefined;const t=r.replace(/[^!-~]/g,"").toLowerCase();const o=t.indexOf(":");if(o===-1)return r;const s=t.search(/[/?#]/);if(s!==-1&&s<o)return r;return n.includes(t.slice(0,o+1))?r:undefined}const r="noopener,noreferrer";const t="noopener noreferrer";export{t as S,r as a,e as s};
|
|
2
|
+
//# sourceMappingURL=p-BdEoSBtL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SAFE_SCHEMES","sanitizeHref","value","undefined","href","String","trim","probe","replace","toLowerCase","colon","indexOf","separator","search","includes","slice","SAFE_WINDOW_FEATURES","SAFE_LINK_REL"],"sources":["src/utils/url.ts"],"sourcesContent":["/**\n * URL safety for components that expose an `href` prop.\n *\n * Every `href` is consumer-supplied, and consumers routinely bind it to data\n * they didn't author (a CMS field, an API response, a row of user records).\n * A `javascript:` or `data:` URL in that position executes script the moment\n * the link is followed — in the consumer's origin, with their session. The\n * component is the last place that can stop it, because static analysis of\n * *this* repo never sees the untrusted value: it enters at the API boundary.\n *\n * Allowlist, not denylist. A denylist has to anticipate every dangerous\n * scheme (`javascript:`, `data:`, `vbscript:`, `blob:`, browser-specific\n * ones); an allowlist only has to name the handful that navigation needs.\n */\n\n/** Schemes a link is allowed to navigate to. Everything else is dropped. */\nconst SAFE_SCHEMES = ['http:', 'https:', 'mailto:', 'tel:', 'sms:', 'ftp:'];\n\n/**\n * Return `value` when it is safe to navigate to, otherwise `undefined`.\n *\n * Relative URLs (`/path`, `?q=1`, `#anchor`) and protocol-relative ones\n * (`//host/path`) pass through — they inherit the page's origin and scheme\n * and cannot introduce a new one.\n *\n * The returned string is the caller's original value (trimmed), never a\n * normalised or re-encoded one: rewriting a URL that was already safe risks\n * breaking query strings and fragments that consumers depend on.\n */\nexport function sanitizeHref(value: string | null | undefined): string | undefined {\n if (value == null) return undefined;\n\n const href = String(value).trim();\n if (!href) return undefined;\n\n /* Scheme detection runs on a stripped copy, because URL parsing drops ASCII\n whitespace and control characters that sit *inside* the scheme. Without\n this step a tab or newline spliced into \"javascript:\" reads as an unknown\n scheme here while still navigating in the browser.\n\n `[^!-~]` keeps only printable, non-space ASCII (0x21-0x7E) — which covers\n every character legal in a scheme — and drops spaces, tabs, newlines,\n control characters and non-ASCII alike. The stripped copy is used solely\n to decide; the original is what gets returned. */\n const probe = href.replace(/[^!-~]/g, '').toLowerCase();\n\n const colon = probe.indexOf(':');\n if (colon === -1) return href; // no scheme at all — relative\n\n /* A colon that appears after the first `/`, `?` or `#` belongs to the path,\n query or fragment, not to a scheme: `/a:b`, `?x=1:2` and `#a:b` are all\n relative URLs. */\n const separator = probe.search(/[/?#]/);\n if (separator !== -1 && separator < colon) return href;\n\n return SAFE_SCHEMES.includes(probe.slice(0, colon + 1)) ? href : undefined;\n}\n\n/**\n * `window.open` features that sever the opener relationship.\n *\n * Without `noopener` the opened page can reach back through `window.opener`\n * and navigate the page that opened it — reverse tabnabbing, which turns any\n * outbound link into a phishing vector. `noreferrer` implies `noopener` and\n * additionally withholds the `Referer` header; it is included because the\n * components that already opened links correctly used both, and a library\n * should not leak the embedding URL to third parties by default.\n *\n * `_self`, `_top` and `_parent` keep their meaning when these are set; every\n * other target name behaves as `_blank`.\n */\nexport const SAFE_WINDOW_FEATURES = 'noopener,noreferrer';\n\n/**\n * `rel` value for a rendered anchor that opens in a new browsing context.\n *\n * Modern browsers imply `noopener` for `target=\"_blank\"`, but the guarantee\n * only holds for that exact target — a named target (`target=\"preview\"`) still\n * hands over `window.opener`, so the attribute is set explicitly.\n */\nexport const SAFE_LINK_REL = 'noopener noreferrer';\n"],"mappings":"AAgBA,MAAMA,EAAe,CAAC,QAAS,SAAU,UAAW,OAAQ,OAAQ,QAa9D,SAAUC,EAAaC,GAC3B,GAAIA,GAAS,KAAM,OAAOC,UAE1B,MAAMC,EAAOC,OAAOH,GAAOI,OAC3B,IAAKF,EAAM,OAAOD,UAWlB,MAAMI,EAAQH,EAAKI,QAAQ,UAAW,IAAIC,cAE1C,MAAMC,EAAQH,EAAMI,QAAQ,KAC5B,GAAID,KAAU,EAAI,OAAON,EAKzB,MAAMQ,EAAYL,EAAMM,OAAO,SAC/B,GAAID,KAAc,GAAMA,EAAYF,EAAO,OAAON,EAElD,OAAOJ,EAAac,SAASP,EAAMQ,MAAM,EAAGL,EAAQ,IAAMN,EAAOD,SACnE,CAeO,MAAMa,EAAuB,sBAS7B,MAAMC,EAAgB,6B","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as t,c as s,h as i,d as n,t as r}from"./p-MWBNn6Lj.js";const a=()=>`:host{display:block;position:fixed;z-index:auto;pointer-events:none}:host(.md-menu--open){pointer-events:auto}.md-menu__surface{background-color:var(--md-sys-color-surface-container, #F7F2FA);border-radius:var(--md-sys-shape-corner-small, 8px);box-shadow:0 1px 2px rgba(0, 0, 0, 0.3), 0 2px 6px 2px rgba(0, 0, 0, 0.15);min-width:var(--md-menu-min-width, 112px);max-width:min( var(--md-menu-max-width, 100vw), calc(100vw - 2 * var(--md-menu-viewport-margin, 8px)) );padding:var(--md-sys-spacing-inset-xs, 4px) 0;overflow:visible;opacity:0;transform:scaleY(0.8);transform-origin:top left;transition:opacity var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)), transform var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(.md-menu--open) .md-menu__surface{opacity:1;transform:none}:host(.md-menu--closing) .md-menu__surface{opacity:0;transform:scaleY(0.8);transition:opacity var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15)), transform var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15))}:host(.md-menu--closing){pointer-events:none}:host(.md-menu--quick) .md-menu__surface{transition:none}:host(.md-menu--inline-fill){position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0;block-size:100%;inline-size:100%;pointer-events:auto}:host(.md-menu--inline-fill) .md-menu__surface{flex:1 1 auto;block-size:100%;min-block-size:0;min-inline-size:100%;max-inline-size:none;display:flex;flex-direction:column;overflow:hidden;box-shadow:none;border:none;outline:none;padding:0;border-radius:0;border-end-start-radius:var(--md-menu-inline-fill-radius-end, 0);border-end-end-radius:var(--md-menu-inline-fill-radius-end, 0);background-color:var(--md-menu-inline-surface-color, transparent)}:host(.md-menu--inline-fill) .md-menu__scroll-shadow{flex:1 1 auto;min-block-size:0;block-size:100%}:host(.md-menu--inline-fill) .md-menu__surface ::slotted(md-menu-item:last-child){border-end-start-radius:var(--md-menu-inline-fill-radius-end, 0);border-end-end-radius:var(--md-menu-inline-fill-radius-end, 0)}:host(.md-menu--scroll):not(.md-menu--has-submenu) .md-menu__surface{overflow:hidden}:host(.md-menu--scroll) .md-menu__scroll-shadow{min-block-size:0}.md-menu__scroll-shadow{overflow-y:auto;overflow-anchor:none}:host([match-anchor-width]) .md-menu__surface{max-width:calc(100vw - 2 * var(--md-menu-viewport-margin, 8px));box-sizing:border-box}:host(:not(.md-menu--has-submenu):not(.md-menu--inline-fill):not(.md-menu--scroll)) .md-menu__surface{max-height:calc(100dvh - 2 * var(--md-menu-viewport-margin, 8px));overflow-y:auto;overscroll-behavior:contain}@media (max-width: 600px){:host(.md-menu--responsive) .md-menu__surface{width:calc(100vw - 2 * var(--md-menu-viewport-margin, 8px));min-width:0;max-width:none;box-sizing:border-box}}:host([placement="bottom-start"]) .md-menu__surface{transform-origin:top left}:host([placement="bottom-end"]) .md-menu__surface{transform-origin:top right}:host([placement="top-start"]) .md-menu__surface{transform-origin:bottom left}:host([placement="top-end"]) .md-menu__surface{transform-origin:bottom right}:host(.md-menu--standard) .md-menu__surface{background-color:var(--md-sys-color-surface-container-low, #F7F2FA);border-radius:var(--md-sys-shape-corner-large, 16px);box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 4px 8px 3px rgba(0, 0, 0, 0.08);padding:var(--md-sys-spacing-inset-xs, 4px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item){border-radius:var(--md-sys-shape-corner-small, 8px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:first-child),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:first-child){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:last-child),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:last-child){border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:hover),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:hover){border-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:active),:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item.md-menu-item--selected),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:active){border-radius:var(--md-sys-shape-corner-medium, 12px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:first-child:hover),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:first-child:hover){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-end-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:last-child:hover),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:last-child:hover){border-start-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-start-end-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--vibrant) .md-menu__surface{background-color:var(--md-sys-color-tertiary-container, #FFD8E4);border-radius:var(--md-sys-shape-corner-large, 16px);box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 4px 8px 3px rgba(0, 0, 0, 0.08);padding:var(--md-sys-spacing-inset-xs, 4px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item){border-radius:var(--md-sys-shape-corner-small, 8px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:first-child),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:first-child){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:last-child),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:last-child){border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:hover),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:hover){border-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:active),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item.md-menu-item--selected),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:active){border-radius:var(--md-sys-shape-corner-medium, 12px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:first-child:hover),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:first-child:hover){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-end-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:last-child:hover),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:last-child:hover){border-start-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-start-end-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--gap) .md-menu__surface{gap:var(--md-sys-spacing-gap-xs, 4px);display:flex;flex-direction:column}:host(.md-menu--grouped.md-menu--gap.md-menu--standard) .md-menu__surface,:host(.md-menu--grouped.md-menu--gap.md-menu--vibrant) .md-menu__surface{background-color:transparent;box-shadow:none;overflow:visible;display:flex;flex-direction:column;gap:var(--md-menu-group-gap, 4px);padding:0;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.1))}:host(.md-menu--grouped.md-menu--gap) .md-menu__surface ::slotted(md-menu-item-group),:host(.md-menu--grouped.md-menu--gap) .md-menu__scroll-shadow ::slotted(md-menu-item-group){flex-shrink:0}:host(.md-menu--grouped.md-menu--gap) .md-menu__scroll-shadow{display:flex;flex-direction:column;row-gap:var(--md-menu-group-gap, 4px)}:host(.md-menu--sectioned.md-menu--baseline) .md-menu__surface ::slotted([gap]){margin-bottom:var(--md-menu-section-gap, 2px)}.md-menu__empty{display:none;padding:var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px);font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:var(--md-sys-typescale-body-medium-size, 14px);line-height:var(--md-sys-typescale-body-medium-line-height, 20px);color:var(--md-sys-color-on-surface-variant, #49454F);text-align:center}:host(.md-menu--empty) .md-menu__empty{display:block}: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 d=150;const o=500;const m=8;const u=600;const h=new Set(["button","combobox","link","menuitem","tab","treeitem","checkbox","gridcell","row","rowheader","columnheader"]);const c=new Set(["BUTTON","SUMMARY"]);let l=0;const f=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.mdOpen=s(this,"mdOpen",1);this.mdClose=s(this,"mdClose",1);this.open=false;this.anchor="";this.placement="bottom-start";this.quick=false;this.variant="baseline";this.layout="standard";this.useGap=false;this.emptyText="";this.matchAnchorWidth=false;this.responsive=false;this.persistent=false;this.autoFocus=true;this.closing=false;this.sectioned=false;this.empty=false;this.hasSubmenu=false;this.focusedIndex=-1;this.navSeq=0;this.ringedIndex=-1;this.skipAutoFocus=false;this.menuId=`md-menu-${++l}`;this.typeaheadBuffer="";this.keyboardModality=false;this.openedViaKeyboard=false;this.listboxMode=false;this.listbox=false;this.density=0;this.trackKeyboardModality=()=>{this.keyboardModality=true};this.trackPointerModality=()=>{this.keyboardModality=false};this.lastSurfaceSize="";this.handleOutsideClick=e=>{if(this.persistent)return;const t=e.composedPath();if(!t.includes(this.el)){this.close()}};this.handleDocumentKeyDown=e=>{if(e.key==="Escape"&&this.open){this.close();this.restoreFocusToAnchor()}};this.handleScroll=()=>{if(this.open&&!this.closing){this.positionMenu()}};this.handleSlotChange=()=>{this.updateSections();this.propagateVariant();this.wireItemObserver();this.updateEmpty();this.hasSubmenu=!!this.el.querySelector("md-sub-menu-item")}}get asListbox(){return this.listbox||this.listboxMode}async setComboboxElement(e){if(this.comboboxEl&&this.comboboxEl!==e){this.comboboxEl.removeAttribute("aria-activedescendant")}this.comboboxEl=e??undefined}connectedCallback(){if(typeof document==="undefined")return;document.addEventListener("keydown",this.trackKeyboardModality,true);document.addEventListener("pointerdown",this.trackPointerModality,true)}componentDidLoad(){if(this.open){this.applyDepthZIndex()}this.wireItemObserver();this.updateEmpty();this.propagateVariant()}onEmptyTextChange(){this.updateEmpty()}onVariantChange(){this.propagateVariant()}async setVirtualProvider(e){this.provider=e??undefined;this.listboxMode=!!this.provider}async getScrollViewport(){return this.el.shadowRoot?.querySelector(".md-menu__scroll-shadow")??null}async show(e){clearTimeout(this.closeTimer);this.closing=false;if(this.anchor)this.collapseSubmenus();this.skipAutoFocus=e?.autoFocus===false;this.open=true;this.applyDepthZIndex()}async reposition(){if(this.open)this.positionMenu()}async close(){if(!this.open||this.closing)return;if(this.quick){this.open=false;return}this.closing=true;this.closeTimer=setTimeout((()=>{this.closing=false;this.open=false}),d)}onOpenChange(e){if(e){this.openedViaKeyboard=this.keyboardModality;this.dismissPeerMenus();this.applyDepthZIndex();requestAnimationFrame((()=>this.positionMenu()));this.mdOpen.emit();this.updateAnchorAria(true);if(this.anchor){requestAnimationFrame((()=>{document.addEventListener("click",this.handleOutsideClick);document.addEventListener("keydown",this.handleDocumentKeyDown)}));window.addEventListener("scroll",this.handleScroll,true);window.addEventListener("resize",this.handleScroll);this.observeSurfaceResize()}if(this.skipAutoFocus||!this.autoFocus){this.scheduleFocus((()=>this.initRovingTabindex()))}else{this.scheduleFocus((()=>this.focusFirstItem()))}this.skipAutoFocus=false}else{this.mdClose.emit();this.focusedIndex=-1;this.updateAnchorAria(false);this.resetRovingTabindex();this.collapseSubmenus();if(this.anchor){document.removeEventListener("click",this.handleOutsideClick);document.removeEventListener("keydown",this.handleDocumentKeyDown);window.removeEventListener("scroll",this.handleScroll,true);window.removeEventListener("resize",this.handleScroll)}this.unobserveSurfaceResize()}}observeSurfaceResize(){if(typeof ResizeObserver==="undefined")return;const e=this.el.shadowRoot?.querySelector(".md-menu__surface");if(!e)return;this.lastSurfaceSize="";this.surfaceRO=new ResizeObserver((e=>{if(!this.open)return;const t=e[e.length-1]?.contentRect;if(!t)return;const s=`${Math.round(t.width)}x${Math.round(t.height)}`;if(s===this.lastSurfaceSize)return;this.lastSurfaceSize=s;this.positionMenu()}));this.surfaceRO.observe(e)}unobserveSurfaceResize(){this.surfaceRO?.disconnect();this.surfaceRO=undefined}handleFocusIn(e){if(!this.open)return;const t=e.target;if(this.provider){const e=t.closest("md-menu-item");const s=e?.getAttribute("data-vindex");if(e&&s!=null){const t=parseInt(s,10);if(!isNaN(t)&&t!==this.focusedIndex){const s=this.focusedIndex>=0?this.provider.domItemForIndex(this.focusedIndex):null;s?.setAttribute("tabindex","-1");this.focusedIndex=t;e.setAttribute("tabindex","0");if(this.ringedIndex>=0&&this.ringedIndex!==t){const e=this.provider.domItemForIndex(this.ringedIndex);e?.removeAttribute("data-md-focused")}this.ringedIndex=-1}}return}const s=this.getMenuItems();const i=s.indexOf(t);if(i>=0&&i!==this.focusedIndex){if(this.focusedIndex>=0&&this.focusedIndex<s.length){s[this.focusedIndex].setAttribute("tabindex","-1")}this.focusedIndex=i;t.setAttribute("tabindex","0")}}handleKeyDown(e){if(!this.open)return;const t=e.target;if(t&&t.closest("md-menu")!==this.el)return;if(this.provider){this.handleKeyDownVirtual(e);return}const s=this.getMenuItems();if(!s.length)return;switch(e.key){case"ArrowDown":e.preventDefault();this.focusItem(s,this.focusedIndex+1);break;case"ArrowUp":e.preventDefault();this.focusItem(s,this.focusedIndex-1);break;case"Home":e.preventDefault();this.focusItem(s,0);break;case"End":e.preventDefault();this.focusItem(s,s.length-1);break;case"Escape":e.preventDefault();this.close();this.restoreFocusToAnchor();break;case"Tab":e.stopPropagation();this.closeEntireMenuTree();this.restoreFocusToAnchor();break;default:if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.shiftKey){this.handleTypeahead(e.key,s)}break}}handleKeyDownVirtual(e){const t=this.provider;const s=t.count();const i=e.target?.tagName==="INPUT";switch(e.key){case"ArrowDown":e.preventDefault();this.focusVirtual(this.nextEnabled(this.focusedIndex,1,s));break;case"ArrowUp":e.preventDefault();this.focusVirtual(this.nextEnabled(this.focusedIndex,-1,s));break;case"Home":e.preventDefault();this.focusVirtual(this.nextEnabled(-1,1,s));break;case"End":e.preventDefault();this.focusVirtual(this.nextEnabled(s,-1,s));break;case"Enter":if(this.comboboxEl&&this.focusedIndex>=0){e.preventDefault();this.provider.domItemForIndex(this.focusedIndex)?.click()}break;case"Escape":e.preventDefault();this.close();this.restoreFocusToAnchor();break;case"Tab":e.stopPropagation();this.closeEntireMenuTree();this.restoreFocusToAnchor();break;default:if(!i&&e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.shiftKey){this.handleTypeaheadVirtual(e.key)}break}}nextEnabled(e,t,s){if(s<=0)return-1;let i=e;for(let e=0;e<s;e++){i+=t;if(i<0)i=s-1;else if(i>=s)i=0;if(!this.provider.isDisabledAt(i))return i}return e>=0&&e<s?e:-1}async focusVirtual(e,t=true){if(e<0)return;const s=this.provider;const i=++this.navSeq;this.focusedIndex=e;await s.ensureVisible(e);if(i!==this.navSeq)return;const n=s.domItemForIndex(e);if(!n)return;if(this.ringedIndex>=0&&this.ringedIndex!==e){const e=s.domItemForIndex(this.ringedIndex);e?.setAttribute("tabindex","-1");e?.removeAttribute("data-md-focused")}if(t){n.setAttribute("data-md-focused","");this.ringedIndex=e}else{n.removeAttribute("data-md-focused");this.ringedIndex=-1}if(this.comboboxEl){n.id||(n.id=`${this.menuId}-opt-${e}`);if(n.id)this.comboboxEl.setAttribute("aria-activedescendant",n.id)}else{n.setAttribute("tabindex","0");n.focus({preventScroll:true})}}handleTypeaheadVirtual(e){clearTimeout(this.typeaheadTimer);this.typeaheadBuffer+=e.toLowerCase();this.typeaheadTimer=setTimeout((()=>{this.typeaheadBuffer=""}),o);const t=this.typeaheadBuffer.length===1?this.focusedIndex+1:this.focusedIndex;const s=this.provider.findPrefix(this.typeaheadBuffer,t<0?0:t);if(s>=0)this.focusVirtual(s)}getMenuItems(){const e=Array.from(this.el.querySelectorAll("md-menu-item, md-sub-menu-item"));return e.filter((e=>e.closest("md-menu")===this.el))}getItemLabel(e){return e.headline||e.textContent?.trim()||""}handleTypeahead(e,t){clearTimeout(this.typeaheadTimer);this.typeaheadBuffer+=e.toLowerCase();this.typeaheadTimer=setTimeout((()=>{this.typeaheadBuffer=""}),o);const s=this.typeaheadBuffer.length===1?this.focusedIndex+1:this.focusedIndex;for(let e=0;e<t.length;e++){const i=(s+e)%t.length;const n=this.getItemLabel(t[i]).toLowerCase();if(n.startsWith(this.typeaheadBuffer)){this.focusItem(t,i);return}}}focusItem(e,t,s=true){if(e.length===0)return;if(t<0)t=e.length-1;if(t>=e.length)t=0;if(this.focusedIndex>=0&&this.focusedIndex<e.length){e[this.focusedIndex].setAttribute("tabindex","-1");e[this.focusedIndex].removeAttribute("data-md-focused")}this.focusedIndex=t;e[t].setAttribute("tabindex","0");if(s){e[t].setAttribute("data-md-focused","")}else{e[t].removeAttribute("data-md-focused")}e[t].focus()}initRovingTabindex(){if(this.provider){this.focusedIndex=-1;return}const e=this.getMenuItems();e.forEach(((e,t)=>{e.setAttribute("tabindex",t===0?"0":"-1")}));this.focusedIndex=0}resetRovingTabindex(){if(this.provider){const e=this.focusedIndex>=0?this.provider.domItemForIndex(this.focusedIndex):null;e?.setAttribute("tabindex","-1");e?.removeAttribute("data-md-focused");if(this.ringedIndex>=0&&this.ringedIndex!==this.focusedIndex){const e=this.provider.domItemForIndex(this.ringedIndex);e?.setAttribute("tabindex","-1");e?.removeAttribute("data-md-focused")}this.ringedIndex=-1;this.comboboxEl?.removeAttribute("aria-activedescendant");return}const e=this.getMenuItems();e.forEach((e=>{e.setAttribute("tabindex","-1");e.removeAttribute("data-md-focused")}))}collapseSubmenus(){const e=Array.from(this.el.querySelectorAll("md-sub-menu-item"));e.forEach((e=>e.collapse?.()));const t=Array.from(this.el.querySelectorAll("md-menu-item, md-sub-menu-item"));t.forEach((e=>{e.removeAttribute("data-md-focused");e.setAttribute("tabindex","-1")}))}scheduleFocus(e){setTimeout((()=>requestAnimationFrame((()=>e()))),0)}focusFirstItem(e=3){if(this.provider){const t=this.provider.count();if(t>0){this.focusVirtual(this.nextEnabled(-1,1,t),this.openedViaKeyboard)}else if(e>0){this.scheduleFocus((()=>this.focusFirstItem(e-1)))}return}const t=this.getMenuItems();if(t.length){this.focusItem(t,0,this.openedViaKeyboard)}else if(e>0){this.scheduleFocus((()=>this.focusFirstItem(e-1)))}}getAnchorEl(e=this.anchor){if(!e)return null;const t=this.el.getRootNode();return t.getElementById?.(e)??document.getElementById(e)}updateAnchorAria(e){if(!this.anchor)return;const t=this.getAnchorEl();if(!t)return;const s=t.getAttribute("role");const i=s!==null?h.has(s):c.has(t.tagName)||t.tagName==="A"&&t.hasAttribute("href");if(e){t.setAttribute("aria-haspopup",this.asListbox?"listbox":"menu");if(!this.asListbox)t.setAttribute("aria-controls",this.menuId)}if(i)t.setAttribute("aria-expanded",e?"true":"false");else t.removeAttribute("aria-expanded")}applyDepthZIndex(){if(!this.anchor)return;this.el.style.zIndex="var(--md-sys-z-index-popup, 1000)"}positionMenu(){if(!this.anchor)return;const e=this.getAnchorEl();if(!e)return;const t=e.getBoundingClientRect();const s=this.el.shadowRoot?.querySelector(".md-menu__surface");if(!s)return;const i=4;s.style.minWidth=this.matchAnchorWidth?`${t.width}px`:"";this.el.style.top="0";this.el.style.left="0";this.el.style.right="auto";this.el.style.bottom="auto";const n=s.offsetWidth;let r=s.offsetHeight;if(n===0||r===0){requestAnimationFrame((()=>this.positionMenu()));return}const a=window.innerWidth;const d=window.innerHeight;const o=m;if(this.responsive&&a<=u){const e=s.offsetHeight;let n=t.bottom+i;if(n+e+o>d&&t.top-i-e>=o){n=t.top-i-e;s.style.transformOrigin="bottom left"}else{s.style.transformOrigin="top left"}n=Math.max(o,Math.min(n,d-e-o));this.el.style.top=`${n}px`;this.el.style.left=`${o}px`;return}let h=this.placement.startsWith("bottom")?"bottom":"top";let c=this.placement.endsWith("start")?"start":"end";const l=d-t.bottom-i-o;const f=t.top-i-o;if(h==="bottom"&&r>l){if(r<=f||this.scrollCapped&&f>l)h="top"}else if(h==="top"&&r>f){if(r<=l||this.scrollCapped&&l>f)h="bottom"}if(c==="start"&&t.left+n>a){if(t.right-n>=0)c="end"}else if(c==="end"&&t.right-n<0){if(t.left+n<=a)c="start"}if(this.scrollCapped){const e=h==="bottom"?l:f;const t=s.querySelector(".md-menu__scroll-shadow");const i=s.offsetHeight-(t?.offsetHeight??0);this.el.style.setProperty("--md-menu-avail-block",`${Math.max(48,e-i)}px`);r=s.offsetHeight}else{this.el.style.removeProperty("--md-menu-avail-block")}const p=h==="bottom"?"top":"bottom";const b=c==="start"?"left":"right";s.style.transformOrigin=`${p} ${b}`;const x=h==="bottom"?t.bottom+i:t.top-i-r;const v=c==="start"?t.left:t.right-n;const y=Math.max(o,Math.min(v,a-n-o));const g=Math.max(o,Math.min(x,d-r-o));this.el.style.top=`${g}px`;this.el.style.left=`${y}px`}restoreFocusToAnchor(){if(!this.anchor)return;const e=this.getAnchorEl();e?.focus()}closeEntireMenuTree(){let e=this.el;let t=this.el;while(t){const s=t.parentElement?.closest("md-menu");if(s){e=s;t=s}else{break}}const s=e.querySelectorAll("md-menu-item, md-sub-menu-item");s.forEach((e=>e.setAttribute("tabindex","-1")));if(e.close)e.close();const i=e.anchor;if(i){const t=e.getRootNode();const s=t.getElementById?.(i)??document.getElementById(i);s?.focus()}}dismissPeerMenus(){if(this.persistent)return;if(typeof document==="undefined")return;const e=Array.from(document.querySelectorAll("md-menu"));for(const t of e){if(t===this.el)continue;if(!t.open)continue;if(t.persistent)continue;if(t.contains(this.el))continue;if(this.el.contains(t))continue;t.close()}}isHidden(e){if(e.hasAttribute("hidden"))return true;if(e.style.display==="none")return true;return false}hasVisibleItem(e){if(this.isHidden(e))return false;const t=e.tagName.toLowerCase();if(t==="md-menu-item"||t==="md-sub-menu-item")return true;if(t==="md-menu-item-group"){return Array.from(e.children).some((e=>this.hasVisibleItem(e)))}return false}updateEmpty(){if(!this.emptyText){this.empty=false;return}const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();this.empty=!t.some((e=>this.hasVisibleItem(e)))}wireItemObserver(){this.itemObserver?.disconnect();if(typeof MutationObserver==="undefined")return;const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();if(t.length===0)return;this.itemObserver=new MutationObserver((()=>this.updateEmpty()));for(const e of t){this.itemObserver.observe(e,{attributes:true,attributeFilter:["style","hidden"],subtree:true})}}getContentSlot(){const e=this.el.shadowRoot;if(!e)return null;const t=Array.from(e.querySelectorAll("slot"));return t.find((e=>!e.getAttribute("name")))??null}propagateVariant(){const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();for(const e of t){e.setAttribute("data-variant",this.variant);if(e.tagName.toLowerCase()==="md-menu-item-group"){if(this.useGap){e.setAttribute("data-use-gap","")}else{e.removeAttribute("data-use-gap")}const t=e.querySelectorAll("md-menu-item, md-sub-menu-item");for(const e of Array.from(t)){e.setAttribute("data-variant",this.variant)}}}}updateSections(){const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();let s=false;let i=false;for(const e of t){if(i){e.setAttribute("data-after-gap","");i=false}else{e.removeAttribute("data-after-gap")}if(e.hasAttribute("gap")){s=true;i=true}}this.sectioned=s}disconnectedCallback(){document.removeEventListener("click",this.handleOutsideClick);document.removeEventListener("keydown",this.handleDocumentKeyDown);document.removeEventListener("keydown",this.trackKeyboardModality,true);document.removeEventListener("pointerdown",this.trackPointerModality,true);window.removeEventListener("scroll",this.handleScroll,true);window.removeEventListener("resize",this.handleScroll);clearTimeout(this.closeTimer);clearTimeout(this.typeaheadTimer);this.itemObserver?.disconnect();this.itemObserver=undefined;this.unobserveSurfaceResize();this.updateAnchorAria(false)}get inlineFill(){return this.el.classList.contains("md-menu--inline-fill")}get maxHeightValue(){if(this.maxHeight===undefined||this.maxHeight===null||this.maxHeight===""){return null}const e=String(this.maxHeight);return/^\d+(\.\d+)?$/.test(e)?`${e}px`:e}get scrollCapped(){return!this.hasSubmenu&&!this.inlineFill}get useScrollViewport(){return this.inlineFill||this.scrollCapped}renderMenuBody(){return[i("slot",{onSlotchange:this.handleSlotChange}),this.emptyText?i("span",{class:"md-menu__empty",part:"empty-text",role:"status"},this.emptyText):null]}render(){return i(n,{key:"349ce271693310ea70aa98cb3980029e3afa1594",class:{"md-menu":true,"md-menu--open":this.open,"md-menu--closing":this.closing,"md-menu--quick":this.quick,[`md-menu--${this.variant}`]:true,[`md-menu--${this.layout}`]:this.variant!=="baseline","md-menu--gap":this.useGap,"md-menu--sectioned":this.sectioned,"md-menu--empty":this.empty,"md-menu--responsive":this.responsive,"md-menu--has-submenu":this.hasSubmenu,"md-menu--scroll":this.scrollCapped},"aria-hidden":!this.open||this.closing?"true":"false",inert:!this.open||this.closing},i("div",{key:"9a3e0ab8f4586b4164412fe972acbbf4cbc3000a",class:"md-menu__surface",part:"surface",role:this.asListbox?"presentation":"menu",id:this.menuId,"aria-orientation":this.asListbox?undefined:"vertical","aria-labelledby":this.asListbox?undefined:this.anchor||undefined},i("slot",{key:"abf20ee5e25dfcc174f8aa45814b6603b77e1c65",name:"header"}),this.useScrollViewport?i("div",{class:"md-menu__scroll-shadow",part:"menu-viewport",tabindex:this.asListbox?"0":undefined,style:this.inlineFill?undefined:{maxBlockSize:this.maxHeightValue?`min(${this.maxHeightValue}, var(--md-menu-avail-block, 100dvh), calc(100dvh - 2 * var(--md-menu-viewport-margin, 8px)))`:`min(var(--md-menu-avail-block, 100dvh), calc(100dvh - 2 * var(--md-menu-viewport-margin, 8px)))`}},this.renderMenuBody()):this.renderMenuBody()))}get el(){return this}static get watchers(){return{emptyText:[{onEmptyTextChange:0}],variant:[{onVariantChange:0}],useGap:[{onVariantChange:0}],open:[{onOpenChange:0}]}}static get style(){return a()}},[257,"md-menu",{open:[1540],anchor:[1],placement:[513],quick:[4],variant:[513],layout:[513],useGap:[516,"use-gap"],emptyText:[1,"empty-text"],matchAnchorWidth:[516,"match-anchor-width"],responsive:[516],persistent:[516],autoFocus:[516,"auto-focus"],maxHeight:[8,"max-height"],listLabel:[1,"list-label"],listbox:[516],density:[514],closing:[32],sectioned:[32],empty:[32],hasSubmenu:[32],listboxMode:[32],setComboboxElement:[64],setVirtualProvider:[64],getScrollViewport:[64],show:[64],reposition:[64],close:[64]},[[0,"focusin","handleFocusIn"],[0,"keydown","handleKeyDown"]],{emptyText:[{onEmptyTextChange:0}],variant:[{onVariantChange:0}],useGap:[{onVariantChange:0}],open:[{onOpenChange:0}]}]);function p(){if(typeof customElements==="undefined"){return}const e=["md-menu"];e.forEach((e=>{switch(e){case"md-menu":if(!customElements.get(r(e))){customElements.define(r(e),f)}break}}))}p();export{f as M,p as d};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{p as e,H as t,c as s,h as i,d as n,t as r}from"./p-bSpXNc5J.js";const a=()=>`:host{display:block;position:fixed;z-index:auto;pointer-events:none}:host(.md-menu--open){pointer-events:auto}.md-menu__surface{background-color:var(--md-sys-color-surface-container, #F7F2FA);border-radius:var(--md-sys-shape-corner-small, 8px);box-shadow:0 1px 2px rgba(0, 0, 0, 0.3), 0 2px 6px 2px rgba(0, 0, 0, 0.15);min-width:var(--md-menu-min-width, 112px);max-width:min( var(--md-menu-max-width, 100vw), calc(100vw - 2 * var(--md-menu-viewport-margin, 8px)) );padding:var(--md-sys-spacing-inset-xs, 4px) 0;overflow:visible;opacity:0;transform:scaleY(0.8);transform-origin:top left;transition:opacity var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1)), transform var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-decelerate, cubic-bezier(0.05, 0.7, 0.1, 1))}:host(.md-menu--open) .md-menu__surface{opacity:1;transform:none}:host(.md-menu--closing) .md-menu__surface{opacity:0;transform:scaleY(0.8);transition:opacity var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15)), transform var(--md-sys-motion-duration-short3, 150ms) var(--md-sys-motion-easing-emphasized-accelerate, cubic-bezier(0.3, 0, 0.8, 0.15))}:host(.md-menu--closing){pointer-events:none}:host(.md-menu--quick) .md-menu__surface{transition:none}:host(.md-menu--inline-fill){position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0;block-size:100%;inline-size:100%;pointer-events:auto}:host(.md-menu--inline-fill) .md-menu__surface{flex:1 1 auto;block-size:100%;min-block-size:0;min-inline-size:100%;max-inline-size:none;display:flex;flex-direction:column;overflow:hidden;box-shadow:none;border:none;outline:none;padding:0;border-radius:0;border-end-start-radius:var(--md-menu-inline-fill-radius-end, 0);border-end-end-radius:var(--md-menu-inline-fill-radius-end, 0);background-color:var(--md-menu-inline-surface-color, transparent)}:host(.md-menu--inline-fill) .md-menu__scroll-shadow{flex:1 1 auto;min-block-size:0;block-size:100%}:host(.md-menu--inline-fill) .md-menu__surface ::slotted(md-menu-item:last-child){border-end-start-radius:var(--md-menu-inline-fill-radius-end, 0);border-end-end-radius:var(--md-menu-inline-fill-radius-end, 0)}:host(.md-menu--scroll):not(.md-menu--has-submenu) .md-menu__surface{overflow:hidden}:host(.md-menu--scroll) .md-menu__scroll-shadow{min-block-size:0}.md-menu__scroll-shadow{overflow-y:auto;overflow-anchor:none}:host([match-anchor-width]) .md-menu__surface{max-width:calc(100vw - 2 * var(--md-menu-viewport-margin, 8px));box-sizing:border-box}:host(:not(.md-menu--has-submenu):not(.md-menu--inline-fill):not(.md-menu--scroll)) .md-menu__surface{max-height:calc(100dvh - 2 * var(--md-menu-viewport-margin, 8px));overflow-y:auto;overscroll-behavior:contain}@media (max-width: 600px){:host(.md-menu--responsive) .md-menu__surface{width:calc(100vw - 2 * var(--md-menu-viewport-margin, 8px));min-width:0;max-width:none;box-sizing:border-box}}:host([placement="bottom-start"]) .md-menu__surface{transform-origin:top left}:host([placement="bottom-end"]) .md-menu__surface{transform-origin:top right}:host([placement="top-start"]) .md-menu__surface{transform-origin:bottom left}:host([placement="top-end"]) .md-menu__surface{transform-origin:bottom right}:host(.md-menu--standard) .md-menu__surface{background-color:var(--md-sys-color-surface-container-low, #F7F2FA);border-radius:var(--md-sys-shape-corner-large, 16px);box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 4px 8px 3px rgba(0, 0, 0, 0.08);padding:var(--md-sys-spacing-inset-xs, 4px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item){border-radius:var(--md-sys-shape-corner-small, 8px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:first-child),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:first-child){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:last-child),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:last-child){border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:hover),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:hover){border-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:active),:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item.md-menu-item--selected),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:active){border-radius:var(--md-sys-shape-corner-medium, 12px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:first-child:hover),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:first-child:hover){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-end-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--standard) .md-menu__surface ::slotted(md-menu-item:last-child:hover),:host(.md-menu--standard) .md-menu__surface ::slotted(md-sub-menu-item:last-child:hover){border-start-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-start-end-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--vibrant) .md-menu__surface{background-color:var(--md-sys-color-tertiary-container, #FFD8E4);border-radius:var(--md-sys-shape-corner-large, 16px);box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 4px 8px 3px rgba(0, 0, 0, 0.08);padding:var(--md-sys-spacing-inset-xs, 4px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item){border-radius:var(--md-sys-shape-corner-small, 8px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:first-child),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:first-child){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:last-child),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:last-child){border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:hover),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:hover){border-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:active),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item.md-menu-item--selected),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:active){border-radius:var(--md-sys-shape-corner-medium, 12px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:first-child:hover),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:first-child:hover){border-start-start-radius:var(--md-sys-shape-corner-large, 16px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-end-radius:var(--md-sys-shape-corner-extra-small, 4px)}:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-menu-item:last-child:hover),:host(.md-menu--vibrant) .md-menu__surface ::slotted(md-sub-menu-item:last-child:hover){border-start-start-radius:var(--md-sys-shape-corner-extra-small, 4px);border-start-end-radius:var(--md-sys-shape-corner-extra-small, 4px);border-end-start-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px)}:host(.md-menu--gap) .md-menu__surface{gap:var(--md-sys-spacing-gap-xs, 4px);display:flex;flex-direction:column}:host(.md-menu--grouped.md-menu--gap.md-menu--standard) .md-menu__surface,:host(.md-menu--grouped.md-menu--gap.md-menu--vibrant) .md-menu__surface{background-color:transparent;box-shadow:none;overflow:visible;display:flex;flex-direction:column;gap:var(--md-menu-group-gap, 4px);padding:0;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.1))}:host(.md-menu--grouped.md-menu--gap) .md-menu__surface ::slotted(md-menu-item-group),:host(.md-menu--grouped.md-menu--gap) .md-menu__scroll-shadow ::slotted(md-menu-item-group){flex-shrink:0}:host(.md-menu--grouped.md-menu--gap) .md-menu__scroll-shadow{display:flex;flex-direction:column;row-gap:var(--md-menu-group-gap, 4px)}:host(.md-menu--sectioned.md-menu--baseline) .md-menu__surface ::slotted([gap]){margin-bottom:var(--md-menu-section-gap, 2px)}.md-menu__empty{display:none;padding:var(--md-sys-spacing-inset-md, 12px) var(--md-sys-spacing-inset-lg, 16px);font-family:var(--md-sys-typescale-body-medium-font-family, Roboto, sans-serif);font-size:var(--md-sys-typescale-body-medium-size, 14px);line-height:var(--md-sys-typescale-body-medium-line-height, 20px);color:var(--md-sys-color-on-surface-variant, #49454F);text-align:center}:host(.md-menu--empty) .md-menu__empty{display:block}: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 d=150;const o=500;const m=8;const u=600;const h=new Set(["button","combobox","link","menuitem","tab","treeitem","checkbox","gridcell","row","rowheader","columnheader"]);const c=new Set(["BUTTON","SUMMARY"]);let l=0;const f=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.mdOpen=s(this,"mdOpen",1);this.mdClose=s(this,"mdClose",1);this.open=false;this.anchor="";this.placement="bottom-start";this.quick=false;this.variant="baseline";this.layout="standard";this.useGap=false;this.emptyText="";this.matchAnchorWidth=false;this.responsive=false;this.persistent=false;this.autoFocus=true;this.closing=false;this.sectioned=false;this.empty=false;this.hasSubmenu=false;this.focusedIndex=-1;this.navSeq=0;this.ringedIndex=-1;this.skipAutoFocus=false;this.menuId=`md-menu-${++l}`;this.typeaheadBuffer="";this.keyboardModality=false;this.openedViaKeyboard=false;this.listboxMode=false;this.listbox=false;this.density=0;this.trackKeyboardModality=()=>{this.keyboardModality=true};this.trackPointerModality=()=>{this.keyboardModality=false};this.lastSurfaceSize="";this.handleOutsideClick=e=>{if(this.persistent)return;const t=e.composedPath();if(!t.includes(this.el)){this.close()}};this.handleDocumentKeyDown=e=>{if(e.key==="Escape"&&this.open){this.close();this.restoreFocusToAnchor()}};this.handleScroll=()=>{if(this.open&&!this.closing){this.positionMenu()}};this.handleSlotChange=()=>{this.updateSections();this.propagateVariant();this.wireItemObserver();this.updateEmpty();this.hasSubmenu=!!this.el.querySelector("md-sub-menu-item")}}get asListbox(){return this.listbox||this.listboxMode}async setComboboxElement(e){if(this.comboboxEl&&this.comboboxEl!==e){this.comboboxEl.removeAttribute("aria-activedescendant")}this.comboboxEl=e??undefined}connectedCallback(){if(typeof document==="undefined")return;document.addEventListener("keydown",this.trackKeyboardModality,true);document.addEventListener("pointerdown",this.trackPointerModality,true)}componentDidLoad(){if(this.open){this.applyDepthZIndex()}this.wireItemObserver();this.updateEmpty();this.propagateVariant()}onEmptyTextChange(){this.updateEmpty()}onVariantChange(){this.propagateVariant()}async setVirtualProvider(e){this.provider=e??undefined;this.listboxMode=!!this.provider}async getScrollViewport(){return this.el.shadowRoot?.querySelector(".md-menu__scroll-shadow")??null}async show(e){clearTimeout(this.closeTimer);this.closing=false;if(this.anchor)this.collapseSubmenus();this.skipAutoFocus=e?.autoFocus===false;this.open=true;this.applyDepthZIndex()}async reposition(){if(this.open)this.positionMenu()}async close(){if(!this.open||this.closing)return;if(this.quick){this.open=false;return}this.closing=true;this.closeTimer=setTimeout((()=>{this.closing=false;this.open=false}),d)}onOpenChange(e){if(e){this.openedViaKeyboard=this.keyboardModality;this.dismissPeerMenus();this.applyDepthZIndex();requestAnimationFrame((()=>this.positionMenu()));this.mdOpen.emit();this.updateAnchorAria(true);if(this.anchor){requestAnimationFrame((()=>{document.addEventListener("click",this.handleOutsideClick);document.addEventListener("keydown",this.handleDocumentKeyDown)}));window.addEventListener("scroll",this.handleScroll,true);window.addEventListener("resize",this.handleScroll);this.observeSurfaceResize()}if(this.skipAutoFocus||!this.autoFocus){this.scheduleFocus((()=>this.initRovingTabindex()))}else{this.scheduleFocus((()=>this.focusFirstItem()))}this.skipAutoFocus=false}else{this.mdClose.emit();this.focusedIndex=-1;this.updateAnchorAria(false);this.resetRovingTabindex();this.collapseSubmenus();if(this.anchor){document.removeEventListener("click",this.handleOutsideClick);document.removeEventListener("keydown",this.handleDocumentKeyDown);window.removeEventListener("scroll",this.handleScroll,true);window.removeEventListener("resize",this.handleScroll)}this.unobserveSurfaceResize()}}observeSurfaceResize(){if(typeof ResizeObserver==="undefined")return;const e=this.el.shadowRoot?.querySelector(".md-menu__surface");if(!e)return;this.lastSurfaceSize="";this.surfaceRO=new ResizeObserver((e=>{if(!this.open)return;const t=e[e.length-1]?.contentRect;if(!t)return;const s=`${Math.round(t.width)}x${Math.round(t.height)}`;if(s===this.lastSurfaceSize)return;this.lastSurfaceSize=s;this.positionMenu()}));this.surfaceRO.observe(e)}unobserveSurfaceResize(){this.surfaceRO?.disconnect();this.surfaceRO=undefined}handleFocusIn(e){if(!this.open)return;const t=e.target;if(this.provider){const e=t.closest("md-menu-item");const s=e?.getAttribute("data-vindex");if(e&&s!=null){const t=parseInt(s,10);if(!isNaN(t)&&t!==this.focusedIndex){const s=this.focusedIndex>=0?this.provider.domItemForIndex(this.focusedIndex):null;s?.setAttribute("tabindex","-1");this.focusedIndex=t;e.setAttribute("tabindex","0");if(this.ringedIndex>=0&&this.ringedIndex!==t){const e=this.provider.domItemForIndex(this.ringedIndex);e?.removeAttribute("data-md-focused")}this.ringedIndex=-1}}return}const s=this.getMenuItems();const i=s.indexOf(t);if(i>=0&&i!==this.focusedIndex){if(this.focusedIndex>=0&&this.focusedIndex<s.length){s[this.focusedIndex].setAttribute("tabindex","-1")}this.focusedIndex=i;t.setAttribute("tabindex","0")}}handleKeyDown(e){if(!this.open)return;const t=e.target;if(t&&t.closest("md-menu")!==this.el)return;if(this.provider){this.handleKeyDownVirtual(e);return}const s=this.getMenuItems();if(!s.length)return;switch(e.key){case"ArrowDown":e.preventDefault();this.focusItem(s,this.focusedIndex+1);break;case"ArrowUp":e.preventDefault();this.focusItem(s,this.focusedIndex-1);break;case"Home":e.preventDefault();this.focusItem(s,0);break;case"End":e.preventDefault();this.focusItem(s,s.length-1);break;case"Escape":e.preventDefault();this.close();this.restoreFocusToAnchor();break;case"Tab":e.stopPropagation();this.closeEntireMenuTree();this.restoreFocusToAnchor();break;default:if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.shiftKey){this.handleTypeahead(e.key,s)}break}}handleKeyDownVirtual(e){const t=this.provider;const s=t.count();const i=e.target?.tagName==="INPUT";switch(e.key){case"ArrowDown":e.preventDefault();this.focusVirtual(this.nextEnabled(this.focusedIndex,1,s));break;case"ArrowUp":e.preventDefault();this.focusVirtual(this.nextEnabled(this.focusedIndex,-1,s));break;case"Home":e.preventDefault();this.focusVirtual(this.nextEnabled(-1,1,s));break;case"End":e.preventDefault();this.focusVirtual(this.nextEnabled(s,-1,s));break;case"Enter":if(this.comboboxEl&&this.focusedIndex>=0){e.preventDefault();this.provider.domItemForIndex(this.focusedIndex)?.click()}break;case"Escape":e.preventDefault();this.close();this.restoreFocusToAnchor();break;case"Tab":e.stopPropagation();this.closeEntireMenuTree();this.restoreFocusToAnchor();break;default:if(!i&&e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.shiftKey){this.handleTypeaheadVirtual(e.key)}break}}nextEnabled(e,t,s){if(s<=0)return-1;let i=e;for(let e=0;e<s;e++){i+=t;if(i<0)i=s-1;else if(i>=s)i=0;if(!this.provider.isDisabledAt(i))return i}return e>=0&&e<s?e:-1}async focusVirtual(e,t=true){if(e<0)return;const s=this.provider;const i=++this.navSeq;this.focusedIndex=e;await s.ensureVisible(e);if(i!==this.navSeq)return;const n=s.domItemForIndex(e);if(!n)return;if(this.ringedIndex>=0&&this.ringedIndex!==e){const e=s.domItemForIndex(this.ringedIndex);e?.setAttribute("tabindex","-1");e?.removeAttribute("data-md-focused")}if(t){n.setAttribute("data-md-focused","");this.ringedIndex=e}else{n.removeAttribute("data-md-focused");this.ringedIndex=-1}if(this.comboboxEl){n.id||(n.id=`${this.menuId}-opt-${e}`);if(n.id)this.comboboxEl.setAttribute("aria-activedescendant",n.id)}else{n.setAttribute("tabindex","0");n.focus({preventScroll:true})}}handleTypeaheadVirtual(e){clearTimeout(this.typeaheadTimer);this.typeaheadBuffer+=e.toLowerCase();this.typeaheadTimer=setTimeout((()=>{this.typeaheadBuffer=""}),o);const t=this.typeaheadBuffer.length===1?this.focusedIndex+1:this.focusedIndex;const s=this.provider.findPrefix(this.typeaheadBuffer,t<0?0:t);if(s>=0)this.focusVirtual(s)}getMenuItems(){const e=Array.from(this.el.querySelectorAll("md-menu-item, md-sub-menu-item"));return e.filter((e=>e.closest("md-menu")===this.el))}getItemLabel(e){return e.headline||e.textContent?.trim()||""}handleTypeahead(e,t){clearTimeout(this.typeaheadTimer);this.typeaheadBuffer+=e.toLowerCase();this.typeaheadTimer=setTimeout((()=>{this.typeaheadBuffer=""}),o);const s=this.typeaheadBuffer.length===1?this.focusedIndex+1:this.focusedIndex;for(let e=0;e<t.length;e++){const i=(s+e)%t.length;const n=this.getItemLabel(t[i]).toLowerCase();if(n.startsWith(this.typeaheadBuffer)){this.focusItem(t,i);return}}}focusItem(e,t,s=true){if(e.length===0)return;if(t<0)t=e.length-1;if(t>=e.length)t=0;if(this.focusedIndex>=0&&this.focusedIndex<e.length){e[this.focusedIndex].setAttribute("tabindex","-1");e[this.focusedIndex].removeAttribute("data-md-focused")}this.focusedIndex=t;e[t].setAttribute("tabindex","0");if(s){e[t].setAttribute("data-md-focused","")}else{e[t].removeAttribute("data-md-focused")}e[t].focus()}initRovingTabindex(){if(this.provider){this.focusedIndex=-1;return}const e=this.getMenuItems();e.forEach(((e,t)=>{e.setAttribute("tabindex",t===0?"0":"-1")}));this.focusedIndex=0}resetRovingTabindex(){if(this.provider){const e=this.focusedIndex>=0?this.provider.domItemForIndex(this.focusedIndex):null;e?.setAttribute("tabindex","-1");e?.removeAttribute("data-md-focused");if(this.ringedIndex>=0&&this.ringedIndex!==this.focusedIndex){const e=this.provider.domItemForIndex(this.ringedIndex);e?.setAttribute("tabindex","-1");e?.removeAttribute("data-md-focused")}this.ringedIndex=-1;this.comboboxEl?.removeAttribute("aria-activedescendant");return}const e=this.getMenuItems();e.forEach((e=>{e.setAttribute("tabindex","-1");e.removeAttribute("data-md-focused")}))}collapseSubmenus(){const e=Array.from(this.el.querySelectorAll("md-sub-menu-item"));e.forEach((e=>e.collapse?.()));const t=Array.from(this.el.querySelectorAll("md-menu-item, md-sub-menu-item"));t.forEach((e=>{e.removeAttribute("data-md-focused");e.setAttribute("tabindex","-1")}))}scheduleFocus(e){setTimeout((()=>requestAnimationFrame((()=>e()))),0)}focusFirstItem(e=3){if(this.provider){const t=this.provider.count();if(t>0){this.focusVirtual(this.nextEnabled(-1,1,t),this.openedViaKeyboard)}else if(e>0){this.scheduleFocus((()=>this.focusFirstItem(e-1)))}return}const t=this.getMenuItems();if(t.length){this.focusItem(t,0,this.openedViaKeyboard)}else if(e>0){this.scheduleFocus((()=>this.focusFirstItem(e-1)))}}getAnchorEl(e=this.anchor){if(!e)return null;const t=this.el.getRootNode();return t.getElementById?.(e)??document.getElementById(e)}updateAnchorAria(e){if(!this.anchor)return;const t=this.getAnchorEl();if(!t)return;const s=t.getAttribute("role");const i=s!==null?h.has(s):c.has(t.tagName)||t.tagName==="A"&&t.hasAttribute("href");if(e){t.setAttribute("aria-haspopup",this.asListbox?"listbox":"menu");if(!this.asListbox)t.setAttribute("aria-controls",this.menuId)}if(i)t.setAttribute("aria-expanded",e?"true":"false");else t.removeAttribute("aria-expanded")}applyDepthZIndex(){if(!this.anchor)return;this.el.style.zIndex="var(--md-sys-z-index-popup, 1000)"}positionMenu(){if(!this.anchor)return;const e=this.getAnchorEl();if(!e)return;const t=e.getBoundingClientRect();const s=this.el.shadowRoot?.querySelector(".md-menu__surface");if(!s)return;const i=4;s.style.minWidth=this.matchAnchorWidth?`${t.width}px`:"";this.el.style.top="0";this.el.style.left="0";this.el.style.right="auto";this.el.style.bottom="auto";const n=s.offsetWidth;let r=s.offsetHeight;if(n===0||r===0){requestAnimationFrame((()=>this.positionMenu()));return}const a=window.innerWidth;const d=window.innerHeight;const o=m;if(this.responsive&&a<=u){const e=s.offsetHeight;let n=t.bottom+i;if(n+e+o>d&&t.top-i-e>=o){n=t.top-i-e;s.style.transformOrigin="bottom left"}else{s.style.transformOrigin="top left"}n=Math.max(o,Math.min(n,d-e-o));this.el.style.top=`${n}px`;this.el.style.left=`${o}px`;return}let h=this.placement.startsWith("bottom")?"bottom":"top";let c=this.placement.endsWith("start")?"start":"end";const l=d-t.bottom-i-o;const f=t.top-i-o;if(h==="bottom"&&r>l){if(r<=f||this.scrollCapped&&f>l)h="top"}else if(h==="top"&&r>f){if(r<=l||this.scrollCapped&&l>f)h="bottom"}if(c==="start"&&t.left+n>a){if(t.right-n>=0)c="end"}else if(c==="end"&&t.right-n<0){if(t.left+n<=a)c="start"}if(this.scrollCapped){const e=h==="bottom"?l:f;const t=s.querySelector(".md-menu__scroll-shadow");const i=s.offsetHeight-(t?.offsetHeight??0);this.el.style.setProperty("--md-menu-avail-block",`${Math.max(48,e-i)}px`);r=s.offsetHeight}else{this.el.style.removeProperty("--md-menu-avail-block")}const p=h==="bottom"?"top":"bottom";const b=c==="start"?"left":"right";s.style.transformOrigin=`${p} ${b}`;const x=h==="bottom"?t.bottom+i:t.top-i-r;const v=c==="start"?t.left:t.right-n;const y=Math.max(o,Math.min(v,a-n-o));const g=Math.max(o,Math.min(x,d-r-o));this.el.style.top=`${g}px`;this.el.style.left=`${y}px`}restoreFocusToAnchor(){if(!this.anchor)return;const e=this.getAnchorEl();e?.focus()}closeEntireMenuTree(){let e=this.el;let t=this.el;while(t){const s=t.parentElement?.closest("md-menu");if(s){e=s;t=s}else{break}}const s=e.querySelectorAll("md-menu-item, md-sub-menu-item");s.forEach((e=>e.setAttribute("tabindex","-1")));if(e.close)e.close();const i=e.anchor;if(i){const t=e.getRootNode();const s=t.getElementById?.(i)??document.getElementById(i);s?.focus()}}dismissPeerMenus(){if(this.persistent)return;if(typeof document==="undefined")return;const e=Array.from(document.querySelectorAll("md-menu"));for(const t of e){if(t===this.el)continue;if(!t.open)continue;if(t.persistent)continue;if(t.contains(this.el))continue;if(this.el.contains(t))continue;t.close()}}isHidden(e){if(e.hasAttribute("hidden"))return true;if(e.style.display==="none")return true;return false}hasVisibleItem(e){if(this.isHidden(e))return false;const t=e.tagName.toLowerCase();if(t==="md-menu-item"||t==="md-sub-menu-item")return true;if(t==="md-menu-item-group"){return Array.from(e.children).some((e=>this.hasVisibleItem(e)))}return false}updateEmpty(){if(!this.emptyText){this.empty=false;return}const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();this.empty=!t.some((e=>this.hasVisibleItem(e)))}wireItemObserver(){this.itemObserver?.disconnect();if(typeof MutationObserver==="undefined")return;const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();if(t.length===0)return;this.itemObserver=new MutationObserver((()=>this.updateEmpty()));for(const e of t){this.itemObserver.observe(e,{attributes:true,attributeFilter:["style","hidden"],subtree:true})}}getContentSlot(){const e=this.el.shadowRoot;if(!e)return null;const t=Array.from(e.querySelectorAll("slot"));return t.find((e=>!e.getAttribute("name")))??null}propagateVariant(){const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();for(const e of t){e.setAttribute("data-variant",this.variant);if(e.tagName.toLowerCase()==="md-menu-item-group"){if(this.useGap){e.setAttribute("data-use-gap","")}else{e.removeAttribute("data-use-gap")}const t=e.querySelectorAll("md-menu-item, md-sub-menu-item");for(const e of Array.from(t)){e.setAttribute("data-variant",this.variant)}}}}updateSections(){const e=this.getContentSlot();if(!e)return;const t=e.assignedElements();let s=false;let i=false;for(const e of t){if(i){e.setAttribute("data-after-gap","");i=false}else{e.removeAttribute("data-after-gap")}if(e.hasAttribute("gap")){s=true;i=true}}this.sectioned=s}disconnectedCallback(){document.removeEventListener("click",this.handleOutsideClick);document.removeEventListener("keydown",this.handleDocumentKeyDown);document.removeEventListener("keydown",this.trackKeyboardModality,true);document.removeEventListener("pointerdown",this.trackPointerModality,true);window.removeEventListener("scroll",this.handleScroll,true);window.removeEventListener("resize",this.handleScroll);clearTimeout(this.closeTimer);clearTimeout(this.typeaheadTimer);this.itemObserver?.disconnect();this.itemObserver=undefined;this.unobserveSurfaceResize();this.updateAnchorAria(false)}get inlineFill(){return this.el.classList.contains("md-menu--inline-fill")}get maxHeightValue(){if(this.maxHeight===undefined||this.maxHeight===null||this.maxHeight===""){return null}const e=String(this.maxHeight);return/^\d+(\.\d+)?$/.test(e)?`${e}px`:e}get scrollCapped(){return!this.hasSubmenu&&!this.inlineFill}get useScrollViewport(){return this.inlineFill||this.scrollCapped}renderMenuBody(){return[i("slot",{onSlotchange:this.handleSlotChange}),this.emptyText?i("span",{class:"md-menu__empty",part:"empty-text",role:"status"},this.emptyText):null]}render(){return i(n,{key:"b56dcecef34cbb5f88ec2ca077bb24793416a0e7",class:{"md-menu":true,"md-menu--open":this.open,"md-menu--closing":this.closing,"md-menu--quick":this.quick,[`md-menu--${this.variant}`]:true,[`md-menu--${this.layout}`]:this.variant!=="baseline","md-menu--gap":this.useGap,"md-menu--sectioned":this.sectioned,"md-menu--empty":this.empty,"md-menu--responsive":this.responsive,"md-menu--has-submenu":this.hasSubmenu,"md-menu--scroll":this.scrollCapped},"aria-hidden":!this.open||this.closing?"true":"false",inert:!this.open||this.closing},i("div",{key:"a3e6653976727089bc7f11162c5a363916525a3a",class:"md-menu__surface",part:"surface",role:this.asListbox?"presentation":"menu",id:this.menuId,"aria-orientation":this.asListbox?undefined:"vertical","aria-labelledby":this.asListbox?undefined:this.anchor||undefined},i("slot",{key:"0ca8b628a129b2447b3db6102c4368072faa1d02",name:"header"}),this.useScrollViewport?i("div",{class:"md-menu__scroll-shadow",part:"menu-viewport",tabindex:this.asListbox?"0":undefined,style:this.inlineFill?undefined:{maxBlockSize:this.maxHeightValue?`min(${this.maxHeightValue}, var(--md-menu-avail-block, 100dvh), calc(100dvh - 2 * var(--md-menu-viewport-margin, 8px)))`:`min(var(--md-menu-avail-block, 100dvh), calc(100dvh - 2 * var(--md-menu-viewport-margin, 8px)))`}},this.renderMenuBody()):this.renderMenuBody()))}get el(){return this}static get watchers(){return{emptyText:[{onEmptyTextChange:0}],variant:[{onVariantChange:0}],useGap:[{onVariantChange:0}],open:[{onOpenChange:0}]}}static get style(){return a()}},[257,"md-menu",{open:[1540],anchor:[1],placement:[513],quick:[4],variant:[513],layout:[513],useGap:[516,"use-gap"],emptyText:[1,"empty-text"],matchAnchorWidth:[516,"match-anchor-width"],responsive:[516],persistent:[516],autoFocus:[516,"auto-focus"],maxHeight:[8,"max-height"],listLabel:[1,"list-label"],listbox:[516],density:[514],closing:[32],sectioned:[32],empty:[32],hasSubmenu:[32],listboxMode:[32],setComboboxElement:[64],setVirtualProvider:[64],getScrollViewport:[64],show:[64],reposition:[64],close:[64]},[[0,"focusin","handleFocusIn"],[0,"keydown","handleKeyDown"]],{emptyText:[{onEmptyTextChange:0}],variant:[{onVariantChange:0}],useGap:[{onVariantChange:0}],open:[{onOpenChange:0}]}]);function p(){if(typeof customElements==="undefined"){return}const e=["md-menu"];e.forEach((e=>{switch(e){case"md-menu":if(!customElements.get(r(e))){customElements.define(r(e),f)}break}}))}p();export{f as M,p as d};
|
|
2
|
+
//# sourceMappingURL=p-Bkt_X-6v.js.map
|