@angular/material 21.0.0-next.4 → 21.0.0-next.6
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/core/focus-indicators/_private.scss +16 -0
- package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
- package/core/tokens/m2/_md-sys-color.scss +11 -2
- package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
- package/core/tokens/m3/_md-sys-color.scss +5 -31
- package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
- package/core/tokens/m3/_md-sys-typescale.scss +2 -16
- package/fesm2022/{animation.mjs → _animation-chunk.mjs} +2 -23
- package/fesm2022/_animation-chunk.mjs.map +1 -0
- package/fesm2022/{date-formats.mjs → _date-formats-chunk.mjs} +1 -1
- package/fesm2022/_date-formats-chunk.mjs.map +1 -0
- package/fesm2022/{date-range-input-harness.mjs → _date-range-input-harness-chunk.mjs} +1 -1
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
- package/fesm2022/{error-options.mjs → _error-options-chunk.mjs} +1 -1
- package/fesm2022/_error-options-chunk.mjs.map +1 -0
- package/fesm2022/{error-state.mjs → _error-state-chunk.mjs} +1 -1
- package/fesm2022/_error-state-chunk.mjs.map +1 -0
- package/fesm2022/_form-field-chunk.mjs +1114 -0
- package/fesm2022/_form-field-chunk.mjs.map +1 -0
- package/fesm2022/{icon-button.mjs → _icon-button-chunk.mjs} +4 -4
- package/fesm2022/_icon-button-chunk.mjs.map +1 -0
- package/fesm2022/{icon-registry.mjs → _icon-registry-chunk.mjs} +1 -1
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
- package/fesm2022/{input-harness.mjs → _input-harness-chunk.mjs} +1 -1
- package/fesm2022/_input-harness-chunk.mjs.map +1 -0
- package/fesm2022/{input-value-accessor.mjs → _input-value-accessor-chunk.mjs} +1 -1
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
- package/fesm2022/{internal-form-field.mjs → _internal-form-field-chunk.mjs} +1 -1
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
- package/fesm2022/{line.mjs → _line-chunk.mjs} +1 -1
- package/fesm2022/_line-chunk.mjs.map +1 -0
- package/fesm2022/{option.mjs → _option-chunk.mjs} +4 -4
- package/fesm2022/_option-chunk.mjs.map +1 -0
- package/fesm2022/{option-harness.mjs → _option-harness-chunk.mjs} +1 -1
- package/fesm2022/_option-harness-chunk.mjs.map +1 -0
- package/fesm2022/{option-module.mjs → _option-module-chunk.mjs} +4 -4
- package/fesm2022/_option-module-chunk.mjs.map +1 -0
- package/fesm2022/{pseudo-checkbox.mjs → _pseudo-checkbox-chunk.mjs} +2 -2
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
- package/fesm2022/{pseudo-checkbox-module.mjs → _pseudo-checkbox-module-chunk.mjs} +2 -2
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
- package/fesm2022/{public-api.mjs → _public-api-chunk.mjs} +1 -1
- package/fesm2022/_public-api-chunk.mjs.map +1 -0
- package/fesm2022/{ripple.mjs → _ripple-chunk.mjs} +2 -2
- package/fesm2022/_ripple-chunk.mjs.map +1 -0
- package/fesm2022/{ripple-loader.mjs → _ripple-loader-chunk.mjs} +3 -3
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
- package/fesm2022/{ripple-module.mjs → _ripple-module-chunk.mjs} +2 -2
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
- package/fesm2022/{structural-styles.mjs → _structural-styles-chunk.mjs} +1 -1
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
- package/fesm2022/{tooltip2.mjs → _tooltip-chunk.mjs} +2 -2
- package/fesm2022/_tooltip-chunk.mjs.map +1 -0
- package/fesm2022/{autocomplete/testing.mjs → autocomplete-testing.mjs} +3 -3
- package/fesm2022/autocomplete-testing.mjs.map +1 -0
- package/fesm2022/autocomplete.mjs +10 -10
- package/fesm2022/{badge/testing.mjs → badge-testing.mjs} +1 -1
- package/fesm2022/badge-testing.mjs.map +1 -0
- package/fesm2022/badge.mjs +1 -1
- package/fesm2022/{bottom-sheet/testing.mjs → bottom-sheet-testing.mjs} +1 -1
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
- package/fesm2022/bottom-sheet.mjs +1 -1
- package/fesm2022/{button/testing.mjs → button-testing.mjs} +6 -2
- package/fesm2022/button-testing.mjs.map +1 -0
- package/fesm2022/{button-toggle/testing.mjs → button-toggle-testing.mjs} +1 -1
- package/fesm2022/button-toggle-testing.mjs.map +1 -0
- package/fesm2022/button-toggle.mjs +5 -5
- package/fesm2022/button.mjs +7 -7
- package/fesm2022/{card/testing.mjs → card-testing.mjs} +1 -1
- package/fesm2022/card-testing.mjs.map +1 -0
- package/fesm2022/{checkbox/testing.mjs → checkbox-testing.mjs} +1 -1
- package/fesm2022/checkbox-testing.mjs.map +1 -0
- package/fesm2022/checkbox.mjs +4 -4
- package/fesm2022/{chips/testing.mjs → chips-testing.mjs} +1 -1
- package/fesm2022/chips-testing.mjs.map +1 -0
- package/fesm2022/chips.mjs +36 -15
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/{core/testing.mjs → core-testing.mjs} +2 -2
- package/fesm2022/core-testing.mjs.map +1 -0
- package/fesm2022/core.mjs +15 -20
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/{datepicker/testing.mjs → datepicker-testing.mjs} +3 -3
- package/fesm2022/datepicker-testing.mjs.map +1 -0
- package/fesm2022/datepicker.mjs +12 -12
- package/fesm2022/{dialog/testing.mjs → dialog-testing.mjs} +3 -3
- package/fesm2022/dialog-testing.mjs.map +1 -0
- package/fesm2022/dialog.mjs +1 -1
- package/fesm2022/{divider/testing.mjs → divider-testing.mjs} +1 -1
- package/fesm2022/divider-testing.mjs.map +1 -0
- package/fesm2022/{expansion/testing.mjs → expansion-testing.mjs} +1 -1
- package/fesm2022/expansion-testing.mjs.map +1 -0
- package/fesm2022/expansion.mjs +2 -2
- package/fesm2022/{form-field/testing/control.mjs → form-field-testing-control.mjs} +1 -1
- package/fesm2022/form-field-testing-control.mjs.map +1 -0
- package/fesm2022/{form-field/testing.mjs → form-field-testing.mjs} +5 -5
- package/fesm2022/form-field-testing.mjs.map +1 -0
- package/fesm2022/form-field.mjs +3 -3
- package/fesm2022/{grid-list/testing.mjs → grid-list-testing.mjs} +2 -2
- package/fesm2022/grid-list-testing.mjs.map +1 -0
- package/fesm2022/grid-list.mjs +3 -3
- package/fesm2022/{icon/testing.mjs → icon-testing.mjs} +2 -2
- package/fesm2022/icon-testing.mjs.map +1 -0
- package/fesm2022/icon.mjs +2 -2
- package/fesm2022/{input/testing.mjs → input-testing.mjs} +3 -3
- package/fesm2022/{input/testing.mjs.map → input-testing.mjs.map} +1 -1
- package/fesm2022/input.mjs +6 -6
- package/fesm2022/{list/testing.mjs → list-testing.mjs} +2 -2
- package/fesm2022/list-testing.mjs.map +1 -0
- package/fesm2022/list.mjs +6 -6
- package/fesm2022/{menu/testing.mjs → menu-testing.mjs} +1 -1
- package/fesm2022/menu-testing.mjs.map +1 -0
- package/fesm2022/menu.mjs +14 -11
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/{paginator/testing.mjs → paginator-testing.mjs} +2 -2
- package/fesm2022/paginator-testing.mjs.map +1 -0
- package/fesm2022/paginator.mjs +16 -16
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/{progress-bar/testing.mjs → progress-bar-testing.mjs} +1 -1
- package/fesm2022/progress-bar-testing.mjs.map +1 -0
- package/fesm2022/progress-bar.mjs +1 -1
- package/fesm2022/{progress-spinner/testing.mjs → progress-spinner-testing.mjs} +1 -1
- package/fesm2022/progress-spinner-testing.mjs.map +1 -0
- package/fesm2022/progress-spinner.mjs +1 -1
- package/fesm2022/{radio/testing.mjs → radio-testing.mjs} +1 -1
- package/fesm2022/radio-testing.mjs.map +1 -0
- package/fesm2022/radio.mjs +7 -7
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/{select/testing.mjs → select-testing.mjs} +1 -1
- package/fesm2022/select-testing.mjs.map +1 -0
- package/fesm2022/select.mjs +17 -16
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/{sidenav/testing.mjs → sidenav-testing.mjs} +1 -1
- package/fesm2022/sidenav-testing.mjs.map +1 -0
- package/fesm2022/sidenav.mjs +1 -1
- package/fesm2022/{slide-toggle/testing.mjs → slide-toggle-testing.mjs} +1 -1
- package/fesm2022/slide-toggle-testing.mjs.map +1 -0
- package/fesm2022/slide-toggle.mjs +4 -4
- package/fesm2022/{slider/testing.mjs → slider-testing.mjs} +1 -1
- package/fesm2022/slider-testing.mjs.map +1 -0
- package/fesm2022/slider.mjs +4 -4
- package/fesm2022/{snack-bar/testing.mjs → snack-bar-testing.mjs} +1 -1
- package/fesm2022/snack-bar-testing.mjs.map +1 -0
- package/fesm2022/snack-bar.mjs +6 -6
- package/fesm2022/{sort/testing.mjs → sort-testing.mjs} +1 -1
- package/fesm2022/sort-testing.mjs.map +1 -0
- package/fesm2022/sort.mjs +2 -2
- package/fesm2022/{stepper/testing.mjs → stepper-testing.mjs} +3 -2
- package/fesm2022/stepper-testing.mjs.map +1 -0
- package/fesm2022/stepper.mjs +10 -12
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/{table/testing.mjs → table-testing.mjs} +3 -3
- package/fesm2022/table-testing.mjs.map +1 -0
- package/fesm2022/table.mjs +8 -3
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/{tabs/testing.mjs → tabs-testing.mjs} +1 -1
- package/fesm2022/tabs-testing.mjs.map +1 -0
- package/fesm2022/tabs.mjs +3 -3
- package/fesm2022/{timepicker/testing.mjs → timepicker-testing.mjs} +2 -2
- package/fesm2022/timepicker-testing.mjs.map +1 -0
- package/fesm2022/timepicker.mjs +10 -10
- package/fesm2022/{toolbar/testing.mjs → toolbar-testing.mjs} +1 -1
- package/fesm2022/toolbar-testing.mjs.map +1 -0
- package/fesm2022/{tooltip/testing.mjs → tooltip-testing.mjs} +1 -1
- package/fesm2022/tooltip-testing.mjs.map +1 -0
- package/fesm2022/tooltip.mjs +3 -3
- package/fesm2022/{tree/testing.mjs → tree-testing.mjs} +1 -1
- package/fesm2022/tree-testing.mjs.map +1 -0
- package/package.json +114 -114
- package/schematics/ng-add/index.js +1 -1
- package/{badge.d.d.ts → types/_badge-chunk.d.ts} +1 -1
- package/{form-field.d.d.ts → types/_form-field-chunk.d.ts} +2 -2
- package/{form-field-module.d.d.ts → types/_form-field-module-chunk.d.ts} +1 -1
- package/{icon-module.d.d.ts → types/_icon-module-chunk.d.ts} +1 -1
- package/{option-module.d.d.ts → types/_option-module-chunk.d.ts} +3 -3
- package/{paginator.d.d.ts → types/_paginator-chunk.d.ts} +2 -2
- package/{progress-spinner.d.d.ts → types/_progress-spinner-chunk.d.ts} +1 -1
- package/{ripple-module.d.d.ts → types/_ripple-module-chunk.d.ts} +1 -1
- package/{sort.d.d.ts → types/_sort-chunk.d.ts} +1 -1
- package/{autocomplete/testing/index.d.ts → types/autocomplete-testing.d.ts} +2 -2
- package/{autocomplete/index.d.ts → types/autocomplete.d.ts} +6 -6
- package/{badge/testing/index.d.ts → types/badge-testing.d.ts} +2 -2
- package/{badge/index.d.ts → types/badge.d.ts} +3 -3
- package/{button/testing/index.d.ts → types/button-testing.d.ts} +2 -0
- package/{button-toggle/testing/index.d.ts → types/button-toggle-testing.d.ts} +1 -1
- package/{button-toggle/index.d.ts → types/button-toggle.d.ts} +4 -4
- package/{button/index.d.ts → types/button.d.ts} +4 -4
- package/{checkbox/index.d.ts → types/checkbox.d.ts} +1 -1
- package/{chips/index.d.ts → types/chips.d.ts} +53 -47
- package/{core/testing/index.d.ts → types/core-testing.d.ts} +1 -1
- package/{core/index.d.ts → types/core.d.ts} +14 -40
- package/{datepicker/testing/index.d.ts → types/datepicker-testing.d.ts} +2 -2
- package/{datepicker/index.d.ts → types/datepicker.d.ts} +8 -8
- package/{dialog/testing/index.d.ts → types/dialog-testing.d.ts} +1 -1
- package/{dialog/index.d.ts → types/dialog.d.ts} +2 -2
- package/{form-field/testing/control/index.d.ts → types/form-field-testing-control.d.ts} +1 -1
- package/{form-field/testing/index.d.ts → types/form-field-testing.d.ts} +4 -4
- package/{form-field/index.d.ts → types/form-field.d.ts} +4 -4
- package/{grid-list/index.d.ts → types/grid-list.d.ts} +1 -1
- package/{icon/testing/index.d.ts → types/icon-testing.d.ts} +1 -1
- package/{icon/index.d.ts → types/icon.d.ts} +3 -3
- package/{input/testing/index.d.ts → types/input-testing.d.ts} +2 -2
- package/{input/index.d.ts → types/input.d.ts} +7 -7
- package/{list/testing/index.d.ts → types/list-testing.d.ts} +2 -2
- package/{list/index.d.ts → types/list.d.ts} +7 -7
- package/{menu/index.d.ts → types/menu.d.ts} +3 -3
- package/{paginator/testing/index.d.ts → types/paginator-testing.d.ts} +1 -1
- package/{paginator/index.d.ts → types/paginator.d.ts} +16 -16
- package/{progress-bar/index.d.ts → types/progress-bar.d.ts} +1 -1
- package/{progress-spinner/testing/index.d.ts → types/progress-spinner-testing.d.ts} +2 -2
- package/{progress-spinner/index.d.ts → types/progress-spinner.d.ts} +3 -3
- package/{radio/index.d.ts → types/radio.d.ts} +3 -3
- package/{select/index.d.ts → types/select.d.ts} +12 -12
- package/{slide-toggle/index.d.ts → types/slide-toggle.d.ts} +1 -1
- package/{slider/index.d.ts → types/slider.d.ts} +3 -3
- package/{snack-bar/index.d.ts → types/snack-bar.d.ts} +5 -5
- package/{sort/testing/index.d.ts → types/sort-testing.d.ts} +1 -1
- package/{sort/index.d.ts → types/sort.d.ts} +3 -3
- package/{stepper/index.d.ts → types/stepper.d.ts} +5 -5
- package/{table/index.d.ts → types/table.d.ts} +8 -7
- package/{tabs/index.d.ts → types/tabs.d.ts} +2 -2
- package/{timepicker/testing/index.d.ts → types/timepicker-testing.d.ts} +1 -1
- package/{timepicker/index.d.ts → types/timepicker.d.ts} +2 -2
- package/fesm2022/animation.mjs.map +0 -1
- package/fesm2022/autocomplete/testing.mjs.map +0 -1
- package/fesm2022/badge/testing.mjs.map +0 -1
- package/fesm2022/bottom-sheet/testing.mjs.map +0 -1
- package/fesm2022/button/testing.mjs.map +0 -1
- package/fesm2022/button-toggle/testing.mjs.map +0 -1
- package/fesm2022/card/testing.mjs.map +0 -1
- package/fesm2022/checkbox/testing.mjs.map +0 -1
- package/fesm2022/chips/testing.mjs.map +0 -1
- package/fesm2022/core/testing.mjs.map +0 -1
- package/fesm2022/date-formats.mjs.map +0 -1
- package/fesm2022/date-range-input-harness.mjs.map +0 -1
- package/fesm2022/datepicker/testing.mjs.map +0 -1
- package/fesm2022/dialog/testing.mjs.map +0 -1
- package/fesm2022/divider/testing.mjs.map +0 -1
- package/fesm2022/error-options.mjs.map +0 -1
- package/fesm2022/error-state.mjs.map +0 -1
- package/fesm2022/expansion/testing.mjs.map +0 -1
- package/fesm2022/form-field/testing/control.mjs.map +0 -1
- package/fesm2022/form-field/testing.mjs.map +0 -1
- package/fesm2022/form-field2.mjs +0 -1114
- package/fesm2022/form-field2.mjs.map +0 -1
- package/fesm2022/grid-list/testing.mjs.map +0 -1
- package/fesm2022/icon/testing.mjs.map +0 -1
- package/fesm2022/icon-button.mjs.map +0 -1
- package/fesm2022/icon-registry.mjs.map +0 -1
- package/fesm2022/input-harness.mjs.map +0 -1
- package/fesm2022/input-value-accessor.mjs.map +0 -1
- package/fesm2022/internal-form-field.mjs.map +0 -1
- package/fesm2022/line.mjs.map +0 -1
- package/fesm2022/list/testing.mjs.map +0 -1
- package/fesm2022/menu/testing.mjs.map +0 -1
- package/fesm2022/option-harness.mjs.map +0 -1
- package/fesm2022/option-module.mjs.map +0 -1
- package/fesm2022/option.mjs.map +0 -1
- package/fesm2022/paginator/testing.mjs.map +0 -1
- package/fesm2022/progress-bar/testing.mjs.map +0 -1
- package/fesm2022/progress-spinner/testing.mjs.map +0 -1
- package/fesm2022/pseudo-checkbox-module.mjs.map +0 -1
- package/fesm2022/pseudo-checkbox.mjs.map +0 -1
- package/fesm2022/public-api.mjs.map +0 -1
- package/fesm2022/radio/testing.mjs.map +0 -1
- package/fesm2022/ripple-loader.mjs.map +0 -1
- package/fesm2022/ripple-module.mjs.map +0 -1
- package/fesm2022/ripple.mjs.map +0 -1
- package/fesm2022/select/testing.mjs.map +0 -1
- package/fesm2022/sidenav/testing.mjs.map +0 -1
- package/fesm2022/slide-toggle/testing.mjs.map +0 -1
- package/fesm2022/slider/testing.mjs.map +0 -1
- package/fesm2022/snack-bar/testing.mjs.map +0 -1
- package/fesm2022/sort/testing.mjs.map +0 -1
- package/fesm2022/stepper/testing.mjs.map +0 -1
- package/fesm2022/structural-styles.mjs.map +0 -1
- package/fesm2022/table/testing.mjs.map +0 -1
- package/fesm2022/tabs/testing.mjs.map +0 -1
- package/fesm2022/timepicker/testing.mjs.map +0 -1
- package/fesm2022/toolbar/testing.mjs.map +0 -1
- package/fesm2022/tooltip/testing.mjs.map +0 -1
- package/fesm2022/tooltip2.mjs.map +0 -1
- package/fesm2022/tree/testing.mjs.map +0 -1
- /package/{button-toggle.d.d.ts → types/_button-toggle-chunk.d.ts} +0 -0
- /package/{date-adapter.d.d.ts → types/_date-adapter-chunk.d.ts} +0 -0
- /package/{date-range-input-harness.d.d.ts → types/_date-range-input-harness-chunk.d.ts} +0 -0
- /package/{dialog.d.d.ts → types/_dialog-chunk.d.ts} +0 -0
- /package/{error-options.d.d.ts → types/_error-options-chunk.d.ts} +0 -0
- /package/{form-field-control.d.d.ts → types/_form-field-control-chunk.d.ts} +0 -0
- /package/{form-field-control-harness.d.d.ts → types/_form-field-control-harness-chunk.d.ts} +0 -0
- /package/{icon-registry.d.d.ts → types/_icon-registry-chunk.d.ts} +0 -0
- /package/{input-harness.d.d.ts → types/_input-harness-chunk.d.ts} +0 -0
- /package/{line.d.d.ts → types/_line-chunk.d.ts} +0 -0
- /package/{list-option-types.d.d.ts → types/_list-option-types-chunk.d.ts} +0 -0
- /package/{option.d.d.ts → types/_option-chunk.d.ts} +0 -0
- /package/{option-harness.d.d.ts → types/_option-harness-chunk.d.ts} +0 -0
- /package/{option-parent.d.d.ts → types/_option-parent-chunk.d.ts} +0 -0
- /package/{palette.d.d.ts → types/_palette-chunk.d.ts} +0 -0
- /package/{pseudo-checkbox-module.d.d.ts → types/_pseudo-checkbox-module-chunk.d.ts} +0 -0
- /package/{ripple.d.d.ts → types/_ripple-chunk.d.ts} +0 -0
- /package/{ripple-loader.d.d.ts → types/_ripple-loader-chunk.d.ts} +0 -0
- /package/{sort-direction.d.d.ts → types/_sort-direction-chunk.d.ts} +0 -0
- /package/{bottom-sheet/testing/index.d.ts → types/bottom-sheet-testing.d.ts} +0 -0
- /package/{bottom-sheet/index.d.ts → types/bottom-sheet.d.ts} +0 -0
- /package/{card/testing/index.d.ts → types/card-testing.d.ts} +0 -0
- /package/{card/index.d.ts → types/card.d.ts} +0 -0
- /package/{checkbox/testing/index.d.ts → types/checkbox-testing.d.ts} +0 -0
- /package/{chips/testing/index.d.ts → types/chips-testing.d.ts} +0 -0
- /package/{divider/testing/index.d.ts → types/divider-testing.d.ts} +0 -0
- /package/{divider/index.d.ts → types/divider.d.ts} +0 -0
- /package/{expansion/testing/index.d.ts → types/expansion-testing.d.ts} +0 -0
- /package/{expansion/index.d.ts → types/expansion.d.ts} +0 -0
- /package/{grid-list/testing/index.d.ts → types/grid-list-testing.d.ts} +0 -0
- /package/{index.d.ts → types/material.d.ts} +0 -0
- /package/{menu/testing/index.d.ts → types/menu-testing.d.ts} +0 -0
- /package/{progress-bar/testing/index.d.ts → types/progress-bar-testing.d.ts} +0 -0
- /package/{radio/testing/index.d.ts → types/radio-testing.d.ts} +0 -0
- /package/{select/testing/index.d.ts → types/select-testing.d.ts} +0 -0
- /package/{sidenav/testing/index.d.ts → types/sidenav-testing.d.ts} +0 -0
- /package/{sidenav/index.d.ts → types/sidenav.d.ts} +0 -0
- /package/{slide-toggle/testing/index.d.ts → types/slide-toggle-testing.d.ts} +0 -0
- /package/{slider/testing/index.d.ts → types/slider-testing.d.ts} +0 -0
- /package/{snack-bar/testing/index.d.ts → types/snack-bar-testing.d.ts} +0 -0
- /package/{stepper/testing/index.d.ts → types/stepper-testing.d.ts} +0 -0
- /package/{table/testing/index.d.ts → types/table-testing.d.ts} +0 -0
- /package/{tabs/testing/index.d.ts → types/tabs-testing.d.ts} +0 -0
- /package/{toolbar/testing/index.d.ts → types/toolbar-testing.d.ts} +0 -0
- /package/{toolbar/index.d.ts → types/toolbar.d.ts} +0 -0
- /package/{tooltip/testing/index.d.ts → types/tooltip-testing.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/tooltip.d.ts} +0 -0
- /package/{tree/testing/index.d.ts → types/tree-testing.d.ts} +0 -0
- /package/{tree/index.d.ts → types/tree.d.ts} +0 -0
|
@@ -2,27 +2,27 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, AfterContentInit, OnChanges, OnDestroy, OnInit, DoCheck, ChangeDetectorRef, ElementRef, QueryList, EventEmitter, SimpleChanges } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/cdk/overlay';
|
|
4
4
|
import { ScrollStrategy, ConnectedPosition, CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
|
|
5
|
-
import { MatOptionModule } from '
|
|
5
|
+
import { MatOptionModule } from './_option-module-chunk.js';
|
|
6
6
|
import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
|
|
7
7
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
8
8
|
import * as i1 from '@angular/cdk/scrolling';
|
|
9
9
|
import { ViewportRuler } from '@angular/cdk/scrolling';
|
|
10
10
|
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
11
11
|
import { Subject, Observable } from 'rxjs';
|
|
12
|
-
import { ErrorStateMatcher } from '
|
|
13
|
-
import { MatOption, MatOptgroup, MatOptionSelectionChange } from '
|
|
14
|
-
import { MatFormField } from '
|
|
15
|
-
export { MatError, MatHint, MatPrefix, MatSuffix } from '
|
|
16
|
-
import { MatFormFieldControl } from '
|
|
12
|
+
import { ErrorStateMatcher } from './_error-options-chunk.js';
|
|
13
|
+
import { MatOption, MatOptgroup, MatOptionSelectionChange } from './_option-chunk.js';
|
|
14
|
+
import { MatFormField } from './_form-field-chunk.js';
|
|
15
|
+
export { MatError, MatHint, MatPrefix, MatSuffix } from './_form-field-chunk.js';
|
|
16
|
+
import { MatFormFieldControl } from './_form-field-control-chunk.js';
|
|
17
17
|
import * as i2$1 from '@angular/cdk/bidi';
|
|
18
|
-
import { MatFormFieldModule } from '
|
|
19
|
-
export { MatLabel } from '
|
|
20
|
-
import '
|
|
21
|
-
import '
|
|
18
|
+
import { MatFormFieldModule } from './_form-field-module-chunk.js';
|
|
19
|
+
export { MatLabel } from './_form-field-module-chunk.js';
|
|
20
|
+
import './_ripple-module-chunk.js';
|
|
21
|
+
import './_ripple-chunk.js';
|
|
22
22
|
import '@angular/cdk/platform';
|
|
23
|
-
import '
|
|
23
|
+
import './_pseudo-checkbox-module-chunk.js';
|
|
24
24
|
import '@angular/cdk/coercion';
|
|
25
|
-
import '
|
|
25
|
+
import './_palette-chunk.js';
|
|
26
26
|
import '@angular/cdk/observers';
|
|
27
27
|
|
|
28
28
|
/** Injection token that determines the scroll handling while a select is open. */
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, OnDestroy, AfterContentInit, OnChanges, ChangeDetectorRef, ElementRef, EventEmitter, SimpleChanges } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
4
4
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
5
|
-
import { ThemePalette } from '
|
|
5
|
+
import { ThemePalette } from './_palette-chunk.js';
|
|
6
6
|
import * as i2 from '@angular/cdk/bidi';
|
|
7
7
|
|
|
8
8
|
/** Default `mat-slide-toggle` options that can be overridden. */
|
|
@@ -2,11 +2,11 @@ import * as i2 from '@angular/cdk/bidi';
|
|
|
2
2
|
import { Directionality } from '@angular/cdk/bidi';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { ChangeDetectorRef, WritableSignal, AfterViewInit, OnDestroy, NgZone, ElementRef, QueryList, EventEmitter } from '@angular/core';
|
|
5
|
-
import { ThemePalette } from '
|
|
6
|
-
import { RippleGlobalOptions, MatRipple } from '
|
|
5
|
+
import { ThemePalette } from './_palette-chunk.js';
|
|
6
|
+
import { RippleGlobalOptions, MatRipple } from './_ripple-chunk.js';
|
|
7
7
|
import { ControlValueAccessor } from '@angular/forms';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
|
-
import { MatRippleModule } from '
|
|
9
|
+
import { MatRippleModule } from './_ripple-module-chunk.js';
|
|
10
10
|
import '@angular/cdk/platform';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -8,11 +8,11 @@ import * as i0 from '@angular/core';
|
|
|
8
8
|
import { InjectionToken, ViewContainerRef, OnDestroy, ElementRef, ComponentRef, EmbeddedViewRef, TemplateRef } from '@angular/core';
|
|
9
9
|
import * as i2$2 from '@angular/cdk/bidi';
|
|
10
10
|
import { Direction } from '@angular/cdk/bidi';
|
|
11
|
-
import { MatButtonModule } from '
|
|
12
|
-
import '
|
|
13
|
-
import '
|
|
14
|
-
import '
|
|
15
|
-
import '
|
|
11
|
+
import { MatButtonModule } from './button.js';
|
|
12
|
+
import './_palette-chunk.js';
|
|
13
|
+
import './_ripple-loader-chunk.js';
|
|
14
|
+
import './_ripple-module-chunk.js';
|
|
15
|
+
import './_ripple-chunk.js';
|
|
16
16
|
import '@angular/cdk/platform';
|
|
17
17
|
|
|
18
18
|
/** Injection token that can be used to access the data that was passed in to a snack bar. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
-
import { SortDirection } from '
|
|
2
|
+
import { SortDirection } from './_sort-direction-chunk.js';
|
|
3
3
|
|
|
4
4
|
interface SortHarnessFilters extends BaseHarnessFilters {
|
|
5
5
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnDestroy, OnInit, AfterViewInit } from '@angular/core';
|
|
3
|
-
import { MatSortable, MatSort, SortHeaderArrowPosition } from '
|
|
4
|
-
export { MAT_SORT_DEFAULT_OPTIONS, MatSortDefaultOptions, Sort } from '
|
|
5
|
-
import { SortDirection } from '
|
|
3
|
+
import { MatSortable, MatSort, SortHeaderArrowPosition } from './_sort-chunk.js';
|
|
4
|
+
export { MAT_SORT_DEFAULT_OPTIONS, MatSortDefaultOptions, Sort } from './_sort-chunk.js';
|
|
5
|
+
import { SortDirection } from './_sort-direction-chunk.js';
|
|
6
6
|
import { Subject } from 'rxjs';
|
|
7
7
|
import * as i2 from '@angular/cdk/bidi';
|
|
8
8
|
|
|
@@ -5,15 +5,15 @@ import * as i0 from '@angular/core';
|
|
|
5
5
|
import { TemplateRef, AfterViewInit, OnDestroy, AfterContentInit, QueryList, ElementRef, EventEmitter } from '@angular/core';
|
|
6
6
|
import * as i2 from '@angular/cdk/portal';
|
|
7
7
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
8
|
-
import { MatIconModule } from '
|
|
9
|
-
import { MatRippleModule } from '
|
|
8
|
+
import { MatIconModule } from './_icon-module-chunk.js';
|
|
9
|
+
import { MatRippleModule } from './_ripple-module-chunk.js';
|
|
10
10
|
import { AbstractControl, FormGroupDirective, NgForm } from '@angular/forms';
|
|
11
|
-
import { ThemePalette } from '
|
|
12
|
-
import { ErrorStateMatcher } from '
|
|
11
|
+
import { ThemePalette } from './_palette-chunk.js';
|
|
12
|
+
import { ErrorStateMatcher } from './_error-options-chunk.js';
|
|
13
13
|
import { FocusOrigin } from '@angular/cdk/a11y';
|
|
14
14
|
import { Subject } from 'rxjs';
|
|
15
15
|
import * as i2$2 from '@angular/cdk/bidi';
|
|
16
|
-
import '
|
|
16
|
+
import './_ripple-chunk.js';
|
|
17
17
|
import '@angular/cdk/platform';
|
|
18
18
|
|
|
19
19
|
declare class MatStepLabel extends CdkStepLabel {
|
|
@@ -4,14 +4,14 @@ import * as i0 from '@angular/core';
|
|
|
4
4
|
import * as i2 from '@angular/cdk/bidi';
|
|
5
5
|
import { Subscription, BehaviorSubject } from 'rxjs';
|
|
6
6
|
import { DataSource } from '@angular/cdk/collections';
|
|
7
|
-
import { MatPaginator } from '
|
|
8
|
-
import { MatSort } from '
|
|
9
|
-
import '
|
|
10
|
-
import '
|
|
7
|
+
import { MatPaginator } from './_paginator-chunk.js';
|
|
8
|
+
import { MatSort } from './_sort-chunk.js';
|
|
9
|
+
import './_palette-chunk.js';
|
|
10
|
+
import './_form-field-chunk.js';
|
|
11
11
|
import '@angular/cdk/coercion';
|
|
12
12
|
import '@angular/forms';
|
|
13
|
-
import '
|
|
14
|
-
import '
|
|
13
|
+
import './_form-field-control-chunk.js';
|
|
14
|
+
import './_sort-direction-chunk.js';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with
|
|
@@ -132,7 +132,8 @@ declare class MatRow extends CdkRow {
|
|
|
132
132
|
}
|
|
133
133
|
/** Row that can be used to display a message when no data is shown in the table. */
|
|
134
134
|
declare class MatNoDataRow extends CdkNoDataRow {
|
|
135
|
-
|
|
135
|
+
_cellSelector: string;
|
|
136
|
+
constructor();
|
|
136
137
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatNoDataRow, never>;
|
|
137
138
|
static ɵdir: i0.ɵɵDirectiveDeclaration<MatNoDataRow, "ng-template[matNoDataRow]", never, {}, {}, never, never, true, never>;
|
|
138
139
|
}
|
|
@@ -5,8 +5,8 @@ import { Subject, BehaviorSubject } from 'rxjs';
|
|
|
5
5
|
import { FocusKeyManager, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
|
|
6
6
|
import * as i2 from '@angular/cdk/bidi';
|
|
7
7
|
import { Direction } from '@angular/cdk/bidi';
|
|
8
|
-
import { ThemePalette } from '
|
|
9
|
-
import { RippleTarget, RippleConfig, RippleGlobalOptions } from '
|
|
8
|
+
import { ThemePalette } from './_palette-chunk.js';
|
|
9
|
+
import { RippleTarget, RippleConfig, RippleGlobalOptions } from './_ripple-chunk.js';
|
|
10
10
|
import '@angular/cdk/platform';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseHarnessFilters, ComponentHarness, ComponentHarnessConstructor, HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
-
import { OptionHarnessFilters, MatOptionHarness } from '
|
|
2
|
+
import { OptionHarnessFilters, MatOptionHarness } from './_option-harness-chunk.js';
|
|
3
3
|
|
|
4
4
|
/** A set of criteria that can be used to filter a list of `MatTimepickerHarness` instances. */
|
|
5
5
|
interface TimepickerHarnessFilters extends BaseHarnessFilters {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnDestroy, Signal, ModelSignal, InputSignal, InputSignalWithTransform, ElementRef, InjectionToken, TemplateRef, OutputEmitterRef } from '@angular/core';
|
|
3
|
-
import { MatOption } from '
|
|
4
|
-
import { MatOptionParentComponent } from '
|
|
3
|
+
import { MatOption } from './_option-chunk.js';
|
|
4
|
+
import { MatOptionParentComponent } from './_option-parent-chunk.js';
|
|
5
5
|
import { ScrollStrategy } from '@angular/cdk/overlay';
|
|
6
6
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
7
7
|
import * as i1 from '@angular/cdk/scrolling';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"animation.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/animation/animation.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.dev/license\n */\n\nimport {MediaMatcher} from '@angular/cdk/layout';\nimport {ANIMATION_MODULE_TYPE, inject, InjectionToken} from '@angular/core';\n\n/** Object used to configure the animation in Angular Material. */\nexport interface AnimationsConfig {\n /** Whether all animations should be disabled. */\n animationsDisabled?: boolean;\n}\n\n/** Injection token used to configure the animations in Angular Material. */\nexport const MATERIAL_ANIMATIONS = new InjectionToken<AnimationsConfig>('MATERIAL_ANIMATIONS');\n\n/**\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n * @docs-private\n */\nexport class AnimationCurves {\n static STANDARD_CURVE = 'cubic-bezier(0.4,0.0,0.2,1)';\n static DECELERATION_CURVE = 'cubic-bezier(0.0,0.0,0.2,1)';\n static ACCELERATION_CURVE = 'cubic-bezier(0.4,0.0,1,1)';\n static SHARP_CURVE = 'cubic-bezier(0.4,0.0,0.6,1)';\n}\n\n/**\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n * @docs-private\n */\nexport class AnimationDurations {\n static COMPLEX = '375ms';\n static ENTERING = '225ms';\n static EXITING = '195ms';\n}\n\nlet reducedMotion: boolean | null = null;\n\n/**\n * Gets the the configured animations state.\n * @docs-private\n */\nexport function _getAnimationsState(): 'enabled' | 'di-disabled' | 'reduced-motion' {\n if (\n inject(MATERIAL_ANIMATIONS, {optional: true})?.animationsDisabled ||\n inject(ANIMATION_MODULE_TYPE, {optional: true}) === 'NoopAnimations'\n ) {\n return 'di-disabled';\n }\n\n reducedMotion ??= inject(MediaMatcher).matchMedia('(prefers-reduced-motion)').matches;\n return reducedMotion ? 'reduced-motion' : 'enabled';\n}\n\n/**\n * Returns whether animations have been disabled by DI. Must be called in a DI context.\n * @docs-private\n */\nexport function _animationsDisabled(): boolean {\n return _getAnimationsState() !== 'enabled';\n}\n"],"names":[],"mappings":";;;AAiBA;MACa,mBAAmB,GAAG,IAAI,cAAc,CAAmB,qBAAqB;AAE7F;;;;AAIG;MACU,eAAe,CAAA;AAC1B,IAAA,OAAO,cAAc,GAAG,6BAA6B;AACrD,IAAA,OAAO,kBAAkB,GAAG,6BAA6B;AACzD,IAAA,OAAO,kBAAkB,GAAG,2BAA2B;AACvD,IAAA,OAAO,WAAW,GAAG,6BAA6B;;AAGpD;;;;AAIG;MACU,kBAAkB,CAAA;AAC7B,IAAA,OAAO,OAAO,GAAG,OAAO;AACxB,IAAA,OAAO,QAAQ,GAAG,OAAO;AACzB,IAAA,OAAO,OAAO,GAAG,OAAO;;AAG1B,IAAI,aAAa,GAAmB,IAAI;AAExC;;;AAGG;SACa,mBAAmB,GAAA;IACjC,IACE,MAAM,CAAC,mBAAmB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,EAAE,kBAAkB;AACjE,QAAA,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,KAAK,gBAAgB,EACpE;AACA,QAAA,OAAO,aAAa;;AAGtB,IAAA,aAAa,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,OAAO;IACrF,OAAO,aAAa,GAAG,gBAAgB,GAAG,SAAS;AACrD;AAEA;;;AAGG;SACa,mBAAmB,GAAA;AACjC,IAAA,OAAO,mBAAmB,EAAE,KAAK,SAAS;AAC5C;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/autocomplete/testing/autocomplete-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {\n MatOptgroupHarness,\n MatOptionHarness,\n OptgroupHarnessFilters,\n OptionHarnessFilters,\n} from '../../core/testing';\nimport {AutocompleteHarnessFilters} from './autocomplete-harness-filters';\n\nexport class MatAutocompleteHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatAutocomplete` instance. */\n static hostSelector = '.mat-mdc-autocomplete-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an autocomplete with specific\n * attributes.\n * @param options Options for filtering which autocomplete instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatAutocompleteHarness>(\n this: ComponentHarnessConstructor<T>,\n options: AutocompleteHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) =>\n HarnessPredicate.stringMatches(harness.getValue(), value),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets the value of the autocomplete input. */\n async getValue(): Promise<string> {\n return (await this.host()).getProperty<string>('value');\n }\n\n /** Whether the autocomplete input is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Focuses the autocomplete input. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the autocomplete input. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the autocomplete input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Enters text into the autocomplete. */\n async enterText(value: string): Promise<void> {\n return (await this.host()).sendKeys(value);\n }\n\n /** Clears the input value. */\n async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /** Gets the options inside the autocomplete panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for autocomplete. Autocomplete panel is closed.');\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptionHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionHarnessFilters),\n )();\n }\n\n /** Gets the option groups inside the autocomplete panel. */\n async getOptionGroups(\n filters?: Omit<OptgroupHarnessFilters, 'ancestor'>,\n ): Promise<MatOptgroupHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error(\n 'Unable to retrieve option groups for autocomplete. Autocomplete panel is closed.',\n );\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptgroupHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptgroupHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n await this.focus(); // Focus the input to make sure the autocomplete panel is shown.\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Whether the autocomplete is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._getPanel();\n return !!panel && (await panel.hasClass(`mat-mdc-autocomplete-visible`));\n }\n\n /** Gets the panel associated with this autocomplete trigger. */\n private async _getPanel(): Promise<TestElement | null> {\n // Technically this is static, but it needs to be in a\n // function, because the autocomplete's panel ID can changed.\n return this._documentRootLocator.locatorForOptional(await this._getPanelSelector())();\n }\n\n /** Gets the selector that can be used to find the autocomplete trigger's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('aria-controls')}`;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/badge/testing/badge-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatBadgePosition, MatBadgeSize} from '../badge';\nimport {BadgeHarnessFilters} from './badge-harness-filters';\n\n/** Harness for interacting with a standard Material badge in tests. */\nexport class MatBadgeHarness extends ComponentHarness {\n static hostSelector = '.mat-badge';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a badge with specific attributes.\n * @param options Options for narrowing the search:\n * - `text` finds a badge host with a particular text.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: BadgeHarnessFilters = {}): HarnessPredicate<MatBadgeHarness> {\n return new HarnessPredicate(MatBadgeHarness, options).addOption(\n 'text',\n options.text,\n (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text),\n );\n }\n\n private _badgeElement = this.locatorFor('.mat-badge-content');\n\n /** Gets a promise for the badge text. */\n async getText(): Promise<string> {\n return (await this._badgeElement()).text();\n }\n\n /** Gets whether the badge is overlapping the content. */\n async isOverlapping(): Promise<boolean> {\n return (await this.host()).hasClass('mat-badge-overlap');\n }\n\n /** Gets the position of the badge. */\n async getPosition(): Promise<MatBadgePosition> {\n const host = await this.host();\n let result = '';\n\n if (await host.hasClass('mat-badge-above')) {\n result += 'above';\n } else if (await host.hasClass('mat-badge-below')) {\n result += 'below';\n }\n\n if (await host.hasClass('mat-badge-before')) {\n result += ' before';\n } else if (await host.hasClass('mat-badge-after')) {\n result += ' after';\n }\n\n return result.trim() as MatBadgePosition;\n }\n\n /** Gets the size of the badge. */\n async getSize(): Promise<MatBadgeSize> {\n const host = await this.host();\n\n if (await host.hasClass('mat-badge-small')) {\n return 'small';\n } else if (await host.hasClass('mat-badge-large')) {\n return 'large';\n }\n\n return 'medium';\n }\n\n /** Gets whether the badge is hidden. */\n async isHidden(): Promise<boolean> {\n return (await this.host()).hasClass('mat-badge-hidden');\n }\n\n /** Gets whether the badge is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('mat-badge-disabled');\n }\n}\n"],"names":[],"mappings":";;AAYA;AACM,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;AACnD,IAAA,OAAO,YAAY,GAAG,YAAY;AAElC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAA+B,EAAE,EAAA;AAC3C,QAAA,OAAO,IAAI,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,CAC7D,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,CAAC,OAAO,EAAE,IAAI,KAAK,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAC3E;;AAGK,IAAA,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;;AAG7D,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE;;;AAI5C,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,mBAAmB,CAAC;;;AAI1D,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,IAAI,MAAM,GAAG,EAAE;QAEf,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YAC1C,MAAM,IAAI,OAAO;;aACZ,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACjD,MAAM,IAAI,OAAO;;QAGnB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC3C,MAAM,IAAI,SAAS;;aACd,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACjD,MAAM,IAAI,QAAQ;;AAGpB,QAAA,OAAO,MAAM,CAAC,IAAI,EAAsB;;;AAI1C,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAE9B,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC1C,YAAA,OAAO,OAAO;;aACT,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AACjD,YAAA,OAAO,OAAO;;AAGhB,QAAA,OAAO,QAAQ;;;AAIjB,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,kBAAkB,CAAC;;;AAIzD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,oBAAoB,CAAC;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/bottom-sheet/testing/bottom-sheet-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {BottomSheetHarnessFilters} from './bottom-sheet-harness-filters';\n\n/** Harness for interacting with a standard MatBottomSheet in tests. */\nexport class MatBottomSheetHarness extends ContentContainerComponentHarness<string> {\n // Developers can provide a custom component or template for the\n // bottom sheet. The canonical parent is the \".mat-bottom-sheet-container\".\n static hostSelector = '.mat-bottom-sheet-container:not([mat-exit])';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a bottom sheet with\n * specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: BottomSheetHarnessFilters = {}): HarnessPredicate<MatBottomSheetHarness> {\n return new HarnessPredicate(MatBottomSheetHarness, options);\n }\n\n /** Gets the value of the bottom sheet's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /**\n * Dismisses the bottom sheet by pressing escape. Note that this method cannot\n * be used if \"disableClose\" has been set to true via the config.\n */\n async dismiss(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n"],"names":[],"mappings":";;AAWA;AACM,MAAO,qBAAsB,SAAQ,gCAAwC,CAAA;;;AAGjF,IAAA,OAAO,YAAY,GAAG,6CAA6C;AAEnE;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAqC,EAAE,EAAA;AACjD,QAAA,OAAO,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC;;;AAI7D,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;;AAGvD;;;AAGG;AACH,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button/testing/button-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {booleanAttribute} from '@angular/core';\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {\n ButtonAppearance,\n ButtonHarnessFilters,\n ButtonType,\n ButtonVariant,\n} from './button-harness-filters';\n\n/** Harness for interacting with a mat-button in tests. */\nexport class MatButtonHarness extends ContentContainerComponentHarness {\n // Note: `.mat-mdc-button-base` should be enough for all buttons, however some apps are using\n // the harness without actually having an applied button. Keep the attributes for backwards\n // compatibility.\n\n /** Selector for the harness. */\n static hostSelector = `.mat-mdc-button-base, [matButton], [mat-button], [matIconButton],\n [matFab], [matMiniFab], [mat-raised-button], [mat-flat-button], [mat-icon-button],\n [mat-stroked-button], [mat-fab], [mat-mini-fab]`;\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a button with specific attributes.\n * @param options Options for narrowing the search:\n * - `selector` finds a button whose host element matches the given selector.\n * - `text` finds a button with specific text content.\n * - `variant` finds buttons matching a specific variant.\n * - `appearance` finds buttons matching a specific appearance.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatButtonHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ButtonHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('variant', options.variant, (harness, variant) =>\n HarnessPredicate.stringMatches(harness.getVariant(), variant),\n )\n .addOption('appearance', options.appearance, (harness, appearance) =>\n HarnessPredicate.stringMatches(harness.getAppearance(), appearance),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n .addOption('buttonType', options.buttonType, (harness, buttonType) =>\n HarnessPredicate.stringMatches(harness.getType(), buttonType),\n );\n }\n\n /**\n * Clicks the button at the given position relative to its top-left.\n * @param relativeX The relative x position of the click.\n * @param relativeY The relative y position of the click.\n */\n click(relativeX: number, relativeY: number): Promise<void>;\n /** Clicks the button at its center. */\n click(location: 'center'): Promise<void>;\n /** Clicks the button. */\n click(): Promise<void>;\n async click(...args: [] | ['center'] | [number, number]): Promise<void> {\n return (await this.host()).click(...(args as []));\n }\n\n /** Gets a boolean promise indicating if the button is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return (\n booleanAttribute(await host.getAttribute('disabled')) ||\n (await host.hasClass('mat-mdc-button-disabled'))\n );\n }\n\n /** Gets a promise for the button's label text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Focuses the button and returns a void promise that indicates when the action is complete. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the button and returns a void promise that indicates when the action is complete. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the button is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Gets the variant of the button. */\n async getVariant(): Promise<ButtonVariant> {\n const host = await this.host();\n\n // TODO(crisbeto): we're checking both classes and attributes for backwards compatibility\n // with some internal apps that were applying the attribute without importing the directive.\n // Really we should be only targeting the classes.\n if (\n (await host.hasClass('mat-mdc-icon-button')) ||\n (await host.getAttribute('mat-icon-button')) != null\n ) {\n return 'icon';\n }\n\n if (\n (await host.hasClass('mat-mdc-mini-fab')) ||\n (await host.getAttribute('mat-mini-fab')) != null\n ) {\n return 'mini-fab';\n }\n\n if ((await host.hasClass('mat-mdc-fab')) || (await host.getAttribute('mat-fab')) != null) {\n return 'fab';\n }\n\n return 'basic';\n }\n\n /** Gets the appearance of the button. */\n async getAppearance(): Promise<ButtonAppearance | null> {\n const host = await this.host();\n\n if (await host.hasClass('mat-mdc-outlined-button')) {\n return 'outlined';\n }\n\n if (await host.hasClass('mat-mdc-raised-button')) {\n return 'elevated';\n }\n\n if (await host.hasClass('mat-mdc-unelevated-button')) {\n return 'filled';\n }\n\n if (await host.hasClass('mat-mdc-button')) {\n return 'text';\n }\n\n if (await host.hasClass('mat-tonal-button')) {\n return 'tonal';\n }\n\n return null;\n }\n\n /**\n * Gets the type of the button. Supported values are 'button', 'submit', and 'reset'.\n */\n async getType(): Promise<ButtonType | null> {\n const host = await this.host();\n const buttonType = await host.getAttribute('type');\n if (buttonType === 'button' || buttonType === 'submit' || buttonType === 'reset') {\n return buttonType;\n }\n return null;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/testing/button-toggle-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/testing/button-toggle-group-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {MatButtonToggleAppearance} from '../button-toggle';\nimport {ButtonToggleHarnessFilters} from './button-toggle-harness-filters';\n\n/** Harness for interacting with a standard mat-button-toggle in tests. */\nexport class MatButtonToggleHarness extends ComponentHarness {\n /** The selector for the host element of a `MatButton` instance. */\n static hostSelector = '.mat-button-toggle';\n\n private _label = this.locatorFor('.mat-button-toggle-label-content');\n private _button = this.locatorFor('.mat-button-toggle-button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatButtonToggleHarness` that meets\n * certain criteria.\n * @param options Options for filtering which button toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: ButtonToggleHarnessFilters = {}): HarnessPredicate<MatButtonToggleHarness> {\n return new HarnessPredicate(MatButtonToggleHarness, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('name', options.name, (harness, name) =>\n HarnessPredicate.stringMatches(harness.getName(), name),\n )\n .addOption(\n 'checked',\n options.checked,\n async (harness, checked) => (await harness.isChecked()) === checked,\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets a boolean promise indicating if the button toggle is checked. */\n async isChecked(): Promise<boolean> {\n const button = await this._button();\n const [checked, pressed] = await parallel(() => [\n button.getAttribute('aria-checked'),\n button.getAttribute('aria-pressed'),\n ]);\n return coerceBooleanProperty(checked) || coerceBooleanProperty(pressed);\n }\n\n /** Gets a boolean promise indicating if the button toggle is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass('mat-button-toggle-disabled');\n }\n\n /** Gets a promise for the button toggle's name. */\n async getName(): Promise<string | null> {\n return (await this._button()).getAttribute('name');\n }\n\n /** Gets a promise for the button toggle's aria-label. */\n async getAriaLabel(): Promise<string | null> {\n return (await this._button()).getAttribute('aria-label');\n }\n\n /** Gets a promise for the button toggles's aria-labelledby. */\n async getAriaLabelledby(): Promise<string | null> {\n return (await this._button()).getAttribute('aria-labelledby');\n }\n\n /** Gets a promise for the button toggle's text. */\n async getText(): Promise<string> {\n return (await this._label()).text();\n }\n\n /** Gets the appearance that the button toggle is using. */\n async getAppearance(): Promise<MatButtonToggleAppearance> {\n const host = await this.host();\n const className = 'mat-button-toggle-appearance-standard';\n return (await host.hasClass(className)) ? 'standard' : 'legacy';\n }\n\n /** Focuses the toggle. */\n async focus(): Promise<void> {\n return (await this._button()).focus();\n }\n\n /** Blurs the toggle. */\n async blur(): Promise<void> {\n return (await this._button()).blur();\n }\n\n /** Whether the toggle is focused. */\n async isFocused(): Promise<boolean> {\n return (await this._button()).isFocused();\n }\n\n /** Toggle the checked state of the buttons toggle. */\n async toggle(): Promise<void> {\n return (await this._button()).click();\n }\n\n /**\n * Puts the button toggle in a checked state by toggling it if it's\n * currently unchecked, or doing nothing if it is already checked.\n */\n async check(): Promise<void> {\n if (!(await this.isChecked())) {\n await this.toggle();\n }\n }\n\n /**\n * Puts the button toggle in an unchecked state by toggling it if it's\n * currently checked, or doing nothing if it's already unchecked.\n */\n async uncheck(): Promise<void> {\n if (await this.isChecked()) {\n await this.toggle();\n }\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.dev/license\n */\n\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatButtonToggleAppearance} from '../button-toggle';\nimport {ButtonToggleGroupHarnessFilters} from './button-toggle-group-harness-filters';\nimport {ButtonToggleHarnessFilters} from './button-toggle-harness-filters';\nimport {MatButtonToggleHarness} from './button-toggle-harness';\n\n/** Harness for interacting with a standard mat-button-toggle in tests. */\nexport class MatButtonToggleGroupHarness extends ComponentHarness {\n /** The selector for the host element of a `MatButton` instance. */\n static hostSelector = '.mat-button-toggle-group';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatButtonToggleGroupHarness`\n * that meets certain criteria.\n * @param options Options for filtering which button toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: ButtonToggleGroupHarnessFilters = {},\n ): HarnessPredicate<MatButtonToggleGroupHarness> {\n return new HarnessPredicate(MatButtonToggleGroupHarness, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /**\n * Gets the button toggles that are inside the group.\n * @param filter Optionally filters which toggles are included.\n */\n async getToggles(filter: ButtonToggleHarnessFilters = {}): Promise<MatButtonToggleHarness[]> {\n return this.locatorForAll(MatButtonToggleHarness.with(filter))();\n }\n\n /** Gets whether the button toggle group is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /** Gets whether the button toggle group is laid out vertically. */\n async isVertical(): Promise<boolean> {\n return (await this.host()).hasClass('mat-button-toggle-vertical');\n }\n\n /** Gets the appearance that the group is using. */\n async getAppearance(): Promise<MatButtonToggleAppearance> {\n const host = await this.host();\n const className = 'mat-button-toggle-group-appearance-standard';\n return (await host.hasClass(className)) ? 'standard' : 'legacy';\n }\n}\n"],"names":[],"mappings":";;;AAaA;AACM,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;;AAE1D,IAAA,OAAO,YAAY,GAAG,oBAAoB;AAElC,IAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC;AAC5D,IAAA,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC;AAE9D;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAsC,EAAE,EAAA;AAClD,QAAA,OAAO,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,OAAO;aACxD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAC7C,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;aAExD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAC7C,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;aAExD,SAAS,CACR,SAAS,EACT,OAAO,CAAC,OAAO,EACf,OAAO,OAAO,EAAE,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,OAAO;AAEpE,aAAA,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,OAAO,EAAE,QAAQ,KAAI;YACnE,OAAO,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,QAAQ;AAClD,SAAC,CAAC;;;AAIN,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;QACnC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM;AAC9C,YAAA,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC;AACnC,YAAA,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC;AACpC,SAAA,CAAC;QACF,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC;;;AAIzE,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAC9B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC;;;AAIpD,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC;;;AAIpD,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC;;;AAI1D,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,iBAAiB,CAAC;;;AAI/D,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE;;;AAIrC,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,MAAM,SAAS,GAAG,uCAAuC;AACzD,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,GAAG,QAAQ;;;AAIjE,IAAA,MAAM,KAAK,GAAA;QACT,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;;;AAIvC,IAAA,MAAM,IAAI,GAAA;QACR,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE;;;AAItC,IAAA,MAAM,SAAS,GAAA;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE;;;AAI3C,IAAA,MAAM,MAAM,GAAA;QACV,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;;AAGvC;;;AAGG;AACH,IAAA,MAAM,KAAK,GAAA;QACT,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE;AAC7B,YAAA,MAAM,IAAI,CAAC,MAAM,EAAE;;;AAIvB;;;AAGG;AACH,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;AAC1B,YAAA,MAAM,IAAI,CAAC,MAAM,EAAE;;;;;AC9GzB;AACM,MAAO,2BAA4B,SAAQ,gBAAgB,CAAA;;AAE/D,IAAA,OAAO,YAAY,GAAG,0BAA0B;AAEhD;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAA2C,EAAE,EAAA;QAE7C,OAAO,IAAI,gBAAgB,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,SAAS,CACzE,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,OAAO,EAAE,QAAQ,KAAI;YAC1B,OAAO,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,QAAQ;AAClD,SAAC,CACF;;AAGH;;;AAGG;AACH,IAAA,MAAM,UAAU,CAAC,MAAA,GAAqC,EAAE,EAAA;AACtD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;;;AAIlE,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM;;;AAI7E,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,4BAA4B,CAAC;;;AAInE,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,MAAM,SAAS,GAAG,6CAA6C;AAC/D,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,GAAG,QAAQ;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/card/testing/card-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {CardHarnessFilters} from './card-harness-filters';\n\n/** Selectors for different sections of the mat-card that can container user content. */\nexport enum MatCardSection {\n HEADER = '.mat-mdc-card-header',\n CONTENT = '.mat-mdc-card-content',\n ACTIONS = '.mat-mdc-card-actions',\n FOOTER = '.mat-mdc-card-footer',\n}\n\n/** Harness for interacting with a mat-card in tests. */\nexport class MatCardHarness extends ContentContainerComponentHarness<MatCardSection> {\n /** The selector for the host element of a `MatCard` instance. */\n static hostSelector = '.mat-mdc-card';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a card with specific attributes.\n * @param options Options for filtering which card instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatCardHarness>(\n this: ComponentHarnessConstructor<T>,\n options: CardHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('title', options.title, (harness, title) =>\n HarnessPredicate.stringMatches(harness.getTitleText(), title),\n )\n .addOption('subtitle', options.subtitle, (harness, subtitle) =>\n HarnessPredicate.stringMatches(harness.getSubtitleText(), subtitle),\n );\n }\n\n private _title = this.locatorForOptional('.mat-mdc-card-title');\n private _subtitle = this.locatorForOptional('.mat-mdc-card-subtitle');\n\n /** Gets all of the card's content as text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Gets the cards's title text. */\n async getTitleText(): Promise<string> {\n return (await this._title())?.text() ?? '';\n }\n\n /** Gets the cards's subtitle text. */\n async getSubtitleText(): Promise<string> {\n return (await this._subtitle())?.text() ?? '';\n }\n}\n"],"names":[],"mappings":";;AAeA;IACY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AAC/B,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AACjC,CAAC,EALW,cAAc,KAAd,cAAc,GAKzB,EAAA,CAAA,CAAA;AAED;AACM,MAAO,cAAe,SAAQ,gCAAgD,CAAA;;AAElF,IAAA,OAAO,YAAY,GAAG,eAAe;AAErC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAA8B,EAAE,EAAA;AAEhC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO;aACtC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAC7C,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;aAExD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,KAChD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC;aAE9D,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KACzD,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CACpE;;AAGG,IAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;AACvD,IAAA,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC;;AAGrE,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;;;AAInC,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;;;AAI5C,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/testing/checkbox-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {CheckboxHarnessFilters} from './checkbox-harness-filters';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Harness for interacting with a mat-checkbox in tests. */\nexport class MatCheckboxHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-checkbox';\n\n _input = this.locatorFor('input');\n private _label = this.locatorFor('label');\n private _inputContainer = this.locatorFor('.mdc-checkbox');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a checkbox with specific attributes.\n * @param options Options for narrowing the search:\n * - `selector` finds a checkbox whose host element matches the given selector.\n * - `label` finds a checkbox with specific label text.\n * - `name` finds a checkbox with specific name.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatCheckboxHarness>(\n this: ComponentHarnessConstructor<T>,\n options: CheckboxHarnessFilters = {},\n ): HarnessPredicate<T> {\n return (\n new HarnessPredicate(this, 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 checkbox is\n // only set on the underlying input. This means that it's not possible for developers\n // to retrieve the harness of a specific checkbox with name through a CSS selector.\n .addOption(\n 'name',\n options.name,\n async (harness, name) => (await harness.getName()) === name,\n )\n .addOption(\n 'checked',\n options.checked,\n async (harness, checked) => (await harness.isChecked()) == checked,\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n );\n }\n\n /** Whether the checkbox is checked. */\n async isChecked(): Promise<boolean> {\n const checked = (await this._input()).getProperty<boolean>('checked');\n return coerceBooleanProperty(await checked);\n }\n\n /** Whether the checkbox is in an indeterminate state. */\n async isIndeterminate(): Promise<boolean> {\n const indeterminate = (await this._input()).getProperty<string>('indeterminate');\n return coerceBooleanProperty(await indeterminate);\n }\n\n /** Whether the checkbox is disabled. */\n async isDisabled(): Promise<boolean> {\n const input = await this._input();\n const disabled = await input.getAttribute('disabled');\n\n if (disabled !== null) {\n return coerceBooleanProperty(disabled);\n }\n\n return (await input.getAttribute('aria-disabled')) === 'true';\n }\n\n /** Whether the checkbox is required. */\n async isRequired(): Promise<boolean> {\n const required = (await this._input()).getProperty<boolean>('required');\n return coerceBooleanProperty(await required);\n }\n\n /** Whether the checkbox is valid. */\n async isValid(): Promise<boolean> {\n const invalid = (await this.host()).hasClass('ng-invalid');\n return !(await invalid);\n }\n\n /** Gets the checkbox's name. */\n async getName(): Promise<string | null> {\n return (await this._input()).getAttribute('name');\n }\n\n /** Gets the checkbox's value. */\n async getValue(): Promise<string | null> {\n return (await this._input()).getProperty<string | null>('value');\n }\n\n /** Gets the checkbox's aria-label. */\n async getAriaLabel(): Promise<string | null> {\n return (await this._input()).getAttribute('aria-label');\n }\n\n /** Gets the checkbox's aria-labelledby. */\n async getAriaLabelledby(): Promise<string | null> {\n return (await this._input()).getAttribute('aria-labelledby');\n }\n\n /** Gets the checkbox's label text. */\n async getLabelText(): Promise<string> {\n return (await this._label()).text();\n }\n\n /** Focuses the checkbox. */\n async focus(): Promise<void> {\n return (await this._input()).focus();\n }\n\n /** Blurs the checkbox. */\n async blur(): Promise<void> {\n return (await this._input()).blur();\n }\n\n /** Whether the checkbox is focused. */\n async isFocused(): Promise<boolean> {\n return (await this._input()).isFocused();\n }\n\n /**\n * Toggles the checked state of the checkbox.\n *\n * Note: This attempts to toggle the checkbox as a user would, by clicking it. Therefore if you\n * are using `MAT_CHECKBOX_DEFAULT_OPTIONS` to change the behavior on click, calling this method\n * might not have the expected result.\n */\n async toggle(): Promise<void> {\n const elToClick = await ((await this.isDisabled()) ? this._inputContainer() : this._input());\n return elToClick.click();\n }\n\n /**\n * Puts the checkbox in a checked state by toggling it if it is currently unchecked, or doing\n * nothing if it is already checked.\n *\n * Note: This attempts to check the checkbox as a user would, by clicking it. Therefore if you\n * are using `MAT_CHECKBOX_DEFAULT_OPTIONS` to change the behavior on click, calling this method\n * might not have the expected result.\n */\n async check(): Promise<void> {\n if (!(await this.isChecked())) {\n await this.toggle();\n }\n }\n\n /**\n * Puts the checkbox in an unchecked state by toggling it if it is currently checked, or doing\n * nothing if it is already unchecked.\n *\n * Note: This attempts to uncheck the checkbox as a user would, by clicking it. Therefore if you\n * are using `MAT_CHECKBOX_DEFAULT_OPTIONS` to change the behavior on click, calling this method\n * might not have the expected result.\n */\n async uncheck(): Promise<void> {\n if (await this.isChecked()) {\n await this.toggle();\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-avatar-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-edit-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-remove-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-input-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-option-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-listbox-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-edit-input-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-row-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-grid-harness.ts","../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/chips/testing/chip-set-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipAvatarHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip avatar in tests. */\nexport class MatChipAvatarHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-avatar';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip avatar with specific\n * attributes.\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<T extends MatChipAvatarHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipAvatarHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, 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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipEditHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip edit button in tests. */\nexport class MatChipEditHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-edit';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip edit with specific\n * attributes.\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<T extends MatChipEditHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipEditHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Clicks the edit button. */\n async click(): Promise<void> {\n return (await this.host()).click();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipRemoveHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a standard Material chip remove button in tests. */\nexport class MatChipRemoveHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-remove';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip remove with specific\n * attributes.\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<T extends MatChipRemoveHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipRemoveHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Clicks the remove button. */\n async click(): Promise<void> {\n return (await this.host()).click();\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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {MatChipAvatarHarness} from './chip-avatar-harness';\nimport {\n ChipAvatarHarnessFilters,\n ChipEditHarnessFilters,\n ChipHarnessFilters,\n ChipRemoveHarnessFilters,\n} from './chip-harness-filters';\nimport {MatChipEditHarness} from './chip-edit-harness';\nimport {MatChipRemoveHarness} from './chip-remove-harness';\n\n/** Harness for interacting with a mat-chip in tests. */\nexport class MatChipHarness extends ContentContainerComponentHarness {\n protected _primaryAction = this.locatorFor('.mdc-evolution-chip__action--primary');\n\n static hostSelector = '.mat-mdc-basic-chip, .mat-mdc-chip';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip with specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, label) => {\n return HarnessPredicate.stringMatches(harness.getText(), label);\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets a promise for the text content the option. */\n async getText(): Promise<string> {\n return (await this.host()).text({\n exclude: '.mat-mdc-chip-avatar, .mat-mdc-chip-trailing-icon, .mat-icon',\n });\n }\n\n /** Whether the chip is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-disabled');\n }\n\n /** Delete a chip from the set. */\n async remove(): Promise<void> {\n const hostEl = await this.host();\n await hostEl.sendKeys(TestKey.DELETE);\n }\n\n /**\n * Gets the edit button inside of a chip.\n * @param filter Optionally filters which chips are included.\n */\n async geEditButton(filter: ChipEditHarnessFilters = {}): Promise<MatChipEditHarness> {\n return this.locatorFor(MatChipEditHarness.with(filter))();\n }\n\n /**\n * Gets the remove button inside of a chip.\n * @param filter Optionally filters which chips are included.\n */\n async getRemoveButton(filter: ChipRemoveHarnessFilters = {}): Promise<MatChipRemoveHarness> {\n return this.locatorFor(MatChipRemoveHarness.with(filter))();\n }\n\n /**\n * Gets the avatar inside a chip.\n * @param filter Optionally filters which avatars are included.\n */\n async getAvatar(filter: ChipAvatarHarnessFilters = {}): Promise<MatChipAvatarHarness | null> {\n return this.locatorForOptional(MatChipAvatarHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ChipInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a grid's chip input in tests. */\nexport class MatChipInputHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip input with specific\n * attributes.\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<T extends MatChipInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, async (harness, value) => {\n return (await harness.getValue()) === value;\n })\n .addOption('placeholder', options.placeholder, async (harness, placeholder) => {\n return (await harness.getPlaceholder()) === placeholder;\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n const disabled = await host.getAttribute('disabled');\n\n if (disabled !== null) {\n return coerceBooleanProperty(disabled);\n }\n\n return (await host.getAttribute('aria-disabled')) === 'true';\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('required');\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is never undefined.\n return await (await this.host()).getProperty<string>('value');\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return await (await this.host()).getProperty<string>('placeholder');\n }\n\n /**\n * Focuses the input 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 input 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 input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n }\n\n /** Sends a chip separator key to the input element. */\n async sendSeparatorKey(key: TestKey | string): Promise<void> {\n const inputEl = await this.host();\n return inputEl.sendKeys(key);\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.dev/license\n */\n\nimport {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipOptionHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-option in tests. */\nexport class MatChipOptionHarness extends MatChipHarness {\n static override hostSelector = '.mat-mdc-chip-option';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip option with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static override with<T extends MatChipHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipOptionHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(MatChipOptionHarness, options)\n .addOption('text', options.text, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getText(), label),\n )\n .addOption(\n 'selected',\n options.selected,\n async (harness, selected) => (await harness.isSelected()) === selected,\n ) as unknown as HarnessPredicate<T>;\n }\n\n /** Whether the chip is selected. */\n async isSelected(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-selected');\n }\n\n /** Selects the given chip. Only applies if it's selectable. */\n async select(): Promise<void> {\n if (!(await this.isSelected())) {\n await this.toggle();\n }\n }\n\n /** Deselects the given chip. Only applies if it's selectable. */\n async deselect(): Promise<void> {\n if (await this.isSelected()) {\n await this.toggle();\n }\n }\n\n /** Toggles the selected state of the given chip. */\n async toggle(): Promise<void> {\n return (await this._primaryAction()).click();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n parallel,\n} from '@angular/cdk/testing';\nimport {ChipListboxHarnessFilters, ChipOptionHarnessFilters} from './chip-harness-filters';\nimport {MatChipOptionHarness} from './chip-option-harness';\n\n/** Harness for interacting with a mat-chip-listbox in tests. */\nexport class MatChipListboxHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-listbox';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip listbox with specific\n * attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipListboxHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipListboxHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /** Gets whether the chip listbox is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /** Gets whether the chip listbox is required. */\n async isRequired(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-required')) === 'true';\n }\n\n /** Gets whether the chip listbox is in multi selection mode. */\n async isMultiple(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-multiselectable')) === 'true';\n }\n\n /** Gets whether the orientation of the chip list. */\n async getOrientation(): Promise<'horizontal' | 'vertical'> {\n const orientation = await (await this.host()).getAttribute('aria-orientation');\n return orientation === 'vertical' ? 'vertical' : 'horizontal';\n }\n\n /**\n * Gets the list of chips inside the chip list.\n * @param filter Optionally filters which chips are included.\n */\n async getChips(filter: ChipOptionHarnessFilters = {}): Promise<MatChipOptionHarness[]> {\n return this.locatorForAll(MatChipOptionHarness.with(filter))();\n }\n\n /**\n * Selects a chip inside the chip list.\n * @param filter An optional filter to apply to the child chips.\n * All the chips matching the filter will be selected.\n */\n async selectChips(filter: ChipOptionHarnessFilters = {}): Promise<void> {\n const chips = await this.getChips(filter);\n if (!chips.length) {\n throw Error(`Cannot find chip matching filter ${JSON.stringify(filter)}`);\n }\n await parallel(() => chips.map(chip => chip.select()));\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ChipEditInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with an editable chip's input in tests. */\nexport class MatChipEditInputHarness extends ComponentHarness {\n static hostSelector = '.mat-chip-edit-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip edit input with specific\n * attributes.\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<T extends MatChipEditInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipEditInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Sets the value of the input. */\n async setValue(value: string): Promise<void> {\n const host = await this.host();\n\n // @breaking-change 16.0.0 Remove this null check once `setContenteditableValue`\n // becomes a required method.\n if (!host.setContenteditableValue) {\n throw new Error(\n 'Cannot set chip edit input value, because test ' +\n 'element does not implement the `setContenteditableValue` method.',\n );\n }\n\n return host.setContenteditableValue(value);\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.dev/license\n */\n\nimport {TestKey} from '@angular/cdk/testing';\nimport {MatChipEditInputHarness} from './chip-edit-input-harness';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipEditInputHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-row in tests. */\nexport class MatChipRowHarness extends MatChipHarness {\n static override hostSelector = '.mat-mdc-chip-row';\n\n /** Whether the chip is editable. */\n async isEditable(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-editable');\n }\n\n /** Whether the chip is currently being edited. */\n async isEditing(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-chip-editing');\n }\n\n /** Sets the chip row into an editing state, if it is editable. */\n async startEditing(): Promise<void> {\n if (!(await this.isEditable())) {\n throw new Error('Cannot begin editing a chip that is not editable.');\n }\n return (await this.host()).dispatchEvent('dblclick');\n }\n\n /** Stops editing the chip, if it was in the editing state. */\n async finishEditing(): Promise<void> {\n if (await this.isEditing()) {\n await (await this.host()).sendKeys(TestKey.ENTER);\n }\n }\n\n /** Gets the edit input inside the chip row. */\n async getEditInput(filter: ChipEditInputHarnessFilters = {}): Promise<MatChipEditInputHarness> {\n return this.locatorFor(MatChipEditInputHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {\n ChipGridHarnessFilters,\n ChipInputHarnessFilters,\n ChipRowHarnessFilters,\n} from './chip-harness-filters';\nimport {MatChipInputHarness} from './chip-input-harness';\nimport {MatChipRowHarness} from './chip-row-harness';\n\n/** Harness for interacting with a mat-chip-grid in tests. */\nexport class MatChipGridHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-grid';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip grid with specific attributes.\n * @param options Options for filtering which chip grid instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipGridHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipGridHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /** Gets whether the chip grid is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /** Gets whether the chip grid is required. */\n async isRequired(): Promise<boolean> {\n return await (await this.host()).hasClass('mat-mdc-chip-list-required');\n }\n\n /** Gets whether the chip grid is invalid. */\n async isInvalid(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-invalid')) === 'true';\n }\n\n /** Gets promise of the harnesses for the chip rows. */\n getRows(filter: ChipRowHarnessFilters = {}): Promise<MatChipRowHarness[]> {\n return this.locatorForAll(MatChipRowHarness.with(filter))();\n }\n\n /** Gets promise of the chip text input harness. */\n getInput(filter: ChipInputHarnessFilters = {}): Promise<MatChipInputHarness | null> {\n return this.locatorFor(MatChipInputHarness.with(filter))();\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.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatChipHarness} from './chip-harness';\nimport {ChipHarnessFilters, ChipSetHarnessFilters} from './chip-harness-filters';\n\n/** Harness for interacting with a mat-chip-set in tests. */\nexport class MatChipSetHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-chip-set';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a chip set with specific attributes.\n * @param options Options for filtering which chip set instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatChipSetHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ChipSetHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Gets promise of the harnesses for the chips. */\n async getChips(filter: ChipHarnessFilters = {}): Promise<MatChipHarness[]> {\n return await this.locatorForAll(MatChipHarness.with(filter))();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/testing/optgroup-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {OptgroupHarnessFilters} from './optgroup-harness-filters';\nimport {MatOptionHarness} from './option-harness';\nimport {OptionHarnessFilters} from './option-harness-filters';\n\n/** Harness for interacting with a `mat-optgroup` in tests. */\nexport class MatOptgroupHarness extends ComponentHarness {\n /** Selector used to locate option group instances. */\n static hostSelector = '.mat-mdc-optgroup';\n private _label = this.locatorFor('.mat-mdc-optgroup-label');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a option group with specific\n * attributes.\n * @param options Options for filtering which option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatOptgroupHarness>(\n this: ComponentHarnessConstructor<T>,\n options: OptgroupHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'labelText',\n options.labelText,\n async (harness, title) => HarnessPredicate.stringMatches(await harness.getLabelText(), title),\n );\n }\n\n /** Gets the option group's label text. */\n async getLabelText(): Promise<string> {\n return (await this._label()).text();\n }\n\n /** Gets whether the option group is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /**\n * Gets the options that are inside the group.\n * @param filter Optionally filters which options are included.\n */\n async getOptions(filter: OptionHarnessFilters = {}): Promise<MatOptionHarness[]> {\n return this.locatorForAll(MatOptionHarness.with(filter))();\n }\n}\n"],"names":[],"mappings":";;;AAiBA;AACM,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;;AAEtD,IAAA,OAAO,YAAY,GAAG,mBAAmB;AACjC,IAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC;AAE3D;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAkC,EAAE,EAAA;AAEpC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,OAAO,OAAO,EAAE,KAAK,KAAK,gBAAgB,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAC9F;;;AAIH,IAAA,MAAM,YAAY,GAAA;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE;;;AAIrC,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM;;AAG7E;;;AAGG;AACH,IAAA,MAAM,UAAU,CAAC,MAAA,GAA+B,EAAE,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-formats.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/date-adapter.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/date-formats.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.dev/license\n */\n\nimport {inject, InjectionToken, LOCALE_ID} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\n\n/** InjectionToken for datepicker that can be used to override default locale code. */\nexport const MAT_DATE_LOCALE = new InjectionToken<{}>('MAT_DATE_LOCALE', {\n providedIn: 'root',\n factory: () => inject(LOCALE_ID),\n});\n\nconst NOT_IMPLEMENTED = 'Method not implemented';\n\n/** Adapts type `D` to be usable as a date by cdk-based components that work with dates. */\nexport abstract class DateAdapter<D, L = any> {\n /** The locale to use for all dates. */\n protected locale: L;\n protected readonly _localeChanges = new Subject<void>();\n\n /** A stream that emits when the locale changes. */\n readonly localeChanges: Observable<void> = this._localeChanges;\n\n /**\n * Gets the year component of the given date.\n * @param date The date to extract the year from.\n * @returns The year component.\n */\n abstract getYear(date: D): number;\n\n /**\n * Gets the month component of the given date.\n * @param date The date to extract the month from.\n * @returns The month component (0-indexed, 0 = January).\n */\n abstract getMonth(date: D): number;\n\n /**\n * Gets the date of the month component of the given date.\n * @param date The date to extract the date of the month from.\n * @returns The month component (1-indexed, 1 = first of month).\n */\n abstract getDate(date: D): number;\n\n /**\n * Gets the day of the week component of the given date.\n * @param date The date to extract the day of the week from.\n * @returns The month component (0-indexed, 0 = Sunday).\n */\n abstract getDayOfWeek(date: D): number;\n\n /**\n * Gets a list of names for the months.\n * @param style The naming style (e.g. long = 'January', short = 'Jan', narrow = 'J').\n * @returns An ordered list of all month names, starting with January.\n */\n abstract getMonthNames(style: 'long' | 'short' | 'narrow'): string[];\n\n /**\n * Gets a list of names for the dates of the month.\n * @returns An ordered list of all date of the month names, starting with '1'.\n */\n abstract getDateNames(): string[];\n\n /**\n * Gets a list of names for the days of the week.\n * @param style The naming style (e.g. long = 'Sunday', short = 'Sun', narrow = 'S').\n * @returns An ordered list of all weekday names, starting with Sunday.\n */\n abstract getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];\n\n /**\n * Gets the name for the year of the given date.\n * @param date The date to get the year name for.\n * @returns The name of the given year (e.g. '2017').\n */\n abstract getYearName(date: D): string;\n\n /**\n * Gets the first day of the week.\n * @returns The first day of the week (0-indexed, 0 = Sunday).\n */\n abstract getFirstDayOfWeek(): number;\n\n /**\n * Gets the number of days in the month of the given date.\n * @param date The date whose month should be checked.\n * @returns The number of days in the month of the given date.\n */\n abstract getNumDaysInMonth(date: D): number;\n\n /**\n * Clones the given date.\n * @param date The date to clone\n * @returns A new date equal to the given date.\n */\n abstract clone(date: D): D;\n\n /**\n * Creates a date with the given year, month, and date. Does not allow over/under-flow of the\n * month and date.\n * @param year The full year of the date. (e.g. 89 means the year 89, not the year 1989).\n * @param month The month of the date (0-indexed, 0 = January). Must be an integer 0 - 11.\n * @param date The date of month of the date. Must be an integer 1 - length of the given month.\n * @returns The new date, or null if invalid.\n */\n abstract createDate(year: number, month: number, date: number): D;\n\n /**\n * Gets today's date.\n * @returns Today's date.\n */\n abstract today(): D;\n\n /**\n * Parses a date from a user-provided value.\n * @param value The value to parse.\n * @param parseFormat The expected format of the value being parsed\n * (type is implementation-dependent).\n * @returns The parsed date.\n */\n abstract parse(value: any, parseFormat: any): D | null;\n\n /**\n * Formats a date as a string according to the given format.\n * @param date The value to format.\n * @param displayFormat The format to use to display the date as a string.\n * @returns The formatted date string.\n */\n abstract format(date: D, displayFormat: any): string;\n\n /**\n * Adds the given number of years to the date. Years are counted as if flipping 12 pages on the\n * calendar for each year and then finding the closest date in the new month. For example when\n * adding 1 year to Feb 29, 2016, the resulting date will be Feb 28, 2017.\n * @param date The date to add years to.\n * @param years The number of years to add (may be negative).\n * @returns A new date equal to the given one with the specified number of years added.\n */\n abstract addCalendarYears(date: D, years: number): D;\n\n /**\n * Adds the given number of months to the date. Months are counted as if flipping a page on the\n * calendar for each month and then finding the closest date in the new month. For example when\n * adding 1 month to Jan 31, 2017, the resulting date will be Feb 28, 2017.\n * @param date The date to add months to.\n * @param months The number of months to add (may be negative).\n * @returns A new date equal to the given one with the specified number of months added.\n */\n abstract addCalendarMonths(date: D, months: number): D;\n\n /**\n * Adds the given number of days to the date. Days are counted as if moving one cell on the\n * calendar for each day.\n * @param date The date to add days to.\n * @param days The number of days to add (may be negative).\n * @returns A new date equal to the given one with the specified number of days added.\n */\n abstract addCalendarDays(date: D, days: number): D;\n\n /**\n * Gets the RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339) for the given date.\n * This method is used to generate date strings that are compatible with native HTML attributes\n * such as the `min` or `max` attribute of an `<input>`.\n * @param date The date to get the ISO date string for.\n * @returns The ISO date string date string.\n */\n abstract toIso8601(date: D): string;\n\n /**\n * Checks whether the given object is considered a date instance by this DateAdapter.\n * @param obj The object to check\n * @returns Whether the object is a date instance.\n */\n abstract isDateInstance(obj: any): boolean;\n\n /**\n * Checks whether the given date is valid.\n * @param date The date to check.\n * @returns Whether the date is valid.\n */\n abstract isValid(date: D): boolean;\n\n /**\n * Gets date instance that is not valid.\n * @returns An invalid date.\n */\n abstract invalid(): D;\n\n /**\n * Sets the time of one date to the time of another.\n * @param target Date whose time will be set.\n * @param hours New hours to set on the date object.\n * @param minutes New minutes to set on the date object.\n * @param seconds New seconds to set on the date object.\n */\n setTime(target: D, hours: number, minutes: number, seconds: number): D {\n throw new Error(NOT_IMPLEMENTED);\n }\n\n /**\n * Gets the hours component of the given date.\n * @param date The date to extract the hours from.\n */\n getHours(date: D): number {\n throw new Error(NOT_IMPLEMENTED);\n }\n\n /**\n * Gets the minutes component of the given date.\n * @param date The date to extract the minutes from.\n */\n getMinutes(date: D): number {\n throw new Error(NOT_IMPLEMENTED);\n }\n\n /**\n * Gets the seconds component of the given date.\n * @param date The date to extract the seconds from.\n */\n getSeconds(date: D): number {\n throw new Error(NOT_IMPLEMENTED);\n }\n\n /**\n * Parses a date with a specific time from a user-provided value.\n * @param value The value to parse.\n * @param parseFormat The expected format of the value being parsed\n * (type is implementation-dependent).\n */\n parseTime(value: any, parseFormat: any): D | null {\n throw new Error(NOT_IMPLEMENTED);\n }\n\n /**\n * Adds an amount of seconds to the specified date.\n * @param date Date to which to add the seconds.\n * @param amount Amount of seconds to add to the date.\n */\n addSeconds(date: D, amount: number): D {\n throw new Error(NOT_IMPLEMENTED);\n }\n\n /**\n * Given a potential date object, returns that same date object if it is\n * a valid date, or `null` if it's not a valid date.\n * @param obj The object to check.\n * @returns A date or `null`.\n */\n getValidDateOrNull(obj: unknown): D | null {\n return this.isDateInstance(obj) && this.isValid(obj as D) ? (obj as D) : null;\n }\n\n /**\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\n * string). The default implementation does not allow any deserialization, it simply checks that\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\n * method on all of its `@Input()` properties that accept dates. It is therefore possible to\n * support passing values from your backend directly to these properties by overriding this method\n * to also deserialize the format used by your backend.\n * @param value The value to be deserialized into a date object.\n * @returns The deserialized date object, either a valid date, null if the value can be\n * deserialized into a null date (e.g. the empty string), or an invalid date.\n */\n deserialize(value: any): D | null {\n if (value == null || (this.isDateInstance(value) && this.isValid(value))) {\n return value;\n }\n return this.invalid();\n }\n\n /**\n * Sets the locale used for all dates.\n * @param locale The new locale.\n */\n setLocale(locale: L) {\n this.locale = locale;\n this._localeChanges.next();\n }\n\n /**\n * Compares two dates.\n * @param first The first date to compare.\n * @param second The second date to compare.\n * @returns 0 if the dates are equal, a number less than 0 if the first date is earlier,\n * a number greater than 0 if the first date is later.\n */\n compareDate(first: D, second: D): number {\n return (\n this.getYear(first) - this.getYear(second) ||\n this.getMonth(first) - this.getMonth(second) ||\n this.getDate(first) - this.getDate(second)\n );\n }\n\n /**\n * Compares the time values of two dates.\n * @param first First date to compare.\n * @param second Second date to compare.\n * @returns 0 if the times are equal, a number less than 0 if the first time is earlier,\n * a number greater than 0 if the first time is later.\n */\n compareTime(first: D, second: D): number {\n return (\n this.getHours(first) - this.getHours(second) ||\n this.getMinutes(first) - this.getMinutes(second) ||\n this.getSeconds(first) - this.getSeconds(second)\n );\n }\n\n /**\n * Checks if two dates are equal.\n * @param first The first date to check.\n * @param second The second date to check.\n * @returns Whether the two dates are equal.\n * Null dates are considered equal to other null dates.\n */\n sameDate(first: D | null, second: D | null): boolean {\n if (first && second) {\n let firstValid = this.isValid(first);\n let secondValid = this.isValid(second);\n if (firstValid && secondValid) {\n return !this.compareDate(first, second);\n }\n return firstValid == secondValid;\n }\n return first == second;\n }\n\n /**\n * Checks if the times of two dates are equal.\n * @param first The first date to check.\n * @param second The second date to check.\n * @returns Whether the times of the two dates are equal.\n * Null dates are considered equal to other null dates.\n */\n sameTime(first: D | null, second: D | null): boolean {\n if (first && second) {\n const firstValid = this.isValid(first);\n const secondValid = this.isValid(second);\n if (firstValid && secondValid) {\n return !this.compareTime(first, second);\n }\n return firstValid == secondValid;\n }\n return first == second;\n }\n\n /**\n * Clamp the given date between min and max dates.\n * @param date The date to clamp.\n * @param min The minimum value to allow. If null or omitted no min is enforced.\n * @param max The maximum value to allow. If null or omitted no max is enforced.\n * @returns `min` if `date` is less than `min`, `max` if date is greater than `max`,\n * otherwise `date`.\n */\n clampDate(date: D, min?: D | null, max?: D | null): D {\n if (min && this.compareDate(date, min) < 0) {\n return min;\n }\n if (max && this.compareDate(date, max) > 0) {\n return max;\n }\n return date;\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.dev/license\n */\n\nimport {InjectionToken} from '@angular/core';\n\nexport type MatDateFormats = {\n parse: {\n dateInput: any;\n timeInput?: any;\n };\n display: {\n dateInput: any;\n monthLabel?: any;\n monthYearLabel: any;\n dateA11yLabel: any;\n monthYearA11yLabel: any;\n timeInput?: any;\n timeOptionLabel?: any;\n };\n};\n\nexport const MAT_DATE_FORMATS = new InjectionToken<MatDateFormats>('mat-date-formats');\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-input-harness.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/datepicker/testing/datepicker-input-harness-base.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/datepicker/testing/calendar-cell-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/datepicker/testing/calendar-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/datepicker/testing/datepicker-trigger-harness-base.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/datepicker/testing/datepicker-input-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/datepicker/testing/date-range-input-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ComponentHarnessConstructor, HarnessPredicate} from '@angular/cdk/testing';\nimport {MatFormFieldControlHarnessBase} from '@angular/material/form-field/testing/control';\nimport {DatepickerInputHarnessFilters} from './datepicker-harness-filters';\n\n/** Sets up the filter predicates for a datepicker input harness. */\nexport function getInputPredicate<T extends MatDatepickerInputHarnessBase>(\n type: ComponentHarnessConstructor<T>,\n options: DatepickerInputHarnessFilters,\n): HarnessPredicate<T> {\n return new HarnessPredicate(type, options)\n .addOption('value', options.value, (harness, value) => {\n return HarnessPredicate.stringMatches(harness.getValue(), value);\n })\n .addOption('placeholder', options.placeholder, (harness, placeholder) => {\n return HarnessPredicate.stringMatches(harness.getPlaceholder(), placeholder);\n })\n .addOption('label', options.label, (harness, label) => {\n return HarnessPredicate.stringMatches(harness.getLabel(), label);\n });\n}\n\n/** Base class for datepicker input harnesses. */\nexport abstract class MatDatepickerInputHarnessBase extends MatFormFieldControlHarnessBase {\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('disabled');\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('required');\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is always defined.\n return await (await this.host()).getProperty<string>('value');\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n\n await inputEl.dispatchEvent('change');\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return await (await this.host()).getProperty<string>('placeholder');\n }\n\n /**\n * Focuses the input 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 input 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 input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Gets the formatted minimum date for the input's value. */\n async getMin(): Promise<string | null> {\n return (await this.host()).getAttribute('min');\n }\n\n /** Gets the formatted maximum date for the input's value. */\n async getMax(): Promise<string | null> {\n return (await this.host()).getAttribute('max');\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.dev/license\n */\n\nimport {HarnessPredicate, ComponentHarness} from '@angular/cdk/testing';\nimport {CalendarCellHarnessFilters} from './datepicker-harness-filters';\n\n/** Harness for interacting with a standard Material calendar cell in tests. */\nexport class MatCalendarCellHarness extends ComponentHarness {\n static hostSelector = '.mat-calendar-body-cell';\n\n /** Reference to the inner content element inside the cell. */\n private _content = this.locatorFor('.mat-calendar-body-cell-content');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatCalendarCellHarness`\n * that meets certain criteria.\n * @param options Options for filtering which cell instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: CalendarCellHarnessFilters = {}): HarnessPredicate<MatCalendarCellHarness> {\n return new HarnessPredicate(MatCalendarCellHarness, options)\n .addOption('text', options.text, (harness, text) => {\n return HarnessPredicate.stringMatches(harness.getText(), text);\n })\n .addOption('selected', options.selected, async (harness, selected) => {\n return (await harness.isSelected()) === selected;\n })\n .addOption('active', options.active, async (harness, active) => {\n return (await harness.isActive()) === active;\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n .addOption('today', options.today, async (harness, today) => {\n return (await harness.isToday()) === today;\n })\n .addOption('inRange', options.inRange, async (harness, inRange) => {\n return (await harness.isInRange()) === inRange;\n })\n .addOption(\n 'inComparisonRange',\n options.inComparisonRange,\n async (harness, inComparisonRange) => {\n return (await harness.isInComparisonRange()) === inComparisonRange;\n },\n )\n .addOption('inPreviewRange', options.inPreviewRange, async (harness, inPreviewRange) => {\n return (await harness.isInPreviewRange()) === inPreviewRange;\n });\n }\n\n /** Gets the text of the calendar cell. */\n async getText(): Promise<string> {\n return (await this._content()).text();\n }\n\n /** Gets the aria-label of the calendar cell. */\n async getAriaLabel(): Promise<string> {\n // We're guaranteed for the `aria-label` to be defined\n // since this is a private element that we control.\n return (await this.host()).getAttribute('aria-label') as Promise<string>;\n }\n\n /** Whether the cell is selected. */\n async isSelected(): Promise<boolean> {\n const host = await this.host();\n return (await host.getAttribute('aria-pressed')) === 'true';\n }\n\n /** Whether the cell is disabled. */\n async isDisabled(): Promise<boolean> {\n return this._hasState('disabled');\n }\n\n /** Whether the cell is currently activated using keyboard navigation. */\n async isActive(): Promise<boolean> {\n return this._hasState('active');\n }\n\n /** Whether the cell represents today's date. */\n async isToday(): Promise<boolean> {\n return (await this._content()).hasClass('mat-calendar-body-today');\n }\n\n /** Selects the calendar cell. Won't do anything if the cell is disabled. */\n async select(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Hovers over the calendar cell. */\n async hover(): Promise<void> {\n return (await this.host()).hover();\n }\n\n /** Moves the mouse away from the calendar cell. */\n async mouseAway(): Promise<void> {\n return (await this.host()).mouseAway();\n }\n\n /** Focuses the calendar cell. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Removes focus from the calendar cell. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the cell is the start of the main range. */\n async isRangeStart(): Promise<boolean> {\n return this._hasState('range-start');\n }\n\n /** Whether the cell is the end of the main range. */\n async isRangeEnd(): Promise<boolean> {\n return this._hasState('range-end');\n }\n\n /** Whether the cell is part of the main range. */\n async isInRange(): Promise<boolean> {\n return this._hasState('in-range');\n }\n\n /** Whether the cell is the start of the comparison range. */\n async isComparisonRangeStart(): Promise<boolean> {\n return this._hasState('comparison-start');\n }\n\n /** Whether the cell is the end of the comparison range. */\n async isComparisonRangeEnd(): Promise<boolean> {\n return this._hasState('comparison-end');\n }\n\n /** Whether the cell is inside of the comparison range. */\n async isInComparisonRange(): Promise<boolean> {\n return this._hasState('in-comparison-range');\n }\n\n /** Whether the cell is the start of the preview range. */\n async isPreviewRangeStart(): Promise<boolean> {\n return this._hasState('preview-start');\n }\n\n /** Whether the cell is the end of the preview range. */\n async isPreviewRangeEnd(): Promise<boolean> {\n return this._hasState('preview-end');\n }\n\n /** Whether the cell is inside of the preview range. */\n async isInPreviewRange(): Promise<boolean> {\n return this._hasState('in-preview');\n }\n\n /** Returns whether the cell has a particular CSS class-based state. */\n private async _hasState(name: string): Promise<boolean> {\n return (await this.host()).hasClass(`mat-calendar-body-${name}`);\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.dev/license\n */\n\nimport {HarnessPredicate, ComponentHarness} from '@angular/cdk/testing';\nimport {CalendarHarnessFilters, CalendarCellHarnessFilters} from './datepicker-harness-filters';\nimport {MatCalendarCellHarness} from './calendar-cell-harness';\n\n/** Possible views of a `MatCalendarHarness`. */\nexport enum CalendarView {\n MONTH,\n YEAR,\n MULTI_YEAR,\n}\n\n/** Harness for interacting with a standard Material calendar in tests. */\nexport class MatCalendarHarness extends ComponentHarness {\n static hostSelector = '.mat-calendar';\n\n /** Queries for the calendar's period toggle button. */\n private _periodButton = this.locatorFor('.mat-calendar-period-button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatCalendarHarness`\n * that meets certain criteria.\n * @param options Options for filtering which calendar instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: CalendarHarnessFilters = {}): HarnessPredicate<MatCalendarHarness> {\n return new HarnessPredicate(MatCalendarHarness, options);\n }\n\n /**\n * Gets a list of cells inside the calendar.\n * @param filter Optionally filters which cells are included.\n */\n async getCells(filter: CalendarCellHarnessFilters = {}): Promise<MatCalendarCellHarness[]> {\n return this.locatorForAll(MatCalendarCellHarness.with(filter))();\n }\n\n /** Gets the current view that is being shown inside the calendar. */\n async getCurrentView(): Promise<CalendarView> {\n if (await this.locatorForOptional('mat-multi-year-view')()) {\n return CalendarView.MULTI_YEAR;\n }\n\n if (await this.locatorForOptional('mat-year-view')()) {\n return CalendarView.YEAR;\n }\n\n return CalendarView.MONTH;\n }\n\n /** Gets the label of the current calendar view. */\n async getCurrentViewLabel(): Promise<string> {\n return (await this._periodButton()).text();\n }\n\n /** Changes the calendar view by clicking on the view toggle button. */\n async changeView(): Promise<void> {\n return (await this._periodButton()).click();\n }\n\n /** Goes to the next page of the current view (e.g. next month when inside the month view). */\n async next(): Promise<void> {\n return (await this.locatorFor('.mat-calendar-next-button')()).click();\n }\n\n /**\n * Goes to the previous page of the current view\n * (e.g. previous month when inside the month view).\n */\n async previous(): Promise<void> {\n return (await this.locatorFor('.mat-calendar-previous-button')()).click();\n }\n\n /**\n * Selects a cell in the current calendar view.\n * @param filter An optional filter to apply to the cells. The first cell matching the filter\n * will be selected.\n */\n async selectCell(filter: CalendarCellHarnessFilters = {}): Promise<void> {\n const cells = await this.getCells(filter);\n if (!cells.length) {\n throw Error(`Cannot find calendar cell matching filter ${JSON.stringify(filter)}`);\n }\n await cells[0].select();\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.dev/license\n */\n\nimport {ComponentHarness, LocatorFactory, parallel, TestElement} from '@angular/cdk/testing';\nimport {CalendarHarnessFilters} from './datepicker-harness-filters';\nimport {MatCalendarHarness} from './calendar-harness';\n\n/** Interface for a test harness that can open and close a calendar. */\nexport interface DatepickerTrigger {\n isCalendarOpen(): Promise<boolean>;\n openCalendar(): Promise<void>;\n closeCalendar(): Promise<void>;\n hasCalendar(): Promise<boolean>;\n getCalendar(filter?: CalendarHarnessFilters): Promise<MatCalendarHarness>;\n}\n\n/** Base class for harnesses that can trigger a calendar. */\nexport abstract class DatepickerTriggerHarnessBase\n extends ComponentHarness\n implements DatepickerTrigger\n{\n /** Whether the trigger is disabled. */\n abstract isDisabled(): Promise<boolean>;\n\n /** Whether the calendar associated with the trigger is open. */\n abstract isCalendarOpen(): Promise<boolean>;\n\n /** Opens the calendar associated with the trigger. */\n protected abstract _openCalendar(): Promise<void>;\n\n /** Opens the calendar if the trigger is enabled and it has a calendar. */\n async openCalendar(): Promise<void> {\n const [isDisabled, hasCalendar] = await parallel(() => [this.isDisabled(), this.hasCalendar()]);\n\n if (!isDisabled && hasCalendar) {\n return this._openCalendar();\n }\n }\n\n /** Closes the calendar if it is open. */\n async closeCalendar(): Promise<void> {\n if (await this.isCalendarOpen()) {\n await closeCalendar(getCalendarId(this.host()), this.documentRootLocatorFactory());\n // This is necessary so that we wait for the closing animation to finish in touch UI mode.\n await this.forceStabilize();\n }\n }\n\n /** Gets whether there is a calendar associated with the trigger. */\n async hasCalendar(): Promise<boolean> {\n return (await getCalendarId(this.host())) != null;\n }\n\n /**\n * Gets the `MatCalendarHarness` that is associated with the trigger.\n * @param filter Optionally filters which calendar is included.\n */\n async getCalendar(filter: CalendarHarnessFilters = {}): Promise<MatCalendarHarness> {\n return getCalendar(filter, this.host(), this.documentRootLocatorFactory());\n }\n}\n\n/** Gets the ID of the calendar that a particular test element can trigger. */\nexport async function getCalendarId(host: Promise<TestElement>): Promise<string | null> {\n return (await host).getAttribute('data-mat-calendar');\n}\n\n/** Closes the calendar with a specific ID. */\nexport async function closeCalendar(\n calendarId: Promise<string | null>,\n documentLocator: LocatorFactory,\n) {\n // We close the calendar by clicking on the backdrop, even though all datepicker variants\n // have the ability to close by pressing escape. The backdrop is preferrable, because the\n // escape key has multiple functions inside a range picker (either cancel the current range\n // or close the calendar). Since we don't have access to set the ID on the backdrop in all\n // cases, we set a unique class instead which is the same as the calendar's ID and suffixed\n // with `-backdrop`.\n const backdropSelector = `.${await calendarId}-backdrop`;\n return (await documentLocator.locatorFor(backdropSelector)()).click();\n}\n\n/** Gets the test harness for a calendar associated with a particular host. */\nexport async function getCalendar(\n filter: CalendarHarnessFilters,\n host: Promise<TestElement>,\n documentLocator: LocatorFactory,\n): Promise<MatCalendarHarness> {\n const calendarId = await getCalendarId(host);\n\n if (!calendarId) {\n throw Error(`Element is not associated with a calendar`);\n }\n\n return documentLocator.locatorFor(\n MatCalendarHarness.with({\n ...filter,\n selector: `#${calendarId}`,\n }),\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.dev/license\n */\n\nimport {HarnessPredicate, parallel, TestKey} from '@angular/cdk/testing';\nimport {DatepickerInputHarnessFilters, CalendarHarnessFilters} from './datepicker-harness-filters';\nimport {MatDatepickerInputHarnessBase, getInputPredicate} from './datepicker-input-harness-base';\nimport {MatCalendarHarness} from './calendar-harness';\nimport {\n DatepickerTrigger,\n closeCalendar,\n getCalendarId,\n getCalendar,\n} from './datepicker-trigger-harness-base';\n\n/** Harness for interacting with a standard Material datepicker inputs in tests. */\nexport class MatDatepickerInputHarness\n extends MatDatepickerInputHarnessBase\n implements DatepickerTrigger\n{\n static hostSelector = '.mat-datepicker-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerInputHarness`\n * that meets 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(\n options: DatepickerInputHarnessFilters = {},\n ): HarnessPredicate<MatDatepickerInputHarness> {\n return getInputPredicate(MatDatepickerInputHarness, options);\n }\n\n /** Gets whether the calendar associated with the input is open. */\n async isCalendarOpen(): Promise<boolean> {\n // `aria-owns` is set only if there's an open datepicker so we can use it as an indicator.\n const host = await this.host();\n return (await host.getAttribute('aria-owns')) != null;\n }\n\n /** Opens the calendar associated with the input. */\n async openCalendar(): Promise<void> {\n const [isDisabled, hasCalendar] = await parallel(() => [this.isDisabled(), this.hasCalendar()]);\n\n if (!isDisabled && hasCalendar) {\n // Alt + down arrow is the combination for opening the calendar with the keyboard.\n const host = await this.host();\n return host.sendKeys({alt: true}, TestKey.DOWN_ARROW);\n }\n }\n\n /** Closes the calendar associated with the input. */\n async closeCalendar(): Promise<void> {\n if (await this.isCalendarOpen()) {\n await closeCalendar(getCalendarId(this.host()), this.documentRootLocatorFactory());\n // This is necessary so that we wait for the closing animation to finish in touch UI mode.\n await this.forceStabilize();\n }\n }\n\n /** Whether a calendar is associated with the input. */\n async hasCalendar(): Promise<boolean> {\n return (await getCalendarId(this.host())) != null;\n }\n\n /**\n * Gets the `MatCalendarHarness` that is associated with the trigger.\n * @param filter Optionally filters which calendar is included.\n */\n async getCalendar(filter: CalendarHarnessFilters = {}): Promise<MatCalendarHarness> {\n return getCalendar(filter, this.host(), this.documentRootLocatorFactory());\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.dev/license\n */\n\nimport {HarnessPredicate, parallel, TestKey} from '@angular/cdk/testing';\nimport {MatDatepickerInputHarnessBase, getInputPredicate} from './datepicker-input-harness-base';\nimport {DatepickerTriggerHarnessBase} from './datepicker-trigger-harness-base';\nimport {\n DatepickerInputHarnessFilters,\n DateRangeInputHarnessFilters,\n} from './datepicker-harness-filters';\n\n/** Harness for interacting with a standard Material date range start input in tests. */\nexport class MatStartDateHarness extends MatDatepickerInputHarnessBase {\n static hostSelector = '.mat-start-date';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatStartDateHarness`\n * that meets 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: DatepickerInputHarnessFilters = {}): HarnessPredicate<MatStartDateHarness> {\n return getInputPredicate(MatStartDateHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Material date range end input in tests. */\nexport class MatEndDateHarness extends MatDatepickerInputHarnessBase {\n static hostSelector = '.mat-end-date';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatEndDateHarness`\n * that meets 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: DatepickerInputHarnessFilters = {}): HarnessPredicate<MatEndDateHarness> {\n return getInputPredicate(MatEndDateHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Material date range input in tests. */\nexport class MatDateRangeInputHarness extends DatepickerTriggerHarnessBase {\n static hostSelector = '.mat-date-range-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDateRangeInputHarness`\n * that meets 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(\n options: DateRangeInputHarnessFilters = {},\n ): HarnessPredicate<MatDateRangeInputHarness> {\n return new HarnessPredicate(MatDateRangeInputHarness, options)\n .addOption('value', options.value, (harness, value) =>\n HarnessPredicate.stringMatches(harness.getValue(), value),\n )\n .addOption('label', options.label, (harness, label) => {\n return HarnessPredicate.stringMatches(harness.getLabel(), label);\n });\n }\n\n /** Gets the combined value of the start and end inputs, including the separator. */\n async getValue(): Promise<string> {\n const [start, end, separator] = await parallel(() => [\n this.getStartInput().then(input => input.getValue()),\n this.getEndInput().then(input => input.getValue()),\n this.getSeparator(),\n ]);\n\n return start + `${end ? ` ${separator} ${end}` : ''}`;\n }\n\n /** Gets the inner start date input inside the range input. */\n async getStartInput(): Promise<MatStartDateHarness> {\n // Don't pass in filters here since the start input is required and there can only be one.\n return this.locatorFor(MatStartDateHarness)();\n }\n\n /** Gets the inner start date input inside the range input. */\n async getEndInput(): Promise<MatEndDateHarness> {\n // Don't pass in filters here since the end input is required and there can only be one.\n return this.locatorFor(MatEndDateHarness)();\n }\n\n /**\n * Gets the label for the range input, if it exists. This might be provided by a label element or\n * by the `aria-label` attribute.\n */\n async getLabel(): Promise<string | null> {\n // Directly copied from MatFormFieldControlHarnessBase. This class already has a parent so it\n // cannot extend MatFormFieldControlHarnessBase for the functionality.\n const documentRootLocator = this.documentRootLocatorFactory();\n const labelId = await (await this.host()).getAttribute('aria-labelledby');\n const labelText = await (await this.host()).getAttribute('aria-label');\n const hostId = await (await this.host()).getAttribute('id');\n\n if (labelId) {\n // First, try to find the label by following [aria-labelledby]\n const labelEl = await documentRootLocator.locatorForOptional(`[id=\"${labelId}\"]`)();\n return labelEl ? labelEl.text() : null;\n } else if (labelText) {\n // If that doesn't work, return [aria-label] if it exists\n return labelText;\n } else if (hostId) {\n // Finally, search the DOM for a label that points to the host element\n const labelEl = await documentRootLocator.locatorForOptional(`[for=\"${hostId}\"]`)();\n return labelEl ? labelEl.text() : null;\n }\n return null;\n }\n\n /** Gets the separator text between the values of the two inputs. */\n async getSeparator(): Promise<string> {\n return (await this.locatorFor('.mat-date-range-input-separator')()).text();\n }\n\n /** Gets whether the range input is disabled. */\n async isDisabled(): Promise<boolean> {\n // We consider the input as disabled if both of the sub-inputs are disabled.\n const [startDisabled, endDisabled] = await parallel(() => [\n this.getStartInput().then(input => input.isDisabled()),\n this.getEndInput().then(input => input.isDisabled()),\n ]);\n\n return startDisabled && endDisabled;\n }\n\n /** Gets whether the range input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).hasClass('mat-date-range-input-required');\n }\n\n /** Opens the calendar associated with the input. */\n async isCalendarOpen(): Promise<boolean> {\n // `aria-owns` is set on both inputs only if there's an\n // open range picker so we can use it as an indicator.\n const startHost = await (await this.getStartInput()).host();\n return (await startHost.getAttribute('aria-owns')) != null;\n }\n\n protected async _openCalendar(): Promise<void> {\n // Alt + down arrow is the combination for opening the calendar with the keyboard.\n const startHost = await (await this.getStartInput()).host();\n return startHost.sendKeys({alt: true}, TestKey.DOWN_ARROW);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/datepicker/testing/datepicker-toggle-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {DatepickerToggleHarnessFilters} from './datepicker-harness-filters';\nimport {DatepickerTriggerHarnessBase} from './datepicker-trigger-harness-base';\n\n/** Harness for interacting with a standard Material datepicker toggle in tests. */\nexport class MatDatepickerToggleHarness extends DatepickerTriggerHarnessBase {\n static hostSelector = '.mat-datepicker-toggle';\n\n /** The clickable button inside the toggle. */\n private _button = this.locatorFor('button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerToggleHarness` that\n * meets certain criteria.\n * @param options Options for filtering which datepicker toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DatepickerToggleHarnessFilters = {},\n ): HarnessPredicate<MatDatepickerToggleHarness> {\n return new HarnessPredicate(MatDatepickerToggleHarness, options);\n }\n\n /** Gets whether the calendar associated with the toggle is open. */\n async isCalendarOpen(): Promise<boolean> {\n return (await this.host()).hasClass('mat-datepicker-toggle-active');\n }\n\n /** Whether the toggle is disabled. */\n async isDisabled(): Promise<boolean> {\n const button = await this._button();\n return coerceBooleanProperty(await button.getAttribute('disabled'));\n }\n\n protected async _openCalendar(): Promise<void> {\n return (await this._button()).click();\n }\n}\n"],"names":[],"mappings":";;;;;;AAaA;AACM,MAAO,0BAA2B,SAAQ,4BAA4B,CAAA;AAC1E,IAAA,OAAO,YAAY,GAAG,wBAAwB;;AAGtC,IAAA,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;AAE3C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAA0C,EAAE,EAAA;AAE5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,OAAO,CAAC;;;AAIlE,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,8BAA8B,CAAC;;;AAIrE,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;QACnC,OAAO,qBAAqB,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;;AAG3D,IAAA,MAAM,aAAa,GAAA;QAC3B,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;;;;;;"}
|