@angular/material 17.1.0-next.0 → 17.1.0-next.2
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/autocomplete/_autocomplete-theme.scss +47 -14
- package/autocomplete/index.d.ts +14 -10
- package/badge/_badge-theme.scss +67 -35
- package/badge/index.d.ts +5 -5
- package/bottom-sheet/_bottom-sheet-theme.scss +51 -18
- package/bottom-sheet/index.d.ts +6 -6
- package/button/_button-theme.scss +4 -1
- package/button/_fab-theme.scss +65 -32
- package/button/_icon-button-theme.scss +89 -56
- package/button/index.d.ts +13 -13
- package/button-toggle/_button-toggle-theme.scss +66 -32
- package/button-toggle/index.d.ts +5 -5
- package/card/index.d.ts +18 -18
- package/checkbox/_checkbox-theme.scss +5 -10
- package/checkbox/index.d.ts +29 -6
- package/chips/_chips-theme.scss +64 -32
- package/chips/index.d.ts +46 -73
- package/core/_core-theme.scss +1 -3
- package/core/index.d.ts +62 -31
- package/core/internal-form-field/_internal-form-field-theme.scss +37 -0
- package/core/option/_optgroup-theme.scss +47 -16
- package/core/option/_option-theme.scss +54 -23
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +18 -58
- package/core/tokens/m2/_index.scss +38 -0
- package/core/tokens/m2/mat/_full-pseudo-checkbox.scss +49 -0
- package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +43 -0
- package/core/tokens/m2/mdc/_form-field.scss +46 -0
- package/datepicker/_datepicker-theme.scss +70 -38
- package/datepicker/index.d.ts +88 -86
- package/dialog/_dialog-theme.scss +48 -17
- package/divider/_divider-theme.scss +49 -16
- package/divider/index.d.ts +4 -4
- package/esm2022/autocomplete/autocomplete-origin.mjs +5 -4
- package/esm2022/autocomplete/autocomplete-trigger.mjs +27 -11
- package/esm2022/autocomplete/autocomplete.mjs +6 -6
- package/esm2022/autocomplete/module.mjs +23 -7
- package/esm2022/autocomplete/public-api.mjs +3 -1
- package/esm2022/autocomplete/testing/autocomplete-harness.mjs +1 -1
- package/esm2022/badge/badge-module.mjs +6 -7
- package/esm2022/badge/badge.mjs +5 -4
- package/esm2022/badge/testing/badge-harness.mjs +1 -1
- package/esm2022/bottom-sheet/bottom-sheet-container.mjs +6 -6
- package/esm2022/bottom-sheet/bottom-sheet-module.mjs +8 -7
- package/esm2022/bottom-sheet/bottom-sheet-ref.mjs +1 -1
- package/esm2022/bottom-sheet/bottom-sheet.mjs +5 -6
- package/esm2022/button/button-base.mjs +7 -7
- package/esm2022/button/button.mjs +9 -9
- package/esm2022/button/fab.mjs +17 -17
- package/esm2022/button/icon-button.mjs +9 -9
- package/esm2022/button/module.mjs +16 -12
- package/esm2022/button/testing/button-harness.mjs +1 -1
- package/esm2022/button-toggle/button-toggle-module.mjs +6 -7
- package/esm2022/button-toggle/button-toggle.mjs +10 -9
- package/esm2022/button-toggle/testing/button-toggle-harness.mjs +1 -1
- package/esm2022/card/card.mjs +57 -46
- package/esm2022/card/module.mjs +7 -8
- package/esm2022/checkbox/checkbox-required-validator.mjs +12 -4
- package/esm2022/checkbox/checkbox.mjs +39 -8
- package/esm2022/checkbox/module.mjs +17 -15
- package/esm2022/checkbox/testing/checkbox-harness.mjs +1 -1
- package/esm2022/chips/chip-action.mjs +5 -4
- package/esm2022/chips/chip-edit-input.mjs +5 -4
- package/esm2022/chips/chip-grid.mjs +39 -51
- package/esm2022/chips/chip-icons.mjs +13 -10
- package/esm2022/chips/chip-input.mjs +5 -4
- package/esm2022/chips/chip-listbox.mjs +5 -5
- package/esm2022/chips/chip-option.mjs +7 -7
- package/esm2022/chips/chip-row.mjs +7 -8
- package/esm2022/chips/chip-set.mjs +5 -5
- package/esm2022/chips/chip.mjs +5 -6
- package/esm2022/chips/module.mjs +7 -8
- package/esm2022/chips/testing/chip-edit-input-harness.mjs +1 -1
- package/esm2022/chips/testing/chip-input-harness.mjs +1 -1
- package/esm2022/chips/testing/chip-listbox-harness.mjs +1 -1
- package/esm2022/chips/testing/chip-option-harness.mjs +1 -1
- package/esm2022/chips/testing/chip-row-harness.mjs +1 -1
- package/esm2022/chips/tokens.mjs +8 -2
- package/esm2022/core/common-behaviors/color.mjs +1 -1
- package/esm2022/core/common-behaviors/common-module.mjs +5 -5
- package/esm2022/core/common-behaviors/error-state.mjs +50 -11
- package/esm2022/core/common-behaviors/index.mjs +2 -2
- package/esm2022/core/common-behaviors/initialized.mjs +1 -1
- package/esm2022/core/datetime/date-adapter.mjs +1 -1
- package/esm2022/core/datetime/index.mjs +9 -9
- package/esm2022/core/datetime/native-date-adapter.mjs +4 -4
- package/esm2022/core/error/error-options.mjs +7 -7
- package/esm2022/core/internal-form-field/internal-form-field.mjs +29 -0
- package/esm2022/core/line/line.mjs +10 -10
- package/esm2022/core/option/index.mjs +6 -7
- package/esm2022/core/option/optgroup.mjs +5 -5
- package/esm2022/core/option/option.mjs +9 -9
- package/esm2022/core/private/ripple-loader.mjs +4 -4
- package/esm2022/core/public-api.mjs +2 -1
- package/esm2022/core/ripple/index.mjs +6 -7
- package/esm2022/core/ripple/ripple-event-manager.mjs +1 -1
- package/esm2022/core/ripple/ripple-renderer.mjs +1 -1
- package/esm2022/core/ripple/ripple.mjs +5 -4
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +6 -7
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
- package/esm2022/core/version.mjs +1 -1
- package/esm2022/datepicker/aria-accessible-name.mjs +1 -1
- package/esm2022/datepicker/calendar-body.mjs +6 -6
- package/esm2022/datepicker/calendar.mjs +12 -16
- package/esm2022/datepicker/date-range-input-parts.mjs +41 -20
- package/esm2022/datepicker/date-range-input.mjs +7 -7
- package/esm2022/datepicker/date-range-picker.mjs +5 -4
- package/esm2022/datepicker/date-range-selection-strategy.mjs +4 -4
- package/esm2022/datepicker/date-selection-model.mjs +10 -10
- package/esm2022/datepicker/datepicker-actions.mjs +13 -11
- package/esm2022/datepicker/datepicker-base.mjs +23 -20
- package/esm2022/datepicker/datepicker-input-base.mjs +6 -5
- package/esm2022/datepicker/datepicker-input.mjs +5 -4
- package/esm2022/datepicker/datepicker-intl.mjs +4 -4
- package/esm2022/datepicker/datepicker-module.mjs +18 -16
- package/esm2022/datepicker/datepicker-toggle.mjs +10 -10
- package/esm2022/datepicker/datepicker.mjs +5 -4
- package/esm2022/datepicker/month-view.mjs +5 -6
- package/esm2022/datepicker/multi-year-view.mjs +5 -6
- package/esm2022/datepicker/testing/calendar-harness.mjs +1 -1
- package/esm2022/datepicker/testing/datepicker-input-harness-base.mjs +1 -1
- package/esm2022/datepicker/testing/datepicker-input-harness.mjs +1 -1
- package/esm2022/datepicker/testing/datepicker-trigger-harness-base.mjs +1 -1
- package/esm2022/datepicker/year-view.mjs +5 -6
- package/esm2022/dialog/dialog-container.mjs +7 -8
- package/esm2022/dialog/dialog-content-directives.mjs +13 -13
- package/esm2022/dialog/dialog-ref.mjs +1 -1
- package/esm2022/dialog/dialog.mjs +4 -4
- package/esm2022/dialog/module.mjs +5 -5
- package/esm2022/dialog/testing/dialog-opener.mjs +3 -3
- package/esm2022/divider/divider-module.mjs +6 -7
- package/esm2022/divider/divider.mjs +5 -5
- package/esm2022/expansion/accordion.mjs +5 -4
- package/esm2022/expansion/expansion-module.mjs +16 -9
- package/esm2022/expansion/expansion-panel-content.mjs +5 -4
- package/esm2022/expansion/expansion-panel-header.mjs +13 -11
- package/esm2022/expansion/expansion-panel.mjs +11 -11
- package/esm2022/expansion/testing/expansion-harness.mjs +1 -1
- package/esm2022/form-field/directives/error.mjs +5 -4
- package/esm2022/form-field/directives/floating-label.mjs +5 -4
- package/esm2022/form-field/directives/hint.mjs +5 -4
- package/esm2022/form-field/directives/label.mjs +5 -4
- package/esm2022/form-field/directives/line-ripple.mjs +5 -4
- package/esm2022/form-field/directives/notched-outline.mjs +5 -5
- package/esm2022/form-field/directives/prefix.mjs +5 -4
- package/esm2022/form-field/directives/suffix.mjs +5 -4
- package/esm2022/form-field/form-field-control.mjs +4 -4
- package/esm2022/form-field/form-field.mjs +14 -13
- package/esm2022/form-field/module.mjs +16 -18
- package/esm2022/form-field/testing/form-field-harness.mjs +1 -1
- package/esm2022/grid-list/grid-list-module.mjs +15 -11
- package/esm2022/grid-list/grid-list.mjs +5 -5
- package/esm2022/grid-list/grid-tile.mjs +21 -18
- package/esm2022/grid-list/testing/grid-list-harness.mjs +1 -1
- package/esm2022/grid-list/tile-coordinator.mjs +1 -1
- package/esm2022/grid-list/tile-styler.mjs +1 -1
- package/esm2022/icon/icon-module.mjs +6 -7
- package/esm2022/icon/icon-registry.mjs +4 -4
- package/esm2022/icon/icon.mjs +5 -5
- package/esm2022/icon/testing/fake-icon-registry.mjs +8 -8
- package/esm2022/icon/testing/icon-harness.mjs +1 -1
- package/esm2022/icon/trusted-types.mjs +1 -1
- package/esm2022/input/input.mjs +28 -30
- package/esm2022/input/module.mjs +6 -7
- package/esm2022/input/public-api.mjs +3 -1
- package/esm2022/input/testing/input-harness.mjs +1 -1
- package/esm2022/input/testing/native-select-harness.mjs +1 -1
- package/esm2022/list/action-list.mjs +5 -5
- package/esm2022/list/list-base.mjs +9 -7
- package/esm2022/list/list-item-sections.mjs +25 -19
- package/esm2022/list/list-module.mjs +15 -16
- package/esm2022/list/list-option.mjs +8 -8
- package/esm2022/list/list.mjs +10 -10
- package/esm2022/list/nav-list.mjs +5 -5
- package/esm2022/list/selection-list.mjs +5 -5
- package/esm2022/list/subheader.mjs +5 -4
- package/esm2022/list/testing/list-harness-base.mjs +1 -1
- package/esm2022/list/testing/list-item-harness-base.mjs +1 -1
- package/esm2022/list/testing/selection-list-harness.mjs +1 -1
- package/esm2022/menu/menu-content.mjs +5 -4
- package/esm2022/menu/menu-item.mjs +6 -6
- package/esm2022/menu/menu-trigger.mjs +12 -5
- package/esm2022/menu/menu.mjs +6 -6
- package/esm2022/menu/module.mjs +25 -7
- package/esm2022/menu/testing/menu-harness.mjs +1 -1
- package/esm2022/paginator/module.mjs +6 -7
- package/esm2022/paginator/paginator-intl.mjs +4 -4
- package/esm2022/paginator/paginator.mjs +10 -11
- package/esm2022/paginator/testing/paginator-harness.mjs +1 -1
- package/esm2022/progress-bar/module.mjs +6 -6
- package/esm2022/progress-bar/progress-bar.mjs +5 -5
- package/esm2022/progress-spinner/module.mjs +6 -7
- package/esm2022/progress-spinner/progress-spinner.mjs +6 -6
- package/esm2022/radio/module.mjs +6 -7
- package/esm2022/radio/radio.mjs +13 -9
- package/esm2022/radio/testing/radio-harness.mjs +1 -1
- package/esm2022/select/module.mjs +21 -7
- package/esm2022/select/public-api.mjs +5 -1
- package/esm2022/select/select.mjs +51 -42
- package/esm2022/select/testing/select-harness.mjs +1 -1
- package/esm2022/sidenav/drawer.mjs +13 -12
- package/esm2022/sidenav/sidenav-module.mjs +14 -10
- package/esm2022/sidenav/sidenav.mjs +13 -12
- package/esm2022/sidenav/testing/drawer-harness.mjs +1 -1
- package/esm2022/slide-toggle/module.mjs +17 -15
- package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +12 -4
- package/esm2022/slide-toggle/slide-toggle.mjs +39 -8
- package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +1 -1
- package/esm2022/slider/module.mjs +19 -7
- package/esm2022/slider/slider-input.mjs +11 -8
- package/esm2022/slider/slider-thumb.mjs +5 -6
- package/esm2022/slider/slider.mjs +8 -8
- package/esm2022/slider/testing/slider-harness.mjs +1 -1
- package/esm2022/snack-bar/module.mjs +6 -6
- package/esm2022/snack-bar/simple-snack-bar.mjs +6 -8
- package/esm2022/snack-bar/snack-bar-container.mjs +7 -8
- package/esm2022/snack-bar/snack-bar-content.mjs +10 -10
- package/esm2022/snack-bar/snack-bar-ref.mjs +1 -1
- package/esm2022/snack-bar/snack-bar.mjs +4 -4
- package/esm2022/snack-bar/testing/snack-bar-harness.mjs +1 -1
- package/esm2022/sort/sort-header-intl.mjs +4 -4
- package/esm2022/sort/sort-header.mjs +5 -5
- package/esm2022/sort/sort-module.mjs +6 -7
- package/esm2022/sort/sort.mjs +5 -4
- package/esm2022/sort/testing/sort-harness.mjs +1 -1
- package/esm2022/sort/testing/sort-header-harness.mjs +1 -1
- package/esm2022/stepper/step-content.mjs +5 -4
- package/esm2022/stepper/step-header.mjs +8 -8
- package/esm2022/stepper/step-label.mjs +5 -4
- package/esm2022/stepper/stepper-button.mjs +9 -7
- package/esm2022/stepper/stepper-icon.mjs +5 -4
- package/esm2022/stepper/stepper-intl.mjs +4 -4
- package/esm2022/stepper/stepper-module.mjs +17 -16
- package/esm2022/stepper/stepper.mjs +14 -16
- package/esm2022/stepper/testing/step-harness.mjs +1 -1
- package/esm2022/stepper/testing/stepper-harness.mjs +1 -1
- package/esm2022/table/cell.mjs +29 -22
- package/esm2022/table/module.mjs +7 -8
- package/esm2022/table/row.mjs +33 -24
- package/esm2022/table/table-data-source.mjs +1 -1
- package/esm2022/table/table.mjs +11 -11
- package/esm2022/table/testing/cell-harness.mjs +1 -1
- package/esm2022/table/testing/table-harness.mjs +1 -1
- package/esm2022/table/text-column.mjs +8 -6
- package/esm2022/tabs/ink-bar.mjs +1 -1
- package/esm2022/tabs/module.mjs +10 -43
- package/esm2022/tabs/paginated-tab-header.mjs +4 -4
- package/esm2022/tabs/tab-body.mjs +10 -8
- package/esm2022/tabs/tab-content.mjs +5 -4
- package/esm2022/tabs/tab-group.mjs +20 -13
- package/esm2022/tabs/tab-header.mjs +7 -7
- package/esm2022/tabs/tab-label-wrapper.mjs +5 -4
- package/esm2022/tabs/tab-label.mjs +5 -4
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +17 -17
- package/esm2022/tabs/tab.mjs +5 -5
- package/esm2022/tabs/testing/tab-group-harness.mjs +1 -1
- package/esm2022/tabs/testing/tab-nav-bar-harness.mjs +1 -1
- package/esm2022/toolbar/toolbar-module.mjs +6 -7
- package/esm2022/toolbar/toolbar.mjs +9 -8
- package/esm2022/tooltip/module.mjs +6 -7
- package/esm2022/tooltip/tooltip.mjs +18 -12
- package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
- package/esm2022/tree/node.mjs +13 -10
- package/esm2022/tree/outlet.mjs +5 -4
- package/esm2022/tree/padding.mjs +5 -4
- package/esm2022/tree/testing/node-harness.mjs +1 -1
- package/esm2022/tree/testing/tree-harness.mjs +1 -1
- package/esm2022/tree/toggle.mjs +5 -4
- package/esm2022/tree/tree-module.mjs +7 -8
- package/esm2022/tree/tree.mjs +5 -6
- package/expansion/_expansion-theme.scss +56 -22
- package/expansion/index.d.ts +15 -15
- package/fesm2022/autocomplete/testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +60 -27
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge/testing.mjs.map +1 -1
- package/fesm2022/badge.mjs +9 -9
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +25 -26
- 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 +14 -15
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +53 -49
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card.mjs +62 -52
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox/testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +63 -22
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips/testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +94 -96
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +135 -78
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker/testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +178 -146
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog/testing.mjs +2 -2
- package/fesm2022/dialog/testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +25 -26
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider.mjs +9 -10
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion/testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +47 -36
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field/testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs +61 -48
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list/testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +38 -31
- 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 +12 -13
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input/testing.mjs.map +1 -1
- package/fesm2022/input.mjs +33 -35
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list/testing.mjs.map +1 -1
- package/fesm2022/list.mjs +77 -71
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu/testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +51 -27
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator/testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs +17 -22
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +9 -9
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +10 -12
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio/testing.mjs.map +1 -1
- package/fesm2022/radio.mjs +18 -16
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select/testing.mjs.map +1 -1
- package/fesm2022/select.mjs +72 -48
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav/testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +37 -31
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle/testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +63 -23
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider/testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +40 -26
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar/testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +32 -34
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort/testing.mjs.map +1 -1
- package/fesm2022/sort.mjs +16 -16
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper/testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +58 -55
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table/testing.mjs.map +1 -1
- package/fesm2022/table.mjs +81 -63
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs/testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +408 -424
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +13 -13
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +22 -17
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree/testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +34 -29
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/index.d.ts +33 -45
- package/grid-list/index.d.ts +10 -10
- package/icon/_icon-theme.scss +55 -23
- package/icon/index.d.ts +4 -4
- package/input/index.d.ts +33 -32
- package/list/index.d.ts +36 -36
- package/menu/_menu-theme.scss +50 -18
- package/menu/index.d.ts +12 -12
- package/package.json +2 -2
- package/paginator/_paginator-theme.scss +62 -29
- package/paginator/index.d.ts +6 -6
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-bar/index.d.ts +2 -2
- package/progress-spinner/index.d.ts +4 -4
- package/radio/_radio-theme.scss +5 -10
- package/radio/index.d.ts +8 -6
- package/schematics/ng-add/fonts/material-fonts.js +1 -1
- package/schematics/ng-add/fonts/material-fonts.mjs +1 -1
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.mjs +2 -2
- package/schematics/ng-add/package-config.js +1 -1
- package/schematics/ng-add/package-config.mjs +1 -1
- package/schematics/ng-add/setup-project.js +1 -1
- package/schematics/ng-add/setup-project.mjs +1 -1
- package/schematics/ng-add/theming/theming.js +1 -1
- package/schematics/ng-add/theming/theming.mjs +1 -1
- package/schematics/ng-generate/address-form/index.js +1 -1
- package/schematics/ng-generate/address-form/index.mjs +1 -1
- package/schematics/ng-generate/dashboard/index.js +1 -1
- package/schematics/ng-generate/dashboard/index.mjs +1 -1
- package/schematics/ng-generate/mdc-migration/index_bundled.js +596 -361
- package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
- package/schematics/ng-generate/navigation/index.js +1 -1
- package/schematics/ng-generate/navigation/index.mjs +1 -1
- package/schematics/ng-generate/table/index.js +1 -1
- package/schematics/ng-generate/table/index.mjs +1 -1
- package/schematics/ng-generate/tree/index.js +1 -1
- package/schematics/ng-generate/tree/index.mjs +1 -1
- package/schematics/ng-update/index_bundled.js +41 -37
- package/schematics/ng-update/index_bundled.js.map +2 -2
- package/select/_select-theme.scss +71 -38
- package/select/index.d.ts +47 -35
- package/sidenav/_sidenav-theme.scss +49 -16
- package/sidenav/index.d.ts +11 -11
- package/slide-toggle/_slide-toggle-theme.scss +5 -4
- package/slide-toggle/index.d.ts +31 -7
- package/slider/index.d.ts +9 -9
- package/sort/index.d.ts +6 -6
- package/stepper/index.d.ts +29 -29
- package/table/index.d.ts +24 -24
- package/tabs/index.d.ts +18 -43
- package/toolbar/index.d.ts +5 -5
- package/tooltip/index.d.ts +8 -8
- package/tree/index.d.ts +15 -15
package/expansion/index.d.ts
CHANGED
|
@@ -11,9 +11,9 @@ import { FocusableOption } from '@angular/cdk/a11y';
|
|
|
11
11
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
12
12
|
import { FocusOrigin } from '@angular/cdk/a11y';
|
|
13
13
|
import * as i0 from '@angular/core';
|
|
14
|
-
import * as
|
|
15
|
-
import * as
|
|
16
|
-
import * as
|
|
14
|
+
import * as i1 from '@angular/material/core';
|
|
15
|
+
import * as i2 from '@angular/cdk/accordion';
|
|
16
|
+
import * as i3 from '@angular/cdk/portal';
|
|
17
17
|
import { InjectionToken } from '@angular/core';
|
|
18
18
|
import { OnChanges } from '@angular/core';
|
|
19
19
|
import { OnDestroy } from '@angular/core';
|
|
@@ -28,13 +28,13 @@ import { ViewContainerRef } from '@angular/core';
|
|
|
28
28
|
/** Time and timing curve for expansion panel animations. */
|
|
29
29
|
export declare const EXPANSION_PANEL_ANIMATION_TIMING = "225ms cubic-bezier(0.4,0.0,0.2,1)";
|
|
30
30
|
|
|
31
|
-
declare namespace
|
|
31
|
+
declare namespace i4 {
|
|
32
32
|
export {
|
|
33
33
|
MatAccordion
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
declare namespace
|
|
37
|
+
declare namespace i5 {
|
|
38
38
|
export {
|
|
39
39
|
MatExpansionPanelState,
|
|
40
40
|
MatExpansionPanelDefaultOptions,
|
|
@@ -44,7 +44,7 @@ declare namespace i2 {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
declare namespace
|
|
47
|
+
declare namespace i6 {
|
|
48
48
|
export {
|
|
49
49
|
MatExpansionPanelHeader,
|
|
50
50
|
MatExpansionPanelDescription,
|
|
@@ -52,7 +52,7 @@ declare namespace i3 {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
declare namespace
|
|
55
|
+
declare namespace i7 {
|
|
56
56
|
export {
|
|
57
57
|
MatExpansionPanelContent
|
|
58
58
|
}
|
|
@@ -104,7 +104,7 @@ export declare class MatAccordion extends CdkAccordion implements MatAccordionBa
|
|
|
104
104
|
_handleHeaderFocus(header: MatExpansionPanelHeader): void;
|
|
105
105
|
ngOnDestroy(): void;
|
|
106
106
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatAccordion, never>;
|
|
107
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatAccordion, "mat-accordion", ["matAccordion"], { "multi": { "alias": "multi"; "required": false; }; "hideToggle": { "alias": "hideToggle"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "togglePosition": { "alias": "togglePosition"; "required": false; }; }, {}, ["_headers"], never,
|
|
107
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatAccordion, "mat-accordion", ["matAccordion"], { "multi": { "alias": "multi"; "required": false; }; "hideToggle": { "alias": "hideToggle"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "togglePosition": { "alias": "togglePosition"; "required": false; }; }, {}, ["_headers"], never, true, never>;
|
|
108
108
|
static ngAcceptInputType_hideToggle: unknown;
|
|
109
109
|
}
|
|
110
110
|
|
|
@@ -160,7 +160,7 @@ export declare const matExpansionAnimations: {
|
|
|
160
160
|
|
|
161
161
|
export declare class MatExpansionModule {
|
|
162
162
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionModule, never>;
|
|
163
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<MatExpansionModule, [typeof i1.
|
|
163
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MatExpansionModule, never, [typeof i1.MatCommonModule, typeof i2.CdkAccordionModule, typeof i3.PortalModule, typeof i4.MatAccordion, typeof i5.MatExpansionPanel, typeof i5.MatExpansionPanelActionRow, typeof i6.MatExpansionPanelHeader, typeof i6.MatExpansionPanelTitle, typeof i6.MatExpansionPanelDescription, typeof i7.MatExpansionPanelContent], [typeof i4.MatAccordion, typeof i5.MatExpansionPanel, typeof i5.MatExpansionPanelActionRow, typeof i6.MatExpansionPanelHeader, typeof i6.MatExpansionPanelTitle, typeof i6.MatExpansionPanelDescription, typeof i7.MatExpansionPanelContent]>;
|
|
164
164
|
static ɵinj: i0.ɵɵInjectorDeclaration<MatExpansionModule>;
|
|
165
165
|
}
|
|
166
166
|
|
|
@@ -215,7 +215,7 @@ export declare class MatExpansionPanel extends CdkAccordionItem implements After
|
|
|
215
215
|
/** Checks whether the expansion panel's content contains the currently-focused element. */
|
|
216
216
|
_containsFocus(): boolean;
|
|
217
217
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionPanel, [{ optional: true; skipSelf: true; }, null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
218
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatExpansionPanel, "mat-expansion-panel", ["matExpansionPanel"], { "disabled": { "alias": "disabled"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "hideToggle": { "alias": "hideToggle"; "required": false; }; "togglePosition": { "alias": "togglePosition"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; "expandedChange": "expandedChange"; "afterExpand": "afterExpand"; "afterCollapse": "afterCollapse"; }, ["_lazyContent"], ["mat-expansion-panel-header", "*", "mat-action-row"],
|
|
218
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatExpansionPanel, "mat-expansion-panel", ["matExpansionPanel"], { "disabled": { "alias": "disabled"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "hideToggle": { "alias": "hideToggle"; "required": false; }; "togglePosition": { "alias": "togglePosition"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; "expandedChange": "expandedChange"; "afterExpand": "afterExpand"; "afterCollapse": "afterCollapse"; }, ["_lazyContent"], ["mat-expansion-panel-header", "*", "mat-action-row"], true, never>;
|
|
219
219
|
static ngAcceptInputType_hideToggle: unknown;
|
|
220
220
|
}
|
|
221
221
|
|
|
@@ -224,7 +224,7 @@ export declare class MatExpansionPanel extends CdkAccordionItem implements After
|
|
|
224
224
|
*/
|
|
225
225
|
export declare class MatExpansionPanelActionRow {
|
|
226
226
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionPanelActionRow, never>;
|
|
227
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelActionRow, "mat-action-row", never, {}, {}, never, never,
|
|
227
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelActionRow, "mat-action-row", never, {}, {}, never, never, true, never>;
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
/**
|
|
@@ -245,7 +245,7 @@ export declare class MatExpansionPanelContent {
|
|
|
245
245
|
_expansionPanel?: MatExpansionPanelBase | undefined;
|
|
246
246
|
constructor(_template: TemplateRef<any>, _expansionPanel?: MatExpansionPanelBase | undefined);
|
|
247
247
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionPanelContent, [null, { optional: true; }]>;
|
|
248
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelContent, "ng-template[matExpansionPanelContent]", never, {}, {}, never, never,
|
|
248
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelContent, "ng-template[matExpansionPanelContent]", never, {}, {}, never, never, true, never>;
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
/**
|
|
@@ -266,7 +266,7 @@ export declare interface MatExpansionPanelDefaultOptions {
|
|
|
266
266
|
*/
|
|
267
267
|
export declare class MatExpansionPanelDescription {
|
|
268
268
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionPanelDescription, never>;
|
|
269
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelDescription, "mat-panel-description", never, {}, {}, never, never,
|
|
269
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelDescription, "mat-panel-description", never, {}, {}, never, never, true, never>;
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
/**
|
|
@@ -319,7 +319,7 @@ export declare class MatExpansionPanelHeader implements AfterViewInit, OnDestroy
|
|
|
319
319
|
ngAfterViewInit(): void;
|
|
320
320
|
ngOnDestroy(): void;
|
|
321
321
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionPanelHeader, [{ host: true; }, null, null, null, { optional: true; }, { optional: true; }, { attribute: "tabindex"; }]>;
|
|
322
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatExpansionPanelHeader, "mat-expansion-panel-header", never, { "expandedHeight": { "alias": "expandedHeight"; "required": false; }; "collapsedHeight": { "alias": "collapsedHeight"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, {}, never, ["mat-panel-title", "mat-panel-description", "*"],
|
|
322
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatExpansionPanelHeader, "mat-expansion-panel-header", never, { "expandedHeight": { "alias": "expandedHeight"; "required": false; }; "collapsedHeight": { "alias": "collapsedHeight"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, {}, never, ["mat-panel-title", "mat-panel-description", "*"], true, never>;
|
|
323
323
|
static ngAcceptInputType_tabIndex: unknown;
|
|
324
324
|
}
|
|
325
325
|
|
|
@@ -331,7 +331,7 @@ export declare type MatExpansionPanelState = 'expanded' | 'collapsed';
|
|
|
331
331
|
*/
|
|
332
332
|
export declare class MatExpansionPanelTitle {
|
|
333
333
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionPanelTitle, never>;
|
|
334
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelTitle, "mat-panel-title", never, {}, {}, never, never,
|
|
334
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatExpansionPanelTitle, "mat-panel-title", never, {}, {}, never, never, true, never>;
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
export { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/autocomplete/testing/autocomplete-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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {\n MatOptgroupHarness,\n MatOptionHarness,\n OptgroupHarnessFilters,\n OptionHarnessFilters,\n} from '@angular/material/core/testing';\nimport {AutocompleteHarnessFilters} from './autocomplete-harness-filters';\n\nexport class MatAutocompleteHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatAutocomplete` instance. */\n static hostSelector = '.mat-mdc-autocomplete-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an autocomplete with specific\n * attributes.\n * @param options Options for filtering which autocomplete instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatAutocompleteHarness>(\n this: ComponentHarnessConstructor<T>,\n options: AutocompleteHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) =>\n HarnessPredicate.stringMatches(harness.getValue(), value),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets the value of the autocomplete input. */\n async getValue(): Promise<string> {\n return (await this.host()).getProperty<string>('value');\n }\n\n /** Whether the autocomplete input is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Focuses the autocomplete input. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the autocomplete input. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the autocomplete input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Enters text into the autocomplete. */\n async enterText(value: string): Promise<void> {\n return (await this.host()).sendKeys(value);\n }\n\n /** Clears the input value. */\n async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /** Gets the options inside the autocomplete panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for autocomplete. Autocomplete panel is closed.');\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptionHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionHarnessFilters),\n )();\n }\n\n /** Gets the option groups inside the autocomplete panel. */\n async getOptionGroups(\n filters?: Omit<OptgroupHarnessFilters, 'ancestor'>,\n ): Promise<MatOptgroupHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error(\n 'Unable to retrieve option groups for autocomplete. Autocomplete panel is closed.',\n );\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptgroupHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptgroupHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n await this.focus(); // Focus the input to make sure the autocomplete panel is shown.\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Whether the autocomplete is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._getPanel();\n return !!panel && (await panel.hasClass(`mat-mdc-autocomplete-visible`));\n }\n\n /** Gets the panel associated with this autocomplete trigger. */\n private async _getPanel(): Promise<TestElement | null> {\n // Technically this is static, but it needs to be in a\n // function, because the autocomplete's panel ID can changed.\n return this._documentRootLocator.locatorForOptional(await this._getPanelSelector())();\n }\n\n /** Gets the selector that can be used to find the autocomplete trigger's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('aria-controls')}`;\n }\n}\n"],"names":[],"mappings":";;;;AAuBM,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAA5D,IAAA,WAAA,GAAA;;AACU,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;KAuHlE;;aApHQ,IAAY,CAAA,YAAA,GAAG,+BAAH,CAAmC,EAAA;AAEtD;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAsC,EAAE,EAAA;AAExC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;aACvC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,KAChD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAC1D;AACA,aAAA,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,OAAO,EAAE,QAAQ,KAAI;YACnE,OAAO,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,QAAQ,CAAC;AACnD,SAAC,CAAC,CAAC;KACN;;AAGD,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAS,OAAO,CAAC,CAAC;KACzD;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;AAC9D,QAAA,OAAO,qBAAqB,CAAC,MAAM,QAAQ,CAAC,CAAC;KAC9C;;AAGD,IAAA,MAAM,KAAK,GAAA;QACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACpC;;AAGD,IAAA,MAAM,IAAI,GAAA;QACR,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACnC;;AAGD,IAAA,MAAM,SAAS,GAAA;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;KACxC;;IAGD,MAAM,SAAS,CAAC,KAAa,EAAA;AAC3B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC5C;;AAGD,IAAA,MAAM,KAAK,GAAA;QACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACpC;;IAGD,MAAM,UAAU,CAAC,OAAgD,EAAA;QAC/D,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/autocomplete/testing/autocomplete-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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {\n MatOptgroupHarness,\n MatOptionHarness,\n OptgroupHarnessFilters,\n OptionHarnessFilters,\n} from '@angular/material/core/testing';\nimport {AutocompleteHarnessFilters} from './autocomplete-harness-filters';\n\nexport class MatAutocompleteHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatAutocomplete` instance. */\n static hostSelector = '.mat-mdc-autocomplete-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an autocomplete with specific\n * attributes.\n * @param options Options for filtering which autocomplete instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatAutocompleteHarness>(\n this: ComponentHarnessConstructor<T>,\n options: AutocompleteHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) =>\n HarnessPredicate.stringMatches(harness.getValue(), value),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets the value of the autocomplete input. */\n async getValue(): Promise<string> {\n return (await this.host()).getProperty<string>('value');\n }\n\n /** Whether the autocomplete input is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Focuses the autocomplete input. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the autocomplete input. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the autocomplete input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Enters text into the autocomplete. */\n async enterText(value: string): Promise<void> {\n return (await this.host()).sendKeys(value);\n }\n\n /** Clears the input value. */\n async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /** Gets the options inside the autocomplete panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for autocomplete. Autocomplete panel is closed.');\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptionHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionHarnessFilters),\n )();\n }\n\n /** Gets the option groups inside the autocomplete panel. */\n async getOptionGroups(\n filters?: Omit<OptgroupHarnessFilters, 'ancestor'>,\n ): Promise<MatOptgroupHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error(\n 'Unable to retrieve option groups for autocomplete. Autocomplete panel is closed.',\n );\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptgroupHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptgroupHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n await this.focus(); // Focus the input to make sure the autocomplete panel is shown.\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Whether the autocomplete is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._getPanel();\n return !!panel && (await panel.hasClass(`mat-mdc-autocomplete-visible`));\n }\n\n /** Gets the panel associated with this autocomplete trigger. */\n private async _getPanel(): Promise<TestElement | null> {\n // Technically this is static, but it needs to be in a\n // function, because the autocomplete's panel ID can changed.\n return this._documentRootLocator.locatorForOptional(await this._getPanelSelector())();\n }\n\n /** Gets the selector that can be used to find the autocomplete trigger's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('aria-controls')}`;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, EventEmitter, booleanAttribute, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewChild, ContentChildren, Input, Output, Directive, forwardRef, Optional, Host, NgModule } from '@angular/core';
|
|
2
|
+
import { InjectionToken, EventEmitter, booleanAttribute, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, ViewChild, ContentChildren, Input, Output, Directive, forwardRef, inject, Optional, Host, NgModule } from '@angular/core';
|
|
3
3
|
import { MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionSelectionChange, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MatOptionModule, MatCommonModule } from '@angular/material/core';
|
|
4
|
-
|
|
5
|
-
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
4
|
+
export { MatOptgroup, MatOption } from '@angular/material/core';
|
|
5
|
+
import { NgClass, DOCUMENT, CommonModule } from '@angular/common';
|
|
6
6
|
import * as i3 from '@angular/cdk/scrolling';
|
|
7
7
|
import { CdkScrollableModule } from '@angular/cdk/scrolling';
|
|
8
8
|
import * as i1$1 from '@angular/cdk/overlay';
|
|
@@ -19,7 +19,7 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
19
19
|
import * as i4 from '@angular/material/form-field';
|
|
20
20
|
import { MAT_FORM_FIELD } from '@angular/material/form-field';
|
|
21
21
|
import { startWith, switchMap, take, filter, map, tap, delay } from 'rxjs/operators';
|
|
22
|
-
import * as i2
|
|
22
|
+
import * as i2 from '@angular/cdk/bidi';
|
|
23
23
|
|
|
24
24
|
// Animation values come from
|
|
25
25
|
// https://github.com/material-components/material-components-web/blob/master/packages/mdc-menu-surface/_mixins.scss
|
|
@@ -227,15 +227,15 @@ class MatAutocomplete {
|
|
|
227
227
|
_skipPredicate() {
|
|
228
228
|
return false;
|
|
229
229
|
}
|
|
230
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
231
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.
|
|
230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocomplete, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.1.0-next.2", type: MatAutocomplete, isStandalone: true, selector: "mat-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { attributes: { "ngSkipHydration": "" }, classAttribute: "mat-mdc-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["matAutocomplete"], ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [ngClass]=\"_classList\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n (@panelAnimation.done)=\"_animationDone.next($event)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-autocomplete-background-color)}.cdk-high-contrast-active div.mat-mdc-autocomplete-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden}mat-autocomplete{display:none}"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [panelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
232
232
|
}
|
|
233
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocomplete, decorators: [{
|
|
234
234
|
type: Component,
|
|
235
235
|
args: [{ selector: 'mat-autocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'matAutocomplete', host: {
|
|
236
236
|
'class': 'mat-mdc-autocomplete',
|
|
237
237
|
'ngSkipHydration': '',
|
|
238
|
-
}, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], animations: [panelAnimation], template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [ngClass]=\"_classList\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n (@panelAnimation.done)=\"_animationDone.next($event)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-autocomplete-background-color)}.cdk-high-contrast-active div.mat-mdc-autocomplete-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden}mat-autocomplete{display:none}"] }]
|
|
238
|
+
}, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], animations: [panelAnimation], standalone: true, imports: [NgClass], template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [ngClass]=\"_classList\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n (@panelAnimation.done)=\"_animationDone.next($event)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-autocomplete-background-color)}.cdk-high-contrast-active div.mat-mdc-autocomplete-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden}mat-autocomplete{display:none}"] }]
|
|
239
239
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
240
240
|
type: Inject,
|
|
241
241
|
args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS]
|
|
@@ -299,14 +299,15 @@ class MatAutocompleteOrigin {
|
|
|
299
299
|
elementRef) {
|
|
300
300
|
this.elementRef = elementRef;
|
|
301
301
|
}
|
|
302
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
303
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.
|
|
302
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteOrigin, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
303
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0-next.2", type: MatAutocompleteOrigin, isStandalone: true, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], ngImport: i0 }); }
|
|
304
304
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
|
|
306
306
|
type: Directive,
|
|
307
307
|
args: [{
|
|
308
308
|
selector: '[matAutocompleteOrigin]',
|
|
309
309
|
exportAs: 'matAutocompleteOrigin',
|
|
310
|
+
standalone: true,
|
|
310
311
|
}]
|
|
311
312
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
312
313
|
|
|
@@ -329,7 +330,13 @@ function getMatAutocompleteMissingPanelError() {
|
|
|
329
330
|
"you're attempting to open it after the ngAfterContentInit hook.");
|
|
330
331
|
}
|
|
331
332
|
/** Injection token that determines the scroll handling while the autocomplete panel is open. */
|
|
332
|
-
const MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('mat-autocomplete-scroll-strategy'
|
|
333
|
+
const MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('mat-autocomplete-scroll-strategy', {
|
|
334
|
+
providedIn: 'root',
|
|
335
|
+
factory: () => {
|
|
336
|
+
const overlay = inject(Overlay);
|
|
337
|
+
return () => overlay.scrollStrategies.reposition();
|
|
338
|
+
},
|
|
339
|
+
});
|
|
333
340
|
/** @docs-private */
|
|
334
341
|
function MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay) {
|
|
335
342
|
return () => overlay.scrollStrategies.reposition();
|
|
@@ -635,6 +642,17 @@ class MatAutocompleteTrigger {
|
|
|
635
642
|
if (!value) {
|
|
636
643
|
this._clearPreviousSelectedOption(null, false);
|
|
637
644
|
}
|
|
645
|
+
else if (this.panelOpen && !this.autocomplete.requireSelection) {
|
|
646
|
+
// Note that we don't reset this when `requireSelection` is enabled,
|
|
647
|
+
// because the option will be reset when the panel is closed.
|
|
648
|
+
const selectedOption = this.autocomplete.options?.find(option => option.selected);
|
|
649
|
+
if (selectedOption) {
|
|
650
|
+
const display = this.autocomplete.displayWith?.(selectedOption) ?? selectedOption.value;
|
|
651
|
+
if (value !== display) {
|
|
652
|
+
selectedOption.deselect(false);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
}
|
|
638
656
|
if (this._canOpen() && this._document.activeElement === event.target) {
|
|
639
657
|
this.openPanel();
|
|
640
658
|
}
|
|
@@ -750,16 +768,14 @@ class MatAutocompleteTrigger {
|
|
|
750
768
|
const toDisplay = this.autocomplete && this.autocomplete.displayWith
|
|
751
769
|
? this.autocomplete.displayWith(value)
|
|
752
770
|
: value;
|
|
771
|
+
if (value == null) {
|
|
772
|
+
this._clearPreviousSelectedOption(null, false);
|
|
773
|
+
}
|
|
753
774
|
// Simply falling back to an empty string if the display value is falsy does not work properly.
|
|
754
775
|
// The display value can also be the number zero and shouldn't fall back to an empty string.
|
|
755
776
|
this._updateNativeInputValue(toDisplay != null ? toDisplay : '');
|
|
756
777
|
}
|
|
757
778
|
_updateNativeInputValue(value) {
|
|
758
|
-
// We want to clear the previous selection if our new value is falsy. e.g: reactive form field
|
|
759
|
-
// being reset.
|
|
760
|
-
if (!value) {
|
|
761
|
-
this._clearPreviousSelectedOption(null, false);
|
|
762
|
-
}
|
|
763
779
|
// If it's used within a `MatFormField`, we should set it through the property so it can go
|
|
764
780
|
// through change detection.
|
|
765
781
|
if (this._formField) {
|
|
@@ -1047,10 +1063,10 @@ class MatAutocompleteTrigger {
|
|
|
1047
1063
|
this._trackedModal = null;
|
|
1048
1064
|
}
|
|
1049
1065
|
}
|
|
1050
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
1051
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.
|
|
1066
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteTrigger, deps: [{ token: i0.ElementRef }, { token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: MAT_AUTOCOMPLETE_SCROLL_STRATEGY }, { token: i2.Directionality, optional: true }, { token: MAT_FORM_FIELD, host: true, optional: true }, { token: DOCUMENT, optional: true }, { token: i3.ViewportRuler }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1067
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.2", type: MatAutocompleteTrigger, isStandalone: true, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-mdc-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 }); }
|
|
1052
1068
|
}
|
|
1053
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
1069
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
|
|
1054
1070
|
type: Directive,
|
|
1055
1071
|
args: [{
|
|
1056
1072
|
selector: `input[matAutocomplete], textarea[matAutocomplete]`,
|
|
@@ -1073,11 +1089,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1073
1089
|
},
|
|
1074
1090
|
exportAs: 'matAutocompleteTrigger',
|
|
1075
1091
|
providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR],
|
|
1092
|
+
standalone: true,
|
|
1076
1093
|
}]
|
|
1077
1094
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
1078
1095
|
type: Inject,
|
|
1079
1096
|
args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY]
|
|
1080
|
-
}] }, { type: i2
|
|
1097
|
+
}] }, { type: i2.Directionality, decorators: [{
|
|
1081
1098
|
type: Optional
|
|
1082
1099
|
}] }, { type: i4.MatFormField, decorators: [{
|
|
1083
1100
|
type: Optional
|
|
@@ -1114,21 +1131,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1114
1131
|
}] } });
|
|
1115
1132
|
|
|
1116
1133
|
class MatAutocompleteModule {
|
|
1117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
1118
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
1134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1135
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteModule, imports: [OverlayModule,
|
|
1136
|
+
MatOptionModule,
|
|
1137
|
+
MatCommonModule,
|
|
1138
|
+
CommonModule,
|
|
1139
|
+
MatAutocomplete,
|
|
1140
|
+
MatAutocompleteTrigger,
|
|
1141
|
+
MatAutocompleteOrigin], exports: [CdkScrollableModule,
|
|
1119
1142
|
MatAutocomplete,
|
|
1120
1143
|
MatOptionModule,
|
|
1121
1144
|
MatCommonModule,
|
|
1122
1145
|
MatAutocompleteTrigger,
|
|
1123
1146
|
MatAutocompleteOrigin] }); }
|
|
1124
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
1147
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [OverlayModule,
|
|
1148
|
+
MatOptionModule,
|
|
1149
|
+
MatCommonModule,
|
|
1150
|
+
CommonModule, CdkScrollableModule,
|
|
1125
1151
|
MatOptionModule,
|
|
1126
1152
|
MatCommonModule] }); }
|
|
1127
1153
|
}
|
|
1128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
1154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: MatAutocompleteModule, decorators: [{
|
|
1129
1155
|
type: NgModule,
|
|
1130
1156
|
args: [{
|
|
1131
|
-
imports: [
|
|
1157
|
+
imports: [
|
|
1158
|
+
OverlayModule,
|
|
1159
|
+
MatOptionModule,
|
|
1160
|
+
MatCommonModule,
|
|
1161
|
+
CommonModule,
|
|
1162
|
+
MatAutocomplete,
|
|
1163
|
+
MatAutocompleteTrigger,
|
|
1164
|
+
MatAutocompleteOrigin,
|
|
1165
|
+
],
|
|
1132
1166
|
exports: [
|
|
1133
1167
|
CdkScrollableModule,
|
|
1134
1168
|
MatAutocomplete,
|
|
@@ -1137,7 +1171,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1137
1171
|
MatAutocompleteTrigger,
|
|
1138
1172
|
MatAutocompleteOrigin,
|
|
1139
1173
|
],
|
|
1140
|
-
declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin],
|
|
1141
1174
|
providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER],
|
|
1142
1175
|
}]
|
|
1143
1176
|
}] });
|