@angular/material-experimental 14.0.0-next.4 → 14.0.0-next.7
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/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
- package/esm2020/column-resize/column-resize-directives/column-resize.mjs +4 -4
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +4 -4
- package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +4 -4
- package/esm2020/column-resize/column-resize-module.mjs +13 -13
- package/esm2020/column-resize/overlay-handle.mjs +4 -4
- package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +4 -4
- package/esm2020/column-resize/resizable-directives/resizable.mjs +4 -4
- package/esm2020/column-resize/resize-strategy.mjs +4 -4
- package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +4 -4
- package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +5 -4
- package/esm2020/mdc-autocomplete/autocomplete.mjs +4 -4
- package/esm2020/mdc-autocomplete/module.mjs +5 -5
- package/esm2020/mdc-button/button-base.mjs +8 -8
- package/esm2020/mdc-button/button.mjs +7 -7
- package/esm2020/mdc-button/fab.mjs +13 -13
- package/esm2020/mdc-button/icon-button.mjs +7 -7
- package/esm2020/mdc-button/module.mjs +5 -5
- package/esm2020/mdc-card/card.mjs +44 -44
- package/esm2020/mdc-card/module.mjs +5 -5
- package/esm2020/mdc-checkbox/checkbox.mjs +4 -4
- package/esm2020/mdc-checkbox/module.mjs +5 -5
- package/esm2020/mdc-chips/chip-action.mjs +4 -4
- package/esm2020/mdc-chips/chip-edit-input.mjs +4 -4
- package/esm2020/mdc-chips/chip-grid.mjs +5 -8
- package/esm2020/mdc-chips/chip-icons.mjs +10 -10
- package/esm2020/mdc-chips/chip-input.mjs +4 -4
- package/esm2020/mdc-chips/chip-listbox.mjs +6 -9
- package/esm2020/mdc-chips/chip-option.mjs +4 -4
- package/esm2020/mdc-chips/chip-row.mjs +4 -4
- package/esm2020/mdc-chips/chip-set.mjs +11 -11
- package/esm2020/mdc-chips/chip.mjs +4 -4
- package/esm2020/mdc-chips/module.mjs +5 -5
- package/esm2020/mdc-chips/testing/public-api.mjs +2 -1
- package/esm2020/mdc-core/option/index.mjs +5 -5
- package/esm2020/mdc-core/option/optgroup.mjs +4 -4
- package/esm2020/mdc-core/option/option.mjs +4 -4
- package/esm2020/mdc-dialog/dialog-container.mjs +4 -4
- package/esm2020/mdc-dialog/dialog-content-directives.mjs +13 -13
- package/esm2020/mdc-dialog/dialog.mjs +10 -5
- package/esm2020/mdc-dialog/module.mjs +5 -5
- package/esm2020/mdc-dialog/testing/dialog-opener.mjs +45 -0
- package/esm2020/mdc-dialog/testing/public-api.mjs +2 -1
- package/esm2020/mdc-form-field/directives/error.mjs +4 -4
- package/esm2020/mdc-form-field/directives/floating-label.mjs +4 -4
- package/esm2020/mdc-form-field/directives/hint.mjs +4 -4
- package/esm2020/mdc-form-field/directives/label.mjs +4 -4
- package/esm2020/mdc-form-field/directives/line-ripple.mjs +4 -4
- package/esm2020/mdc-form-field/directives/notched-outline.mjs +4 -4
- package/esm2020/mdc-form-field/directives/prefix.mjs +4 -4
- package/esm2020/mdc-form-field/directives/suffix.mjs +4 -4
- package/esm2020/mdc-form-field/form-field.mjs +4 -4
- package/esm2020/mdc-form-field/module.mjs +5 -5
- package/esm2020/mdc-input/input.mjs +4 -4
- package/esm2020/mdc-input/module.mjs +5 -5
- package/esm2020/mdc-list/action-list.mjs +4 -4
- package/esm2020/mdc-list/interactive-list-base.mjs +4 -4
- package/esm2020/mdc-list/list-base.mjs +7 -7
- package/esm2020/mdc-list/list-item-sections.mjs +19 -19
- package/esm2020/mdc-list/list-option.mjs +5 -5
- package/esm2020/mdc-list/list.mjs +7 -7
- package/esm2020/mdc-list/module.mjs +5 -5
- package/esm2020/mdc-list/nav-list.mjs +4 -4
- package/esm2020/mdc-list/selection-list.mjs +4 -4
- package/esm2020/mdc-list/subheader.mjs +4 -4
- package/esm2020/mdc-menu/directives.mjs +7 -7
- package/esm2020/mdc-menu/menu-item.mjs +4 -4
- package/esm2020/mdc-menu/menu.mjs +5 -5
- package/esm2020/mdc-menu/module.mjs +5 -5
- package/esm2020/mdc-paginator/module.mjs +5 -5
- package/esm2020/mdc-paginator/paginator.mjs +5 -5
- package/esm2020/mdc-paginator/public-api.mjs +1 -1
- package/esm2020/mdc-progress-bar/module.mjs +5 -5
- package/esm2020/mdc-progress-bar/progress-bar.mjs +4 -4
- package/esm2020/mdc-progress-spinner/module.mjs +5 -5
- package/esm2020/mdc-progress-spinner/progress-spinner.mjs +4 -4
- package/esm2020/mdc-radio/module.mjs +5 -5
- package/esm2020/mdc-radio/radio.mjs +9 -8
- package/esm2020/mdc-select/module.mjs +5 -5
- package/esm2020/mdc-select/select.mjs +7 -7
- package/esm2020/mdc-slide-toggle/module.mjs +5 -5
- package/esm2020/mdc-slide-toggle/slide-toggle.mjs +5 -4
- package/esm2020/mdc-slider/global-change-and-input-listener.mjs +4 -4
- package/esm2020/mdc-slider/module.mjs +5 -5
- package/esm2020/mdc-slider/slider.mjs +19 -19
- package/esm2020/mdc-snack-bar/module.mjs +5 -5
- package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +4 -4
- package/esm2020/mdc-snack-bar/snack-bar-container.mjs +4 -4
- package/esm2020/mdc-snack-bar/snack-bar-content.mjs +10 -10
- package/esm2020/mdc-snack-bar/snack-bar.mjs +4 -4
- package/esm2020/mdc-table/cell.mjs +22 -22
- package/esm2020/mdc-table/module.mjs +5 -5
- package/esm2020/mdc-table/row.mjs +22 -22
- package/esm2020/mdc-table/table.mjs +7 -7
- package/esm2020/mdc-table/text-column.mjs +4 -4
- package/esm2020/mdc-tabs/ink-bar.mjs +4 -2
- package/esm2020/mdc-tabs/module.mjs +5 -5
- package/esm2020/mdc-tabs/tab-body.mjs +7 -7
- package/esm2020/mdc-tabs/tab-content.mjs +4 -4
- package/esm2020/mdc-tabs/tab-group.mjs +18 -6
- package/esm2020/mdc-tabs/tab-header.mjs +4 -4
- package/esm2020/mdc-tabs/tab-label-wrapper.mjs +4 -4
- package/esm2020/mdc-tabs/tab-label.mjs +4 -4
- package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +28 -11
- package/esm2020/mdc-tabs/tab.mjs +4 -4
- package/esm2020/mdc-tooltip/module.mjs +5 -5
- package/esm2020/mdc-tooltip/testing/tooltip-harness.mjs +4 -1
- package/esm2020/mdc-tooltip/tooltip.mjs +31 -15
- package/esm2020/menubar/menubar-item.mjs +4 -4
- package/esm2020/menubar/menubar-module.mjs +5 -5
- package/esm2020/menubar/menubar.mjs +8 -8
- package/esm2020/popover-edit/lens-directives.mjs +10 -10
- package/esm2020/popover-edit/popover-edit-module.mjs +5 -5
- package/esm2020/popover-edit/table-directives.mjs +13 -13
- package/esm2020/selection/row-selection.mjs +4 -4
- package/esm2020/selection/select-all.mjs +4 -4
- package/esm2020/selection/selection-column.mjs +4 -4
- package/esm2020/selection/selection-module.mjs +5 -5
- package/esm2020/selection/selection-toggle.mjs +4 -4
- package/esm2020/selection/selection.mjs +4 -4
- package/esm2020/version.mjs +1 -1
- package/fesm2015/column-resize.mjs +36 -36
- package/fesm2015/column-resize.mjs.map +1 -1
- package/fesm2015/material-experimental.mjs +1 -1
- package/fesm2015/material-experimental.mjs.map +1 -1
- package/fesm2015/mdc-autocomplete/testing.mjs.map +1 -1
- package/fesm2015/mdc-autocomplete.mjs +14 -13
- package/fesm2015/mdc-autocomplete.mjs.map +1 -1
- package/fesm2015/mdc-button/testing.mjs.map +1 -1
- package/fesm2015/mdc-button.mjs +35 -35
- package/fesm2015/mdc-button.mjs.map +1 -1
- package/fesm2015/mdc-card/testing.mjs.map +1 -1
- package/fesm2015/mdc-card.mjs +47 -47
- package/fesm2015/mdc-card.mjs.map +1 -1
- package/fesm2015/mdc-checkbox/testing.mjs.map +1 -1
- package/fesm2015/mdc-checkbox.mjs +7 -7
- package/fesm2015/mdc-checkbox.mjs.map +1 -1
- package/fesm2015/mdc-chips/testing.mjs +2 -2
- package/fesm2015/mdc-chips/testing.mjs.map +1 -1
- package/fesm2015/mdc-chips.mjs +50 -56
- package/fesm2015/mdc-chips.mjs.map +1 -1
- package/fesm2015/mdc-core/testing.mjs.map +1 -1
- package/fesm2015/mdc-core.mjs +10 -10
- package/fesm2015/mdc-core.mjs.map +1 -1
- package/fesm2015/mdc-dialog/testing.mjs +44 -2
- package/fesm2015/mdc-dialog/testing.mjs.map +1 -1
- package/fesm2015/mdc-dialog.mjs +28 -23
- package/fesm2015/mdc-dialog.mjs.map +1 -1
- package/fesm2015/mdc-form-field/testing.mjs.map +1 -1
- package/fesm2015/mdc-form-field.mjs +31 -31
- package/fesm2015/mdc-form-field.mjs.map +1 -1
- package/fesm2015/mdc-input/testing.mjs.map +1 -1
- package/fesm2015/mdc-input.mjs +7 -7
- package/fesm2015/mdc-input.mjs.map +1 -1
- package/fesm2015/mdc-list/testing.mjs.map +1 -1
- package/fesm2015/mdc-list.mjs +53 -53
- package/fesm2015/mdc-list.mjs.map +1 -1
- package/fesm2015/mdc-menu/testing.mjs.map +1 -1
- package/fesm2015/mdc-menu.mjs +17 -17
- package/fesm2015/mdc-menu.mjs.map +1 -1
- package/fesm2015/mdc-paginator/testing.mjs.map +1 -1
- package/fesm2015/mdc-paginator.mjs +8 -8
- package/fesm2015/mdc-paginator.mjs.map +1 -1
- package/fesm2015/mdc-progress-bar/testing.mjs.map +1 -1
- package/fesm2015/mdc-progress-bar.mjs +7 -7
- package/fesm2015/mdc-progress-bar.mjs.map +1 -1
- package/fesm2015/mdc-progress-spinner/testing.mjs.map +1 -1
- package/fesm2015/mdc-progress-spinner.mjs +7 -7
- package/fesm2015/mdc-progress-spinner.mjs.map +1 -1
- package/fesm2015/mdc-radio/testing.mjs.map +1 -1
- package/fesm2015/mdc-radio.mjs +12 -11
- package/fesm2015/mdc-radio.mjs.map +1 -1
- package/fesm2015/mdc-select/testing.mjs.map +1 -1
- package/fesm2015/mdc-select.mjs +10 -10
- package/fesm2015/mdc-select.mjs.map +1 -1
- package/fesm2015/mdc-slide-toggle/testing.mjs.map +1 -1
- package/fesm2015/mdc-slide-toggle.mjs +8 -7
- package/fesm2015/mdc-slide-toggle.mjs.map +1 -1
- package/fesm2015/mdc-slider/testing.mjs.map +1 -1
- package/fesm2015/mdc-slider.mjs +34 -25
- package/fesm2015/mdc-slider.mjs.map +1 -1
- package/fesm2015/mdc-snack-bar/testing.mjs.map +1 -1
- package/fesm2015/mdc-snack-bar.mjs +22 -22
- package/fesm2015/mdc-snack-bar.mjs.map +1 -1
- package/fesm2015/mdc-table/testing.mjs.map +1 -1
- package/fesm2015/mdc-table.mjs +55 -55
- package/fesm2015/mdc-table.mjs.map +1 -1
- package/fesm2015/mdc-tabs/testing.mjs.map +1 -1
- package/fesm2015/mdc-tabs.mjs +72 -41
- package/fesm2015/mdc-tabs.mjs.map +1 -1
- package/fesm2015/mdc-tooltip/testing.mjs +3 -0
- package/fesm2015/mdc-tooltip/testing.mjs.map +1 -1
- package/fesm2015/mdc-tooltip.mjs +60 -41
- package/fesm2015/mdc-tooltip.mjs.map +1 -1
- package/fesm2015/menubar.mjs +13 -13
- package/fesm2015/menubar.mjs.map +1 -1
- package/fesm2015/popover-edit.mjs +25 -25
- package/fesm2015/popover-edit.mjs.map +1 -1
- package/fesm2015/selection.mjs +19 -19
- package/fesm2015/selection.mjs.map +1 -1
- package/fesm2020/column-resize.mjs +36 -36
- package/fesm2020/column-resize.mjs.map +1 -1
- package/fesm2020/material-experimental.mjs +1 -1
- package/fesm2020/material-experimental.mjs.map +1 -1
- package/fesm2020/mdc-autocomplete/testing.mjs.map +1 -1
- package/fesm2020/mdc-autocomplete.mjs +14 -13
- package/fesm2020/mdc-autocomplete.mjs.map +1 -1
- package/fesm2020/mdc-button/testing.mjs.map +1 -1
- package/fesm2020/mdc-button.mjs +35 -35
- package/fesm2020/mdc-button.mjs.map +1 -1
- package/fesm2020/mdc-card/testing.mjs.map +1 -1
- package/fesm2020/mdc-card.mjs +47 -47
- package/fesm2020/mdc-card.mjs.map +1 -1
- package/fesm2020/mdc-checkbox/testing.mjs.map +1 -1
- package/fesm2020/mdc-checkbox.mjs +7 -7
- package/fesm2020/mdc-checkbox.mjs.map +1 -1
- package/fesm2020/mdc-chips/testing.mjs +1 -1
- package/fesm2020/mdc-chips/testing.mjs.map +1 -1
- package/fesm2020/mdc-chips.mjs +50 -56
- package/fesm2020/mdc-chips.mjs.map +1 -1
- package/fesm2020/mdc-core/testing.mjs.map +1 -1
- package/fesm2020/mdc-core.mjs +10 -10
- package/fesm2020/mdc-core.mjs.map +1 -1
- package/fesm2020/mdc-dialog/testing.mjs +44 -2
- package/fesm2020/mdc-dialog/testing.mjs.map +1 -1
- package/fesm2020/mdc-dialog.mjs +28 -23
- package/fesm2020/mdc-dialog.mjs.map +1 -1
- package/fesm2020/mdc-form-field/testing.mjs.map +1 -1
- package/fesm2020/mdc-form-field.mjs +31 -31
- package/fesm2020/mdc-form-field.mjs.map +1 -1
- package/fesm2020/mdc-input/testing.mjs.map +1 -1
- package/fesm2020/mdc-input.mjs +7 -7
- package/fesm2020/mdc-input.mjs.map +1 -1
- package/fesm2020/mdc-list/testing.mjs.map +1 -1
- package/fesm2020/mdc-list.mjs +53 -53
- package/fesm2020/mdc-list.mjs.map +1 -1
- package/fesm2020/mdc-menu/testing.mjs.map +1 -1
- package/fesm2020/mdc-menu.mjs +17 -17
- package/fesm2020/mdc-menu.mjs.map +1 -1
- package/fesm2020/mdc-paginator/testing.mjs.map +1 -1
- package/fesm2020/mdc-paginator.mjs +8 -8
- package/fesm2020/mdc-paginator.mjs.map +1 -1
- package/fesm2020/mdc-progress-bar/testing.mjs.map +1 -1
- package/fesm2020/mdc-progress-bar.mjs +7 -7
- package/fesm2020/mdc-progress-bar.mjs.map +1 -1
- package/fesm2020/mdc-progress-spinner/testing.mjs.map +1 -1
- package/fesm2020/mdc-progress-spinner.mjs +7 -7
- package/fesm2020/mdc-progress-spinner.mjs.map +1 -1
- package/fesm2020/mdc-radio/testing.mjs.map +1 -1
- package/fesm2020/mdc-radio.mjs +12 -11
- package/fesm2020/mdc-radio.mjs.map +1 -1
- package/fesm2020/mdc-select/testing.mjs.map +1 -1
- package/fesm2020/mdc-select.mjs +10 -10
- package/fesm2020/mdc-select.mjs.map +1 -1
- package/fesm2020/mdc-slide-toggle/testing.mjs.map +1 -1
- package/fesm2020/mdc-slide-toggle.mjs +8 -7
- package/fesm2020/mdc-slide-toggle.mjs.map +1 -1
- package/fesm2020/mdc-slider/testing.mjs.map +1 -1
- package/fesm2020/mdc-slider.mjs +25 -25
- package/fesm2020/mdc-slider.mjs.map +1 -1
- package/fesm2020/mdc-snack-bar/testing.mjs.map +1 -1
- package/fesm2020/mdc-snack-bar.mjs +22 -22
- package/fesm2020/mdc-snack-bar.mjs.map +1 -1
- package/fesm2020/mdc-table/testing.mjs.map +1 -1
- package/fesm2020/mdc-table.mjs +55 -55
- package/fesm2020/mdc-table.mjs.map +1 -1
- package/fesm2020/mdc-tabs/testing.mjs.map +1 -1
- package/fesm2020/mdc-tabs.mjs +72 -41
- package/fesm2020/mdc-tabs.mjs.map +1 -1
- package/fesm2020/mdc-tooltip/testing.mjs +3 -0
- package/fesm2020/mdc-tooltip/testing.mjs.map +1 -1
- package/fesm2020/mdc-tooltip.mjs +57 -40
- package/fesm2020/mdc-tooltip.mjs.map +1 -1
- package/fesm2020/menubar.mjs +13 -13
- package/fesm2020/menubar.mjs.map +1 -1
- package/fesm2020/popover-edit.mjs +25 -25
- package/fesm2020/popover-edit.mjs.map +1 -1
- package/fesm2020/selection.mjs +19 -19
- package/fesm2020/selection.mjs.map +1 -1
- package/mdc-button/_button-theme.scss +5 -2
- package/mdc-button/_icon-button-theme.scss +2 -1
- package/mdc-chips/chip-grid.d.ts +1 -2
- package/mdc-chips/chip-listbox.d.ts +1 -2
- package/mdc-chips/chip-set.d.ts +3 -1
- package/mdc-chips/testing/public-api.d.ts +1 -0
- package/mdc-core/_core-theme.scss +12 -0
- package/mdc-dialog/dialog.d.ts +6 -1
- package/mdc-dialog/testing/dialog-opener.d.ts +18 -0
- package/mdc-dialog/testing/public-api.d.ts +1 -0
- package/mdc-helpers/_mdc-helpers.scss +1 -2
- package/mdc-paginator/public-api.d.ts +1 -1
- package/mdc-radio/_radio-theme.scss +3 -2
- package/mdc-tabs/tab-group.d.ts +5 -1
- package/mdc-tabs/tab-nav-bar/tab-nav-bar.d.ts +8 -3
- package/mdc-theming/prebuilt/deeppurple-amber.css +1 -1
- package/mdc-theming/prebuilt/indigo-pink.css +1 -1
- package/mdc-theming/prebuilt/pink-bluegrey.css +1 -1
- package/mdc-theming/prebuilt/purple-green.css +1 -1
- package/mdc-tooltip/testing/tooltip-harness.d.ts +3 -0
- package/mdc-tooltip/tooltip.d.ts +6 -2
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-select/testing/select-harness.ts","../../../../../../../src/material-experimental/mdc-select/testing/select-harness-filters.ts","../../../../../../../src/material-experimental/mdc-select/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-select/testing/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 {HarnessPredicate} from '@angular/cdk/testing';\nimport {_MatSelectHarnessBase} from '@angular/material/select/testing';\nimport {\n MatOptionHarness,\n MatOptgroupHarness,\n OptionHarnessFilters,\n OptgroupHarnessFilters,\n} from '@angular/material-experimental/mdc-core/testing';\nimport {SelectHarnessFilters} from './select-harness-filters';\n\n/** Harness for interacting with an MDC-based mat-select in tests. */\nexport class MatSelectHarness extends _MatSelectHarnessBase<\n typeof MatOptionHarness,\n MatOptionHarness,\n OptionHarnessFilters,\n typeof MatOptgroupHarness,\n MatOptgroupHarness,\n OptgroupHarnessFilters\n> {\n static hostSelector = '.mat-mdc-select';\n protected _prefix = 'mat-mdc';\n protected _optionClass = MatOptionHarness;\n protected _optionGroupClass = MatOptgroupHarness;\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: SelectHarnessFilters = {}): HarnessPredicate<MatSelectHarness> {\n return new HarnessPredicate(MatSelectHarness, options);\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 {BaseHarnessFilters} from '@angular/cdk/testing';\n\n/** A set of criteria that can be used to filter a list of `MatSelectHarness` instances. */\nexport interface SelectHarnessFilters extends BaseHarnessFilters {}\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\nexport * from './select-harness';\nexport * from './select-harness-filters';\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\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-select/testing/select-harness.ts","../../../../../../../src/material-experimental/mdc-select/testing/select-harness-filters.ts","../../../../../../../src/material-experimental/mdc-select/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-select/testing/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 {HarnessPredicate} from '@angular/cdk/testing';\nimport {_MatSelectHarnessBase} from '@angular/material/select/testing';\nimport {\n MatOptionHarness,\n MatOptgroupHarness,\n OptionHarnessFilters,\n OptgroupHarnessFilters,\n} from '@angular/material-experimental/mdc-core/testing';\nimport {SelectHarnessFilters} from './select-harness-filters';\n\n/** Harness for interacting with an MDC-based mat-select in tests. */\nexport class MatSelectHarness extends _MatSelectHarnessBase<\n typeof MatOptionHarness,\n MatOptionHarness,\n OptionHarnessFilters,\n typeof MatOptgroupHarness,\n MatOptgroupHarness,\n OptgroupHarnessFilters\n> {\n static hostSelector = '.mat-mdc-select';\n protected _prefix = 'mat-mdc';\n protected _optionClass = MatOptionHarness;\n protected _optionGroupClass = MatOptgroupHarness;\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: SelectHarnessFilters = {}): HarnessPredicate<MatSelectHarness> {\n return new HarnessPredicate(MatSelectHarness, options);\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 {BaseHarnessFilters} from '@angular/cdk/testing';\n\n/** A set of criteria that can be used to filter a list of `MatSelectHarness` instances. */\nexport interface SelectHarnessFilters extends BaseHarnessFilters {}\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\nexport * from './select-harness';\nexport * from './select-harness-filters';\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\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAA;;;;;;AAMG;AAYH;AACM,MAAO,gBAAiB,SAAQ,qBAOrC,CAAA;AAPD,IAAA,WAAA,GAAA;;QASY,IAAO,CAAA,OAAA,GAAG,SAAS,CAAC;QACpB,IAAY,CAAA,YAAA,GAAG,gBAAgB,CAAC;QAChC,IAAiB,CAAA,iBAAA,GAAG,kBAAkB,CAAC;KAWlD;AATC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAgC,EAAE,EAAA;AAC5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;KACxD;;AAbM,gBAAY,CAAA,YAAA,GAAG,iBAAiB;;AC3BzC;;;;;;AAMG;;ACNH;;;;;;AAMG;;ACNH;;;;;;AAMG;;;;"}
|
package/fesm2020/mdc-select.mjs
CHANGED
|
@@ -73,9 +73,9 @@ class MatSelectChange {
|
|
|
73
73
|
*/
|
|
74
74
|
class MatSelectTrigger {
|
|
75
75
|
}
|
|
76
|
-
MatSelectTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
77
|
-
MatSelectTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
76
|
+
MatSelectTrigger.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
+
MatSelectTrigger.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatSelectTrigger, selector: "mat-select-trigger", providers: [{ provide: MAT_SELECT_TRIGGER, useExisting: MatSelectTrigger }], ngImport: i0 });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelectTrigger, decorators: [{
|
|
79
79
|
type: Directive,
|
|
80
80
|
args: [{
|
|
81
81
|
selector: 'mat-select-trigger',
|
|
@@ -168,12 +168,12 @@ class MatSelect extends _MatSelectBase {
|
|
|
168
168
|
return refToMeasure.nativeElement.getBoundingClientRect().width;
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
MatSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
172
|
-
MatSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
171
|
+
MatSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelect, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
172
|
+
MatSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatSelect, selector: "mat-select", inputs: { disabled: "disabled", disableRipple: "disableRipple", tabIndex: "tabIndex" }, host: { attributes: { "role": "combobox", "aria-autocomplete": "none", "aria-haspopup": "listbox" }, 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-describedby": "_ariaDescribedby || null", "attr.aria-activedescendant": "_getAriaActiveDescendant()", "class.mat-mdc-select-disabled": "disabled", "class.mat-mdc-select-invalid": "errorState", "class.mat-mdc-select-required": "required", "class.mat-mdc-select-empty": "empty", "class.mat-mdc-select-multiple": "multiple" }, classAttribute: "mat-mdc-select" }, providers: [
|
|
173
173
|
{ provide: MatFormFieldControl, useExisting: MatSelect },
|
|
174
174
|
{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect },
|
|
175
175
|
], queries: [{ propertyName: "customTrigger", first: true, predicate: MAT_SELECT_TRIGGER, descendants: true }, { propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_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-mdc-select-trigger\"\n (click)=\"toggle()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-mdc-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-mdc-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-mdc-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-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n </div>\n </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]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open {{ _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]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:calc(100vw - 32px);max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:var(--mdc-menu-max-height, calc(100vh - 32px));margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;border-radius:4px;border-radius:var(--mdc-shape-medium, 4px);transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}.mat-mdc-select{display:inline-block;width:100%;outline:none}.mat-mdc-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:translateY(-40%)}.mat-mdc-select-arrow{width:10px;height:5px;position:relative}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}.mdc-menu-surface.mat-mdc-select-panel{width:100%;max-height:275px;position:static;outline:0;margin:0;padding:8px 0;list-style-type:none}.mdc-menu-surface.mat-mdc-select-panel:focus{outline:none}.cdk-high-contrast-active .mdc-menu-surface.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) .mdc-menu-surface.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above .mdc-menu-surface.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:\" \";white-space:pre;width:1px;display:inline-block;opacity:0}\n"], directives: [{ type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1.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"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [matSelectAnimations.transformPanel], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelect, decorators: [{
|
|
177
177
|
type: Component,
|
|
178
178
|
args: [{ selector: 'mat-select', exportAs: 'matSelect', inputs: ['disabled', 'disableRipple', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
179
179
|
'role': 'combobox',
|
|
@@ -222,18 +222,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
222
222
|
*/
|
|
223
223
|
class MatSelectModule {
|
|
224
224
|
}
|
|
225
|
-
MatSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
226
|
-
MatSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
225
|
+
MatSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
226
|
+
MatSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelectModule, declarations: [MatSelect, MatSelectTrigger], imports: [CommonModule, OverlayModule, MatOptionModule, MatCommonModule], exports: [CdkScrollableModule,
|
|
227
227
|
MatFormFieldModule,
|
|
228
228
|
MatSelect,
|
|
229
229
|
MatSelectTrigger,
|
|
230
230
|
MatOptionModule,
|
|
231
231
|
MatCommonModule] });
|
|
232
|
-
MatSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
232
|
+
MatSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelectModule, providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER], imports: [[CommonModule, OverlayModule, MatOptionModule, MatCommonModule], CdkScrollableModule,
|
|
233
233
|
MatFormFieldModule,
|
|
234
234
|
MatOptionModule,
|
|
235
235
|
MatCommonModule] });
|
|
236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSelectModule, decorators: [{
|
|
237
237
|
type: NgModule,
|
|
238
238
|
args: [{
|
|
239
239
|
imports: [CommonModule, OverlayModule, MatOptionModule, MatCommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-select.mjs","sources":["../../../../../../src/material-experimental/mdc-select/select-animations.ts","../../../../../../src/material-experimental/mdc-select/select.ts","../../../../../../src/material-experimental/mdc-select/select.html","../../../../../../src/material-experimental/mdc-select/module.ts","../../../../../../src/material-experimental/mdc-select/public-api.ts","../../../../../../src/material-experimental/mdc-select/index.ts","../../../../../../src/material-experimental/mdc-select/mdc-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 */\nexport const matSelectAnimations: {\n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 12.0.0\n */\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 /** This animation transforms the select's overlay panel on and off the page. */\n transformPanel: trigger('transformPanel', [\n state(\n 'void',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)',\n }),\n ),\n transition(\n 'void => showing',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)',\n }),\n ),\n ),\n transition('* => void', animate('100ms 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 {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n OnInit,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MAT_SELECT_TRIGGER, _MatSelectBase} from '@angular/material/select';\nimport {\n MatOptgroup,\n MatOption,\n MAT_OPTGROUP,\n MAT_OPTION_PARENT_COMPONENT,\n _countGroupLabelsBeforeOption,\n _getOptionScrollPosition,\n} from '@angular/material-experimental/mdc-core';\nimport {CdkOverlayOrigin, ConnectedPosition} from '@angular/cdk/overlay';\nimport {MatFormFieldControl} from '@angular/material/form-field';\nimport {takeUntil} from 'rxjs/operators';\nimport {matSelectAnimations} from './select-animations';\n\n/** Change event object that is emitted when the select value has changed. */\nexport class MatSelectChange {\n constructor(\n /** Reference to the select that emitted the change event. */\n public source: MatSelect,\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 */\n@Directive({\n selector: 'mat-select-trigger',\n providers: [{provide: MAT_SELECT_TRIGGER, useExisting: MatSelectTrigger}],\n})\nexport class MatSelectTrigger {}\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 'aria-haspopup': 'listbox',\n 'class': 'mat-mdc-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-describedby]': '_ariaDescribedby || null',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[class.mat-mdc-select-disabled]': 'disabled',\n '[class.mat-mdc-select-invalid]': 'errorState',\n '[class.mat-mdc-select-required]': 'required',\n '[class.mat-mdc-select-empty]': 'empty',\n '[class.mat-mdc-select-multiple]': 'multiple',\n '(keydown)': '_handleKeydown($event)',\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n },\n animations: [matSelectAnimations.transformPanel],\n providers: [\n {provide: MatFormFieldControl, useExisting: MatSelect},\n {provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect},\n ],\n})\nexport class MatSelect extends _MatSelectBase<MatSelectChange> implements OnInit, AfterViewInit {\n @ContentChildren(MatOption, {descendants: true}) options: QueryList<MatOption>;\n @ContentChildren(MAT_OPTGROUP, {descendants: true}) optionGroups: QueryList<MatOptgroup>;\n @ContentChild(MAT_SELECT_TRIGGER) customTrigger: MatSelectTrigger;\n\n _positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'mat-mdc-select-panel-above',\n },\n ];\n\n /** Ideal origin for the overlay panel. */\n _preferredOverlayOrigin: CdkOverlayOrigin | ElementRef | undefined;\n\n /** Width of the overlay panel. */\n _overlayWidth: number;\n\n override get shouldLabelFloat(): boolean {\n // Since the panel doesn't overlap the trigger, we\n // want the label to only float when there's a value.\n return this.panelOpen || !this.empty || (this.focused && !!this.placeholder);\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._overlayWidth = this._getOverlayWidth();\n this._changeDetectorRef.detectChanges();\n }\n });\n }\n\n ngAfterViewInit() {\n // Note that it's important that we read this in `ngAfterViewInit`, because\n // reading it earlier will cause the form field to return a different element.\n if (this._parentFormField) {\n this._preferredOverlayOrigin = this._parentFormField.getConnectedOverlayOrigin();\n }\n }\n\n override open() {\n this._overlayWidth = this._getOverlayWidth();\n super.open();\n // Required for the MDC form field to pick up when the overlay has been opened.\n this.stateChanges.next();\n }\n\n override close() {\n super.close();\n // Required for the MDC form field to pick up when the overlay has been closed.\n this.stateChanges.next();\n }\n\n /** Scrolls the active option into view. */\n protected _scrollOptionIntoView(index: number): void {\n const option = this.options.toArray()[index];\n\n if (option) {\n const panel: HTMLElement = this.panel.nativeElement;\n const labelCount = _countGroupLabelsBeforeOption(index, this.options, this.optionGroups);\n const element = option._getHostElement();\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 panel.scrollTop = 0;\n } else {\n panel.scrollTop = _getOptionScrollPosition(\n element.offsetTop,\n element.offsetHeight,\n panel.scrollTop,\n panel.offsetHeight,\n );\n }\n }\n }\n\n protected _positioningSettled() {\n this._scrollOptionIntoView(this._keyManager.activeItemIndex || 0);\n }\n\n protected _getChangeEvent(value: any) {\n return new MatSelectChange(this, value);\n }\n\n /** Gets how wide the overlay panel should be. */\n private _getOverlayWidth() {\n const refToMeasure =\n this._preferredOverlayOrigin instanceof CdkOverlayOrigin\n ? this._preferredOverlayOrigin.elementRef\n : this._preferredOverlayOrigin || this._elementRef;\n return refToMeasure.nativeElement.getBoundingClientRect().width;\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-mdc-select-trigger\"\n (click)=\"toggle()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-mdc-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-mdc-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-mdc-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-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n </div>\n </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]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open {{ _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]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\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, MatOptionModule} from '@angular/material-experimental/mdc-core';\nimport {MatFormFieldModule} from '@angular/material-experimental/mdc-form-field';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MAT_SELECT_SCROLL_STRATEGY_PROVIDER} from '@angular/material/select';\nimport {MatSelect, MatSelectTrigger} from './select';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, MatOptionModule, MatCommonModule],\n exports: [\n CdkScrollableModule,\n MatFormFieldModule,\n MatSelect,\n MatSelectTrigger,\n MatOptionModule,\n MatCommonModule,\n ],\n declarations: [MatSelect, MatSelectTrigger],\n providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER],\n})\nexport class MatSelectModule {}\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\nexport * from './module';\nexport * from './select';\nexport * from './select-animations';\nexport {\n MAT_SELECT_CONFIG,\n MAT_SELECT_SCROLL_STRATEGY,\n MAT_SELECT_SCROLL_STRATEGY_PROVIDER,\n MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY,\n MAT_SELECT_TRIGGER,\n MatSelectConfig,\n} from '@angular/material/select';\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\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mdc-select.mjs","sources":["../../../../../../src/material-experimental/mdc-select/select-animations.ts","../../../../../../src/material-experimental/mdc-select/select.ts","../../../../../../src/material-experimental/mdc-select/select.html","../../../../../../src/material-experimental/mdc-select/module.ts","../../../../../../src/material-experimental/mdc-select/public-api.ts","../../../../../../src/material-experimental/mdc-select/index.ts","../../../../../../src/material-experimental/mdc-select/mdc-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 */\nexport const matSelectAnimations: {\n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 12.0.0\n */\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 /** This animation transforms the select's overlay panel on and off the page. */\n transformPanel: trigger('transformPanel', [\n state(\n 'void',\n style({\n opacity: 0,\n transform: 'scale(1, 0.8)',\n }),\n ),\n transition(\n 'void => showing',\n animate(\n '120ms cubic-bezier(0, 0, 0.2, 1)',\n style({\n opacity: 1,\n transform: 'scale(1, 1)',\n }),\n ),\n ),\n transition('* => void', animate('100ms 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 {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n OnInit,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MAT_SELECT_TRIGGER, _MatSelectBase} from '@angular/material/select';\nimport {\n MatOptgroup,\n MatOption,\n MAT_OPTGROUP,\n MAT_OPTION_PARENT_COMPONENT,\n _countGroupLabelsBeforeOption,\n _getOptionScrollPosition,\n} from '@angular/material-experimental/mdc-core';\nimport {CdkOverlayOrigin, ConnectedPosition} from '@angular/cdk/overlay';\nimport {MatFormFieldControl} from '@angular/material/form-field';\nimport {takeUntil} from 'rxjs/operators';\nimport {matSelectAnimations} from './select-animations';\n\n/** Change event object that is emitted when the select value has changed. */\nexport class MatSelectChange {\n constructor(\n /** Reference to the select that emitted the change event. */\n public source: MatSelect,\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 */\n@Directive({\n selector: 'mat-select-trigger',\n providers: [{provide: MAT_SELECT_TRIGGER, useExisting: MatSelectTrigger}],\n})\nexport class MatSelectTrigger {}\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 'aria-haspopup': 'listbox',\n 'class': 'mat-mdc-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-describedby]': '_ariaDescribedby || null',\n '[attr.aria-activedescendant]': '_getAriaActiveDescendant()',\n '[class.mat-mdc-select-disabled]': 'disabled',\n '[class.mat-mdc-select-invalid]': 'errorState',\n '[class.mat-mdc-select-required]': 'required',\n '[class.mat-mdc-select-empty]': 'empty',\n '[class.mat-mdc-select-multiple]': 'multiple',\n '(keydown)': '_handleKeydown($event)',\n '(focus)': '_onFocus()',\n '(blur)': '_onBlur()',\n },\n animations: [matSelectAnimations.transformPanel],\n providers: [\n {provide: MatFormFieldControl, useExisting: MatSelect},\n {provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatSelect},\n ],\n})\nexport class MatSelect extends _MatSelectBase<MatSelectChange> implements OnInit, AfterViewInit {\n @ContentChildren(MatOption, {descendants: true}) options: QueryList<MatOption>;\n @ContentChildren(MAT_OPTGROUP, {descendants: true}) optionGroups: QueryList<MatOptgroup>;\n @ContentChild(MAT_SELECT_TRIGGER) customTrigger: MatSelectTrigger;\n\n _positions: ConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n panelClass: 'mat-mdc-select-panel-above',\n },\n ];\n\n /** Ideal origin for the overlay panel. */\n _preferredOverlayOrigin: CdkOverlayOrigin | ElementRef | undefined;\n\n /** Width of the overlay panel. */\n _overlayWidth: number;\n\n override get shouldLabelFloat(): boolean {\n // Since the panel doesn't overlap the trigger, we\n // want the label to only float when there's a value.\n return this.panelOpen || !this.empty || (this.focused && !!this.placeholder);\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._overlayWidth = this._getOverlayWidth();\n this._changeDetectorRef.detectChanges();\n }\n });\n }\n\n ngAfterViewInit() {\n // Note that it's important that we read this in `ngAfterViewInit`, because\n // reading it earlier will cause the form field to return a different element.\n if (this._parentFormField) {\n this._preferredOverlayOrigin = this._parentFormField.getConnectedOverlayOrigin();\n }\n }\n\n override open() {\n this._overlayWidth = this._getOverlayWidth();\n super.open();\n // Required for the MDC form field to pick up when the overlay has been opened.\n this.stateChanges.next();\n }\n\n override close() {\n super.close();\n // Required for the MDC form field to pick up when the overlay has been closed.\n this.stateChanges.next();\n }\n\n /** Scrolls the active option into view. */\n protected _scrollOptionIntoView(index: number): void {\n const option = this.options.toArray()[index];\n\n if (option) {\n const panel: HTMLElement = this.panel.nativeElement;\n const labelCount = _countGroupLabelsBeforeOption(index, this.options, this.optionGroups);\n const element = option._getHostElement();\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 panel.scrollTop = 0;\n } else {\n panel.scrollTop = _getOptionScrollPosition(\n element.offsetTop,\n element.offsetHeight,\n panel.scrollTop,\n panel.offsetHeight,\n );\n }\n }\n }\n\n protected _positioningSettled() {\n this._scrollOptionIntoView(this._keyManager.activeItemIndex || 0);\n }\n\n protected _getChangeEvent(value: any) {\n return new MatSelectChange(this, value);\n }\n\n /** Gets how wide the overlay panel should be. */\n private _getOverlayWidth() {\n const refToMeasure =\n this._preferredOverlayOrigin instanceof CdkOverlayOrigin\n ? this._preferredOverlayOrigin.elementRef\n : this._preferredOverlayOrigin || this._elementRef;\n return refToMeasure.nativeElement.getBoundingClientRect().width;\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-mdc-select-trigger\"\n (click)=\"toggle()\"\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n #trigger>\n <div class=\"mat-mdc-select-value\" [ngSwitch]=\"empty\" [attr.id]=\"_valueId\">\n <span class=\"mat-mdc-select-placeholder mat-mdc-select-min-line\" *ngSwitchCase=\"true\">{{placeholder}}</span>\n <span class=\"mat-mdc-select-value-text\" *ngSwitchCase=\"false\" [ngSwitch]=\"!!customTrigger\">\n <span class=\"mat-mdc-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-mdc-select-arrow-wrapper\">\n <div class=\"mat-mdc-select-arrow\">\n <!-- Use an inline SVG, because it works better than a CSS triangle in high contrast mode. -->\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n </div>\n </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]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayPositions]=\"_positions\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n (backdropClick)=\"close()\"\n (attach)=\"_onAttached()\"\n (detach)=\"close()\">\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open {{ _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]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\">\n <ng-content></ng-content>\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, MatOptionModule} from '@angular/material-experimental/mdc-core';\nimport {MatFormFieldModule} from '@angular/material-experimental/mdc-form-field';\nimport {CdkScrollableModule} from '@angular/cdk/scrolling';\nimport {MAT_SELECT_SCROLL_STRATEGY_PROVIDER} from '@angular/material/select';\nimport {MatSelect, MatSelectTrigger} from './select';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, MatOptionModule, MatCommonModule],\n exports: [\n CdkScrollableModule,\n MatFormFieldModule,\n MatSelect,\n MatSelectTrigger,\n MatOptionModule,\n MatCommonModule,\n ],\n declarations: [MatSelect, MatSelectTrigger],\n providers: [MAT_SELECT_SCROLL_STRATEGY_PROVIDER],\n})\nexport class MatSelectModule {}\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\nexport * from './module';\nexport * from './select';\nexport * from './select-animations';\nexport {\n MAT_SELECT_CONFIG,\n MAT_SELECT_SCROLL_STRATEGY,\n MAT_SELECT_SCROLL_STRATEGY_PROVIDER,\n MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY,\n MAT_SELECT_TRIGGER,\n MatSelectConfig,\n} from '@angular/material/select';\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\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;AAMG;AAaH;;;;;;AAMG;AACU,MAAA,mBAAmB,GAO5B;AACF;;;;AAIG;AACH,IAAA,kBAAkB,EAAE,OAAO,CAAC,oBAAoB,EAAE;AAChD,QAAA,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;KACtF,CAAC;;AAGF,IAAA,cAAc,EAAE,OAAO,CAAC,gBAAgB,EAAE;AACxC,QAAA,KAAK,CACH,MAAM,EACN,KAAK,CAAC;AACJ,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,SAAS,EAAE,eAAe;AAC3B,SAAA,CAAC,CACH;QACD,UAAU,CACR,iBAAiB,EACjB,OAAO,CACL,kCAAkC,EAClC,KAAK,CAAC;AACJ,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,SAAS,EAAE,aAAa;AACzB,SAAA,CAAC,CACH,CACF;AACD,QAAA,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;KACtE,CAAC;;;AC/DJ;;;;;;AAMG;AA4BH;MACa,eAAe,CAAA;AAC1B,IAAA,WAAA;;IAES,MAAiB;;IAEjB,KAAU,EAAA;QAFV,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAEjB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAK;KACf;AACL,CAAA;AAED;;AAEG;MAKU,gBAAgB,CAAA;;oHAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAhB,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAFhB,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;kGAE9D,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAkB,gBAAA,EAAC,CAAC;AAC1E,iBAAA,CAAA;;AAyCK,MAAO,SAAU,SAAQ,cAA+B,CAAA;AAtC9D,IAAA,WAAA,GAAA;;AA2CE,QAAA,IAAA,CAAA,UAAU,GAAwB;AAChC,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,KAAK;AAChB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,UAAU,EAAE,4BAA4B;AACzC,aAAA;SACF,CAAC;AAyFH,KAAA;AAjFC,IAAA,IAAa,gBAAgB,GAAA;;;QAG3B,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9E;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,cAAc;AAChB,aAAA,MAAM,EAAE;AACR,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,MAAK;YACd,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC7C,gBAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;AACzC,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;;;QAGb,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC;AAClF,SAAA;KACF;IAEQ,IAAI,GAAA;AACX,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,EAAE,CAAC;;AAEb,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B;IAEQ,KAAK,GAAA;QACZ,KAAK,CAAC,KAAK,EAAE,CAAC;;AAEd,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B;;AAGS,IAAA,qBAAqB,CAAC,KAAa,EAAA;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AAE7C,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;AACpD,YAAA,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACzF,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;AAEzC,YAAA,IAAI,KAAK,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE;;;;AAInC,gBAAA,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;AACrB,aAAA;AAAM,iBAAA;gBACL,KAAK,CAAC,SAAS,GAAG,wBAAwB,CACxC,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,YAAY,EACpB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,YAAY,CACnB,CAAC;AACH,aAAA;AACF,SAAA;KACF;IAES,mBAAmB,GAAA;QAC3B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;KACnE;AAES,IAAA,eAAe,CAAC,KAAU,EAAA;AAClC,QAAA,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACzC;;IAGO,gBAAgB,GAAA;AACtB,QAAA,MAAM,YAAY,GAChB,IAAI,CAAC,uBAAuB,YAAY,gBAAgB;AACtD,cAAE,IAAI,CAAC,uBAAuB,CAAC,UAAU;cACvC,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,WAAW,CAAC;QACvD,OAAO,YAAY,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;KACjE;;6GA3GU,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,SAAS,EALT,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,eAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,oCAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,+BAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,YAAA,EAAA,+BAAA,EAAA,UAAA,EAAA,4BAAA,EAAA,OAAA,EAAA,+BAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA,EAAC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAC;AACtD,QAAA,EAAC,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,SAAS,EAAC;AAC/D,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKa,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAFf,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EACT,YAAY,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7F/B,g0FA+DA,EAAA,MAAA,EAAA,CAAA,0/GAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDsBc,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kGAMrC,SAAS,EAAA,UAAA,EAAA,CAAA;kBAtCrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,YACZ,WAAW,EAAA,MAAA,EAGb,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,CAAC,EAAA,aAAA,EAClC,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACJ,wBAAA,MAAM,EAAE,UAAU;AAClB,wBAAA,mBAAmB,EAAE,MAAM;AAC3B,wBAAA,eAAe,EAAE,SAAS;AAC1B,wBAAA,OAAO,EAAE,gBAAgB;AACzB,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,sBAAsB,EAAE,kCAAkC;AAC1D,wBAAA,sBAAsB,EAAE,WAAW;AACnC,wBAAA,mBAAmB,EAAE,mBAAmB;AACxC,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,sBAAsB,EAAE,qBAAqB;AAC7C,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,yBAAyB,EAAE,0BAA0B;AACrD,wBAAA,8BAA8B,EAAE,4BAA4B;AAC5D,wBAAA,iCAAiC,EAAE,UAAU;AAC7C,wBAAA,gCAAgC,EAAE,YAAY;AAC9C,wBAAA,iCAAiC,EAAE,UAAU;AAC7C,wBAAA,8BAA8B,EAAE,OAAO;AACvC,wBAAA,iCAAiC,EAAE,UAAU;AAC7C,wBAAA,WAAW,EAAE,wBAAwB;AACrC,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,QAAQ,EAAE,WAAW;AACtB,qBAAA,EAAA,UAAA,EACW,CAAC,mBAAmB,CAAC,cAAc,CAAC,EACrC,SAAA,EAAA;AACT,wBAAA,EAAC,OAAO,EAAE,mBAAmB,EAAE,WAAW,WAAW,EAAC;AACtD,wBAAA,EAAC,OAAO,EAAE,2BAA2B,EAAE,WAAW,WAAW,EAAC;AAC/D,qBAAA,EAAA,QAAA,EAAA,g0FAAA,EAAA,MAAA,EAAA,CAAA,0/GAAA,CAAA,EAAA,CAAA;8BAGgD,OAAO,EAAA,CAAA;sBAAvD,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBACK,YAAY,EAAA,CAAA;sBAA/D,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAChB,aAAa,EAAA,CAAA;sBAA9C,YAAY;uBAAC,kBAAkB,CAAA;;;AE9FlC;;;;;;AAMG;MAwBU,eAAe,CAAA;;mHAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAHX,YAAA,EAAA,CAAA,SAAS,EAAE,gBAAgB,CAThC,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,aAErE,mBAAmB;QACnB,kBAAkB;QAClB,SAAS;QACT,gBAAgB;QAChB,eAAe;QACf,eAAe,CAAA,EAAA,CAAA,CAAA;AAKN,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAFf,SAAA,EAAA,CAAC,mCAAmC,CAAC,YAVvC,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,EAEtE,mBAAmB;QACnB,kBAAkB;QAGlB,eAAe;QACf,eAAe,CAAA,EAAA,CAAA,CAAA;kGAKN,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;AACxE,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,kBAAkB;wBAClB,SAAS;wBACT,gBAAgB;wBAChB,eAAe;wBACf,eAAe;AAChB,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;oBAC3C,SAAS,EAAE,CAAC,mCAAmC,CAAC;AACjD,iBAAA,CAAA;;;AC7BD;;;;;;AAMG;;ACNH;;;;;;AAMG;;ACNH;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-slide-toggle/testing/slide-toggle-harness.ts","../../../../../../../src/material-experimental/mdc-slide-toggle/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-slide-toggle/testing/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 {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/** Harness for interacting with a MDC-based mat-slide-toggle in tests. */\nexport class MatSlideToggleHarness extends _MatSlideToggleHarnessBase {\n protected _nativeElement = this.locatorFor('button');\n static hostSelector = '.mat-mdc-slide-toggle';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a slide-toggle w/ specific attributes.\n * @param options Options for narrowing the search:\n * - `selector` finds a slide-toggle whose host element matches the given selector.\n * - `label` finds a slide-toggle with specific label text.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: SlideToggleHarnessFilters = {}): HarnessPredicate<MatSlideToggleHarness> {\n return (\n new HarnessPredicate(MatSlideToggleHarness, 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 );\n }\n\n async toggle(): Promise<void> {\n return (await this._nativeElement()).click();\n }\n\n override async isRequired(): Promise<boolean> {\n const ariaRequired = await (await this._nativeElement()).getAttribute('aria-required');\n return ariaRequired === 'true';\n }\n\n async isChecked(): Promise<boolean> {\n const checked = (await this._nativeElement()).getAttribute('aria-checked');\n return coerceBooleanProperty(await checked);\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\nexport * from './slide-toggle-harness';\nexport {SlideToggleHarnessFilters} from '@angular/material/slide-toggle/testing';\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\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-slide-toggle/testing/slide-toggle-harness.ts","../../../../../../../src/material-experimental/mdc-slide-toggle/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-slide-toggle/testing/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 {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/** Harness for interacting with a MDC-based mat-slide-toggle in tests. */\nexport class MatSlideToggleHarness extends _MatSlideToggleHarnessBase {\n protected _nativeElement = this.locatorFor('button');\n static hostSelector = '.mat-mdc-slide-toggle';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a slide-toggle w/ specific attributes.\n * @param options Options for narrowing the search:\n * - `selector` finds a slide-toggle whose host element matches the given selector.\n * - `label` finds a slide-toggle with specific label text.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: SlideToggleHarnessFilters = {}): HarnessPredicate<MatSlideToggleHarness> {\n return (\n new HarnessPredicate(MatSlideToggleHarness, 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 );\n }\n\n async toggle(): Promise<void> {\n return (await this._nativeElement()).click();\n }\n\n override async isRequired(): Promise<boolean> {\n const ariaRequired = await (await this._nativeElement()).getAttribute('aria-required');\n return ariaRequired === 'true';\n }\n\n async isChecked(): Promise<boolean> {\n const checked = (await this._nativeElement()).getAttribute('aria-checked');\n return coerceBooleanProperty(await checked);\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\nexport * from './slide-toggle-harness';\nexport {SlideToggleHarnessFilters} from '@angular/material/slide-toggle/testing';\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\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAA;;;;;;AAMG;AASH;AACM,MAAO,qBAAsB,SAAQ,0BAA0B,CAAA;AAArE,IAAA,WAAA,GAAA;;AACY,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KAwCtD;AArCC;;;;;;AAMG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAqC,EAAE,EAAA;AACjD,QAAA,QACE,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC;aACjD,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,EACH;KACH;AAED,IAAA,MAAM,MAAM,GAAA;QACV,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC;KAC9C;AAEQ,IAAA,MAAM,UAAU,GAAA;AACvB,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;QACvF,OAAO,YAAY,KAAK,MAAM,CAAC;KAChC;AAED,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;AAC3E,QAAA,OAAO,qBAAqB,CAAC,MAAM,OAAO,CAAC,CAAC;KAC7C;;AAtCM,qBAAY,CAAA,YAAA,GAAG,uBAAuB;;AClB/C;;;;;;AAMG;;ACNH;;;;;;AAMG;;;;"}
|
|
@@ -209,9 +209,9 @@ class MatSlideToggle {
|
|
|
209
209
|
return this.ariaLabel ? null : this._labelId;
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
|
-
MatSlideToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
213
|
-
MatSlideToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: { color: "color", name: "name", id: "id", tabIndex: "tabIndex", labelPosition: "labelPosition", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], required: "required", checked: "checked", disableRipple: "disableRipple", disabled: "disabled" }, outputs: { change: "change", toggleChange: "toggleChange" }, host: { properties: { "id": "id", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "class.mat-primary": "color === \"primary\"", "class.mat-accent": "color !== \"primary\" && color !== \"warn\"", "class.mat-warn": "color === \"warn\"", "class.mat-mdc-slide-toggle-focused": "_focused", "class.mat-mdc-slide-toggle-checked": "checked", "class._mat-animation-noopable": "_noopAnimations" }, classAttribute: "mat-mdc-slide-toggle" }, providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_switchElement", first: true, predicate: ["switch"], descendants: true }], exportAs: ["matSlideToggle"], ngImport: i0, template: "<div class=\"mdc-form-field\"\n [class.mdc-form-field--align-end]=\"labelPosition == 'before'\">\n <button\n class=\"mdc-switch\"\n role=\"switch\"\n type=\"button\"\n [class.mdc-switch--selected]=\"checked\"\n [class.mdc-switch--unselected]=\"!checked\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [attr.id]=\"buttonId\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-required]=\"required || null\"\n (click)=\"_handleClick($event)\"\n #switch>\n <div class=\"mdc-switch__track\"></div>\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\">\n <div class=\"mat-mdc-slide-toggle-ripple mat-mdc-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"switch\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <div class=\"mdc-switch__icons\">\n <svg class=\"mdc-switch__icon mdc-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg class=\"mdc-switch__icon mdc-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>\n\n <!--\n Clicking on the label will trigger another click event from the button.\n Stop propagation here so other listeners further up in the DOM don't execute twice.\n -->\n <label [for]=\"buttonId\" [attr.id]=\"_labelId\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </label>\n</div>\n", styles: [".mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--mdc-elevation-overlay-color, #fff)}.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;width:100%}@media screen and (forced-colors: active){.mdc-switch__track::before,.mdc-switch__track::after{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(-100%)}[dir=rtl] .mdc-switch__track::after,.mdc-switch__track[dir=rtl]::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track[dir=rtl]::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0)}[dir=rtl] .mdc-switch__handle-track,.mdc-switch__handle-track[dir=rtl]{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track,.mdc-switch--selected .mdc-switch__handle-track[dir=rtl]{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto}[dir=rtl] .mdc-switch__handle,.mdc-switch__handle[dir=rtl]{left:auto;right:0}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:\"\";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media screen and (forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{display:inline-block;outline:0}.mat-mdc-slide-toggle .mdc-switch{width:var(--mdc-switch-track-width, 36px)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color, #310077)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color, #310077)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color, #310077)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color, #616161)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color, #212121)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color, #212121)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color, #212121)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color, #424242)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color, var(--mdc-theme-surface, #fff))}.mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__shadow{--mdc-elevation-box-shadow-for-gss:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-handle-elevation, var(--mdc-elevation-box-shadow-for-gss))}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__shadow{--mdc-elevation-box-shadow-for-gss:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-disabled-handle-elevation, var(--mdc-elevation-box-shadow-for-gss))}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle{height:var(--mdc-switch-handle-height, 20px)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__handle::after{opacity:var(--mdc-switch-disabled-handle-opacity, 0.38)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle{border-radius:var(--mdc-switch-handle-shape, 10px)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle{width:var(--mdc-switch-handle-width, 20px)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle-track{width:calc(100% - var(--mdc-switch-handle-width, 20px))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:var(--mdc-switch-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:var(--mdc-switch-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity, 0.38)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size, 18px);height:var(--mdc-switch-selected-icon-size, 18px)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size, 18px);height:var(--mdc-switch-unselected-icon-size, 18px)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-hover-state-layer-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-focus-state-layer-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-pressed-state-layer-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-hover-state-layer-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-focus-state-layer-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-pressed-state-layer-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-selected-hover-state-layer-opacity, 0.04)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-selected-focus-state-layer-opacity, 0.12)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-unselected-hover-state-layer-opacity, 0.04)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity, 0.12)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__ripple{height:var(--mdc-switch-state-layer-size, 48px);width:var(--mdc-switch-state-layer-size, 48px)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__track{height:var(--mdc-switch-track-height, 14px)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity, 0.12)}.mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track::after{background:var(--mdc-switch-selected-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color, #424242)}.mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track::before{background:var(--mdc-switch-unselected-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color, #424242)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__track{border-radius:var(--mdc-switch-track-shape, 7px)}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle .mdc-switch__ripple::after{content:\"\";opacity:0}.mat-mdc-slide-toggle .mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:mdc-switch-transition-enter(opacity, 0, 75ms)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.cdk-high-contrast-active .mat-mdc-slide-toggle-focused .mdc-switch__track{outline:solid 2px;outline-offset:7px}\n"], directives: [{ type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
214
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
212
|
+
MatSlideToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSlideToggle, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }, { token: MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
213
|
+
MatSlideToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.6", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: { color: "color", name: "name", id: "id", tabIndex: "tabIndex", labelPosition: "labelPosition", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], required: "required", checked: "checked", disableRipple: "disableRipple", disabled: "disabled" }, outputs: { change: "change", toggleChange: "toggleChange" }, host: { properties: { "id": "id", "attr.tabindex": "null", "attr.aria-label": "null", "attr.name": "null", "attr.aria-labelledby": "null", "class.mat-primary": "color === \"primary\"", "class.mat-accent": "color !== \"primary\" && color !== \"warn\"", "class.mat-warn": "color === \"warn\"", "class.mat-mdc-slide-toggle-focused": "_focused", "class.mat-mdc-slide-toggle-checked": "checked", "class._mat-animation-noopable": "_noopAnimations" }, classAttribute: "mat-mdc-slide-toggle" }, providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_switchElement", first: true, predicate: ["switch"], descendants: true }], exportAs: ["matSlideToggle"], ngImport: i0, template: "<div class=\"mdc-form-field\"\n [class.mdc-form-field--align-end]=\"labelPosition == 'before'\">\n <button\n class=\"mdc-switch\"\n role=\"switch\"\n type=\"button\"\n [class.mdc-switch--selected]=\"checked\"\n [class.mdc-switch--unselected]=\"!checked\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [attr.id]=\"buttonId\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-required]=\"required || null\"\n (click)=\"_handleClick($event)\"\n #switch>\n <div class=\"mdc-switch__track\"></div>\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\">\n <div class=\"mat-mdc-slide-toggle-ripple mat-mdc-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"switch\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <div class=\"mdc-switch__icons\">\n <svg class=\"mdc-switch__icon mdc-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg class=\"mdc-switch__icon mdc-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>\n\n <!--\n Clicking on the label will trigger another click event from the button.\n Stop propagation here so other listeners further up in the DOM don't execute twice.\n -->\n <label [for]=\"buttonId\" [attr.id]=\"_labelId\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </label>\n</div>\n", styles: [".mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--mdc-elevation-overlay-color, #fff)}.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative}.mdc-switch:disabled{cursor:default;pointer-events:none}.mdc-switch__track{overflow:hidden;position:relative;width:100%}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:\"\";height:100%;left:0;position:absolute;width:100%}@media screen and (forced-colors: active){.mdc-switch__track::before,.mdc-switch__track::after{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(-100%)}[dir=rtl] .mdc-switch__track::after,.mdc-switch__track[dir=rtl]::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track[dir=rtl]::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::after{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0)}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0)}[dir=rtl] .mdc-switch__handle-track,.mdc-switch__handle-track[dir=rtl]{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track,.mdc-switch--selected .mdc-switch__handle-track[dir=rtl]{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto}[dir=rtl] .mdc-switch__handle,.mdc-switch__handle[dir=rtl]{left:auto;right:0}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid transparent;border-radius:inherit;box-sizing:border-box;content:\"\";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media screen and (forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-elevation-overlay{bottom:0;left:0;right:0;top:0}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1}.mdc-switch:disabled .mdc-switch__ripple{display:none}.mdc-switch__icons{height:100%;position:relative;width:100%;z-index:1}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{display:inline-block;outline:0}.mat-mdc-slide-toggle .mdc-switch{width:var(--mdc-switch-track-width, 36px)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color, #310077)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color, #310077)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color, #310077)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color, #616161)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color, #212121)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color, #212121)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color, #212121)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color, #424242)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color, var(--mdc-theme-surface, #fff))}.mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__shadow{--mdc-elevation-box-shadow-for-gss:0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-handle-elevation, var(--mdc-elevation-box-shadow-for-gss))}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__shadow{--mdc-elevation-box-shadow-for-gss:0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);box-shadow:var(--mdc-switch-disabled-handle-elevation, var(--mdc-elevation-box-shadow-for-gss))}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle{height:var(--mdc-switch-handle-height, 20px)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__handle::after{opacity:var(--mdc-switch-disabled-handle-opacity, 0.38)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle{border-radius:var(--mdc-switch-handle-shape, 10px)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle{width:var(--mdc-switch-handle-width, 20px)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__handle-track{width:calc(100% - var(--mdc-switch-handle-width, 20px))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled .mdc-switch__icon{fill:var(--mdc-switch-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__icon{fill:var(--mdc-switch-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color, var(--mdc-theme-on-primary, #fff))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity, 0.38)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:disabled .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size, 18px);height:var(--mdc-switch-selected-icon-size, 18px)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size, 18px);height:var(--mdc-switch-unselected-icon-size, 18px)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-hover-state-layer-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-focus-state-layer-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-selected-pressed-state-layer-color, var(--mdc-theme-primary, #6200ee))}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-hover-state-layer-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-focus-state-layer-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background-color:var(--mdc-switch-unselected-pressed-state-layer-color, #424242)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-selected-hover-state-layer-opacity, 0.04)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-selected-focus-state-layer-opacity, 0.12)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--selected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):hover .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus).mdc-ripple-surface--hover .mdc-switch__ripple::before{opacity:var(--mdc-switch-unselected-hover-state-layer-opacity, 0.04)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus.mdc-ripple-upgraded--background-focused .mdc-switch__ripple::before,.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:focus:not(.mdc-ripple-upgraded):focus .mdc-switch__ripple::before{transition-duration:75ms;opacity:var(--mdc-switch-unselected-focus-state-layer-opacity, 0.12)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded) .mdc-switch__ripple::after{transition:opacity 150ms linear}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active:not(.mdc-ripple-upgraded):active .mdc-switch__ripple::after{transition-duration:75ms;opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch.mdc-switch--unselected:enabled:active.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, 0.1)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__ripple{height:var(--mdc-switch-state-layer-size, 48px);width:var(--mdc-switch-state-layer-size, 48px)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__track{height:var(--mdc-switch-track-height, 14px)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity, 0.12)}.mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track::after{background:var(--mdc-switch-selected-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color, #d7bbff)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color, #424242)}.mat-mdc-slide-toggle .mdc-switch:enabled .mdc-switch__track::before{background:var(--mdc-switch-unselected-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color, #e0e0e0)}.mat-mdc-slide-toggle .mdc-switch:disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color, #424242)}.mat-mdc-slide-toggle .mdc-switch .mdc-switch__track{border-radius:var(--mdc-switch-track-shape, 7px)}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle .mdc-switch__ripple::after{content:\"\";opacity:0}.mat-mdc-slide-toggle .mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:mdc-switch-transition-enter(opacity, 0, 75ms)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.cdk-high-contrast-active .mat-mdc-slide-toggle-focused .mdc-switch__track{outline:solid 2px;outline-offset:7px}\n"], directives: [{ type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSlideToggle, decorators: [{
|
|
215
215
|
type: Component,
|
|
216
216
|
args: [{ selector: 'mat-slide-toggle', host: {
|
|
217
217
|
'class': 'mat-mdc-slide-toggle',
|
|
@@ -219,6 +219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
219
219
|
// Needs to be removed since it causes some a11y issues (see #21266).
|
|
220
220
|
'[attr.tabindex]': 'null',
|
|
221
221
|
'[attr.aria-label]': 'null',
|
|
222
|
+
'[attr.name]': 'null',
|
|
222
223
|
'[attr.aria-labelledby]': 'null',
|
|
223
224
|
'[class.mat-primary]': 'color === "primary"',
|
|
224
225
|
'[class.mat-accent]': 'color !== "primary" && color !== "warn"',
|
|
@@ -283,10 +284,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
283
284
|
*/
|
|
284
285
|
class MatSlideToggleModule {
|
|
285
286
|
}
|
|
286
|
-
MatSlideToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
287
|
-
MatSlideToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
288
|
-
MatSlideToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
289
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
287
|
+
MatSlideToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSlideToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
288
|
+
MatSlideToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSlideToggleModule, declarations: [MatSlideToggle], imports: [_MatSlideToggleRequiredValidatorModule, MatCommonModule, MatRippleModule, CommonModule], exports: [_MatSlideToggleRequiredValidatorModule, MatSlideToggle, MatCommonModule] });
|
|
289
|
+
MatSlideToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSlideToggleModule, imports: [[_MatSlideToggleRequiredValidatorModule, MatCommonModule, MatRippleModule, CommonModule], _MatSlideToggleRequiredValidatorModule, MatCommonModule] });
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSlideToggleModule, decorators: [{
|
|
290
291
|
type: NgModule,
|
|
291
292
|
args: [{
|
|
292
293
|
imports: [_MatSlideToggleRequiredValidatorModule, MatCommonModule, MatRippleModule, CommonModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdc-slide-toggle.mjs","sources":["../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle-config.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.html","../../../../../../src/material-experimental/mdc-slide-toggle/module.ts","../../../../../../src/material-experimental/mdc-slide-toggle/public-api.ts","../../../../../../src/material-experimental/mdc-slide-toggle/index.ts","../../../../../../src/material-experimental/mdc-slide-toggle/mdc-slide-toggle_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 */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\n\n/** Default `mat-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n /** Whether toggle action triggers value changes in slide toggle. */\n disableToggleValue?: boolean;\n\n /** Default color for slide toggles. */\n color?: ThemePalette;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken<MatSlideToggleDefaultOptions>(\n 'mat-slide-toggle-default-options',\n {\n providedIn: 'root',\n factory: () => ({disableToggleValue: false}),\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 {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n AfterViewInit,\n OnDestroy,\n forwardRef,\n ViewChild,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n Attribute,\n Inject,\n Optional,\n} from '@angular/core';\nimport {deprecated} from '@material/switch';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput,\n} from '@angular/cdk/coercion';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {\n MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n MatSlideToggleDefaultOptions,\n} from './slide-toggle-config';\n\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n\n/** @docs-private */\nexport const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true,\n};\n\n/** Change event object emitted by a MatSlideToggle. */\nexport class MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n public source: MatSlideToggle,\n /** The new `checked` value of the MatSlideToggle. */\n public checked: boolean,\n ) {}\n}\n\n@Component({\n selector: 'mat-slide-toggle',\n templateUrl: 'slide-toggle.html',\n styleUrls: ['slide-toggle.css'],\n host: {\n 'class': 'mat-mdc-slide-toggle',\n '[id]': 'id',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[class.mat-mdc-slide-toggle-focused]': '_focused',\n '[class.mat-mdc-slide-toggle-checked]': 'checked',\n '[class._mat-animation-noopable]': '_noopAnimations',\n },\n exportAs: 'matSlideToggle',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n})\nexport class MatSlideToggle implements ControlValueAccessor, AfterViewInit, OnDestroy {\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n\n private _uniqueId: string = `mat-mdc-slide-toggle-${++nextUniqueId}`;\n private _required: boolean = false;\n private _checked: boolean = false;\n private _foundation: deprecated.MDCSwitchFoundation;\n private _adapter: deprecated.MDCSwitchAdapter = {\n addClass: className => this._switchElement.nativeElement.classList.add(className),\n removeClass: className => this._switchElement.nativeElement.classList.remove(className),\n setNativeControlChecked: checked => (this._checked = checked),\n setNativeControlDisabled: disabled => (this._disabled = disabled),\n setNativeControlAttr: (name, value) => {\n this._switchElement.nativeElement.setAttribute(name, value);\n },\n };\n\n /** Whether the slide toggle is currently focused. */\n _focused: boolean;\n\n /** Whether noop animations are enabled. */\n _noopAnimations: boolean;\n\n /** Unique ID for the label element. */\n _labelId = `mat-mdc-slide-toggle-label-${++nextUniqueId}`;\n\n /** The color palette for this slide toggle. */\n @Input() color: ThemePalette;\n\n /** Name value will be applied to the button element if present. */\n @Input() name: string | null = null;\n\n /** A unique id for the slide-toggle button. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Tabindex for the input element. */\n @Input()\n get tabIndex(): number {\n return this._tabIndex;\n }\n set tabIndex(value: NumberInput) {\n this._tabIndex = coerceNumberProperty(value);\n }\n private _tabIndex: number;\n\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Used to set the aria-label attribute on the underlying button element. */\n @Input('aria-label') ariaLabel: string | null = null;\n\n /** Used to set the aria-labelledby attribute on the underlying button element. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Used to set the aria-describedby attribute on the underlying button element. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /** Whether the slide-toggle is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n }\n\n /** Whether the slide-toggle element is checked or not. */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: BooleanInput) {\n this._checked = coerceBooleanProperty(value);\n\n if (this._foundation) {\n this._foundation.setChecked(this._checked);\n }\n }\n\n /** Whether to disable the ripple on this checkbox. */\n @Input()\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(disableRipple: BooleanInput) {\n this._disableRipple = coerceBooleanProperty(disableRipple);\n }\n private _disableRipple = false;\n\n /** Whether the slide toggle is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: BooleanInput) {\n this._disabled = coerceBooleanProperty(disabled);\n\n if (this._foundation) {\n this._foundation.setDisabled(this._disabled);\n }\n }\n private _disabled = false;\n\n /** An event will be dispatched each time the slide-toggle changes its value. */\n @Output() readonly change: EventEmitter<MatSlideToggleChange> =\n new EventEmitter<MatSlideToggleChange>();\n\n /** Event will be dispatched each time the slide-toggle input is toggled. */\n @Output() readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** Returns the unique id for the visual hidden button. */\n get buttonId(): string {\n return `${this.id || this._uniqueId}-button`;\n }\n\n /** Reference to the MDC switch element. */\n @ViewChild('switch') _switchElement: ElementRef<HTMLElement>;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n @Inject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS)\n public defaults: MatSlideToggleDefaultOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n this.tabIndex = parseInt(tabIndex) || 0;\n this.color = defaults.color || 'accent';\n this._noopAnimations = animationMode === 'NoopAnimations';\n }\n\n ngAfterViewInit() {\n const foundation = (this._foundation = new deprecated.MDCSwitchFoundation(this._adapter));\n foundation.setDisabled(this.disabled);\n foundation.setChecked(this.checked);\n\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n this._focused = true;\n } else if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's ng-touched) will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._focused = false;\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._foundation?.destroy();\n }\n\n /** Method being called whenever the underlying button is clicked. */\n _handleClick(event: Event) {\n this.toggleChange.emit();\n this._foundation.handleChange(event);\n\n if (!this.defaults.disableToggleValue) {\n this.checked = !this.checked;\n this._onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: any): void {\n this.checked = !!value;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Focuses the slide-toggle. */\n focus(): void {\n this._switchElement.nativeElement.focus();\n }\n\n /** Toggles the checked state of the slide-toggle. */\n toggle(): void {\n this.checked = !this.checked;\n this._onChange(this.checked);\n }\n\n _getAriaLabelledBy() {\n if (this.ariaLabelledby) {\n return this.ariaLabelledby;\n }\n\n // Even though we have a `label` element with a `for` pointing to the button, we need the\n // `aria-labelledby`, because the button gets flagged as not having a label by tools like axe.\n return this.ariaLabel ? null : this._labelId;\n }\n}\n","<div class=\"mdc-form-field\"\n [class.mdc-form-field--align-end]=\"labelPosition == 'before'\">\n <button\n class=\"mdc-switch\"\n role=\"switch\"\n type=\"button\"\n [class.mdc-switch--selected]=\"checked\"\n [class.mdc-switch--unselected]=\"!checked\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [attr.id]=\"buttonId\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-required]=\"required || null\"\n (click)=\"_handleClick($event)\"\n #switch>\n <div class=\"mdc-switch__track\"></div>\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\">\n <div class=\"mat-mdc-slide-toggle-ripple mat-mdc-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"switch\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <div class=\"mdc-switch__icons\">\n <svg class=\"mdc-switch__icon mdc-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg class=\"mdc-switch__icon mdc-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>\n\n <!--\n Clicking on the label will trigger another click event from the button.\n Stop propagation here so other listeners further up in the DOM don't execute twice.\n -->\n <label [for]=\"buttonId\" [attr.id]=\"_labelId\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </label>\n</div>\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material-experimental/mdc-core';\nimport {_MatSlideToggleRequiredValidatorModule} from '@angular/material/slide-toggle';\nimport {MatSlideToggle} from './slide-toggle';\n\n@NgModule({\n imports: [_MatSlideToggleRequiredValidatorModule, MatCommonModule, MatRippleModule, CommonModule],\n exports: [_MatSlideToggleRequiredValidatorModule, MatSlideToggle, MatCommonModule],\n declarations: [MatSlideToggle],\n})\nexport class MatSlideToggleModule {}\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\nexport * from './slide-toggle';\nexport * from './slide-toggle-config';\nexport * from './module';\n\nexport {\n MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR,\n MatSlideToggleRequiredValidator,\n} from '@angular/material/slide-toggle';\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\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mdc-slide-toggle.mjs","sources":["../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle-config.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.html","../../../../../../src/material-experimental/mdc-slide-toggle/module.ts","../../../../../../src/material-experimental/mdc-slide-toggle/public-api.ts","../../../../../../src/material-experimental/mdc-slide-toggle/index.ts","../../../../../../src/material-experimental/mdc-slide-toggle/mdc-slide-toggle_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 */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\n\n/** Default `mat-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n /** Whether toggle action triggers value changes in slide toggle. */\n disableToggleValue?: boolean;\n\n /** Default color for slide toggles. */\n color?: ThemePalette;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken<MatSlideToggleDefaultOptions>(\n 'mat-slide-toggle-default-options',\n {\n providedIn: 'root',\n factory: () => ({disableToggleValue: false}),\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 {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n AfterViewInit,\n OnDestroy,\n forwardRef,\n ViewChild,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n Attribute,\n Inject,\n Optional,\n} from '@angular/core';\nimport {deprecated} from '@material/switch';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput,\n} from '@angular/cdk/coercion';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {\n MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n MatSlideToggleDefaultOptions,\n} from './slide-toggle-config';\n\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n\n/** @docs-private */\nexport const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true,\n};\n\n/** Change event object emitted by a MatSlideToggle. */\nexport class MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n public source: MatSlideToggle,\n /** The new `checked` value of the MatSlideToggle. */\n public checked: boolean,\n ) {}\n}\n\n@Component({\n selector: 'mat-slide-toggle',\n templateUrl: 'slide-toggle.html',\n styleUrls: ['slide-toggle.css'],\n host: {\n 'class': 'mat-mdc-slide-toggle',\n '[id]': 'id',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.name]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[class.mat-mdc-slide-toggle-focused]': '_focused',\n '[class.mat-mdc-slide-toggle-checked]': 'checked',\n '[class._mat-animation-noopable]': '_noopAnimations',\n },\n exportAs: 'matSlideToggle',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n})\nexport class MatSlideToggle implements ControlValueAccessor, AfterViewInit, OnDestroy {\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n\n private _uniqueId: string = `mat-mdc-slide-toggle-${++nextUniqueId}`;\n private _required: boolean = false;\n private _checked: boolean = false;\n private _foundation: deprecated.MDCSwitchFoundation;\n private _adapter: deprecated.MDCSwitchAdapter = {\n addClass: className => this._switchElement.nativeElement.classList.add(className),\n removeClass: className => this._switchElement.nativeElement.classList.remove(className),\n setNativeControlChecked: checked => (this._checked = checked),\n setNativeControlDisabled: disabled => (this._disabled = disabled),\n setNativeControlAttr: (name, value) => {\n this._switchElement.nativeElement.setAttribute(name, value);\n },\n };\n\n /** Whether the slide toggle is currently focused. */\n _focused: boolean;\n\n /** Whether noop animations are enabled. */\n _noopAnimations: boolean;\n\n /** Unique ID for the label element. */\n _labelId = `mat-mdc-slide-toggle-label-${++nextUniqueId}`;\n\n /** The color palette for this slide toggle. */\n @Input() color: ThemePalette;\n\n /** Name value will be applied to the button element if present. */\n @Input() name: string | null = null;\n\n /** A unique id for the slide-toggle button. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Tabindex for the input element. */\n @Input()\n get tabIndex(): number {\n return this._tabIndex;\n }\n set tabIndex(value: NumberInput) {\n this._tabIndex = coerceNumberProperty(value);\n }\n private _tabIndex: number;\n\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Used to set the aria-label attribute on the underlying button element. */\n @Input('aria-label') ariaLabel: string | null = null;\n\n /** Used to set the aria-labelledby attribute on the underlying button element. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Used to set the aria-describedby attribute on the underlying button element. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /** Whether the slide-toggle is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n }\n\n /** Whether the slide-toggle element is checked or not. */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: BooleanInput) {\n this._checked = coerceBooleanProperty(value);\n\n if (this._foundation) {\n this._foundation.setChecked(this._checked);\n }\n }\n\n /** Whether to disable the ripple on this checkbox. */\n @Input()\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(disableRipple: BooleanInput) {\n this._disableRipple = coerceBooleanProperty(disableRipple);\n }\n private _disableRipple = false;\n\n /** Whether the slide toggle is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: BooleanInput) {\n this._disabled = coerceBooleanProperty(disabled);\n\n if (this._foundation) {\n this._foundation.setDisabled(this._disabled);\n }\n }\n private _disabled = false;\n\n /** An event will be dispatched each time the slide-toggle changes its value. */\n @Output() readonly change: EventEmitter<MatSlideToggleChange> =\n new EventEmitter<MatSlideToggleChange>();\n\n /** Event will be dispatched each time the slide-toggle input is toggled. */\n @Output() readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** Returns the unique id for the visual hidden button. */\n get buttonId(): string {\n return `${this.id || this._uniqueId}-button`;\n }\n\n /** Reference to the MDC switch element. */\n @ViewChild('switch') _switchElement: ElementRef<HTMLElement>;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n @Inject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS)\n public defaults: MatSlideToggleDefaultOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n this.tabIndex = parseInt(tabIndex) || 0;\n this.color = defaults.color || 'accent';\n this._noopAnimations = animationMode === 'NoopAnimations';\n }\n\n ngAfterViewInit() {\n const foundation = (this._foundation = new deprecated.MDCSwitchFoundation(this._adapter));\n foundation.setDisabled(this.disabled);\n foundation.setChecked(this.checked);\n\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n this._focused = true;\n } else if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's ng-touched) will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._focused = false;\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._foundation?.destroy();\n }\n\n /** Method being called whenever the underlying button is clicked. */\n _handleClick(event: Event) {\n this.toggleChange.emit();\n this._foundation.handleChange(event);\n\n if (!this.defaults.disableToggleValue) {\n this.checked = !this.checked;\n this._onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: any): void {\n this.checked = !!value;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Focuses the slide-toggle. */\n focus(): void {\n this._switchElement.nativeElement.focus();\n }\n\n /** Toggles the checked state of the slide-toggle. */\n toggle(): void {\n this.checked = !this.checked;\n this._onChange(this.checked);\n }\n\n _getAriaLabelledBy() {\n if (this.ariaLabelledby) {\n return this.ariaLabelledby;\n }\n\n // Even though we have a `label` element with a `for` pointing to the button, we need the\n // `aria-labelledby`, because the button gets flagged as not having a label by tools like axe.\n return this.ariaLabel ? null : this._labelId;\n }\n}\n","<div class=\"mdc-form-field\"\n [class.mdc-form-field--align-end]=\"labelPosition == 'before'\">\n <button\n class=\"mdc-switch\"\n role=\"switch\"\n type=\"button\"\n [class.mdc-switch--selected]=\"checked\"\n [class.mdc-switch--unselected]=\"!checked\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [attr.id]=\"buttonId\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-required]=\"required || null\"\n (click)=\"_handleClick($event)\"\n #switch>\n <div class=\"mdc-switch__track\"></div>\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\">\n <div class=\"mat-mdc-slide-toggle-ripple mat-mdc-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"switch\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <div class=\"mdc-switch__icons\">\n <svg class=\"mdc-switch__icon mdc-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg class=\"mdc-switch__icon mdc-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>\n\n <!--\n Clicking on the label will trigger another click event from the button.\n Stop propagation here so other listeners further up in the DOM don't execute twice.\n -->\n <label [for]=\"buttonId\" [attr.id]=\"_labelId\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </label>\n</div>\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material-experimental/mdc-core';\nimport {_MatSlideToggleRequiredValidatorModule} from '@angular/material/slide-toggle';\nimport {MatSlideToggle} from './slide-toggle';\n\n@NgModule({\n imports: [_MatSlideToggleRequiredValidatorModule, MatCommonModule, MatRippleModule, CommonModule],\n exports: [_MatSlideToggleRequiredValidatorModule, MatSlideToggle, MatCommonModule],\n declarations: [MatSlideToggle],\n})\nexport class MatSlideToggleModule {}\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\nexport * from './slide-toggle';\nexport * from './slide-toggle-config';\nexport * from './module';\n\nexport {\n MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR,\n MatSlideToggleRequiredValidator,\n} from '@angular/material/slide-toggle';\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\nexport * from './public-api';\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-experimental/mdc-slider/testing/slider-thumb-harness.ts","../../../../../../../src/material-experimental/mdc-slider/testing/slider-harness.ts","../../../../../../../src/material-experimental/mdc-slider/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-slider/testing/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 {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {SliderThumbHarnessFilters, ThumbPosition} from './slider-harness-filters';\n\n/** Harness for interacting with a thumb inside of a Material slider in tests. */\nexport class MatSliderThumbHarness extends ComponentHarness {\n static hostSelector =\n 'input[matSliderThumb], input[matSliderStartThumb], input[matSliderEndThumb]';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSliderThumbHarness` that meets\n * certain criteria.\n * @param options Options for filtering which thumb instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: SliderThumbHarnessFilters = {}): HarnessPredicate<MatSliderThumbHarness> {\n return new HarnessPredicate(MatSliderThumbHarness, options).addOption(\n 'position',\n options.position,\n async (harness, value) => {\n return (await harness.getPosition()) === value;\n },\n );\n }\n\n /** Gets the position of the thumb inside the slider. */\n async getPosition(): Promise<ThumbPosition> {\n // Meant to mimic MDC's logic where `matSliderThumb` is treated as END.\n const isStart = (await (await this.host()).getAttribute('matSliderStartThumb')) != null;\n return isStart ? ThumbPosition.START : ThumbPosition.END;\n }\n\n /** Gets the value of the thumb. */\n async getValue(): Promise<number> {\n return await (await this.host()).getProperty<number>('valueAsNumber');\n }\n\n /** Sets the value of the thumb. */\n async setValue(newValue: number): Promise<void> {\n const input = await this.host();\n\n // Since this is a range input, we can't simulate the user interacting with it so we set the\n // value directly and dispatch a couple of fake events to ensure that everything fires.\n await input.setInputValue(newValue + '');\n await input.dispatchEvent('input');\n await input.dispatchEvent('change');\n }\n\n /** Gets the current percentage value of the slider. */\n async getPercentage(): Promise<number> {\n const [value, min, max] = await parallel(() => [\n this.getValue(),\n this.getMinValue(),\n this.getMaxValue(),\n ]);\n\n return (value - min) / (max - min);\n }\n\n /** Gets the maximum value of the thumb. */\n async getMaxValue(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getProperty<number>('max'));\n }\n\n /** Gets the minimum value of the thumb. */\n async getMinValue(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getProperty<number>('min'));\n }\n\n /** Gets the text representation of the slider's value. */\n async getDisplayValue(): Promise<string> {\n return (await (await this.host()).getAttribute('aria-valuetext')) || '';\n }\n\n /** Whether the thumb is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('disabled');\n }\n\n /** Gets the name of the thumb. */\n async getName(): Promise<string> {\n return await (await this.host()).getProperty<string>('name');\n }\n\n /** Gets the id of the thumb. */\n async getId(): Promise<string> {\n return await (await this.host()).getProperty<string>('id');\n }\n\n /**\n * Focuses the thumb and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the thumb and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the thumb is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\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 {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {SliderHarnessFilters, ThumbPosition} from './slider-harness-filters';\nimport {MatSliderThumbHarness} from './slider-thumb-harness';\n\n/** Harness for interacting with a MDC mat-slider in tests. */\nexport class MatSliderHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-slider';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSliderHarness` that meets\n * certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: SliderHarnessFilters = {}): HarnessPredicate<MatSliderHarness> {\n return new HarnessPredicate(MatSliderHarness, options).addOption(\n 'isRange',\n options.isRange,\n async (harness, value) => {\n return (await harness.isRange()) === value;\n },\n );\n }\n\n /** Gets the start thumb of the slider (only applicable for range sliders). */\n async getStartThumb(): Promise<MatSliderThumbHarness> {\n if (!(await this.isRange())) {\n throw Error(\n '`getStartThumb` is only applicable for range sliders. ' +\n 'Did you mean to use `getEndThumb`?',\n );\n }\n return this.locatorFor(MatSliderThumbHarness.with({position: ThumbPosition.START}))();\n }\n\n /** Gets the thumb (for single point sliders), or the end thumb (for range sliders). */\n async getEndThumb(): Promise<MatSliderThumbHarness> {\n return this.locatorFor(MatSliderThumbHarness.with({position: ThumbPosition.END}))();\n }\n\n /** Gets whether the slider is a range slider. */\n async isRange(): Promise<boolean> {\n return await (await this.host()).hasClass('mdc-slider--range');\n }\n\n /** Gets whether the slider is disabled. */\n async isDisabled(): Promise<boolean> {\n return await (await this.host()).hasClass('mdc-slider--disabled');\n }\n\n /** Gets the value step increments of the slider. */\n async getStep(): Promise<number> {\n // The same step value is forwarded to both thumbs.\n const startHost = await (await this.getEndThumb()).host();\n return coerceNumberProperty(await startHost.getProperty<string>('step'));\n }\n\n /** Gets the maximum value of the slider. */\n async getMaxValue(): Promise<number> {\n return (await this.getEndThumb()).getMaxValue();\n }\n\n /** Gets the minimum value of the slider. */\n async getMinValue(): Promise<number> {\n const startThumb = (await this.isRange())\n ? await this.getStartThumb()\n : await this.getEndThumb();\n return startThumb.getMinValue();\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\nexport * from './slider-harness';\nexport * from './slider-thumb-harness';\nexport * from './slider-harness-filters';\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\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material-experimental/mdc-slider/testing/slider-thumb-harness.ts","../../../../../../../src/material-experimental/mdc-slider/testing/slider-harness.ts","../../../../../../../src/material-experimental/mdc-slider/testing/public-api.ts","../../../../../../../src/material-experimental/mdc-slider/testing/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 {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {SliderThumbHarnessFilters, ThumbPosition} from './slider-harness-filters';\n\n/** Harness for interacting with a thumb inside of a Material slider in tests. */\nexport class MatSliderThumbHarness extends ComponentHarness {\n static hostSelector =\n 'input[matSliderThumb], input[matSliderStartThumb], input[matSliderEndThumb]';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSliderThumbHarness` that meets\n * certain criteria.\n * @param options Options for filtering which thumb instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: SliderThumbHarnessFilters = {}): HarnessPredicate<MatSliderThumbHarness> {\n return new HarnessPredicate(MatSliderThumbHarness, options).addOption(\n 'position',\n options.position,\n async (harness, value) => {\n return (await harness.getPosition()) === value;\n },\n );\n }\n\n /** Gets the position of the thumb inside the slider. */\n async getPosition(): Promise<ThumbPosition> {\n // Meant to mimic MDC's logic where `matSliderThumb` is treated as END.\n const isStart = (await (await this.host()).getAttribute('matSliderStartThumb')) != null;\n return isStart ? ThumbPosition.START : ThumbPosition.END;\n }\n\n /** Gets the value of the thumb. */\n async getValue(): Promise<number> {\n return await (await this.host()).getProperty<number>('valueAsNumber');\n }\n\n /** Sets the value of the thumb. */\n async setValue(newValue: number): Promise<void> {\n const input = await this.host();\n\n // Since this is a range input, we can't simulate the user interacting with it so we set the\n // value directly and dispatch a couple of fake events to ensure that everything fires.\n await input.setInputValue(newValue + '');\n await input.dispatchEvent('input');\n await input.dispatchEvent('change');\n }\n\n /** Gets the current percentage value of the slider. */\n async getPercentage(): Promise<number> {\n const [value, min, max] = await parallel(() => [\n this.getValue(),\n this.getMinValue(),\n this.getMaxValue(),\n ]);\n\n return (value - min) / (max - min);\n }\n\n /** Gets the maximum value of the thumb. */\n async getMaxValue(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getProperty<number>('max'));\n }\n\n /** Gets the minimum value of the thumb. */\n async getMinValue(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getProperty<number>('min'));\n }\n\n /** Gets the text representation of the slider's value. */\n async getDisplayValue(): Promise<string> {\n return (await (await this.host()).getAttribute('aria-valuetext')) || '';\n }\n\n /** Whether the thumb is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('disabled');\n }\n\n /** Gets the name of the thumb. */\n async getName(): Promise<string> {\n return await (await this.host()).getProperty<string>('name');\n }\n\n /** Gets the id of the thumb. */\n async getId(): Promise<string> {\n return await (await this.host()).getProperty<string>('id');\n }\n\n /**\n * Focuses the thumb and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the thumb and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the thumb is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\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 {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {SliderHarnessFilters, ThumbPosition} from './slider-harness-filters';\nimport {MatSliderThumbHarness} from './slider-thumb-harness';\n\n/** Harness for interacting with a MDC mat-slider in tests. */\nexport class MatSliderHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-slider';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSliderHarness` that meets\n * certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: SliderHarnessFilters = {}): HarnessPredicate<MatSliderHarness> {\n return new HarnessPredicate(MatSliderHarness, options).addOption(\n 'isRange',\n options.isRange,\n async (harness, value) => {\n return (await harness.isRange()) === value;\n },\n );\n }\n\n /** Gets the start thumb of the slider (only applicable for range sliders). */\n async getStartThumb(): Promise<MatSliderThumbHarness> {\n if (!(await this.isRange())) {\n throw Error(\n '`getStartThumb` is only applicable for range sliders. ' +\n 'Did you mean to use `getEndThumb`?',\n );\n }\n return this.locatorFor(MatSliderThumbHarness.with({position: ThumbPosition.START}))();\n }\n\n /** Gets the thumb (for single point sliders), or the end thumb (for range sliders). */\n async getEndThumb(): Promise<MatSliderThumbHarness> {\n return this.locatorFor(MatSliderThumbHarness.with({position: ThumbPosition.END}))();\n }\n\n /** Gets whether the slider is a range slider. */\n async isRange(): Promise<boolean> {\n return await (await this.host()).hasClass('mdc-slider--range');\n }\n\n /** Gets whether the slider is disabled. */\n async isDisabled(): Promise<boolean> {\n return await (await this.host()).hasClass('mdc-slider--disabled');\n }\n\n /** Gets the value step increments of the slider. */\n async getStep(): Promise<number> {\n // The same step value is forwarded to both thumbs.\n const startHost = await (await this.getEndThumb()).host();\n return coerceNumberProperty(await startHost.getProperty<string>('step'));\n }\n\n /** Gets the maximum value of the slider. */\n async getMaxValue(): Promise<number> {\n return (await this.getEndThumb()).getMaxValue();\n }\n\n /** Gets the minimum value of the slider. */\n async getMinValue(): Promise<number> {\n const startThumb = (await this.isRange())\n ? await this.getStartThumb()\n : await this.getEndThumb();\n return startThumb.getMinValue();\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\nexport * from './slider-harness';\nexport * from './slider-thumb-harness';\nexport * from './slider-harness-filters';\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\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|