@angular/material 16.1.0-next.1 → 16.1.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_index.scss +7 -4
- package/_token-theming.scss +2 -0
- package/autocomplete/index.d.ts +6 -6
- package/badge/index.d.ts +1 -1
- package/bottom-sheet/index.d.ts +1 -1
- package/button/_button-base.import.scss +2 -2
- package/button/_icon-button-theme.scss +0 -1
- package/button/index.d.ts +10 -10
- package/button-toggle/index.d.ts +2 -2
- package/card/_card-theme.import.scss +1 -1
- package/card/_card-theme.scss +11 -0
- package/card/index.d.ts +14 -14
- package/checkbox/_checkbox-theme.import.scss +1 -1
- package/checkbox/_checkbox-theme.scss +9 -0
- package/checkbox/index.d.ts +3 -3
- package/chips/index.d.ts +12 -12
- package/core/index.d.ts +7 -7
- package/core/mdc-helpers/_mdc-helpers.scss +13 -28
- package/core/style/_sass-utils.scss +32 -2
- package/core/tokens/_token-utils.scss +3 -12
- package/core/tokens/m2/_index.scss +84 -0
- package/core/tokens/m2/mat/_card.scss +17 -16
- package/core/tokens/m2/mat/_radio.scss +6 -5
- package/core/tokens/m2/mat/_snack-bar.scss +6 -5
- package/core/tokens/m2/mat/_tab-header-with-background.scss +6 -5
- package/core/tokens/m2/mat/_tab-header.scss +2 -1
- package/core/tokens/m2/mdc/_checkbox.scss +39 -38
- package/core/tokens/m2/mdc/_chip.scss +2 -2
- package/core/tokens/m2/mdc/_circular-progress.scss +5 -8
- package/core/tokens/m2/mdc/_dialog.scss +6 -7
- package/core/tokens/m2/mdc/_elevated-card.scss +2 -1
- package/core/tokens/m2/mdc/_icon-button.scss +5 -13
- package/core/tokens/m2/mdc/_linear-progress.scss +9 -11
- package/core/tokens/m2/mdc/_list.scss +102 -101
- package/core/tokens/m2/mdc/_outlined-card.scss +2 -1
- package/core/tokens/m2/mdc/_plain-tooltip.scss +6 -9
- package/core/tokens/m2/mdc/_radio.scss +6 -7
- package/core/tokens/m2/mdc/_snack-bar.scss +6 -8
- package/core/tokens/m2/mdc/_tab-indicator.scss +6 -6
- package/core/tokens/m2/mdc/_tab.scss +6 -6
- package/core/typography/_all-typography.scss +1 -154
- package/core/typography/_typography.scss +162 -0
- package/datepicker/index.d.ts +21 -21
- package/dialog/index.d.ts +6 -6
- package/divider/index.d.ts +1 -1
- package/esm2022/autocomplete/autocomplete-origin.mjs +9 -11
- package/esm2022/autocomplete/autocomplete-trigger.mjs +9 -11
- package/esm2022/autocomplete/autocomplete.mjs +9 -11
- package/esm2022/autocomplete/module.mjs +6 -7
- package/esm2022/autocomplete/testing/autocomplete-harness.mjs +2 -3
- package/esm2022/badge/badge-module.mjs +6 -7
- package/esm2022/badge/badge.mjs +5 -6
- package/esm2022/badge/testing/badge-harness.mjs +2 -3
- package/esm2022/bottom-sheet/bottom-sheet-container.mjs +5 -6
- package/esm2022/bottom-sheet/bottom-sheet-module.mjs +6 -7
- package/esm2022/bottom-sheet/bottom-sheet.mjs +5 -6
- package/esm2022/bottom-sheet/testing/bottom-sheet-harness.mjs +2 -3
- package/esm2022/button/button-base.mjs +9 -11
- package/esm2022/button/button-lazy-loader.mjs +5 -6
- package/esm2022/button/button.mjs +9 -11
- package/esm2022/button/fab.mjs +17 -21
- package/esm2022/button/icon-button.mjs +9 -11
- package/esm2022/button/module.mjs +6 -7
- package/esm2022/button/testing/button-harness.mjs +2 -3
- package/esm2022/button-toggle/button-toggle-module.mjs +6 -7
- package/esm2022/button-toggle/button-toggle.mjs +9 -11
- package/esm2022/button-toggle/testing/button-toggle-group-harness.mjs +2 -3
- package/esm2022/button-toggle/testing/button-toggle-harness.mjs +2 -3
- package/esm2022/card/card.mjs +57 -71
- package/esm2022/card/module.mjs +6 -7
- package/esm2022/card/testing/card-harness.mjs +2 -3
- package/esm2022/checkbox/checkbox-required-validator.mjs +5 -6
- package/esm2022/checkbox/checkbox.mjs +9 -11
- package/esm2022/checkbox/module.mjs +11 -13
- package/esm2022/checkbox/testing/checkbox-harness.mjs +2 -3
- package/esm2022/chips/chip-action.mjs +5 -6
- package/esm2022/chips/chip-edit-input.mjs +5 -6
- package/esm2022/chips/chip-grid.mjs +7 -8
- package/esm2022/chips/chip-icons.mjs +13 -16
- package/esm2022/chips/chip-input.mjs +5 -6
- package/esm2022/chips/chip-listbox.mjs +7 -8
- package/esm2022/chips/chip-option.mjs +5 -6
- package/esm2022/chips/chip-row.mjs +5 -6
- package/esm2022/chips/chip-set.mjs +7 -8
- package/esm2022/chips/chip.mjs +5 -6
- package/esm2022/chips/module.mjs +6 -7
- package/esm2022/chips/testing/chip-avatar-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-edit-input-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-grid-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-input-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-listbox-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-option-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-remove-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-row-harness.mjs +2 -3
- package/esm2022/chips/testing/chip-set-harness.mjs +2 -3
- package/esm2022/core/animation/animation.mjs +3 -5
- package/esm2022/core/common-behaviors/common-module.mjs +6 -7
- package/esm2022/core/datetime/index.mjs +11 -13
- package/esm2022/core/datetime/native-date-adapter.mjs +5 -6
- package/esm2022/core/error/error-options.mjs +9 -11
- package/esm2022/core/line/line.mjs +10 -12
- package/esm2022/core/option/index.mjs +6 -7
- package/esm2022/core/option/optgroup.mjs +10 -12
- package/esm2022/core/option/option.mjs +9 -11
- package/esm2022/core/ripple/index.mjs +6 -7
- package/esm2022/core/ripple/ripple-renderer.mjs +2 -3
- package/esm2022/core/ripple/ripple.mjs +5 -6
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +6 -7
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -6
- package/esm2022/core/testing/optgroup-harness.mjs +2 -3
- package/esm2022/core/testing/option-harness.mjs +2 -3
- package/esm2022/core/version.mjs +1 -1
- package/esm2022/datepicker/calendar-body.mjs +5 -6
- package/esm2022/datepicker/calendar.mjs +9 -11
- package/esm2022/datepicker/date-range-input-parts.mjs +12 -14
- package/esm2022/datepicker/date-range-input.mjs +5 -6
- package/esm2022/datepicker/date-range-picker.mjs +5 -6
- package/esm2022/datepicker/date-range-selection-strategy.mjs +5 -6
- package/esm2022/datepicker/date-selection-model.mjs +13 -16
- package/esm2022/datepicker/datepicker-actions.mjs +13 -16
- package/esm2022/datepicker/datepicker-base.mjs +9 -11
- package/esm2022/datepicker/datepicker-input-base.mjs +5 -6
- package/esm2022/datepicker/datepicker-input.mjs +5 -6
- package/esm2022/datepicker/datepicker-intl.mjs +5 -6
- package/esm2022/datepicker/datepicker-module.mjs +6 -7
- package/esm2022/datepicker/datepicker-toggle.mjs +9 -11
- package/esm2022/datepicker/datepicker.mjs +5 -6
- package/esm2022/datepicker/month-view.mjs +5 -6
- package/esm2022/datepicker/multi-year-view.mjs +5 -6
- package/esm2022/datepicker/testing/calendar-cell-harness.mjs +2 -3
- package/esm2022/datepicker/testing/calendar-harness.mjs +2 -3
- package/esm2022/datepicker/testing/date-range-input-harness.mjs +4 -7
- package/esm2022/datepicker/testing/datepicker-input-harness.mjs +2 -3
- package/esm2022/datepicker/testing/datepicker-toggle-harness.mjs +2 -3
- package/esm2022/datepicker/year-view.mjs +5 -6
- package/esm2022/dialog/dialog-container.mjs +9 -11
- package/esm2022/dialog/dialog-content-directives.mjs +17 -21
- package/esm2022/dialog/dialog.mjs +9 -11
- package/esm2022/dialog/module.mjs +6 -7
- package/esm2022/dialog/testing/dialog-harness.mjs +2 -3
- package/esm2022/dialog/testing/dialog-opener.mjs +5 -7
- package/esm2022/divider/divider-module.mjs +6 -7
- package/esm2022/divider/divider.mjs +5 -6
- package/esm2022/divider/testing/divider-harness.mjs +2 -3
- package/esm2022/expansion/accordion.mjs +5 -6
- package/esm2022/expansion/expansion-module.mjs +6 -7
- package/esm2022/expansion/expansion-panel-content.mjs +5 -6
- package/esm2022/expansion/expansion-panel-header.mjs +13 -16
- package/esm2022/expansion/expansion-panel.mjs +9 -11
- package/esm2022/expansion/testing/accordion-harness.mjs +2 -3
- package/esm2022/expansion/testing/expansion-harness.mjs +2 -3
- package/esm2022/form-field/directives/error.mjs +5 -6
- package/esm2022/form-field/directives/floating-label.mjs +5 -6
- package/esm2022/form-field/directives/hint.mjs +5 -6
- package/esm2022/form-field/directives/label.mjs +5 -6
- package/esm2022/form-field/directives/line-ripple.mjs +5 -6
- package/esm2022/form-field/directives/notched-outline.mjs +5 -6
- package/esm2022/form-field/directives/prefix.mjs +5 -6
- package/esm2022/form-field/directives/suffix.mjs +5 -6
- package/esm2022/form-field/form-field-control.mjs +5 -6
- package/esm2022/form-field/form-field.mjs +5 -6
- package/esm2022/form-field/module.mjs +6 -7
- package/esm2022/form-field/testing/error-harness.mjs +2 -3
- package/esm2022/form-field/testing/form-field-harness.mjs +2 -3
- package/esm2022/grid-list/grid-list-module.mjs +6 -7
- package/esm2022/grid-list/grid-list.mjs +5 -6
- package/esm2022/grid-list/grid-tile.mjs +21 -26
- package/esm2022/grid-list/testing/grid-list-harness.mjs +2 -3
- package/esm2022/grid-list/testing/grid-tile-harness.mjs +2 -3
- package/esm2022/icon/icon-module.mjs +6 -7
- package/esm2022/icon/icon-registry.mjs +5 -6
- package/esm2022/icon/icon.mjs +5 -6
- package/esm2022/icon/testing/fake-icon-registry.mjs +10 -12
- package/esm2022/icon/testing/icon-harness.mjs +2 -3
- package/esm2022/input/input.mjs +5 -6
- package/esm2022/input/module.mjs +6 -7
- package/esm2022/input/testing/input-harness.mjs +2 -3
- package/esm2022/input/testing/native-option-harness.mjs +2 -3
- package/esm2022/input/testing/native-select-harness.mjs +2 -3
- package/esm2022/legacy-autocomplete/autocomplete-module.mjs +6 -7
- package/esm2022/legacy-autocomplete/autocomplete-origin.mjs +5 -6
- package/esm2022/legacy-autocomplete/autocomplete-trigger.mjs +5 -6
- package/esm2022/legacy-autocomplete/autocomplete.mjs +5 -6
- package/esm2022/legacy-autocomplete/testing/autocomplete-harness.mjs +2 -3
- package/esm2022/legacy-button/button-module.mjs +6 -7
- package/esm2022/legacy-button/button.mjs +9 -11
- package/esm2022/legacy-button/testing/button-harness.mjs +2 -3
- package/esm2022/legacy-card/card-module.mjs +6 -7
- package/esm2022/legacy-card/card.mjs +57 -71
- package/esm2022/legacy-card/testing/card-harness.mjs +2 -3
- package/esm2022/legacy-checkbox/checkbox-module.mjs +6 -7
- package/esm2022/legacy-checkbox/checkbox.mjs +5 -6
- package/esm2022/legacy-checkbox/testing/checkbox-harness.mjs +2 -3
- package/esm2022/legacy-chips/chip-input.mjs +5 -6
- package/esm2022/legacy-chips/chip-list.mjs +5 -6
- package/esm2022/legacy-chips/chip.mjs +17 -21
- package/esm2022/legacy-chips/chips-module.mjs +6 -7
- package/esm2022/legacy-chips/testing/chip-avatar-harness.mjs +2 -3
- package/esm2022/legacy-chips/testing/chip-harness.mjs +2 -3
- package/esm2022/legacy-chips/testing/chip-input-harness.mjs +2 -3
- package/esm2022/legacy-chips/testing/chip-list-harness.mjs +2 -3
- package/esm2022/legacy-chips/testing/chip-listbox-harness.mjs +2 -3
- package/esm2022/legacy-chips/testing/chip-option-harness.mjs +2 -3
- package/esm2022/legacy-chips/testing/chip-remove-harness.mjs +2 -3
- package/esm2022/legacy-core/option/index.mjs +6 -7
- package/esm2022/legacy-core/option/optgroup.mjs +5 -6
- package/esm2022/legacy-core/option/option.mjs +5 -6
- package/esm2022/legacy-core/testing/optgroup-harness.mjs +2 -3
- package/esm2022/legacy-core/testing/option-harness.mjs +2 -3
- package/esm2022/legacy-dialog/dialog-container.mjs +5 -6
- package/esm2022/legacy-dialog/dialog-content-directives.mjs +17 -21
- package/esm2022/legacy-dialog/dialog-module.mjs +6 -7
- package/esm2022/legacy-dialog/dialog.mjs +5 -6
- package/esm2022/legacy-dialog/testing/dialog-harness.mjs +2 -3
- package/esm2022/legacy-dialog/testing/dialog-opener.mjs +3 -5
- package/esm2022/legacy-form-field/error.mjs +5 -6
- package/esm2022/legacy-form-field/form-field-module.mjs +6 -7
- package/esm2022/legacy-form-field/form-field.mjs +5 -6
- package/esm2022/legacy-form-field/hint.mjs +5 -6
- package/esm2022/legacy-form-field/label.mjs +5 -6
- package/esm2022/legacy-form-field/placeholder.mjs +5 -6
- package/esm2022/legacy-form-field/prefix.mjs +5 -6
- package/esm2022/legacy-form-field/suffix.mjs +5 -6
- package/esm2022/legacy-form-field/testing/error-harness.mjs +2 -3
- package/esm2022/legacy-form-field/testing/form-field-harness.mjs +2 -3
- package/esm2022/legacy-input/input-module.mjs +6 -7
- package/esm2022/legacy-input/input.mjs +5 -6
- package/esm2022/legacy-list/list-module.mjs +6 -7
- package/esm2022/legacy-list/list.mjs +25 -31
- package/esm2022/legacy-list/selection-list.mjs +9 -11
- package/esm2022/legacy-list/testing/action-list-harness.mjs +3 -5
- package/esm2022/legacy-list/testing/list-harness.mjs +3 -5
- package/esm2022/legacy-list/testing/list-item-harness-base.mjs +2 -3
- package/esm2022/legacy-list/testing/nav-list-harness.mjs +3 -5
- package/esm2022/legacy-list/testing/selection-list-harness.mjs +3 -5
- package/esm2022/legacy-menu/menu-content.mjs +5 -6
- package/esm2022/legacy-menu/menu-item.mjs +5 -6
- package/esm2022/legacy-menu/menu-module.mjs +6 -7
- package/esm2022/legacy-menu/menu-trigger.mjs +5 -6
- package/esm2022/legacy-menu/menu.mjs +5 -6
- package/esm2022/legacy-menu/testing/menu-harness.mjs +3 -5
- package/esm2022/legacy-paginator/paginator-module.mjs +6 -7
- package/esm2022/legacy-paginator/paginator.mjs +5 -6
- package/esm2022/legacy-paginator/testing/paginator-harness.mjs +2 -3
- package/esm2022/legacy-progress-bar/progress-bar-module.mjs +6 -7
- package/esm2022/legacy-progress-bar/progress-bar.mjs +5 -6
- package/esm2022/legacy-progress-bar/testing/progress-bar-harness.mjs +2 -3
- package/esm2022/legacy-progress-spinner/progress-spinner-module.mjs +6 -7
- package/esm2022/legacy-progress-spinner/progress-spinner.mjs +5 -6
- package/esm2022/legacy-progress-spinner/testing/progress-spinner-harness.mjs +2 -3
- package/esm2022/legacy-radio/radio-module.mjs +6 -7
- package/esm2022/legacy-radio/radio.mjs +9 -11
- package/esm2022/legacy-radio/testing/radio-harness.mjs +3 -5
- package/esm2022/legacy-select/public-api.mjs +2 -2
- package/esm2022/legacy-select/select-module.mjs +6 -7
- package/esm2022/legacy-select/select.mjs +9 -11
- package/esm2022/legacy-select/testing/select-harness.mjs +2 -3
- package/esm2022/legacy-slide-toggle/slide-toggle-module.mjs +6 -7
- package/esm2022/legacy-slide-toggle/slide-toggle.mjs +5 -6
- package/esm2022/legacy-slide-toggle/testing/slide-toggle-harness.mjs +2 -3
- package/esm2022/legacy-slider/slider-module.mjs +6 -7
- package/esm2022/legacy-slider/slider.mjs +5 -6
- package/esm2022/legacy-slider/testing/slider-harness.mjs +2 -3
- package/esm2022/legacy-snack-bar/simple-snack-bar.mjs +5 -6
- package/esm2022/legacy-snack-bar/snack-bar-container.mjs +5 -6
- package/esm2022/legacy-snack-bar/snack-bar-module.mjs +6 -7
- package/esm2022/legacy-snack-bar/snack-bar.mjs +5 -6
- package/esm2022/legacy-snack-bar/testing/snack-bar-harness.mjs +2 -3
- package/esm2022/legacy-table/cell.mjs +29 -36
- package/esm2022/legacy-table/row.mjs +29 -36
- package/esm2022/legacy-table/table-module.mjs +6 -7
- package/esm2022/legacy-table/table.mjs +9 -11
- package/esm2022/legacy-table/testing/cell-harness.mjs +4 -7
- package/esm2022/legacy-table/testing/row-harness.mjs +4 -7
- package/esm2022/legacy-table/testing/table-harness.mjs +2 -3
- package/esm2022/legacy-table/text-column.mjs +5 -6
- package/esm2022/legacy-tabs/ink-bar.mjs +5 -6
- package/esm2022/legacy-tabs/tab-body.mjs +9 -11
- package/esm2022/legacy-tabs/tab-content.mjs +5 -6
- package/esm2022/legacy-tabs/tab-group.mjs +5 -6
- package/esm2022/legacy-tabs/tab-header.mjs +5 -6
- package/esm2022/legacy-tabs/tab-label-wrapper.mjs +5 -6
- package/esm2022/legacy-tabs/tab-label.mjs +5 -6
- package/esm2022/legacy-tabs/tab-nav-bar/tab-nav-bar.mjs +13 -16
- package/esm2022/legacy-tabs/tab.mjs +5 -6
- package/esm2022/legacy-tabs/tabs-module.mjs +6 -7
- package/esm2022/legacy-tabs/testing/tab-group-harness.mjs +2 -3
- package/esm2022/legacy-tabs/testing/tab-harness.mjs +2 -3
- package/esm2022/legacy-tabs/testing/tab-link-harness.mjs +2 -3
- package/esm2022/legacy-tabs/testing/tab-nav-bar-harness.mjs +2 -3
- package/esm2022/legacy-tabs/testing/tab-nav-panel-harness.mjs +2 -3
- package/esm2022/legacy-tooltip/testing/tooltip-harness.mjs +2 -3
- package/esm2022/legacy-tooltip/tooltip-module.mjs +6 -7
- package/esm2022/legacy-tooltip/tooltip.mjs +9 -11
- package/esm2022/list/action-list.mjs +5 -6
- package/esm2022/list/list-base.mjs +11 -11
- package/esm2022/list/list-item-sections.mjs +25 -31
- package/esm2022/list/list-module.mjs +6 -7
- package/esm2022/list/list-option.mjs +5 -6
- package/esm2022/list/list.mjs +9 -11
- package/esm2022/list/nav-list.mjs +5 -6
- package/esm2022/list/selection-list.mjs +5 -6
- package/esm2022/list/subheader.mjs +5 -6
- package/esm2022/list/testing/action-list-harness.mjs +3 -5
- package/esm2022/list/testing/list-harness.mjs +3 -5
- package/esm2022/list/testing/list-item-harness-base.mjs +2 -3
- package/esm2022/list/testing/nav-list-harness.mjs +3 -5
- package/esm2022/list/testing/selection-list-harness.mjs +3 -5
- package/esm2022/menu/menu-content.mjs +9 -11
- package/esm2022/menu/menu-item.mjs +5 -6
- package/esm2022/menu/menu-trigger.mjs +9 -11
- package/esm2022/menu/menu.mjs +9 -11
- package/esm2022/menu/module.mjs +6 -7
- package/esm2022/menu/testing/menu-harness.mjs +3 -5
- package/esm2022/paginator/module.mjs +6 -7
- package/esm2022/paginator/paginator-intl.mjs +5 -6
- package/esm2022/paginator/paginator.mjs +9 -11
- package/esm2022/paginator/testing/paginator-harness.mjs +2 -3
- package/esm2022/progress-bar/module.mjs +6 -7
- package/esm2022/progress-bar/progress-bar.mjs +6 -7
- package/esm2022/progress-bar/testing/progress-bar-harness.mjs +2 -3
- package/esm2022/progress-spinner/module.mjs +6 -7
- package/esm2022/progress-spinner/progress-spinner.mjs +5 -6
- package/esm2022/progress-spinner/testing/progress-spinner-harness.mjs +2 -3
- package/esm2022/radio/module.mjs +6 -7
- package/esm2022/radio/radio.mjs +17 -21
- package/esm2022/radio/testing/radio-harness.mjs +3 -5
- package/esm2022/select/module.mjs +6 -7
- package/esm2022/select/select.mjs +36 -28
- package/esm2022/select/testing/select-harness.mjs +2 -3
- package/esm2022/sidenav/drawer.mjs +13 -16
- package/esm2022/sidenav/sidenav-module.mjs +6 -7
- package/esm2022/sidenav/sidenav.mjs +13 -16
- package/esm2022/sidenav/testing/drawer-container-harness.mjs +2 -3
- package/esm2022/sidenav/testing/drawer-content-harness.mjs +2 -3
- package/esm2022/sidenav/testing/drawer-harness.mjs +2 -3
- package/esm2022/sidenav/testing/sidenav-container-harness.mjs +2 -3
- package/esm2022/sidenav/testing/sidenav-content-harness.mjs +2 -3
- package/esm2022/sidenav/testing/sidenav-harness.mjs +2 -3
- package/esm2022/slide-toggle/module.mjs +11 -13
- package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +5 -6
- package/esm2022/slide-toggle/slide-toggle.mjs +9 -11
- package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +2 -3
- package/esm2022/slider/module.mjs +6 -7
- package/esm2022/slider/slider-input.mjs +30 -20
- package/esm2022/slider/slider-thumb.mjs +9 -7
- package/esm2022/slider/slider.mjs +7 -19
- package/esm2022/slider/testing/slider-harness.mjs +2 -3
- package/esm2022/slider/testing/slider-thumb-harness.mjs +2 -3
- package/esm2022/snack-bar/module.mjs +6 -7
- package/esm2022/snack-bar/simple-snack-bar.mjs +5 -6
- package/esm2022/snack-bar/snack-bar-container.mjs +9 -11
- package/esm2022/snack-bar/snack-bar-content.mjs +13 -16
- package/esm2022/snack-bar/snack-bar.mjs +9 -11
- package/esm2022/snack-bar/testing/snack-bar-harness.mjs +2 -3
- package/esm2022/sort/sort-header-intl.mjs +5 -6
- package/esm2022/sort/sort-header.mjs +5 -6
- package/esm2022/sort/sort-module.mjs +6 -7
- package/esm2022/sort/sort.mjs +5 -6
- package/esm2022/sort/testing/sort-harness.mjs +2 -3
- package/esm2022/sort/testing/sort-header-harness.mjs +2 -3
- package/esm2022/stepper/step-content.mjs +5 -6
- package/esm2022/stepper/step-header.mjs +5 -6
- package/esm2022/stepper/step-label.mjs +5 -6
- package/esm2022/stepper/stepper-button.mjs +9 -11
- package/esm2022/stepper/stepper-icon.mjs +5 -6
- package/esm2022/stepper/stepper-intl.mjs +5 -6
- package/esm2022/stepper/stepper-module.mjs +6 -7
- package/esm2022/stepper/stepper.mjs +9 -11
- package/esm2022/stepper/testing/step-harness.mjs +2 -3
- package/esm2022/stepper/testing/stepper-button-harnesses.mjs +3 -5
- package/esm2022/stepper/testing/stepper-harness.mjs +2 -3
- package/esm2022/table/cell.mjs +29 -36
- package/esm2022/table/module.mjs +6 -7
- package/esm2022/table/row.mjs +30 -37
- package/esm2022/table/table.mjs +9 -11
- package/esm2022/table/testing/cell-harness.mjs +4 -7
- package/esm2022/table/testing/row-harness.mjs +4 -7
- package/esm2022/table/testing/table-harness.mjs +2 -3
- package/esm2022/table/text-column.mjs +5 -6
- package/esm2022/tabs/module.mjs +6 -7
- package/esm2022/tabs/paginated-tab-header.mjs +5 -6
- package/esm2022/tabs/tab-body.mjs +13 -16
- package/esm2022/tabs/tab-content.mjs +5 -6
- package/esm2022/tabs/tab-group.mjs +11 -13
- package/esm2022/tabs/tab-header.mjs +9 -11
- package/esm2022/tabs/tab-label-wrapper.mjs +9 -11
- package/esm2022/tabs/tab-label.mjs +5 -6
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +24 -27
- package/esm2022/tabs/tab.mjs +9 -11
- package/esm2022/tabs/testing/tab-group-harness.mjs +2 -3
- package/esm2022/tabs/testing/tab-harness.mjs +2 -3
- package/esm2022/tabs/testing/tab-link-harness.mjs +2 -3
- package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +2 -3
- package/esm2022/tabs/testing/tab-nav-panel-harness.mjs +2 -3
- package/esm2022/toolbar/testing/toolbar-harness.mjs +2 -3
- package/esm2022/toolbar/toolbar-module.mjs +6 -7
- package/esm2022/toolbar/toolbar.mjs +9 -11
- package/esm2022/tooltip/module.mjs +6 -7
- package/esm2022/tooltip/testing/tooltip-harness.mjs +2 -3
- package/esm2022/tooltip/tooltip.mjs +17 -21
- package/esm2022/tree/node.mjs +13 -16
- package/esm2022/tree/outlet.mjs +5 -6
- package/esm2022/tree/padding.mjs +5 -6
- package/esm2022/tree/testing/node-harness.mjs +2 -3
- package/esm2022/tree/testing/tree-harness.mjs +2 -3
- package/esm2022/tree/toggle.mjs +5 -6
- package/esm2022/tree/tree-module.mjs +6 -7
- package/esm2022/tree/tree.mjs +5 -6
- package/expansion/index.d.ts +7 -7
- package/fesm2022/autocomplete/testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +22 -22
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge/testing.mjs.map +1 -1
- package/fesm2022/badge.mjs +7 -7
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +10 -10
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button/testing.mjs.map +1 -1
- package/fesm2022/button-toggle/testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +10 -10
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +37 -37
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card/testing.mjs.map +1 -1
- package/fesm2022/card.mjs +46 -46
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox/testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +17 -17
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips/testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +46 -46
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core/testing.mjs.map +1 -1
- package/fesm2022/core.mjs +60 -60
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker/testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +82 -82
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog/testing.mjs +2 -1
- package/fesm2022/dialog/testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +28 -28
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider/testing.mjs.map +1 -1
- package/fesm2022/divider.mjs +7 -7
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion/testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +25 -25
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field/testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs +34 -34
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list/testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +22 -22
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon/testing.mjs +7 -7
- package/fesm2022/icon/testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +10 -10
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input/testing.mjs.map +1 -1
- package/fesm2022/input.mjs +7 -7
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/legacy-autocomplete/testing.mjs.map +1 -1
- package/fesm2022/legacy-autocomplete.mjs +13 -13
- package/fesm2022/legacy-autocomplete.mjs.map +1 -1
- package/fesm2022/legacy-button/testing.mjs.map +1 -1
- package/fesm2022/legacy-button.mjs +10 -10
- package/fesm2022/legacy-button.mjs.map +1 -1
- package/fesm2022/legacy-card/testing.mjs.map +1 -1
- package/fesm2022/legacy-card.mjs +46 -46
- package/fesm2022/legacy-card.mjs.map +1 -1
- package/fesm2022/legacy-checkbox/testing.mjs.map +1 -1
- package/fesm2022/legacy-checkbox.mjs +7 -7
- package/fesm2022/legacy-checkbox.mjs.map +1 -1
- package/fesm2022/legacy-chips/testing.mjs.map +1 -1
- package/fesm2022/legacy-chips.mjs +22 -22
- package/fesm2022/legacy-chips.mjs.map +1 -1
- package/fesm2022/legacy-core/testing.mjs.map +1 -1
- package/fesm2022/legacy-core.mjs +10 -10
- package/fesm2022/legacy-core.mjs.map +1 -1
- package/fesm2022/legacy-dialog/testing.mjs.map +1 -1
- package/fesm2022/legacy-dialog.mjs +22 -22
- package/fesm2022/legacy-dialog.mjs.map +1 -1
- package/fesm2022/legacy-form-field/testing.mjs.map +1 -1
- package/fesm2022/legacy-form-field.mjs +25 -25
- package/fesm2022/legacy-form-field.mjs.map +1 -1
- package/fesm2022/legacy-input.mjs +7 -7
- package/fesm2022/legacy-input.mjs.map +1 -1
- package/fesm2022/legacy-list/testing.mjs.map +1 -1
- package/fesm2022/legacy-list.mjs +28 -28
- package/fesm2022/legacy-list.mjs.map +1 -1
- package/fesm2022/legacy-menu/testing.mjs.map +1 -1
- package/fesm2022/legacy-menu.mjs +16 -16
- package/fesm2022/legacy-menu.mjs.map +1 -1
- package/fesm2022/legacy-paginator/testing.mjs.map +1 -1
- package/fesm2022/legacy-paginator.mjs +7 -7
- package/fesm2022/legacy-paginator.mjs.map +1 -1
- package/fesm2022/legacy-progress-bar/testing.mjs.map +1 -1
- package/fesm2022/legacy-progress-bar.mjs +7 -7
- package/fesm2022/legacy-progress-bar.mjs.map +1 -1
- package/fesm2022/legacy-progress-spinner/testing.mjs.map +1 -1
- package/fesm2022/legacy-progress-spinner.mjs +7 -7
- package/fesm2022/legacy-progress-spinner.mjs.map +1 -1
- package/fesm2022/legacy-radio/testing.mjs.map +1 -1
- package/fesm2022/legacy-radio.mjs +10 -10
- package/fesm2022/legacy-radio.mjs.map +1 -1
- package/fesm2022/legacy-select/testing.mjs.map +1 -1
- package/fesm2022/legacy-select.mjs +10 -10
- package/fesm2022/legacy-select.mjs.map +1 -1
- package/fesm2022/legacy-slide-toggle/testing.mjs.map +1 -1
- package/fesm2022/legacy-slide-toggle.mjs +7 -7
- package/fesm2022/legacy-slide-toggle.mjs.map +1 -1
- package/fesm2022/legacy-slider/testing.mjs.map +1 -1
- package/fesm2022/legacy-slider.mjs +7 -7
- package/fesm2022/legacy-slider.mjs.map +1 -1
- package/fesm2022/legacy-snack-bar/testing.mjs.map +1 -1
- package/fesm2022/legacy-snack-bar.mjs +13 -13
- package/fesm2022/legacy-snack-bar.mjs.map +1 -1
- package/fesm2022/legacy-table/testing.mjs.map +1 -1
- package/fesm2022/legacy-table.mjs +55 -55
- package/fesm2022/legacy-table.mjs.map +1 -1
- package/fesm2022/legacy-tabs/testing.mjs.map +1 -1
- package/fesm2022/legacy-tabs.mjs +40 -40
- package/fesm2022/legacy-tabs.mjs.map +1 -1
- package/fesm2022/legacy-tooltip/testing.mjs.map +1 -1
- package/fesm2022/legacy-tooltip.mjs +10 -10
- package/fesm2022/legacy-tooltip.mjs.map +1 -1
- package/fesm2022/list/testing.mjs.map +1 -1
- package/fesm2022/list.mjs +51 -49
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu/testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +25 -25
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator/testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs +13 -13
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar/testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +8 -8
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner/testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +7 -7
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio/testing.mjs.map +1 -1
- package/fesm2022/radio.mjs +16 -16
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select/testing.mjs.map +1 -1
- package/fesm2022/select.mjs +36 -25
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav/testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +22 -22
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle/testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +17 -17
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider/testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +43 -39
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar/testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +28 -28
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort/testing.mjs.map +1 -1
- package/fesm2022/sort.mjs +13 -13
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper/testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +31 -31
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table/testing.mjs.map +1 -1
- package/fesm2022/table.mjs +56 -56
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs/testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +66 -64
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar/testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +10 -10
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip/testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +16 -16
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree/testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +25 -25
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/index.d.ts +10 -10
- package/grid-list/index.d.ts +6 -6
- package/icon/index.d.ts +1 -1
- package/input/index.d.ts +1 -1
- package/legacy-autocomplete/index.d.ts +3 -3
- package/legacy-button/index.d.ts +2 -2
- package/legacy-card/index.d.ts +14 -14
- package/legacy-checkbox/index.d.ts +1 -1
- package/legacy-chips/index.d.ts +6 -6
- package/legacy-core/index.d.ts +2 -2
- package/legacy-dialog/index.d.ts +5 -5
- package/legacy-form-field/index.d.ts +7 -7
- package/legacy-input/index.d.ts +1 -1
- package/legacy-list/index.d.ts +8 -8
- package/legacy-menu/index.d.ts +4 -4
- package/legacy-paginator/index.d.ts +1 -1
- package/legacy-progress-bar/index.d.ts +1 -1
- package/legacy-progress-spinner/index.d.ts +1 -1
- package/legacy-radio/index.d.ts +2 -2
- package/legacy-select/index.d.ts +9 -4
- package/legacy-slide-toggle/index.d.ts +1 -1
- package/legacy-slider/index.d.ts +1 -1
- package/legacy-snack-bar/index.d.ts +2 -2
- package/legacy-table/index.d.ts +17 -17
- package/legacy-tabs/index.d.ts +12 -12
- package/legacy-tooltip/index.d.ts +2 -2
- package/list/index.d.ts +15 -15
- package/menu/index.d.ts +7 -7
- package/package.json +49 -49
- package/paginator/index.d.ts +2 -2
- package/progress-bar/index.d.ts +1 -1
- package/progress-spinner/index.d.ts +1 -1
- package/radio/index.d.ts +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-generate/mdc-migration/index_bundled.js +263 -95
- package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
- package/schematics/ng-update/index_bundled.js +25 -25
- package/select/index.d.ts +15 -7
- package/sidenav/index.d.ts +6 -6
- package/slide-toggle/index.d.ts +3 -3
- package/slider/index.d.ts +14 -5
- package/snack-bar/index.d.ts +6 -6
- package/sort/index.d.ts +2 -2
- package/stepper/index.d.ts +8 -8
- package/table/index.d.ts +18 -18
- package/tabs/_tabs-common.scss +5 -0
- package/tabs/_tabs-theme.scss +0 -1
- package/tabs/index.d.ts +19 -19
- package/toolbar/index.d.ts +2 -2
- package/tooltip/index.d.ts +4 -4
- package/tree/index.d.ts +7 -7
|
@@ -27,13 +27,13 @@ const MAT_LEGACY_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
|
|
|
27
27
|
* @breaking-change 17.0.0
|
|
28
28
|
*/
|
|
29
29
|
class MatLegacyRadioGroup extends _MatRadioGroupBase {
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
31
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioGroup, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
31
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0-next.3", type: MatLegacyRadioGroup, selector: "mat-radio-group", host: { attributes: { "role": "radiogroup" }, classAttribute: "mat-radio-group" }, providers: [
|
|
32
32
|
MAT_LEGACY_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,
|
|
33
33
|
{ provide: MAT_RADIO_GROUP, useExisting: MatLegacyRadioGroup },
|
|
34
34
|
], queries: [{ propertyName: "_radios", predicate: i0.forwardRef(function () { return MatLegacyRadioButton; }), descendants: true }], exportAs: ["matRadioGroup"], usesInheritance: true, ngImport: i0 }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioGroup, decorators: [{
|
|
37
37
|
type: Directive,
|
|
38
38
|
args: [{
|
|
39
39
|
selector: 'mat-radio-group',
|
|
@@ -60,10 +60,10 @@ class MatLegacyRadioButton extends _MatRadioButtonBase {
|
|
|
60
60
|
constructor(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex) {
|
|
61
61
|
super(radioGroup, elementRef, changeDetector, focusMonitor, radioDispatcher, animationMode, providerOverride, tabIndex);
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioButton, deps: [{ token: MAT_RADIO_GROUP, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_RADIO_DEFAULT_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0-next.3", type: MatLegacyRadioButton, selector: "mat-radio-button", inputs: { disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { listeners: { "focus": "_inputElement.nativeElement.focus()" }, properties: { "class.mat-radio-checked": "checked", "class.mat-radio-disabled": "disabled", "class._mat-animation-noopable": "_noopAnimations", "class.mat-primary": "color === \"primary\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"", "attr.tabindex": "null", "attr.id": "id", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" }, classAttribute: "mat-radio-button" }, exportAs: ["matRadioButton"], usesInheritance: true, ngImport: i0, template: "<!-- TODO(jelbourn): render the radio on either side of the content -->\n<!-- TODO(mtlin): Evaluate trade-offs of using native radio vs. cost of additional bindings. -->\n<label [attr.for]=\"inputId\" class=\"mat-radio-label\" #label>\n <!-- The actual 'radio' part of the control. -->\n <span class=\"mat-radio-container\">\n <span class=\"mat-radio-outer-circle\"></span>\n <span class=\"mat-radio-inner-circle\"></span>\n <input #input class=\"mat-radio-input\" type=\"radio\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"_onInputInteraction($event)\"\n (click)=\"_onInputClick($event)\">\n\n <!-- The ripple comes after the input so that we can target it with a CSS\n sibling selector when the input is focused. -->\n <span mat-ripple class=\"mat-radio-ripple mat-focus-indicator\"\n [matRippleTrigger]=\"label\"\n [matRippleDisabled]=\"_isRippleDisabled()\"\n [matRippleCentered]=\"true\"\n [matRippleRadius]=\"20\"\n [matRippleAnimation]=\"{enterDuration: _noopAnimations ? 0 : 150}\">\n\n <span class=\"mat-ripple-element mat-radio-persistent-ripple\"></span>\n </span>\n </span>\n\n <!-- The label content for radio control. -->\n <span class=\"mat-radio-label-content\" [class.mat-radio-label-before]=\"labelPosition == 'before'\">\n <!-- Add an invisible span so JAWS can read the label -->\n <span style=\"display:none\"> </span>\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-radio-label{-webkit-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;display:block;height:20px;left:0;position:absolute;top:0;opacity:0;transition:transform ease 280ms,background-color ease 280ms,opacity linear 1ms 280ms;width:20px;transform:scale(0.001);-webkit-print-color-adjust:exact;color-adjust:exact}.mat-radio-checked .mat-radio-inner-circle{transform:scale(0.5);opacity:1;transition:transform ease 280ms,background-color ease 280ms}.cdk-high-contrast-active .mat-radio-checked .mat-radio-inner-circle{border:solid 10px}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-label-content{-webkit-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none;top:0;left:0}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple,.mat-radio-button:not(.mat-radio-disabled).cdk-program-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-persistent-ripple,.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple{opacity:0}@media(hover: none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{opacity:0;position:absolute;top:0;left:0;margin:0;width:100%;height:100%;cursor:inherit;z-index:-1}.mat-radio-input:focus~.mat-focus-indicator::before{content:\"\"}.cdk-high-contrast-active .mat-radio-disabled{opacity:.5}"], dependencies: [{ kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
65
65
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioButton, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
args: [{ selector: 'mat-radio-button', inputs: ['disableRipple', 'tabIndex'], encapsulation: ViewEncapsulation.None, exportAs: 'matRadioButton', host: {
|
|
69
69
|
'class': 'mat-radio-button',
|
|
@@ -109,11 +109,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
109
109
|
* @breaking-change 17.0.0
|
|
110
110
|
*/
|
|
111
111
|
class MatLegacyRadioModule {
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
113
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.
|
|
114
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
113
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioModule, declarations: [MatLegacyRadioGroup, MatLegacyRadioButton], imports: [MatRippleModule, MatCommonModule], exports: [MatLegacyRadioGroup, MatLegacyRadioButton, MatCommonModule] }); }
|
|
114
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioModule, imports: [MatRippleModule, MatCommonModule, MatCommonModule] }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacyRadioModule, decorators: [{
|
|
117
117
|
type: NgModule,
|
|
118
118
|
args: [{
|
|
119
119
|
imports: [MatRippleModule, MatCommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-radio.mjs","sources":["../../../../../../src/material/legacy-radio/radio.ts","../../../../../../src/material/legacy-radio/radio.html","../../../../../../src/material/legacy-radio/radio-module.ts","../../../../../../src/material/legacy-radio/legacy-radio_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Optional,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {\n MAT_RADIO_GROUP,\n _MatRadioGroupBase,\n _MatRadioButtonBase,\n MAT_RADIO_DEFAULT_OPTIONS,\n MatRadioDefaultOptions,\n} from '@angular/material/radio';\n\n/**\n * Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n * @deprecated Use `MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const MAT_LEGACY_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatLegacyRadioGroup),\n multi: true,\n};\n\n/**\n * A group of radio buttons. May contain one or more `<mat-radio-button>` elements.\n * @deprecated Use `MatRadioGroup` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Directive({\n selector: 'mat-radio-group',\n exportAs: 'matRadioGroup',\n providers: [\n MAT_LEGACY_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n {provide: MAT_RADIO_GROUP, useExisting: MatLegacyRadioGroup},\n ],\n host: {\n 'role': 'radiogroup',\n 'class': 'mat-radio-group',\n },\n})\nexport class MatLegacyRadioGroup extends _MatRadioGroupBase<MatLegacyRadioButton> {\n @ContentChildren(forwardRef(() => MatLegacyRadioButton), {descendants: true})\n _radios: QueryList<MatLegacyRadioButton>;\n}\n\n/**\n * A Material design radio-button. Typically placed inside of `<mat-radio-group>` elements.\n * @deprecated Use `MatRadioButton` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Component({\n selector: 'mat-radio-button',\n templateUrl: 'radio.html',\n styleUrls: ['radio.css'],\n inputs: ['disableRipple', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRadioButton',\n host: {\n 'class': 'mat-radio-button',\n '[class.mat-radio-checked]': 'checked',\n '[class.mat-radio-disabled]': 'disabled',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color === \"accent\"',\n '[class.mat-warn]': 'color === \"warn\"',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.id]': 'id',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n // Note: under normal conditions focus shouldn't land on this element, however it may be\n // programmatically set, for example inside of a focus trap, in this case we want to forward\n // the focus to the native element.\n '(focus)': '_inputElement.nativeElement.focus()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatLegacyRadioButton extends _MatRadioButtonBase {\n constructor(\n @Optional() @Inject(MAT_RADIO_GROUP) radioGroup: MatLegacyRadioGroup,\n elementRef: ElementRef,\n changeDetector: ChangeDetectorRef,\n focusMonitor: FocusMonitor,\n radioDispatcher: UniqueSelectionDispatcher,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional()\n @Inject(MAT_RADIO_DEFAULT_OPTIONS)\n providerOverride?: MatRadioDefaultOptions,\n @Attribute('tabindex') tabIndex?: string,\n ) {\n super(\n radioGroup,\n elementRef,\n changeDetector,\n focusMonitor,\n radioDispatcher,\n animationMode,\n providerOverride,\n tabIndex,\n );\n }\n}\n","<!-- TODO(jelbourn): render the radio on either side of the content -->\n<!-- TODO(mtlin): Evaluate trade-offs of using native radio vs. cost of additional bindings. -->\n<label [attr.for]=\"inputId\" class=\"mat-radio-label\" #label>\n <!-- The actual 'radio' part of the control. -->\n <span class=\"mat-radio-container\">\n <span class=\"mat-radio-outer-circle\"></span>\n <span class=\"mat-radio-inner-circle\"></span>\n <input #input class=\"mat-radio-input\" type=\"radio\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"_onInputInteraction($event)\"\n (click)=\"_onInputClick($event)\">\n\n <!-- The ripple comes after the input so that we can target it with a CSS\n sibling selector when the input is focused. -->\n <span mat-ripple class=\"mat-radio-ripple mat-focus-indicator\"\n [matRippleTrigger]=\"label\"\n [matRippleDisabled]=\"_isRippleDisabled()\"\n [matRippleCentered]=\"true\"\n [matRippleRadius]=\"20\"\n [matRippleAnimation]=\"{enterDuration: _noopAnimations ? 0 : 150}\">\n\n <span class=\"mat-ripple-element mat-radio-persistent-ripple\"></span>\n </span>\n </span>\n\n <!-- The label content for radio control. -->\n <span class=\"mat-radio-label-content\" [class.mat-radio-label-before]=\"labelPosition == 'before'\">\n <!-- Add an invisible span so JAWS can read the label -->\n <span style=\"display:none\"> </span>\n <ng-content></ng-content>\n </span>\n</label>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatLegacyRadioButton, MatLegacyRadioGroup} from './radio';\n\n/**\n * @deprecated Use `MatRadioModule` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@NgModule({\n imports: [MatRippleModule, MatCommonModule],\n exports: [MatLegacyRadioGroup, MatLegacyRadioButton, MatCommonModule],\n declarations: [MatLegacyRadioGroup, MatLegacyRadioButton],\n})\nexport class MatLegacyRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legacy-radio.mjs","sources":["../../../../../../src/material/legacy-radio/radio.ts","../../../../../../src/material/legacy-radio/radio.html","../../../../../../src/material/legacy-radio/radio-module.ts","../../../../../../src/material/legacy-radio/legacy-radio_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Optional,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {\n MAT_RADIO_GROUP,\n _MatRadioGroupBase,\n _MatRadioButtonBase,\n MAT_RADIO_DEFAULT_OPTIONS,\n MatRadioDefaultOptions,\n} from '@angular/material/radio';\n\n/**\n * Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This\n * allows it to support [(ngModel)] and ngControl.\n * @docs-private\n * @deprecated Use `MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const MAT_LEGACY_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatLegacyRadioGroup),\n multi: true,\n};\n\n/**\n * A group of radio buttons. May contain one or more `<mat-radio-button>` elements.\n * @deprecated Use `MatRadioGroup` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Directive({\n selector: 'mat-radio-group',\n exportAs: 'matRadioGroup',\n providers: [\n MAT_LEGACY_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,\n {provide: MAT_RADIO_GROUP, useExisting: MatLegacyRadioGroup},\n ],\n host: {\n 'role': 'radiogroup',\n 'class': 'mat-radio-group',\n },\n})\nexport class MatLegacyRadioGroup extends _MatRadioGroupBase<MatLegacyRadioButton> {\n @ContentChildren(forwardRef(() => MatLegacyRadioButton), {descendants: true})\n _radios: QueryList<MatLegacyRadioButton>;\n}\n\n/**\n * A Material design radio-button. Typically placed inside of `<mat-radio-group>` elements.\n * @deprecated Use `MatRadioButton` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Component({\n selector: 'mat-radio-button',\n templateUrl: 'radio.html',\n styleUrls: ['radio.css'],\n inputs: ['disableRipple', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRadioButton',\n host: {\n 'class': 'mat-radio-button',\n '[class.mat-radio-checked]': 'checked',\n '[class.mat-radio-disabled]': 'disabled',\n '[class._mat-animation-noopable]': '_noopAnimations',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color === \"accent\"',\n '[class.mat-warn]': 'color === \"warn\"',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.id]': 'id',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n // Note: under normal conditions focus shouldn't land on this element, however it may be\n // programmatically set, for example inside of a focus trap, in this case we want to forward\n // the focus to the native element.\n '(focus)': '_inputElement.nativeElement.focus()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatLegacyRadioButton extends _MatRadioButtonBase {\n constructor(\n @Optional() @Inject(MAT_RADIO_GROUP) radioGroup: MatLegacyRadioGroup,\n elementRef: ElementRef,\n changeDetector: ChangeDetectorRef,\n focusMonitor: FocusMonitor,\n radioDispatcher: UniqueSelectionDispatcher,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional()\n @Inject(MAT_RADIO_DEFAULT_OPTIONS)\n providerOverride?: MatRadioDefaultOptions,\n @Attribute('tabindex') tabIndex?: string,\n ) {\n super(\n radioGroup,\n elementRef,\n changeDetector,\n focusMonitor,\n radioDispatcher,\n animationMode,\n providerOverride,\n tabIndex,\n );\n }\n}\n","<!-- TODO(jelbourn): render the radio on either side of the content -->\n<!-- TODO(mtlin): Evaluate trade-offs of using native radio vs. cost of additional bindings. -->\n<label [attr.for]=\"inputId\" class=\"mat-radio-label\" #label>\n <!-- The actual 'radio' part of the control. -->\n <span class=\"mat-radio-container\">\n <span class=\"mat-radio-outer-circle\"></span>\n <span class=\"mat-radio-inner-circle\"></span>\n <input #input class=\"mat-radio-input\" type=\"radio\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"_onInputInteraction($event)\"\n (click)=\"_onInputClick($event)\">\n\n <!-- The ripple comes after the input so that we can target it with a CSS\n sibling selector when the input is focused. -->\n <span mat-ripple class=\"mat-radio-ripple mat-focus-indicator\"\n [matRippleTrigger]=\"label\"\n [matRippleDisabled]=\"_isRippleDisabled()\"\n [matRippleCentered]=\"true\"\n [matRippleRadius]=\"20\"\n [matRippleAnimation]=\"{enterDuration: _noopAnimations ? 0 : 150}\">\n\n <span class=\"mat-ripple-element mat-radio-persistent-ripple\"></span>\n </span>\n </span>\n\n <!-- The label content for radio control. -->\n <span class=\"mat-radio-label-content\" [class.mat-radio-label-before]=\"labelPosition == 'before'\">\n <!-- Add an invisible span so JAWS can read the label -->\n <span style=\"display:none\"> </span>\n <ng-content></ng-content>\n </span>\n</label>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatLegacyRadioButton, MatLegacyRadioGroup} from './radio';\n\n/**\n * @deprecated Use `MatRadioModule` from `@angular/material/radio` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@NgModule({\n imports: [MatRippleModule, MatCommonModule],\n exports: [MatLegacyRadioGroup, MatLegacyRadioButton, MatCommonModule],\n declarations: [MatLegacyRadioGroup, MatLegacyRadioButton],\n})\nexport class MatLegacyRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAkCA;;;;;;AAMG;AACU,MAAA,6CAA6C,GAAQ;AAChE,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,IAAA,KAAK,EAAE,IAAI;EACX;AAEF;;;;AAIG;AAaG,MAAO,mBAAoB,SAAQ,kBAAwC,CAAA;qHAApE,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,mBAAmB,EATnB,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAAA;YACT,6CAA6C;AAC7C,YAAA,EAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAC;AAC7D,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAOiC,oBAAoB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;kGAD3C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAZ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;wBACT,6CAA6C;AAC7C,wBAAA,EAAC,OAAO,EAAE,eAAe,EAAE,WAAW,qBAAqB,EAAC;AAC7D,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,MAAM,EAAE,YAAY;AACpB,wBAAA,OAAO,EAAE,iBAAiB;AAC3B,qBAAA;AACF,iBAAA,CAAA;8BAGC,OAAO,EAAA,CAAA;sBADN,eAAe;uBAAC,UAAU,CAAC,MAAM,oBAAoB,CAAC,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;;AAI9E;;;;AAIG;AA6BG,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAC3D,IAAA,WAAA,CACuC,UAA+B,EACpE,UAAsB,EACtB,cAAiC,EACjC,YAA0B,EAC1B,eAA0C,EACC,aAAsB,EAGjE,gBAAyC,EAClB,QAAiB,EAAA;AAExC,QAAA,KAAK,CACH,UAAU,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,QAAQ,CACT,CAAC;KACH;AAvBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAET,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAKf,qBAAqB,EAEjC,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,yBAAyB,6BAEtB,UAAU,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAXZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,oBAAoB,srBCtGjC,mwDAwCA,EAAA,MAAA,EAAA,CAAA,urFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;kGD8Da,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA5BhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGpB,MAAA,EAAA,CAAC,eAAe,EAAE,UAAU,CAAC,EACtB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC3B,QAAA,EAAA,gBAAgB,EACpB,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,kBAAkB;AAC3B,wBAAA,2BAA2B,EAAE,SAAS;AACtC,wBAAA,4BAA4B,EAAE,UAAU;AACxC,wBAAA,iCAAiC,EAAE,iBAAiB;AACpD,wBAAA,qBAAqB,EAAE,qBAAqB;AAC5C,wBAAA,oBAAoB,EAAE,oBAAoB;AAC1C,wBAAA,kBAAkB,EAAE,kBAAkB;;AAEtC,wBAAA,iBAAiB,EAAE,MAAM;AACzB,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,mBAAmB,EAAE,MAAM;AAC3B,wBAAA,wBAAwB,EAAE,MAAM;AAChC,wBAAA,yBAAyB,EAAE,MAAM;;;;AAIjC,wBAAA,SAAS,EAAE,qCAAqC;qBACjD,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mwDAAA,EAAA,MAAA,EAAA,CAAA,urFAAA,CAAA,EAAA,CAAA;;0BAI5C,QAAQ;;0BAAI,MAAM;2BAAC,eAAe,CAAA;;0BAKlC,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;;0BACxC,QAAQ;;0BACR,MAAM;2BAAC,yBAAyB,CAAA;;0BAEhC,SAAS;2BAAC,UAAU,CAAA;;;AErGzB;;;AAGG;MAMU,oBAAoB,CAAA;qHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAFhB,YAAA,EAAA,CAAA,mBAAmB,EAAE,oBAAoB,CAF9C,EAAA,OAAA,EAAA,CAAA,eAAe,EAAE,eAAe,CAChC,EAAA,OAAA,EAAA,CAAA,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAGzD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAJrB,OAAA,EAAA,CAAA,eAAe,EAAE,eAAe,EACW,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;kGAGzD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;AAC3C,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,CAAC;AACrE,oBAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AAC1D,iBAAA,CAAA;;;ACpBD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/legacy-select/testing/select-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {_MatSelectHarnessBase} from '@angular/material/select/testing';\nimport {\n MatLegacyOptionHarness,\n MatLegacyOptgroupHarness,\n LegacyOptionHarnessFilters,\n LegacyOptgroupHarnessFilters,\n} from '@angular/material/legacy-core/testing';\nimport {LegacySelectHarnessFilters} from './select-harness-filters';\n\n/**\n * Harness for interacting with a standard mat-select in tests.\n * @deprecated Use `MatSelectHarness` from `@angular/material/select/testing` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport class MatLegacySelectHarness extends _MatSelectHarnessBase<\n typeof MatLegacyOptionHarness,\n MatLegacyOptionHarness,\n LegacyOptionHarnessFilters,\n typeof MatLegacyOptgroupHarness,\n MatLegacyOptgroupHarness,\n LegacyOptgroupHarnessFilters\n> {\n static hostSelector = '.mat-select';\n protected _prefix = 'mat';\n protected _optionClass = MatLegacyOptionHarness;\n protected _optionGroupClass = MatLegacyOptgroupHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSelectHarness` that meets\n * certain criteria.\n * @param options Options for filtering which select instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: LegacySelectHarnessFilters = {}): HarnessPredicate<MatLegacySelectHarness> {\n return new HarnessPredicate(MatLegacySelectHarness, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n}\n"],"names":[],"mappings":";;;;AAkBA;;;;AAIG;
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/legacy-select/testing/select-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {_MatSelectHarnessBase} from '@angular/material/select/testing';\nimport {\n MatLegacyOptionHarness,\n MatLegacyOptgroupHarness,\n LegacyOptionHarnessFilters,\n LegacyOptgroupHarnessFilters,\n} from '@angular/material/legacy-core/testing';\nimport {LegacySelectHarnessFilters} from './select-harness-filters';\n\n/**\n * Harness for interacting with a standard mat-select in tests.\n * @deprecated Use `MatSelectHarness` from `@angular/material/select/testing` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport class MatLegacySelectHarness extends _MatSelectHarnessBase<\n typeof MatLegacyOptionHarness,\n MatLegacyOptionHarness,\n LegacyOptionHarnessFilters,\n typeof MatLegacyOptgroupHarness,\n MatLegacyOptgroupHarness,\n LegacyOptgroupHarnessFilters\n> {\n static hostSelector = '.mat-select';\n protected _prefix = 'mat';\n protected _optionClass = MatLegacyOptionHarness;\n protected _optionGroupClass = MatLegacyOptgroupHarness;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSelectHarness` that meets\n * certain criteria.\n * @param options Options for filtering which select instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: LegacySelectHarnessFilters = {}): HarnessPredicate<MatLegacySelectHarness> {\n return new HarnessPredicate(MatLegacySelectHarness, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n}\n"],"names":[],"mappings":";;;;AAkBA;;;;AAIG;AACG,MAAO,sBAAuB,SAAQ,qBAO3C,CAAA;AAPD,IAAA,WAAA,GAAA;;QASY,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAY,CAAA,YAAA,GAAG,sBAAsB,CAAC;QACtC,IAAiB,CAAA,iBAAA,GAAG,wBAAwB,CAAC;KAiBxD;aApBQ,IAAY,CAAA,YAAA,GAAG,aAAH,CAAiB,EAAA;AAKpC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAsC,EAAE,EAAA;QAClD,OAAO,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,SAAS,CACpE,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,OAAO,EAAE,QAAQ,KAAI;YAC1B,OAAO,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,QAAQ,CAAC;AACnD,SAAC,CACF,CAAC;KACH;;;;;"}
|
|
@@ -132,10 +132,10 @@ class MatLegacySelectChange {
|
|
|
132
132
|
* @breaking-change 17.0.0
|
|
133
133
|
*/
|
|
134
134
|
class MatLegacySelectTrigger {
|
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
136
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.
|
|
135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
136
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0-next.3", type: MatLegacySelectTrigger, selector: "mat-select-trigger", providers: [{ provide: MAT_SELECT_TRIGGER, useExisting: MatLegacySelectTrigger }], ngImport: i0 }); }
|
|
137
137
|
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelectTrigger, decorators: [{
|
|
139
139
|
type: Directive,
|
|
140
140
|
args: [{
|
|
141
141
|
selector: 'mat-select-trigger',
|
|
@@ -444,8 +444,8 @@ class MatLegacySelect extends _MatSelectBase {
|
|
|
444
444
|
_getItemCount() {
|
|
445
445
|
return this.options.length + this.optionGroups.length;
|
|
446
446
|
}
|
|
447
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
448
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.
|
|
447
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelect, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
448
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0-next.3", type: MatLegacySelect, selector: "mat-select", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "none", "aria-haspopup": "true", "ngSkipHydration": "" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "attr.id": "id", "attr.tabindex": "tabIndex", "attr.aria-controls": "panelOpen ? id + \"-panel\" : null", "attr.aria-expanded": "panelOpen", "attr.aria-label": "ariaLabel || null", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "class.mat-select-disabled": "disabled", "class.mat-select-invalid": "errorState", "class.mat-select-required": "required", "class.mat-select-empty": "empty", "class.mat-select-multiple": "multiple" }, classAttribute: "mat-select" }, providers: [
|
|
449
449
|
{ provide: MatLegacyFormFieldControl, useExisting: MatLegacySelect },
|
|
450
450
|
{ provide: MAT_LEGACY_OPTION_PARENT_COMPONENT, useExisting: MatLegacySelect },
|
|
451
451
|
], queries: [{ propertyName: "customTrigger", first: true, predicate: MAT_SELECT_TRIGGER, descendants: true }, { propertyName: "options", predicate: MatLegacyOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_LEGACY_OPTGROUP, descendants: true }], exportAs: ["matSelect"], usesInheritance: true, ngImport: i0, template: "<!--\n Note that the select trigger element specifies `aria-owns` pointing to the listbox overlay.\n While aria-owns is not required for the ARIA 1.2 `role=\"combobox\"` interaction pattern,\n it fixes an issue with VoiceOver when the select appears inside of an `aria-model=\"true\"`\n element (e.g. a dialog). Without this `aria-owns`, the `aria-modal` on a dialog prevents\n VoiceOver from \"seeing\" the select's listbox overlay for aria-activedescendant.\n Using `aria-owns` re-parents the select overlay so that it works again.\n See https://github.com/angular/components/issues/20694\n-->\n<div cdk-overlay-origin\n [attr.aria-owns]=\"panelOpen ? id + '-panel' : null\"\n class=\"mat-select-trigger\"\n (click)=\"toggle()\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-select-placeholder mat-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-select-min-line\" *ngSwitchDefault>{{triggerValue}}</span>\n <ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayMinWidth]=\"_getOverlayMinWidth()\"\n [cdkConnectedOverlayOffsetY]=\"_offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div class=\"mat-select-panel-wrap\" [@transformPanelWrap]>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-select-panel {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n [style.transformOrigin]=\"_transformOrigin\"\n [style.font-size.px]=\"_triggerFontSize\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{height:16px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;margin:0 4px}.mat-form-field.mat-focused .mat-select-arrow{transform:translateX(0)}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], animations: [
|
|
@@ -453,7 +453,7 @@ class MatLegacySelect extends _MatSelectBase {
|
|
|
453
453
|
matLegacySelectAnimations.transformPanel,
|
|
454
454
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
455
455
|
}
|
|
456
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
456
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelect, decorators: [{
|
|
457
457
|
type: Component,
|
|
458
458
|
args: [{ selector: 'mat-select', exportAs: 'matSelect', inputs: ['disabled', 'disableRipple', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
459
459
|
'role': 'combobox',
|
|
@@ -504,19 +504,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
504
504
|
* @breaking-change 17.0.0
|
|
505
505
|
*/
|
|
506
506
|
class MatLegacySelectModule {
|
|
507
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
508
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.
|
|
507
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
508
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelectModule, declarations: [MatLegacySelect, MatLegacySelectTrigger], imports: [CommonModule, OverlayModule, MatLegacyOptionModule, MatCommonModule], exports: [CdkScrollableModule,
|
|
509
509
|
MatLegacyFormFieldModule,
|
|
510
510
|
MatLegacySelect,
|
|
511
511
|
MatLegacySelectTrigger,
|
|
512
512
|
MatLegacyOptionModule,
|
|
513
513
|
MatCommonModule] }); }
|
|
514
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.
|
|
514
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelectModule, providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [CommonModule, OverlayModule, MatLegacyOptionModule, MatCommonModule, CdkScrollableModule,
|
|
515
515
|
MatLegacyFormFieldModule,
|
|
516
516
|
MatLegacyOptionModule,
|
|
517
517
|
MatCommonModule] }); }
|
|
518
518
|
}
|
|
519
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
519
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySelectModule, decorators: [{
|
|
520
520
|
type: NgModule,
|
|
521
521
|
args: [{
|
|
522
522
|
imports: [CommonModule, OverlayModule, MatLegacyOptionModule, MatCommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-select.mjs","sources":["../../../../../../src/material/legacy-select/select-animations.ts","../../../../../../src/material/legacy-select/select.ts","../../../../../../src/material/legacy-select/select.html","../../../../../../src/material/legacy-select/select-module.ts","../../../../../../src/material/legacy-select/legacy-select_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n animate,\n animateChild,\n AnimationTriggerMetadata,\n query,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\n/**\n * The following are all the animations for the mat-select component, with each\n * const containing the metadata for one animation.\n *\n * The values below match the implementation of the AngularJS Material mat-select animation.\n * @docs-private\n * @deprecated Use `matSelectAnimations` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const matLegacySelectAnimations: {\n readonly transformPanelWrap: AnimationTriggerMetadata;\n readonly transformPanel: AnimationTriggerMetadata;\n} = {\n /**\n * This animation ensures the select's overlay panel animation (transformPanel) is called when\n * closing the select.\n * This is needed due to https://github.com/angular/angular/issues/23302\n */\n transformPanelWrap: trigger('transformPanelWrap', [\n transition('* => void', query('@transformPanel', [animateChild()], {optional: true})),\n ]),\n\n /**\n * This animation transforms the select's overlay panel on and off the page.\n *\n * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it\n * up to 100% on the Y axis, fades in its border, and translates slightly up and to the\n * side to ensure the option text correctly overlaps the trigger text.\n *\n * When the panel is removed from the DOM, it simply fades out linearly.\n */\n transformPanel: trigger('transformPanel', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n minWidth: '100%',\n opacity: 0,\n }),\n ),\n state(\n 'showing',\n style({\n opacity: 1,\n minWidth: 'calc(100% + 32px)', // 32px = 2 * 16px padding\n transform: 'scaleY(1)',\n }),\n ),\n state(\n 'showing-multiple',\n style({\n opacity: 1,\n minWidth: 'calc(100% + 64px)', // 64px = 48px padding on the left + 16px padding on the right\n transform: 'scaleY(1)',\n }),\n ),\n transition('void => *', animate('120ms cubic-bezier(0, 0, 0.2, 1)')),\n transition('* => void', animate('100ms 25ms linear', style({opacity: 0}))),\n ]),\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ConnectedPosition} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n OnInit,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n _countGroupLabelsBeforeLegacyOption,\n _getLegacyOptionScrollPosition,\n MAT_LEGACY_OPTGROUP,\n MAT_LEGACY_OPTION_PARENT_COMPONENT,\n MatLegacyOption,\n MatLegacyOptgroup,\n} from '@angular/material/legacy-core';\nimport {MAT_SELECT_TRIGGER, _MatSelectBase} from '@angular/material/select';\nimport {MatLegacyFormFieldControl} from '@angular/material/legacy-form-field';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {matLegacySelectAnimations} from './select-animations';\n\n/**\n * The following style constants are necessary to save here in order\n * to properly calculate the alignment of the selected option over\n * the trigger element.\n */\n\n/**\n * The max height of the select's overlay panel.\n * @deprecated Use `SELECT_PANEL_MAX_HEIGHT` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_MAX_HEIGHT = 256;\n\n/**\n * The panel's padding on the x-axis.\n * @deprecated Use `SELECT_PANEL_PADDING_X` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_PADDING_X = 16;\n\n/**\n * The panel's x axis padding if it is indented (e.g. there is an option group).\n * @deprecated Use `SELECT_PANEL_INDENT_PADDING_X` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;\n\n/**\n * The height of the select items in `em` units.\n * @deprecated Use `SELECT_ITEM_HEIGHT_EM` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_ITEM_HEIGHT_EM = 3;\n\n// TODO(josephperrott): Revert to a constant after 2018 spec updates are fully merged.\n/**\n * Distance between the panel edge and the option text in\n * multi-selection mode.\n *\n * Calculated as:\n * (SELECT_PANEL_PADDING_X * 1.5) + 16 = 40\n * The padding is multiplied by 1.5 because the checkbox's margin is half the padding.\n * The checkbox width is 16px.\n *\n * @deprecated Use `SELECT_MULTIPLE_PANEL_PADDING_X` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_MULTIPLE_PANEL_PADDING_X = SELECT_PANEL_PADDING_X * 1.5 + 16;\n\n/**\n * The select panel will only \"fit\" inside the viewport if it is positioned at\n * this value or more away from the viewport boundary.\n * @deprecated Use `SELECT_PANEL_VIEWPORT_PADDING` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_VIEWPORT_PADDING = 8;\n\n/**\n * Change event object that is emitted when the select value has changed.\n * @deprecated Use `MatSelectChange` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport class MatLegacySelectChange {\n constructor(\n /** Reference to the select that emitted the change event. */\n public source: MatLegacySelect,\n /** Current value of the select that emitted the event. */\n public value: any,\n ) {}\n}\n\n/**\n * Allows the user to customize the trigger that is displayed when the select has a value.\n * @deprecated Use `MatSelectTrigger` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Directive({\n selector: 'mat-select-trigger',\n providers: [{provide: MAT_SELECT_TRIGGER, useExisting: MatLegacySelectTrigger}],\n})\nexport class MatLegacySelectTrigger {}\n\n/**\n * @deprecated Use `MatSelect` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Component({\n selector: 'mat-select',\n exportAs: 'matSelect',\n templateUrl: 'select.html',\n styleUrls: ['select.css'],\n inputs: ['disabled', 'disableRipple', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'combobox',\n 'aria-autocomplete': 'none',\n // TODO(crisbeto): the value for aria-haspopup should be `listbox`, but currently it's difficult\n // to sync into Google, because of an outdated automated a11y check which flags it as an invalid\n // value. At some point we should try to switch it back to being `listbox`.\n 'aria-haspopup': 'true',\n 'class': 'mat-select',\n '[attr.id]': 'id',\n '[attr.tabindex]': 'tabIndex',\n '[attr.aria-controls]': 'panelOpen ? id + \"-panel\" : null',\n '[attr.aria-expanded]': 'panelOpen',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.aria-required]': 'required.toString()',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.aria-invalid]': 'errorState',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[class.mat-select-disabled]': 'disabled',\n '[class.mat-select-invalid]': 'errorState',\n '[class.mat-select-required]': 'required',\n '[class.mat-select-empty]': 'empty',\n '[class.mat-select-multiple]': 'multiple',\n '(keydown)': '_handleKeydown($event)',\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n 'ngSkipHydration': '',\n },\n animations: [\n matLegacySelectAnimations.transformPanelWrap,\n matLegacySelectAnimations.transformPanel,\n ],\n providers: [\n {provide: MatLegacyFormFieldControl, useExisting: MatLegacySelect},\n {provide: MAT_LEGACY_OPTION_PARENT_COMPONENT, useExisting: MatLegacySelect},\n ],\n})\nexport class MatLegacySelect extends _MatSelectBase<MatLegacySelectChange> implements OnInit {\n /** The scroll position of the overlay panel, calculated to center the selected option. */\n private _scrollTop = 0;\n\n /** The last measured value for the trigger's client bounding rect. */\n private _triggerRect: ClientRect;\n\n /** The cached font-size of the trigger element. */\n _triggerFontSize = 0;\n\n /** The value of the select panel's transform-origin property. */\n _transformOrigin: string = 'top';\n\n /**\n * The y-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text.\n * when the panel opens. Will change based on the y-position of the selected option.\n */\n _offsetY = 0;\n\n @ContentChildren(MatLegacyOption, {descendants: true}) options: QueryList<MatLegacyOption>;\n\n @ContentChildren(MAT_LEGACY_OPTGROUP, {descendants: true})\n optionGroups: QueryList<MatLegacyOptgroup>;\n\n @ContentChild(MAT_SELECT_TRIGGER) customTrigger: MatLegacySelectTrigger;\n\n _positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ];\n\n /**\n * Calculates the scroll position of the select's overlay panel.\n *\n * Attempts to center the selected option in the panel. If the option is\n * too high or too low in the panel to be scrolled to the center, it clamps the\n * scroll position to the min or max scroll positions respectively.\n */\n _calculateOverlayScroll(selectedIndex: number, scrollBuffer: number, maxScroll: number): number {\n const itemHeight = this._getItemHeight();\n const optionOffsetFromScrollTop = itemHeight * selectedIndex;\n const halfOptionHeight = itemHeight / 2;\n\n // Starts at the optionOffsetFromScrollTop, which scrolls the option to the top of the\n // scroll container, then subtracts the scroll buffer to scroll the option down to\n // the center of the overlay panel. Half the option height must be re-added to the\n // scrollTop so the option is centered based on its middle, not its top edge.\n const optimalScrollPosition = optionOffsetFromScrollTop - scrollBuffer + halfOptionHeight;\n return Math.min(Math.max(0, optimalScrollPosition), maxScroll);\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this._viewportRuler\n .change()\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n if (this.panelOpen) {\n this._triggerRect = this.trigger.nativeElement.getBoundingClientRect();\n this._changeDetectorRef.markForCheck();\n }\n });\n }\n\n override open(): void {\n if (super._canOpen()) {\n super.open();\n this._triggerRect = this.trigger.nativeElement.getBoundingClientRect();\n // Note: The computed font-size will be a string pixel value (e.g. \"16px\").\n // `parseInt` ignores the trailing 'px' and converts this to a number.\n this._triggerFontSize = parseInt(\n getComputedStyle(this.trigger.nativeElement).fontSize || '0',\n );\n this._calculateOverlayPosition();\n\n // Set the font size on the panel element once it exists.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (\n this._triggerFontSize &&\n this._overlayDir.overlayRef &&\n this._overlayDir.overlayRef.overlayElement\n ) {\n this._overlayDir.overlayRef.overlayElement.style.fontSize = `${this._triggerFontSize}px`;\n }\n });\n }\n }\n\n /** Scrolls the active option into view. */\n protected _scrollOptionIntoView(index: number): void {\n const labelCount = _countGroupLabelsBeforeLegacyOption(index, this.options, this.optionGroups);\n const itemHeight = this._getItemHeight();\n\n if (index === 0 && labelCount === 1) {\n // If we've got one group label before the option and we're at the top option,\n // scroll the list to the top. This is better UX than scrolling the list to the\n // top of the option, because it allows the user to read the top group's label.\n this.panel.nativeElement.scrollTop = 0;\n } else {\n this.panel.nativeElement.scrollTop = _getLegacyOptionScrollPosition(\n (index + labelCount) * itemHeight,\n itemHeight,\n this.panel.nativeElement.scrollTop,\n SELECT_PANEL_MAX_HEIGHT,\n );\n }\n }\n\n protected _positioningSettled() {\n this._calculateOverlayOffsetX();\n this.panel.nativeElement.scrollTop = this._scrollTop;\n }\n\n protected override _panelDoneAnimating(isOpen: boolean) {\n if (this.panelOpen) {\n this._scrollTop = 0;\n } else {\n this._overlayDir.offsetX = 0;\n this._changeDetectorRef.markForCheck();\n }\n\n super._panelDoneAnimating(isOpen);\n }\n\n protected _getChangeEvent(value: any) {\n return new MatLegacySelectChange(this, value);\n }\n\n protected _getOverlayMinWidth(): number {\n return this._triggerRect?.width;\n }\n\n /**\n * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text when\n * the panel opens. Will change based on LTR or RTL text direction. Note that the offset\n * can't be calculated until the panel has been attached, because we need to know the\n * content width in order to constrain the panel within the viewport.\n */\n private _calculateOverlayOffsetX(): void {\n const overlayRect = this._overlayDir.overlayRef.overlayElement.getBoundingClientRect();\n const viewportSize = this._viewportRuler.getViewportSize();\n const isRtl = this._isRtl();\n const paddingWidth = this.multiple\n ? SELECT_MULTIPLE_PANEL_PADDING_X + SELECT_PANEL_PADDING_X\n : SELECT_PANEL_PADDING_X * 2;\n let offsetX: number;\n\n // Adjust the offset, depending on the option padding.\n if (this.multiple) {\n offsetX = SELECT_MULTIPLE_PANEL_PADDING_X;\n } else if (this.disableOptionCentering) {\n offsetX = SELECT_PANEL_PADDING_X;\n } else {\n let selected = this._selectionModel.selected[0] || this.options.first;\n offsetX = selected && selected.group ? SELECT_PANEL_INDENT_PADDING_X : SELECT_PANEL_PADDING_X;\n }\n\n // Invert the offset in LTR.\n if (!isRtl) {\n offsetX *= -1;\n }\n\n // Determine how much the select overflows on each side.\n const leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));\n const rightOverflow =\n overlayRect.right + offsetX - viewportSize.width + (isRtl ? 0 : paddingWidth);\n\n // If the element overflows on either side, reduce the offset to allow it to fit.\n if (leftOverflow > 0) {\n offsetX += leftOverflow + SELECT_PANEL_VIEWPORT_PADDING;\n } else if (rightOverflow > 0) {\n offsetX -= rightOverflow + SELECT_PANEL_VIEWPORT_PADDING;\n }\n\n // Set the offset directly in order to avoid having to go through change detection and\n // potentially triggering \"changed after it was checked\" errors. Round the value to avoid\n // blurry content in some browsers.\n this._overlayDir.offsetX = Math.round(offsetX);\n this._overlayDir.overlayRef.updatePosition();\n }\n\n /**\n * Calculates the y-offset of the select's overlay panel in relation to the\n * top start corner of the trigger. It has to be adjusted in order for the\n * selected option to be aligned over the trigger when the panel opens.\n */\n private _calculateOverlayOffsetY(\n selectedIndex: number,\n scrollBuffer: number,\n maxScroll: number,\n ): number {\n const itemHeight = this._getItemHeight();\n const optionHeightAdjustment = (itemHeight - this._triggerRect.height) / 2;\n const maxOptionsDisplayed = Math.floor(SELECT_PANEL_MAX_HEIGHT / itemHeight);\n let optionOffsetFromPanelTop: number;\n\n // Disable offset if requested by user by returning 0 as value to offset\n if (this.disableOptionCentering) {\n return 0;\n }\n\n if (this._scrollTop === 0) {\n optionOffsetFromPanelTop = selectedIndex * itemHeight;\n } else if (this._scrollTop === maxScroll) {\n const firstDisplayedIndex = this._getItemCount() - maxOptionsDisplayed;\n const selectedDisplayIndex = selectedIndex - firstDisplayedIndex;\n\n // The first item is partially out of the viewport. Therefore we need to calculate what\n // portion of it is shown in the viewport and account for it in our offset.\n let partialItemHeight =\n itemHeight - ((this._getItemCount() * itemHeight - SELECT_PANEL_MAX_HEIGHT) % itemHeight);\n\n // Because the panel height is longer than the height of the options alone,\n // there is always extra padding at the top or bottom of the panel. When\n // scrolled to the very bottom, this padding is at the top of the panel and\n // must be added to the offset.\n optionOffsetFromPanelTop = selectedDisplayIndex * itemHeight + partialItemHeight;\n } else {\n // If the option was scrolled to the middle of the panel using a scroll buffer,\n // its offset will be the scroll buffer minus the half height that was added to\n // center it.\n optionOffsetFromPanelTop = scrollBuffer - itemHeight / 2;\n }\n\n // The final offset is the option's offset from the top, adjusted for the height difference,\n // multiplied by -1 to ensure that the overlay moves in the correct direction up the page.\n // The value is rounded to prevent some browsers from blurring the content.\n return Math.round(optionOffsetFromPanelTop * -1 - optionHeightAdjustment);\n }\n\n /**\n * Checks that the attempted overlay position will fit within the viewport.\n * If it will not fit, tries to adjust the scroll position and the associated\n * y-offset so the panel can open fully on-screen. If it still won't fit,\n * sets the offset back to 0 to allow the fallback position to take over.\n */\n private _checkOverlayWithinViewport(maxScroll: number): void {\n const itemHeight = this._getItemHeight();\n const viewportSize = this._viewportRuler.getViewportSize();\n\n const topSpaceAvailable = this._triggerRect.top - SELECT_PANEL_VIEWPORT_PADDING;\n const bottomSpaceAvailable =\n viewportSize.height - this._triggerRect.bottom - SELECT_PANEL_VIEWPORT_PADDING;\n\n const panelHeightTop = Math.abs(this._offsetY);\n const totalPanelHeight = Math.min(this._getItemCount() * itemHeight, SELECT_PANEL_MAX_HEIGHT);\n const panelHeightBottom = totalPanelHeight - panelHeightTop - this._triggerRect.height;\n\n if (panelHeightBottom > bottomSpaceAvailable) {\n this._adjustPanelUp(panelHeightBottom, bottomSpaceAvailable);\n } else if (panelHeightTop > topSpaceAvailable) {\n this._adjustPanelDown(panelHeightTop, topSpaceAvailable, maxScroll);\n } else {\n this._transformOrigin = this._getOriginBasedOnOption();\n }\n }\n\n /** Adjusts the overlay panel up to fit in the viewport. */\n private _adjustPanelUp(panelHeightBottom: number, bottomSpaceAvailable: number) {\n // Browsers ignore fractional scroll offsets, so we need to round.\n const distanceBelowViewport = Math.round(panelHeightBottom - bottomSpaceAvailable);\n\n // Scrolls the panel up by the distance it was extending past the boundary, then\n // adjusts the offset by that amount to move the panel up into the viewport.\n this._scrollTop -= distanceBelowViewport;\n this._offsetY -= distanceBelowViewport;\n this._transformOrigin = this._getOriginBasedOnOption();\n\n // If the panel is scrolled to the very top, it won't be able to fit the panel\n // by scrolling, so set the offset to 0 to allow the fallback position to take\n // effect.\n if (this._scrollTop <= 0) {\n this._scrollTop = 0;\n this._offsetY = 0;\n this._transformOrigin = `50% bottom 0px`;\n }\n }\n\n /** Adjusts the overlay panel down to fit in the viewport. */\n private _adjustPanelDown(panelHeightTop: number, topSpaceAvailable: number, maxScroll: number) {\n // Browsers ignore fractional scroll offsets, so we need to round.\n const distanceAboveViewport = Math.round(panelHeightTop - topSpaceAvailable);\n\n // Scrolls the panel down by the distance it was extending past the boundary, then\n // adjusts the offset by that amount to move the panel down into the viewport.\n this._scrollTop += distanceAboveViewport;\n this._offsetY += distanceAboveViewport;\n this._transformOrigin = this._getOriginBasedOnOption();\n\n // If the panel is scrolled to the very bottom, it won't be able to fit the\n // panel by scrolling, so set the offset to 0 to allow the fallback position\n // to take effect.\n if (this._scrollTop >= maxScroll) {\n this._scrollTop = maxScroll;\n this._offsetY = 0;\n this._transformOrigin = `50% top 0px`;\n return;\n }\n }\n\n /** Calculates the scroll position and x- and y-offsets of the overlay panel. */\n private _calculateOverlayPosition(): void {\n const itemHeight = this._getItemHeight();\n const items = this._getItemCount();\n const panelHeight = Math.min(items * itemHeight, SELECT_PANEL_MAX_HEIGHT);\n const scrollContainerHeight = items * itemHeight;\n\n // The farthest the panel can be scrolled before it hits the bottom\n const maxScroll = scrollContainerHeight - panelHeight;\n\n // If no value is selected we open the popup to the first item.\n let selectedOptionOffset: number;\n\n if (this.empty) {\n selectedOptionOffset = 0;\n } else {\n selectedOptionOffset = Math.max(\n this.options.toArray().indexOf(this._selectionModel.selected[0]),\n 0,\n );\n }\n\n selectedOptionOffset += _countGroupLabelsBeforeLegacyOption(\n selectedOptionOffset,\n this.options,\n this.optionGroups,\n );\n\n // We must maintain a scroll buffer so the selected option will be scrolled to the\n // center of the overlay panel rather than the top.\n const scrollBuffer = panelHeight / 2;\n this._scrollTop = this._calculateOverlayScroll(selectedOptionOffset, scrollBuffer, maxScroll);\n this._offsetY = this._calculateOverlayOffsetY(selectedOptionOffset, scrollBuffer, maxScroll);\n\n this._checkOverlayWithinViewport(maxScroll);\n }\n\n /** Sets the transform origin point based on the selected option. */\n private _getOriginBasedOnOption(): string {\n const itemHeight = this._getItemHeight();\n const optionHeightAdjustment = (itemHeight - this._triggerRect.height) / 2;\n const originY = Math.abs(this._offsetY) - optionHeightAdjustment + itemHeight / 2;\n return `50% ${originY}px 0px`;\n }\n\n /** Calculates the height of the select's options. */\n private _getItemHeight(): number {\n return this._triggerFontSize * SELECT_ITEM_HEIGHT_EM;\n }\n\n /** Calculates the amount of items in the select. This includes options and group labels. */\n private _getItemCount(): number {\n return this.options.length + this.optionGroups.length;\n }\n}\n","<!--\n Note that the select trigger element specifies `aria-owns` pointing to the listbox overlay.\n While aria-owns is not required for the ARIA 1.2 `role=\"combobox\"` interaction pattern,\n it fixes an issue with VoiceOver when the select appears inside of an `aria-model=\"true\"`\n element (e.g. a dialog). Without this `aria-owns`, the `aria-modal` on a dialog prevents\n VoiceOver from \"seeing\" the select's listbox overlay for aria-activedescendant.\n Using `aria-owns` re-parents the select overlay so that it works again.\n See https://github.com/angular/components/issues/20694\n-->\n<div cdk-overlay-origin\n [attr.aria-owns]=\"panelOpen ? id + '-panel' : null\"\n class=\"mat-select-trigger\"\n (click)=\"toggle()\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-select-placeholder mat-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-select-min-line\" *ngSwitchDefault>{{triggerValue}}</span>\n <ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayMinWidth]=\"_getOverlayMinWidth()\"\n [cdkConnectedOverlayOffsetY]=\"_offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div class=\"mat-select-panel-wrap\" [@transformPanelWrap]>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-select-panel {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n [style.transformOrigin]=\"_transformOrigin\"\n [style.font-size.px]=\"_triggerFontSize\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatLegacyOptionModule} from '@angular/material/legacy-core';\nimport {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MAT_SELECT_SCROLL_STRATEGY_PROVIDER} from '@angular/material/select';\nimport {MatLegacySelect, MatLegacySelectTrigger} from './select';\n\n/**\n * @deprecated Use `MatSelectModule` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@NgModule({\n imports: [CommonModule, OverlayModule, MatLegacyOptionModule, MatCommonModule],\n exports: [\n CdkScrollableModule,\n MatLegacyFormFieldModule,\n MatLegacySelect,\n MatLegacySelectTrigger,\n MatLegacyOptionModule,\n MatCommonModule,\n ],\n declarations: [MatLegacySelect, MatLegacySelectTrigger],\n providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER],\n})\nexport class MatLegacySelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legacy-select.mjs","sources":["../../../../../../src/material/legacy-select/select-animations.ts","../../../../../../src/material/legacy-select/select.ts","../../../../../../src/material/legacy-select/select.html","../../../../../../src/material/legacy-select/select-module.ts","../../../../../../src/material/legacy-select/legacy-select_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n animate,\n animateChild,\n AnimationTriggerMetadata,\n query,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\n/**\n * The following are all the animations for the mat-select component, with each\n * const containing the metadata for one animation.\n *\n * The values below match the implementation of the AngularJS Material mat-select animation.\n * @docs-private\n * @deprecated Use `matSelectAnimations` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const matLegacySelectAnimations: {\n readonly transformPanelWrap: AnimationTriggerMetadata;\n readonly transformPanel: AnimationTriggerMetadata;\n} = {\n /**\n * This animation ensures the select's overlay panel animation (transformPanel) is called when\n * closing the select.\n * This is needed due to https://github.com/angular/angular/issues/23302\n */\n transformPanelWrap: trigger('transformPanelWrap', [\n transition('* => void', query('@transformPanel', [animateChild()], {optional: true})),\n ]),\n\n /**\n * This animation transforms the select's overlay panel on and off the page.\n *\n * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it\n * up to 100% on the Y axis, fades in its border, and translates slightly up and to the\n * side to ensure the option text correctly overlaps the trigger text.\n *\n * When the panel is removed from the DOM, it simply fades out linearly.\n */\n transformPanel: trigger('transformPanel', [\n state(\n 'void',\n style({\n transform: 'scaleY(0.8)',\n minWidth: '100%',\n opacity: 0,\n }),\n ),\n state(\n 'showing',\n style({\n opacity: 1,\n minWidth: 'calc(100% + 32px)', // 32px = 2 * 16px padding\n transform: 'scaleY(1)',\n }),\n ),\n state(\n 'showing-multiple',\n style({\n opacity: 1,\n minWidth: 'calc(100% + 64px)', // 64px = 48px padding on the left + 16px padding on the right\n transform: 'scaleY(1)',\n }),\n ),\n transition('void => *', animate('120ms cubic-bezier(0, 0, 0.2, 1)')),\n transition('* => void', animate('100ms 25ms linear', style({opacity: 0}))),\n ]),\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ConnectedPosition} from '@angular/cdk/overlay';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n OnInit,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n _countGroupLabelsBeforeLegacyOption,\n _getLegacyOptionScrollPosition,\n MAT_LEGACY_OPTGROUP,\n MAT_LEGACY_OPTION_PARENT_COMPONENT,\n MatLegacyOption,\n MatLegacyOptgroup,\n} from '@angular/material/legacy-core';\nimport {MAT_SELECT_TRIGGER, _MatSelectBase, MatSelectConfig} from '@angular/material/select';\nimport {MatLegacyFormFieldControl} from '@angular/material/legacy-form-field';\nimport {take, takeUntil} from 'rxjs/operators';\nimport {matLegacySelectAnimations} from './select-animations';\n\n/**\n * The following style constants are necessary to save here in order\n * to properly calculate the alignment of the selected option over\n * the trigger element.\n */\n\n/**\n * The max height of the select's overlay panel.\n * @deprecated Use `SELECT_PANEL_MAX_HEIGHT` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_MAX_HEIGHT = 256;\n\n/**\n * The panel's padding on the x-axis.\n * @deprecated Use `SELECT_PANEL_PADDING_X` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_PADDING_X = 16;\n\n/**\n * The panel's x axis padding if it is indented (e.g. there is an option group).\n * @deprecated Use `SELECT_PANEL_INDENT_PADDING_X` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;\n\n/**\n * The height of the select items in `em` units.\n * @deprecated Use `SELECT_ITEM_HEIGHT_EM` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_ITEM_HEIGHT_EM = 3;\n\n// TODO(josephperrott): Revert to a constant after 2018 spec updates are fully merged.\n/**\n * Distance between the panel edge and the option text in\n * multi-selection mode.\n *\n * Calculated as:\n * (SELECT_PANEL_PADDING_X * 1.5) + 16 = 40\n * The padding is multiplied by 1.5 because the checkbox's margin is half the padding.\n * The checkbox width is 16px.\n *\n * @deprecated Use `SELECT_MULTIPLE_PANEL_PADDING_X` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_MULTIPLE_PANEL_PADDING_X = SELECT_PANEL_PADDING_X * 1.5 + 16;\n\n/**\n * The select panel will only \"fit\" inside the viewport if it is positioned at\n * this value or more away from the viewport boundary.\n * @deprecated Use `SELECT_PANEL_VIEWPORT_PADDING` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport const SELECT_PANEL_VIEWPORT_PADDING = 8;\n\n/**\n * Change event object that is emitted when the select value has changed.\n * @deprecated Use `MatSelectChange` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport class MatLegacySelectChange {\n constructor(\n /** Reference to the select that emitted the change event. */\n public source: MatLegacySelect,\n /** Current value of the select that emitted the event. */\n public value: any,\n ) {}\n}\n\n/**\n * @deprecated Use `MatSelectConfig` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport type MatLegacySelectConfig = Omit<MatSelectConfig, 'panelWidth'>;\n\n/**\n * Allows the user to customize the trigger that is displayed when the select has a value.\n * @deprecated Use `MatSelectTrigger` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Directive({\n selector: 'mat-select-trigger',\n providers: [{provide: MAT_SELECT_TRIGGER, useExisting: MatLegacySelectTrigger}],\n})\nexport class MatLegacySelectTrigger {}\n\n/**\n * @deprecated Use `MatSelect` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@Component({\n selector: 'mat-select',\n exportAs: 'matSelect',\n templateUrl: 'select.html',\n styleUrls: ['select.css'],\n inputs: ['disabled', 'disableRipple', 'tabIndex'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'combobox',\n 'aria-autocomplete': 'none',\n // TODO(crisbeto): the value for aria-haspopup should be `listbox`, but currently it's difficult\n // to sync into Google, because of an outdated automated a11y check which flags it as an invalid\n // value. At some point we should try to switch it back to being `listbox`.\n 'aria-haspopup': 'true',\n 'class': 'mat-select',\n '[attr.id]': 'id',\n '[attr.tabindex]': 'tabIndex',\n '[attr.aria-controls]': 'panelOpen ? id + \"-panel\" : null',\n '[attr.aria-expanded]': 'panelOpen',\n '[attr.aria-label]': 'ariaLabel || null',\n '[attr.aria-required]': 'required.toString()',\n '[attr.aria-disabled]': 'disabled.toString()',\n '[attr.aria-invalid]': 'errorState',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[class.mat-select-disabled]': 'disabled',\n '[class.mat-select-invalid]': 'errorState',\n '[class.mat-select-required]': 'required',\n '[class.mat-select-empty]': 'empty',\n '[class.mat-select-multiple]': 'multiple',\n '(keydown)': '_handleKeydown($event)',\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n 'ngSkipHydration': '',\n },\n animations: [\n matLegacySelectAnimations.transformPanelWrap,\n matLegacySelectAnimations.transformPanel,\n ],\n providers: [\n {provide: MatLegacyFormFieldControl, useExisting: MatLegacySelect},\n {provide: MAT_LEGACY_OPTION_PARENT_COMPONENT, useExisting: MatLegacySelect},\n ],\n})\nexport class MatLegacySelect extends _MatSelectBase<MatLegacySelectChange> implements OnInit {\n /** The scroll position of the overlay panel, calculated to center the selected option. */\n private _scrollTop = 0;\n\n /** The last measured value for the trigger's client bounding rect. */\n private _triggerRect: ClientRect;\n\n /** The cached font-size of the trigger element. */\n _triggerFontSize = 0;\n\n /** The value of the select panel's transform-origin property. */\n _transformOrigin: string = 'top';\n\n /**\n * The y-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text.\n * when the panel opens. Will change based on the y-position of the selected option.\n */\n _offsetY = 0;\n\n @ContentChildren(MatLegacyOption, {descendants: true}) options: QueryList<MatLegacyOption>;\n\n @ContentChildren(MAT_LEGACY_OPTGROUP, {descendants: true})\n optionGroups: QueryList<MatLegacyOptgroup>;\n\n @ContentChild(MAT_SELECT_TRIGGER) customTrigger: MatLegacySelectTrigger;\n\n _positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ];\n\n /**\n * Calculates the scroll position of the select's overlay panel.\n *\n * Attempts to center the selected option in the panel. If the option is\n * too high or too low in the panel to be scrolled to the center, it clamps the\n * scroll position to the min or max scroll positions respectively.\n */\n _calculateOverlayScroll(selectedIndex: number, scrollBuffer: number, maxScroll: number): number {\n const itemHeight = this._getItemHeight();\n const optionOffsetFromScrollTop = itemHeight * selectedIndex;\n const halfOptionHeight = itemHeight / 2;\n\n // Starts at the optionOffsetFromScrollTop, which scrolls the option to the top of the\n // scroll container, then subtracts the scroll buffer to scroll the option down to\n // the center of the overlay panel. Half the option height must be re-added to the\n // scrollTop so the option is centered based on its middle, not its top edge.\n const optimalScrollPosition = optionOffsetFromScrollTop - scrollBuffer + halfOptionHeight;\n return Math.min(Math.max(0, optimalScrollPosition), maxScroll);\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this._viewportRuler\n .change()\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n if (this.panelOpen) {\n this._triggerRect = this.trigger.nativeElement.getBoundingClientRect();\n this._changeDetectorRef.markForCheck();\n }\n });\n }\n\n override open(): void {\n if (super._canOpen()) {\n super.open();\n this._triggerRect = this.trigger.nativeElement.getBoundingClientRect();\n // Note: The computed font-size will be a string pixel value (e.g. \"16px\").\n // `parseInt` ignores the trailing 'px' and converts this to a number.\n this._triggerFontSize = parseInt(\n getComputedStyle(this.trigger.nativeElement).fontSize || '0',\n );\n this._calculateOverlayPosition();\n\n // Set the font size on the panel element once it exists.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n if (\n this._triggerFontSize &&\n this._overlayDir.overlayRef &&\n this._overlayDir.overlayRef.overlayElement\n ) {\n this._overlayDir.overlayRef.overlayElement.style.fontSize = `${this._triggerFontSize}px`;\n }\n });\n }\n }\n\n /** Scrolls the active option into view. */\n protected _scrollOptionIntoView(index: number): void {\n const labelCount = _countGroupLabelsBeforeLegacyOption(index, this.options, this.optionGroups);\n const itemHeight = this._getItemHeight();\n\n if (index === 0 && labelCount === 1) {\n // If we've got one group label before the option and we're at the top option,\n // scroll the list to the top. This is better UX than scrolling the list to the\n // top of the option, because it allows the user to read the top group's label.\n this.panel.nativeElement.scrollTop = 0;\n } else {\n this.panel.nativeElement.scrollTop = _getLegacyOptionScrollPosition(\n (index + labelCount) * itemHeight,\n itemHeight,\n this.panel.nativeElement.scrollTop,\n SELECT_PANEL_MAX_HEIGHT,\n );\n }\n }\n\n protected _positioningSettled() {\n this._calculateOverlayOffsetX();\n this.panel.nativeElement.scrollTop = this._scrollTop;\n }\n\n protected override _panelDoneAnimating(isOpen: boolean) {\n if (this.panelOpen) {\n this._scrollTop = 0;\n } else {\n this._overlayDir.offsetX = 0;\n this._changeDetectorRef.markForCheck();\n }\n\n super._panelDoneAnimating(isOpen);\n }\n\n protected _getChangeEvent(value: any) {\n return new MatLegacySelectChange(this, value);\n }\n\n protected _getOverlayMinWidth(): number {\n return this._triggerRect?.width;\n }\n\n /**\n * Sets the x-offset of the overlay panel in relation to the trigger's top start corner.\n * This must be adjusted to align the selected option text over the trigger text when\n * the panel opens. Will change based on LTR or RTL text direction. Note that the offset\n * can't be calculated until the panel has been attached, because we need to know the\n * content width in order to constrain the panel within the viewport.\n */\n private _calculateOverlayOffsetX(): void {\n const overlayRect = this._overlayDir.overlayRef.overlayElement.getBoundingClientRect();\n const viewportSize = this._viewportRuler.getViewportSize();\n const isRtl = this._isRtl();\n const paddingWidth = this.multiple\n ? SELECT_MULTIPLE_PANEL_PADDING_X + SELECT_PANEL_PADDING_X\n : SELECT_PANEL_PADDING_X * 2;\n let offsetX: number;\n\n // Adjust the offset, depending on the option padding.\n if (this.multiple) {\n offsetX = SELECT_MULTIPLE_PANEL_PADDING_X;\n } else if (this.disableOptionCentering) {\n offsetX = SELECT_PANEL_PADDING_X;\n } else {\n let selected = this._selectionModel.selected[0] || this.options.first;\n offsetX = selected && selected.group ? SELECT_PANEL_INDENT_PADDING_X : SELECT_PANEL_PADDING_X;\n }\n\n // Invert the offset in LTR.\n if (!isRtl) {\n offsetX *= -1;\n }\n\n // Determine how much the select overflows on each side.\n const leftOverflow = 0 - (overlayRect.left + offsetX - (isRtl ? paddingWidth : 0));\n const rightOverflow =\n overlayRect.right + offsetX - viewportSize.width + (isRtl ? 0 : paddingWidth);\n\n // If the element overflows on either side, reduce the offset to allow it to fit.\n if (leftOverflow > 0) {\n offsetX += leftOverflow + SELECT_PANEL_VIEWPORT_PADDING;\n } else if (rightOverflow > 0) {\n offsetX -= rightOverflow + SELECT_PANEL_VIEWPORT_PADDING;\n }\n\n // Set the offset directly in order to avoid having to go through change detection and\n // potentially triggering \"changed after it was checked\" errors. Round the value to avoid\n // blurry content in some browsers.\n this._overlayDir.offsetX = Math.round(offsetX);\n this._overlayDir.overlayRef.updatePosition();\n }\n\n /**\n * Calculates the y-offset of the select's overlay panel in relation to the\n * top start corner of the trigger. It has to be adjusted in order for the\n * selected option to be aligned over the trigger when the panel opens.\n */\n private _calculateOverlayOffsetY(\n selectedIndex: number,\n scrollBuffer: number,\n maxScroll: number,\n ): number {\n const itemHeight = this._getItemHeight();\n const optionHeightAdjustment = (itemHeight - this._triggerRect.height) / 2;\n const maxOptionsDisplayed = Math.floor(SELECT_PANEL_MAX_HEIGHT / itemHeight);\n let optionOffsetFromPanelTop: number;\n\n // Disable offset if requested by user by returning 0 as value to offset\n if (this.disableOptionCentering) {\n return 0;\n }\n\n if (this._scrollTop === 0) {\n optionOffsetFromPanelTop = selectedIndex * itemHeight;\n } else if (this._scrollTop === maxScroll) {\n const firstDisplayedIndex = this._getItemCount() - maxOptionsDisplayed;\n const selectedDisplayIndex = selectedIndex - firstDisplayedIndex;\n\n // The first item is partially out of the viewport. Therefore we need to calculate what\n // portion of it is shown in the viewport and account for it in our offset.\n let partialItemHeight =\n itemHeight - ((this._getItemCount() * itemHeight - SELECT_PANEL_MAX_HEIGHT) % itemHeight);\n\n // Because the panel height is longer than the height of the options alone,\n // there is always extra padding at the top or bottom of the panel. When\n // scrolled to the very bottom, this padding is at the top of the panel and\n // must be added to the offset.\n optionOffsetFromPanelTop = selectedDisplayIndex * itemHeight + partialItemHeight;\n } else {\n // If the option was scrolled to the middle of the panel using a scroll buffer,\n // its offset will be the scroll buffer minus the half height that was added to\n // center it.\n optionOffsetFromPanelTop = scrollBuffer - itemHeight / 2;\n }\n\n // The final offset is the option's offset from the top, adjusted for the height difference,\n // multiplied by -1 to ensure that the overlay moves in the correct direction up the page.\n // The value is rounded to prevent some browsers from blurring the content.\n return Math.round(optionOffsetFromPanelTop * -1 - optionHeightAdjustment);\n }\n\n /**\n * Checks that the attempted overlay position will fit within the viewport.\n * If it will not fit, tries to adjust the scroll position and the associated\n * y-offset so the panel can open fully on-screen. If it still won't fit,\n * sets the offset back to 0 to allow the fallback position to take over.\n */\n private _checkOverlayWithinViewport(maxScroll: number): void {\n const itemHeight = this._getItemHeight();\n const viewportSize = this._viewportRuler.getViewportSize();\n\n const topSpaceAvailable = this._triggerRect.top - SELECT_PANEL_VIEWPORT_PADDING;\n const bottomSpaceAvailable =\n viewportSize.height - this._triggerRect.bottom - SELECT_PANEL_VIEWPORT_PADDING;\n\n const panelHeightTop = Math.abs(this._offsetY);\n const totalPanelHeight = Math.min(this._getItemCount() * itemHeight, SELECT_PANEL_MAX_HEIGHT);\n const panelHeightBottom = totalPanelHeight - panelHeightTop - this._triggerRect.height;\n\n if (panelHeightBottom > bottomSpaceAvailable) {\n this._adjustPanelUp(panelHeightBottom, bottomSpaceAvailable);\n } else if (panelHeightTop > topSpaceAvailable) {\n this._adjustPanelDown(panelHeightTop, topSpaceAvailable, maxScroll);\n } else {\n this._transformOrigin = this._getOriginBasedOnOption();\n }\n }\n\n /** Adjusts the overlay panel up to fit in the viewport. */\n private _adjustPanelUp(panelHeightBottom: number, bottomSpaceAvailable: number) {\n // Browsers ignore fractional scroll offsets, so we need to round.\n const distanceBelowViewport = Math.round(panelHeightBottom - bottomSpaceAvailable);\n\n // Scrolls the panel up by the distance it was extending past the boundary, then\n // adjusts the offset by that amount to move the panel up into the viewport.\n this._scrollTop -= distanceBelowViewport;\n this._offsetY -= distanceBelowViewport;\n this._transformOrigin = this._getOriginBasedOnOption();\n\n // If the panel is scrolled to the very top, it won't be able to fit the panel\n // by scrolling, so set the offset to 0 to allow the fallback position to take\n // effect.\n if (this._scrollTop <= 0) {\n this._scrollTop = 0;\n this._offsetY = 0;\n this._transformOrigin = `50% bottom 0px`;\n }\n }\n\n /** Adjusts the overlay panel down to fit in the viewport. */\n private _adjustPanelDown(panelHeightTop: number, topSpaceAvailable: number, maxScroll: number) {\n // Browsers ignore fractional scroll offsets, so we need to round.\n const distanceAboveViewport = Math.round(panelHeightTop - topSpaceAvailable);\n\n // Scrolls the panel down by the distance it was extending past the boundary, then\n // adjusts the offset by that amount to move the panel down into the viewport.\n this._scrollTop += distanceAboveViewport;\n this._offsetY += distanceAboveViewport;\n this._transformOrigin = this._getOriginBasedOnOption();\n\n // If the panel is scrolled to the very bottom, it won't be able to fit the\n // panel by scrolling, so set the offset to 0 to allow the fallback position\n // to take effect.\n if (this._scrollTop >= maxScroll) {\n this._scrollTop = maxScroll;\n this._offsetY = 0;\n this._transformOrigin = `50% top 0px`;\n return;\n }\n }\n\n /** Calculates the scroll position and x- and y-offsets of the overlay panel. */\n private _calculateOverlayPosition(): void {\n const itemHeight = this._getItemHeight();\n const items = this._getItemCount();\n const panelHeight = Math.min(items * itemHeight, SELECT_PANEL_MAX_HEIGHT);\n const scrollContainerHeight = items * itemHeight;\n\n // The farthest the panel can be scrolled before it hits the bottom\n const maxScroll = scrollContainerHeight - panelHeight;\n\n // If no value is selected we open the popup to the first item.\n let selectedOptionOffset: number;\n\n if (this.empty) {\n selectedOptionOffset = 0;\n } else {\n selectedOptionOffset = Math.max(\n this.options.toArray().indexOf(this._selectionModel.selected[0]),\n 0,\n );\n }\n\n selectedOptionOffset += _countGroupLabelsBeforeLegacyOption(\n selectedOptionOffset,\n this.options,\n this.optionGroups,\n );\n\n // We must maintain a scroll buffer so the selected option will be scrolled to the\n // center of the overlay panel rather than the top.\n const scrollBuffer = panelHeight / 2;\n this._scrollTop = this._calculateOverlayScroll(selectedOptionOffset, scrollBuffer, maxScroll);\n this._offsetY = this._calculateOverlayOffsetY(selectedOptionOffset, scrollBuffer, maxScroll);\n\n this._checkOverlayWithinViewport(maxScroll);\n }\n\n /** Sets the transform origin point based on the selected option. */\n private _getOriginBasedOnOption(): string {\n const itemHeight = this._getItemHeight();\n const optionHeightAdjustment = (itemHeight - this._triggerRect.height) / 2;\n const originY = Math.abs(this._offsetY) - optionHeightAdjustment + itemHeight / 2;\n return `50% ${originY}px 0px`;\n }\n\n /** Calculates the height of the select's options. */\n private _getItemHeight(): number {\n return this._triggerFontSize * SELECT_ITEM_HEIGHT_EM;\n }\n\n /** Calculates the amount of items in the select. This includes options and group labels. */\n private _getItemCount(): number {\n return this.options.length + this.optionGroups.length;\n }\n}\n","<!--\n Note that the select trigger element specifies `aria-owns` pointing to the listbox overlay.\n While aria-owns is not required for the ARIA 1.2 `role=\"combobox\"` interaction pattern,\n it fixes an issue with VoiceOver when the select appears inside of an `aria-model=\"true\"`\n element (e.g. a dialog). Without this `aria-owns`, the `aria-modal` on a dialog prevents\n VoiceOver from \"seeing\" the select's listbox overlay for aria-activedescendant.\n Using `aria-owns` re-parents the select overlay so that it works again.\n See https://github.com/angular/components/issues/20694\n-->\n<div cdk-overlay-origin\n [attr.aria-owns]=\"panelOpen ? id + '-panel' : null\"\n class=\"mat-select-trigger\"\n (click)=\"toggle()\"\n #origin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-select-placeholder mat-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-select-min-line\" *ngSwitchDefault>{{triggerValue}}</span>\n <ng-content select=\"mat-select-trigger\" *ngSwitchCase=\"true\"></ng-content>\n </span>\n </div>\n\n <div class=\"mat-select-arrow-wrapper\"><div class=\"mat-select-arrow\"></div></div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPanelClass]=\"_overlayPanelClass\"\n [cdkConnectedOverlayScrollStrategy]=\"_scrollStrategy\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayMinWidth]=\"_getOverlayMinWidth()\"\n [cdkConnectedOverlayOffsetY]=\"_offsetY\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div class=\"mat-select-panel-wrap\" [@transformPanelWrap]>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-select-panel {{ _getPanelTheme() }}\"\n [attr.id]=\"id + '-panel'\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby()\"\n [ngClass]=\"panelClass\"\n [@transformPanel]=\"multiple ? 'showing-multiple' : 'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n [style.transformOrigin]=\"_transformOrigin\"\n [style.font-size.px]=\"_triggerFontSize\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatLegacyOptionModule} from '@angular/material/legacy-core';\nimport {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MAT_SELECT_SCROLL_STRATEGY_PROVIDER} from '@angular/material/select';\nimport {MatLegacySelect, MatLegacySelectTrigger} from './select';\n\n/**\n * @deprecated Use `MatSelectModule` from `@angular/material/select` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\n@NgModule({\n imports: [CommonModule, OverlayModule, MatLegacyOptionModule, MatCommonModule],\n exports: [\n CdkScrollableModule,\n MatLegacyFormFieldModule,\n MatLegacySelect,\n MatLegacySelectTrigger,\n MatLegacyOptionModule,\n MatCommonModule,\n ],\n declarations: [MatLegacySelect, MatLegacySelectTrigger],\n providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER],\n})\nexport class MatLegacySelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/legacy-slide-toggle/testing/slide-toggle-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n _MatSlideToggleHarnessBase,\n SlideToggleHarnessFilters,\n} from '@angular/material/slide-toggle/testing';\n\n/**\n * Harness for interacting with a standard mat-slide-toggle in tests.\n * @deprecated Use `MatSlideToggleHarness` from `@angular/material/slide-toggle/testing` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport class MatLegacySlideToggleHarness extends _MatSlideToggleHarnessBase {\n private _inputContainer = this.locatorFor('.mat-slide-toggle-bar');\n protected _nativeElement = this.locatorFor('input');\n\n /** The selector for the host element of a `MatSlideToggle` instance. */\n static hostSelector = '.mat-slide-toggle';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSlideToggleHarness` that meets\n * certain criteria.\n * @param options Options for filtering which slide toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: SlideToggleHarnessFilters = {},\n ): HarnessPredicate<MatLegacySlideToggleHarness> {\n return (\n new HarnessPredicate(MatLegacySlideToggleHarness, options)\n .addOption('label', options.label, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getLabelText(), label),\n )\n // We want to provide a filter option for \"name\" because the name of the slide-toggle is\n // only set on the underlying input. This means that it's not possible for developers\n // to retrieve the harness of a specific checkbox with name through a CSS selector.\n .addOption(\n 'name',\n options.name,\n async (harness, name) => (await harness.getName()) === name,\n )\n .addOption(\n 'checked',\n options.checked,\n async (harness, checked) => (await harness.isChecked()) == checked,\n )\n .addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) == disabled,\n )\n );\n }\n\n /** Toggle the checked state of the slide-toggle. */\n async toggle(): Promise<void> {\n return (await this._inputContainer()).click();\n }\n\n /** Whether the slide-toggle is checked. */\n async isChecked(): Promise<boolean> {\n const checked = (await this._nativeElement()).getProperty<boolean>('checked');\n return coerceBooleanProperty(await checked);\n }\n}\n"],"names":[],"mappings":";;;;;AAeA;;;;AAIG;
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/legacy-slide-toggle/testing/slide-toggle-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n _MatSlideToggleHarnessBase,\n SlideToggleHarnessFilters,\n} from '@angular/material/slide-toggle/testing';\n\n/**\n * Harness for interacting with a standard mat-slide-toggle in tests.\n * @deprecated Use `MatSlideToggleHarness` from `@angular/material/slide-toggle/testing` instead. See https://material.angular.io/guide/mdc-migration for information about migrating.\n * @breaking-change 17.0.0\n */\nexport class MatLegacySlideToggleHarness extends _MatSlideToggleHarnessBase {\n private _inputContainer = this.locatorFor('.mat-slide-toggle-bar');\n protected _nativeElement = this.locatorFor('input');\n\n /** The selector for the host element of a `MatSlideToggle` instance. */\n static hostSelector = '.mat-slide-toggle';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSlideToggleHarness` that meets\n * certain criteria.\n * @param options Options for filtering which slide toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: SlideToggleHarnessFilters = {},\n ): HarnessPredicate<MatLegacySlideToggleHarness> {\n return (\n new HarnessPredicate(MatLegacySlideToggleHarness, options)\n .addOption('label', options.label, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getLabelText(), label),\n )\n // We want to provide a filter option for \"name\" because the name of the slide-toggle is\n // only set on the underlying input. This means that it's not possible for developers\n // to retrieve the harness of a specific checkbox with name through a CSS selector.\n .addOption(\n 'name',\n options.name,\n async (harness, name) => (await harness.getName()) === name,\n )\n .addOption(\n 'checked',\n options.checked,\n async (harness, checked) => (await harness.isChecked()) == checked,\n )\n .addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) == disabled,\n )\n );\n }\n\n /** Toggle the checked state of the slide-toggle. */\n async toggle(): Promise<void> {\n return (await this._inputContainer()).click();\n }\n\n /** Whether the slide-toggle is checked. */\n async isChecked(): Promise<boolean> {\n const checked = (await this._nativeElement()).getProperty<boolean>('checked');\n return coerceBooleanProperty(await checked);\n }\n}\n"],"names":[],"mappings":";;;;;AAeA;;;;AAIG;AACG,MAAO,2BAA4B,SAAQ,0BAA0B,CAAA;AAA3E,IAAA,WAAA,GAAA;;AACU,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACzD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAkDrD;;aA/CQ,IAAY,CAAA,YAAA,GAAG,mBAAH,CAAuB,EAAA;AAE1C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAqC,EAAE,EAAA;AAEvC,QAAA,QACE,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,OAAO,CAAC;aACvD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,KAChD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAC9D;;;;aAIA,SAAS,CACR,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,OAAO,EAAE,IAAI,KAAK,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,CAC5D;aACA,SAAS,CACR,SAAS,EACT,OAAO,CAAC,OAAO,EACf,OAAO,OAAO,EAAE,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,KAAK,OAAO,CACnE;aACA,SAAS,CACR,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,KAAK,QAAQ,CACtE,EACH;KACH;;AAGD,IAAA,MAAM,MAAM,GAAA;QACV,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC;KAC/C;;AAGD,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,CAAU,SAAS,CAAC,CAAC;AAC9E,QAAA,OAAO,qBAAqB,CAAC,MAAM,OAAO,CAAC,CAAC;KAC7C;;;;;"}
|
|
@@ -106,10 +106,10 @@ class MatLegacySlideToggle extends _MatSlideToggleBase {
|
|
|
106
106
|
// we only trigger an explicit change detection for the slide-toggle view and its children.
|
|
107
107
|
this._changeDetectorRef.detectChanges();
|
|
108
108
|
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySlideToggle, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }, { token: MAT_LEGACY_SLIDE_TOGGLE_DEFAULT_OPTIONS }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0-next.3", type: MatLegacySlideToggle, selector: "mat-slide-toggle", inputs: { disabled: "disabled", disableRipple: "disableRipple", color: "color", tabIndex: "tabIndex" }, host: { properties: { "id": "id", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.name": "null", "class.mat-checked": "checked", "class.mat-disabled": "disabled", "class.mat-slide-toggle-label-before": "labelPosition == \"before\"", "class._mat-animation-noopable": "_noopAnimations" }, classAttribute: "mat-slide-toggle" }, providers: [MAT_LEGACY_SLIDE_TOGGLE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["matSlideToggle"], usesInheritance: true, ngImport: i0, template: "<label [attr.for]=\"inputId\" class=\"mat-slide-toggle-label\" #label>\n <span class=\"mat-slide-toggle-bar\"\n [class.mat-slide-toggle-bar-no-side-margin]=\"!labelContent.textContent || !labelContent.textContent.trim()\">\n\n <input #input class=\"mat-slide-toggle-input cdk-visually-hidden\" type=\"checkbox\"\n role=\"switch\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"_onChangeEvent($event)\"\n (click)=\"_onInputClick($event)\">\n\n <span class=\"mat-slide-toggle-thumb-container\">\n <span class=\"mat-slide-toggle-thumb\"></span>\n <span class=\"mat-slide-toggle-ripple mat-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"label\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"\n [matRippleRadius]=\"20\"\n [matRippleAnimation]=\"{enterDuration: _noopAnimations ? 0 : 150}\">\n\n <span class=\"mat-ripple-element mat-slide-toggle-persistent-ripple\"></span>\n </span>\n </span>\n\n </span>\n\n <span class=\"mat-slide-toggle-content\" #labelContent (cdkObserveContent)=\"_onLabelTextChange()\">\n <!-- Add an invisible span so JAWS can read the label -->\n <span style=\"display:none\"> </span>\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [".mat-slide-toggle{display:inline-block;height:24px;max-width:100%;line-height:24px;white-space:nowrap;outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(16px, 0, 0)}[dir=rtl] .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(-16px, 0, 0)}.mat-slide-toggle.mat-disabled{opacity:.38}.mat-slide-toggle.mat-disabled .mat-slide-toggle-label,.mat-slide-toggle.mat-disabled .mat-slide-toggle-thumb-container{cursor:default}.mat-slide-toggle-label{-webkit-user-select:none;user-select:none;display:flex;flex:1;flex-direction:row;align-items:center;height:inherit;cursor:pointer}.mat-slide-toggle-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-slide-toggle-label-before .mat-slide-toggle-label{order:1}.mat-slide-toggle-label-before .mat-slide-toggle-bar{order:2}[dir=rtl] .mat-slide-toggle-label-before .mat-slide-toggle-bar,.mat-slide-toggle-bar{margin-right:8px;margin-left:0}[dir=rtl] .mat-slide-toggle-bar,.mat-slide-toggle-label-before .mat-slide-toggle-bar{margin-left:8px;margin-right:0}.mat-slide-toggle-bar-no-side-margin{margin-left:0;margin-right:0}.mat-slide-toggle-thumb-container{position:absolute;z-index:1;width:20px;height:20px;top:-3px;left:0;transform:translate3d(0, 0, 0);transition:all 80ms linear;transition-property:transform}._mat-animation-noopable .mat-slide-toggle-thumb-container{transition:none}[dir=rtl] .mat-slide-toggle-thumb-container{left:auto;right:0}.mat-slide-toggle-thumb{height:20px;width:20px;border-radius:50%;display:block}.mat-slide-toggle-bar{position:relative;width:36px;height:14px;flex-shrink:0;border-radius:8px}.mat-slide-toggle-input{bottom:0;left:10px}[dir=rtl] .mat-slide-toggle-input{left:auto;right:10px}.mat-slide-toggle-bar,.mat-slide-toggle-thumb{transition:all 80ms linear;transition-property:background-color;transition-delay:50ms}._mat-animation-noopable .mat-slide-toggle-bar,._mat-animation-noopable .mat-slide-toggle-thumb{transition:none}.mat-slide-toggle .mat-slide-toggle-ripple{position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-slide-toggle .mat-slide-toggle-ripple .mat-ripple-element:not(.mat-slide-toggle-persistent-ripple){opacity:.12}.mat-slide-toggle-persistent-ripple{width:100%;height:100%;transform:none}.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:.04}.mat-slide-toggle:not(.mat-disabled).cdk-keyboard-focused .mat-slide-toggle-persistent-ripple{opacity:.12}.mat-slide-toggle-persistent-ripple,.mat-slide-toggle.mat-disabled .mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{opacity:0}@media(hover: none){.mat-slide-toggle-bar:hover .mat-slide-toggle-persistent-ripple{display:none}}.mat-slide-toggle-input:focus~.mat-slide-toggle-thumb-container .mat-focus-indicator::before{content:\"\"}.cdk-high-contrast-active .mat-slide-toggle-thumb,.cdk-high-contrast-active .mat-slide-toggle-bar{border:1px solid}"], dependencies: [{ kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i3.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySlideToggle, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
114
|
args: [{ selector: 'mat-slide-toggle', exportAs: 'matSlideToggle', host: {
|
|
115
115
|
'class': 'mat-slide-toggle',
|
|
@@ -145,17 +145,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
145
145
|
* @breaking-change 17.0.0
|
|
146
146
|
*/
|
|
147
147
|
class MatLegacySlideToggleModule {
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.
|
|
149
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.
|
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySlideToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
149
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySlideToggleModule, declarations: [MatLegacySlideToggle], imports: [_MatSlideToggleRequiredValidatorModule,
|
|
150
150
|
MatRippleModule,
|
|
151
151
|
MatCommonModule,
|
|
152
152
|
ObserversModule], exports: [_MatSlideToggleRequiredValidatorModule, MatLegacySlideToggle, MatCommonModule] }); }
|
|
153
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.
|
|
153
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySlideToggleModule, imports: [_MatSlideToggleRequiredValidatorModule,
|
|
154
154
|
MatRippleModule,
|
|
155
155
|
MatCommonModule,
|
|
156
156
|
ObserversModule, _MatSlideToggleRequiredValidatorModule, MatCommonModule] }); }
|
|
157
157
|
}
|
|
158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0-next.3", ngImport: i0, type: MatLegacySlideToggleModule, decorators: [{
|
|
159
159
|
type: NgModule,
|
|
160
160
|
args: [{
|
|
161
161
|
imports: [
|