@angular/material 13.0.0-next.7 → 13.0.0-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/autocomplete-module.d.ts +11 -7
- package/autocomplete/autocomplete-origin.d.ts +5 -0
- package/autocomplete/autocomplete-trigger.d.ts +5 -0
- package/autocomplete/autocomplete.d.ts +6 -1
- package/autocomplete/package.json +5 -5
- package/autocomplete/testing/package.json +5 -5
- package/badge/badge-module.d.ts +7 -7
- package/badge/badge.d.ts +4 -1
- package/badge/package.json +5 -5
- package/badge/testing/package.json +5 -5
- package/bottom-sheet/bottom-sheet-container.d.ts +3 -0
- package/bottom-sheet/bottom-sheet-module.d.ts +8 -7
- package/bottom-sheet/bottom-sheet.d.ts +3 -7
- package/bottom-sheet/package.json +5 -5
- package/bottom-sheet/testing/package.json +5 -5
- package/button/button-module.d.ts +6 -7
- package/button/button.d.ts +6 -1
- package/button/package.json +5 -5
- package/button/testing/package.json +5 -5
- package/button-toggle/button-toggle-module.d.ts +6 -7
- package/button-toggle/button-toggle.d.ts +6 -1
- package/button-toggle/package.json +5 -5
- package/button-toggle/testing/package.json +5 -5
- package/card/card-module.d.ts +6 -7
- package/card/card.d.ts +29 -7
- package/card/package.json +5 -5
- package/card/testing/package.json +5 -5
- package/checkbox/checkbox-module.d.ts +11 -7
- package/checkbox/checkbox-required-validator.d.ts +3 -0
- package/checkbox/checkbox.d.ts +4 -1
- package/checkbox/package.json +5 -5
- package/checkbox/testing/package.json +5 -5
- package/chips/chip-input.d.ts +3 -0
- package/chips/chip-list.d.ts +4 -1
- package/chips/chip.d.ts +10 -1
- package/chips/chips-module.d.ts +8 -7
- package/chips/package.json +5 -5
- package/chips/testing/package.json +5 -5
- package/core/common-behaviors/common-module.d.ts +5 -0
- package/core/common-behaviors/index.d.ts +1 -0
- package/core/datetime/index.d.ts +8 -7
- package/core/datetime/native-date-adapter.d.ts +3 -0
- package/core/error/error-options.d.ts +5 -7
- package/core/index.d.ts +0 -1
- package/core/line/line.d.ts +7 -0
- package/core/option/index.d.ts +10 -7
- package/core/option/optgroup.d.ts +6 -1
- package/core/option/option.d.ts +5 -0
- package/core/package.json +5 -5
- package/core/ripple/index.d.ts +7 -7
- package/core/ripple/ripple.d.ts +3 -0
- package/core/selection/index.d.ts +6 -7
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -7
- package/core/testing/package.json +5 -5
- package/datepicker/calendar-body.d.ts +3 -0
- package/datepicker/calendar.d.ts +5 -0
- package/datepicker/date-range-input-parts.d.ts +8 -1
- package/datepicker/date-range-input.d.ts +3 -0
- package/datepicker/date-range-picker.d.ts +3 -7
- package/datepicker/date-range-selection-strategy.d.ts +3 -0
- package/datepicker/date-selection-model.d.ts +7 -0
- package/datepicker/datepicker-actions.d.ts +7 -0
- package/datepicker/datepicker-base.d.ts +6 -1
- package/datepicker/datepicker-input-base.d.ts +3 -0
- package/datepicker/datepicker-input.d.ts +3 -0
- package/datepicker/datepicker-intl.d.ts +3 -7
- package/datepicker/datepicker-module.d.ts +24 -7
- package/datepicker/datepicker-toggle.d.ts +5 -0
- package/datepicker/datepicker.d.ts +3 -7
- package/datepicker/index.d.ts +0 -4
- package/datepicker/month-view.d.ts +3 -7
- package/datepicker/multi-year-view.d.ts +3 -7
- package/datepicker/package.json +5 -5
- package/datepicker/testing/package.json +5 -5
- package/datepicker/year-view.d.ts +3 -7
- package/dialog/dialog-container.d.ts +5 -0
- package/dialog/dialog-content-directives.d.ts +9 -0
- package/dialog/dialog-module.d.ts +9 -7
- package/dialog/dialog.d.ts +5 -7
- package/dialog/package.json +5 -5
- package/dialog/testing/dialog-harness.d.ts +14 -11
- package/dialog/testing/package.json +5 -5
- package/divider/divider-module.d.ts +6 -7
- package/divider/divider.d.ts +3 -7
- package/divider/package.json +5 -5
- package/divider/testing/package.json +5 -5
- package/esm2020/autocomplete/autocomplete-module.mjs +58 -0
- package/esm2020/autocomplete/autocomplete-origin.mjs +38 -0
- package/esm2020/autocomplete/autocomplete-trigger.mjs +651 -0
- package/esm2020/autocomplete/autocomplete.mjs +216 -0
- package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
- package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
- package/{esm2015/autocomplete/testing/autocomplete-harness-filters.js → esm2020/autocomplete/testing/autocomplete-harness-filters.mjs} +0 -0
- package/esm2020/autocomplete/testing/autocomplete-harness.mjs +101 -0
- package/{esm2015/autocomplete/testing/index.js → esm2020/autocomplete/testing/index.mjs} +0 -0
- package/{esm2015/autocomplete/testing/public-api.js → esm2020/autocomplete/testing/public-api.mjs} +0 -0
- package/esm2020/badge/badge-module.mjs +33 -0
- package/esm2020/badge/badge.mjs +228 -0
- package/{esm2015/badge/index.js → esm2020/badge/index.mjs} +0 -0
- package/{esm2015/badge/public-api.js → esm2020/badge/public-api.mjs} +0 -0
- package/{esm2015/badge/testing/badge-harness-filters.js → esm2020/badge/testing/badge-harness-filters.mjs} +0 -0
- package/esm2020/badge/testing/badge-harness.mjs +72 -0
- package/{esm2015/badge/testing/index.js → esm2020/badge/testing/index.mjs} +0 -0
- package/{esm2015/badge/testing/public-api.js → esm2020/badge/testing/public-api.mjs} +0 -0
- package/{esm2015/bottom-sheet/bottom-sheet-animations.js → esm2020/bottom-sheet/bottom-sheet-animations.mjs} +0 -0
- package/{esm2015/bottom-sheet/bottom-sheet-config.js → esm2020/bottom-sheet/bottom-sheet-config.mjs} +0 -0
- package/esm2020/bottom-sheet/bottom-sheet-container.mjs +230 -0
- package/esm2020/bottom-sheet/bottom-sheet-module.mjs +38 -0
- package/esm2020/bottom-sheet/bottom-sheet-ref.mjs +91 -0
- package/esm2020/bottom-sheet/bottom-sheet.mjs +172 -0
- package/{esm2015/bottom-sheet/index.js → esm2020/bottom-sheet/index.mjs} +0 -0
- package/{esm2015/bottom-sheet/public-api.js → esm2020/bottom-sheet/public-api.mjs} +0 -0
- package/{esm2015/bottom-sheet/testing/bottom-sheet-harness-filters.js → esm2020/bottom-sheet/testing/bottom-sheet-harness-filters.mjs} +0 -0
- package/esm2020/bottom-sheet/testing/bottom-sheet-harness.mjs +35 -0
- package/{esm2015/bottom-sheet/testing/index.js → esm2020/bottom-sheet/testing/index.mjs} +0 -0
- package/{esm2015/bottom-sheet/testing/public-api.js → esm2020/bottom-sheet/testing/public-api.mjs} +0 -0
- package/esm2020/button/button-module.mjs +42 -0
- package/esm2020/button/button.mjs +153 -0
- package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
- package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
- package/{esm2015/button/testing/button-harness-filters.js → esm2020/button/testing/button-harness-filters.mjs} +0 -0
- package/esm2020/button/testing/button-harness.mjs +51 -0
- package/{esm2015/button/testing/index.js → esm2020/button/testing/index.mjs} +0 -0
- package/{esm2015/button/testing/public-api.js → esm2020/button/testing/public-api.mjs} +0 -0
- package/esm2020/button-toggle/button-toggle-module.mjs +25 -0
- package/esm2020/button-toggle/button-toggle.mjs +470 -0
- package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
- package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
- package/{esm2015/button-toggle/testing/button-toggle-group-harness-filters.js → esm2020/button-toggle/testing/button-toggle-group-harness-filters.mjs} +0 -0
- package/esm2020/button-toggle/testing/button-toggle-group-harness.mjs +45 -0
- package/{esm2015/button-toggle/testing/button-toggle-harness-filters.js → esm2020/button-toggle/testing/button-toggle-harness-filters.mjs} +0 -0
- package/esm2020/button-toggle/testing/button-toggle-harness.mjs +98 -0
- package/{esm2015/button-toggle/testing/index.js → esm2020/button-toggle/testing/index.mjs} +0 -0
- package/{esm2015/button-toggle/testing/public-api.js → esm2020/button-toggle/testing/public-api.mjs} +0 -0
- package/esm2020/card/card-module.mjs +61 -0
- package/esm2020/card/card.mjs +247 -0
- package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
- package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
- package/{esm2015/card/testing/card-harness-filters.js → esm2020/card/testing/card-harness-filters.mjs} +0 -0
- package/esm2020/card/testing/card-harness.mjs +43 -0
- package/{esm2015/card/testing/index.js → esm2020/card/testing/index.mjs} +0 -0
- package/{esm2015/card/testing/public-api.js → esm2020/card/testing/public-api.mjs} +0 -0
- package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
- package/esm2020/checkbox/checkbox-module.mjs +46 -0
- package/esm2020/checkbox/checkbox-required-validator.mjs +33 -0
- package/esm2020/checkbox/checkbox.mjs +403 -0
- package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
- package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
- package/{esm2015/checkbox/testing/checkbox-harness-filters.js → esm2020/checkbox/testing/checkbox-harness-filters.mjs} +0 -0
- package/esm2020/checkbox/testing/checkbox-harness.mjs +123 -0
- package/{esm2015/checkbox/testing/index.js → esm2020/checkbox/testing/index.mjs} +0 -0
- package/{esm2015/checkbox/testing/public-api.js → esm2020/checkbox/testing/public-api.mjs} +0 -0
- package/{esm2015/chips/chip-default-options.js → esm2020/chips/chip-default-options.mjs} +0 -0
- package/esm2020/chips/chip-input.mjs +192 -0
- package/esm2020/chips/chip-list.mjs +673 -0
- package/{esm2015/chips/chip-text-control.js → esm2020/chips/chip-text-control.mjs} +0 -0
- package/esm2020/chips/chip.mjs +415 -0
- package/esm2020/chips/chips-module.mjs +64 -0
- package/{esm2015/chips/index.js → esm2020/chips/index.mjs} +0 -0
- package/{esm2015/chips/public-api.js → esm2020/chips/public-api.mjs} +0 -0
- package/{esm2015/chips/testing/chip-avatar-harness.js → esm2020/chips/testing/chip-avatar-harness.mjs} +0 -0
- package/{esm2015/chips/testing/chip-harness-filters.js → esm2020/chips/testing/chip-harness-filters.mjs} +0 -0
- package/esm2020/chips/testing/chip-harness.mjs +91 -0
- package/esm2020/chips/testing/chip-input-harness.mjs +82 -0
- package/esm2020/chips/testing/chip-list-harness.mjs +82 -0
- package/esm2020/chips/testing/chip-listbox-harness.mjs +44 -0
- package/esm2020/chips/testing/chip-option-harness.mjs +45 -0
- package/esm2020/chips/testing/chip-remove-harness.mjs +26 -0
- package/{esm2015/chips/testing/index.js → esm2020/chips/testing/index.mjs} +0 -0
- package/{esm2015/chips/testing/public-api.js → esm2020/chips/testing/public-api.mjs} +0 -0
- package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
- package/{esm2015/core/common-behaviors/color.js → esm2020/core/common-behaviors/color.mjs} +0 -0
- package/esm2020/core/common-behaviors/common-module.mjs +122 -0
- package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
- package/{esm2015/core/common-behaviors/disable-ripple.js → esm2020/core/common-behaviors/disable-ripple.mjs} +0 -0
- package/{esm2015/core/common-behaviors/disabled.js → esm2020/core/common-behaviors/disabled.mjs} +0 -0
- package/{esm2015/core/common-behaviors/error-state.js → esm2020/core/common-behaviors/error-state.mjs} +0 -0
- package/esm2020/core/common-behaviors/index.mjs +15 -0
- package/{esm2015/core/common-behaviors/initialized.js → esm2020/core/common-behaviors/initialized.mjs} +0 -0
- package/{esm2015/core/common-behaviors/tabindex.js → esm2020/core/common-behaviors/tabindex.mjs} +0 -0
- package/{esm2015/core/datetime/date-adapter.js → esm2020/core/datetime/date-adapter.mjs} +0 -0
- package/{esm2015/core/datetime/date-formats.js → esm2020/core/datetime/date-formats.mjs} +0 -0
- package/esm2020/core/datetime/index.mjs +47 -0
- package/esm2020/core/datetime/native-date-adapter.mjs +218 -0
- package/{esm2015/core/datetime/native-date-formats.js → esm2020/core/datetime/native-date-formats.mjs} +0 -0
- package/esm2020/core/error/error-options.mjs +33 -0
- package/esm2020/core/index.mjs +5 -0
- package/esm2020/core/line/line.mjs +64 -0
- package/esm2020/core/option/index.mjs +32 -0
- package/esm2020/core/option/optgroup.mjs +73 -0
- package/{esm2015/core/option/option-parent.js → esm2020/core/option/option-parent.mjs} +0 -0
- package/esm2020/core/option/option.mjs +276 -0
- package/{esm2015/core/public-api.js → esm2020/core/public-api.mjs} +0 -0
- package/esm2020/core/ripple/index.mjs +29 -0
- package/{esm2015/core/ripple/ripple-ref.js → esm2020/core/ripple/ripple-ref.mjs} +0 -0
- package/esm2020/core/ripple/ripple-renderer.mjs +261 -0
- package/esm2020/core/ripple/ripple.mjs +152 -0
- package/esm2020/core/selection/index.mjs +26 -0
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +54 -0
- package/{esm2015/core/testing/index.js → esm2020/core/testing/index.mjs} +0 -0
- package/{esm2015/core/testing/optgroup-harness-filters.js → esm2020/core/testing/optgroup-harness-filters.mjs} +0 -0
- package/esm2020/core/testing/optgroup-harness.mjs +44 -0
- package/{esm2015/core/testing/option-harness-filters.js → esm2020/core/testing/option-harness-filters.mjs} +0 -0
- package/esm2020/core/testing/option-harness.mjs +54 -0
- package/{esm2015/core/testing/public-api.js → esm2020/core/testing/public-api.mjs} +0 -0
- package/esm2020/core/version.mjs +11 -0
- package/esm2020/datepicker/calendar-body.mjs +298 -0
- package/esm2020/datepicker/calendar.mjs +354 -0
- package/esm2020/datepicker/date-range-input-parts.mjs +342 -0
- package/esm2020/datepicker/date-range-input.mjs +331 -0
- package/esm2020/datepicker/date-range-picker.mjs +48 -0
- package/esm2020/datepicker/date-range-selection-strategy.mjs +59 -0
- package/esm2020/datepicker/date-selection-model.mjs +187 -0
- package/esm2020/datepicker/datepicker-actions.mjs +89 -0
- package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
- package/esm2020/datepicker/datepicker-base.mjs +549 -0
- package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
- package/esm2020/datepicker/datepicker-input-base.mjs +298 -0
- package/esm2020/datepicker/datepicker-input.mjs +183 -0
- package/esm2020/datepicker/datepicker-intl.mjs +53 -0
- package/esm2020/datepicker/datepicker-module.mjs +148 -0
- package/esm2020/datepicker/datepicker-toggle.mjs +113 -0
- package/esm2020/datepicker/datepicker.mjs +37 -0
- package/esm2020/datepicker/index.mjs +5 -0
- package/esm2020/datepicker/month-view.mjs +364 -0
- package/esm2020/datepicker/multi-year-view.mjs +289 -0
- package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
- package/esm2020/datepicker/testing/calendar-cell-harness.mjs +138 -0
- package/esm2020/datepicker/testing/calendar-harness.mjs +76 -0
- package/esm2020/datepicker/testing/date-range-input-harness.mjs +99 -0
- package/{esm2015/datepicker/testing/datepicker-harness-filters.js → esm2020/datepicker/testing/datepicker-harness-filters.mjs} +0 -0
- package/esm2020/datepicker/testing/datepicker-input-harness-base.mjs +81 -0
- package/esm2020/datepicker/testing/datepicker-input-harness.mjs +58 -0
- package/esm2020/datepicker/testing/datepicker-toggle-harness.mjs +41 -0
- package/esm2020/datepicker/testing/datepicker-trigger-harness-base.mjs +65 -0
- package/{esm2015/datepicker/testing/index.js → esm2020/datepicker/testing/index.mjs} +0 -0
- package/{esm2015/datepicker/testing/public-api.js → esm2020/datepicker/testing/public-api.mjs} +0 -0
- package/esm2020/datepicker/year-view.mjs +281 -0
- package/{esm2015/dialog/dialog-animations.js → esm2020/dialog/dialog-animations.mjs} +0 -0
- package/{esm2015/dialog/dialog-config.js → esm2020/dialog/dialog-config.mjs} +0 -0
- package/esm2020/dialog/dialog-container.mjs +282 -0
- package/esm2020/dialog/dialog-content-directives.mjs +172 -0
- package/esm2020/dialog/dialog-module.mjs +69 -0
- package/esm2020/dialog/dialog-ref.mjs +196 -0
- package/esm2020/dialog/dialog.mjs +358 -0
- package/{esm2015/dialog/index.js → esm2020/dialog/index.mjs} +0 -0
- package/{esm2015/dialog/public-api.js → esm2020/dialog/public-api.mjs} +0 -0
- package/{esm2015/dialog/testing/dialog-harness-filters.js → esm2020/dialog/testing/dialog-harness-filters.mjs} +0 -0
- package/esm2020/dialog/testing/dialog-harness.mjs +83 -0
- package/{esm2015/dialog/testing/index.js → esm2020/dialog/testing/index.mjs} +0 -0
- package/{esm2015/dialog/testing/public-api.js → esm2020/dialog/testing/public-api.mjs} +0 -0
- package/esm2020/divider/divider-module.mjs +25 -0
- package/esm2020/divider/divider.mjs +40 -0
- package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
- package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
- package/{esm2015/divider/testing/divider-harness-filters.js → esm2020/divider/testing/divider-harness-filters.mjs} +0 -0
- package/esm2020/divider/testing/divider-harness.mjs +22 -0
- package/{esm2015/divider/testing/index.js → esm2020/divider/testing/index.mjs} +0 -0
- package/{esm2015/divider/testing/public-api.js → esm2020/divider/testing/public-api.mjs} +0 -0
- package/{esm2015/expansion/accordion-base.js → esm2020/expansion/accordion-base.mjs} +0 -0
- package/esm2020/expansion/accordion.mjs +93 -0
- package/{esm2015/expansion/expansion-animations.js → esm2020/expansion/expansion-animations.mjs} +0 -0
- package/esm2020/expansion/expansion-module.mjs +59 -0
- package/esm2020/expansion/expansion-panel-content.mjs +27 -0
- package/esm2020/expansion/expansion-panel-header.mjs +226 -0
- package/esm2020/expansion/expansion-panel.mjs +195 -0
- package/{esm2015/expansion/index.js → esm2020/expansion/index.mjs} +0 -0
- package/{esm2015/expansion/public-api.js → esm2020/expansion/public-api.mjs} +0 -0
- package/esm2020/expansion/testing/accordion-harness.mjs +31 -0
- package/{esm2015/expansion/testing/expansion-harness-filters.js → esm2020/expansion/testing/expansion-harness-filters.mjs} +0 -0
- package/esm2020/expansion/testing/expansion-harness.mjs +120 -0
- package/{esm2015/expansion/testing/index.js → esm2020/expansion/testing/index.mjs} +0 -0
- package/{esm2015/expansion/testing/public-api.js → esm2020/expansion/testing/public-api.mjs} +0 -0
- package/esm2020/form-field/error.mjs +47 -0
- package/{esm2015/form-field/form-field-animations.js → esm2020/form-field/form-field-animations.mjs} +0 -0
- package/esm2020/form-field/form-field-control.mjs +11 -0
- package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
- package/esm2020/form-field/form-field-module.mjs +73 -0
- package/esm2020/form-field/form-field.mjs +510 -0
- package/esm2020/form-field/hint.mjs +49 -0
- package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
- package/esm2020/form-field/label.mjs +21 -0
- package/esm2020/form-field/placeholder.mjs +26 -0
- package/esm2020/form-field/prefix.mjs +28 -0
- package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
- package/esm2020/form-field/suffix.mjs +28 -0
- package/{esm2015/form-field/testing/control/form-field-control-harness.js → esm2020/form-field/testing/control/form-field-control-harness.mjs} +0 -0
- package/{esm2015/form-field/testing/control/index.js → esm2020/form-field/testing/control/index.mjs} +0 -0
- package/{esm2015/form-field/testing/form-field-harness-filters.js → esm2020/form-field/testing/form-field-harness-filters.mjs} +0 -0
- package/esm2020/form-field/testing/form-field-harness.mjs +181 -0
- package/{esm2015/form-field/testing/index.js → esm2020/form-field/testing/index.mjs} +0 -0
- package/{esm2015/form-field/testing/public-api.js → esm2020/form-field/testing/public-api.mjs} +0 -0
- package/{esm2015/grid-list/grid-list-base.js → esm2020/grid-list/grid-list-base.mjs} +0 -0
- package/esm2020/grid-list/grid-list-module.mjs +55 -0
- package/esm2020/grid-list/grid-list.mjs +135 -0
- package/esm2020/grid-list/grid-tile.mjs +117 -0
- package/esm2020/grid-list/index.mjs +5 -0
- package/{esm2015/grid-list/public-api.js → esm2020/grid-list/public-api.mjs} +0 -0
- package/{esm2015/grid-list/testing/grid-list-harness-filters.js → esm2020/grid-list/testing/grid-list-harness-filters.mjs} +0 -0
- package/esm2020/grid-list/testing/grid-list-harness.mjs +72 -0
- package/esm2020/grid-list/testing/grid-tile-harness.mjs +65 -0
- package/{esm2015/grid-list/testing/index.js → esm2020/grid-list/testing/index.mjs} +0 -0
- package/{esm2015/grid-list/testing/public-api.js → esm2020/grid-list/testing/public-api.mjs} +0 -0
- package/{esm2015/grid-list/tile-coordinator.js → esm2020/grid-list/tile-coordinator.mjs} +0 -0
- package/{esm2015/grid-list/tile-styler.js → esm2020/grid-list/tile-styler.mjs} +0 -0
- package/{esm2015/icon/fake-svgs.js → esm2020/icon/fake-svgs.mjs} +0 -0
- package/esm2020/icon/icon-module.mjs +25 -0
- package/esm2020/icon/icon-registry.mjs +582 -0
- package/esm2020/icon/icon.mjs +357 -0
- package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
- package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
- package/esm2020/icon/testing/fake-icon-registry.mjs +92 -0
- package/{esm2015/icon/testing/icon-harness-filters.js → esm2020/icon/testing/icon-harness-filters.mjs} +0 -0
- package/esm2020/icon/testing/icon-harness.mjs +54 -0
- package/{esm2015/icon/testing/index.js → esm2020/icon/testing/index.mjs} +0 -0
- package/{esm2015/icon/testing/public-api.js → esm2020/icon/testing/public-api.mjs} +0 -0
- package/esm2020/icon/trusted-types.mjs +43 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
- package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
- package/esm2020/input/input-module.mjs +51 -0
- package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
- package/esm2020/input/input.mjs +428 -0
- package/{esm2015/input/public-api.js → esm2020/input/public-api.mjs} +0 -0
- package/{esm2015/input/testing/index.js → esm2020/input/testing/index.mjs} +0 -0
- package/{esm2015/input/testing/input-harness-filters.js → esm2020/input/testing/input-harness-filters.mjs} +0 -0
- package/esm2020/input/testing/input-harness.mjs +113 -0
- package/esm2020/input/testing/native-option-harness.mjs +42 -0
- package/{esm2015/input/testing/native-select-harness-filters.js → esm2020/input/testing/native-select-harness-filters.mjs} +0 -0
- package/esm2020/input/testing/native-select-harness.mjs +79 -0
- package/{esm2015/input/testing/public-api.js → esm2020/input/testing/public-api.mjs} +0 -0
- package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
- package/esm2020/list/list-module.mjs +71 -0
- package/esm2020/list/list.mjs +216 -0
- package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
- package/esm2020/list/selection-list.mjs +612 -0
- package/esm2020/list/testing/action-list-harness.mjs +59 -0
- package/{esm2015/list/testing/index.js → esm2020/list/testing/index.mjs} +0 -0
- package/esm2020/list/testing/list-harness-base.mjs +88 -0
- package/{esm2015/list/testing/list-harness-filters.js → esm2020/list/testing/list-harness-filters.mjs} +0 -0
- package/{esm2015/list/testing/list-harness.js → esm2020/list/testing/list-harness.mjs} +0 -0
- package/esm2020/list/testing/list-item-harness-base.mjs +72 -0
- package/esm2020/list/testing/nav-list-harness.mjs +64 -0
- package/{esm2015/list/testing/public-api.js → esm2020/list/testing/public-api.mjs} +0 -0
- package/esm2020/list/testing/selection-list-harness.mjs +125 -0
- package/esm2020/menu/index.mjs +5 -0
- package/{esm2015/menu/menu-animations.js → esm2020/menu/menu-animations.mjs} +0 -0
- package/esm2020/menu/menu-content.mjs +97 -0
- package/{esm2015/menu/menu-errors.js → esm2020/menu/menu-errors.mjs} +0 -0
- package/esm2020/menu/menu-item.mjs +164 -0
- package/esm2020/menu/menu-module.mjs +58 -0
- package/{esm2015/menu/menu-panel.js → esm2020/menu/menu-panel.mjs} +0 -0
- package/{esm2015/menu/menu-positions.js → esm2020/menu/menu-positions.mjs} +0 -0
- package/esm2020/menu/menu-trigger.mjs +540 -0
- package/esm2020/menu/menu.mjs +401 -0
- package/{esm2015/menu/public-api.js → esm2020/menu/public-api.mjs} +0 -0
- package/{esm2015/menu/testing/index.js → esm2020/menu/testing/index.mjs} +0 -0
- package/{esm2015/menu/testing/menu-harness-filters.js → esm2020/menu/testing/menu-harness-filters.mjs} +0 -0
- package/esm2020/menu/testing/menu-harness.mjs +183 -0
- package/{esm2015/menu/testing/public-api.js → esm2020/menu/testing/public-api.mjs} +0 -0
- package/{esm2015/paginator/index.js → esm2020/paginator/index.mjs} +0 -0
- package/esm2020/paginator/paginator-intl.mjs +64 -0
- package/esm2020/paginator/paginator-module.mjs +47 -0
- package/esm2020/paginator/paginator.mjs +268 -0
- package/{esm2015/paginator/public-api.js → esm2020/paginator/public-api.mjs} +0 -0
- package/{esm2015/paginator/testing/index.js → esm2020/paginator/testing/index.mjs} +0 -0
- package/{esm2015/paginator/testing/paginator-harness-filters.js → esm2020/paginator/testing/paginator-harness-filters.mjs} +0 -0
- package/esm2020/paginator/testing/paginator-harness.mjs +91 -0
- package/{esm2015/paginator/testing/public-api.js → esm2020/paginator/testing/public-api.mjs} +0 -0
- package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
- package/esm2020/progress-bar/progress-bar-module.mjs +26 -0
- package/esm2020/progress-bar/progress-bar.mjs +187 -0
- package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
- package/{esm2015/progress-bar/testing/index.js → esm2020/progress-bar/testing/index.mjs} +0 -0
- package/{esm2015/progress-bar/testing/progress-bar-harness-filters.js → esm2020/progress-bar/testing/progress-bar-harness-filters.mjs} +0 -0
- package/esm2020/progress-bar/testing/progress-bar-harness.mjs +34 -0
- package/{esm2015/progress-bar/testing/public-api.js → esm2020/progress-bar/testing/public-api.mjs} +0 -0
- package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
- package/esm2020/progress-spinner/progress-spinner-module.mjs +36 -0
- package/esm2020/progress-spinner/progress-spinner.mjs +280 -0
- package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
- package/{esm2015/progress-spinner/testing/index.js → esm2020/progress-spinner/testing/index.mjs} +0 -0
- package/{esm2015/progress-spinner/testing/progress-spinner-harness-filters.js → esm2020/progress-spinner/testing/progress-spinner-harness-filters.mjs} +0 -0
- package/esm2020/progress-spinner/testing/progress-spinner-harness.mjs +35 -0
- package/{esm2015/progress-spinner/testing/public-api.js → esm2020/progress-spinner/testing/public-api.mjs} +0 -0
- package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
- package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
- package/esm2020/radio/radio-module.mjs +25 -0
- package/esm2020/radio/radio.mjs +570 -0
- package/{esm2015/radio/testing/index.js → esm2020/radio/testing/index.mjs} +0 -0
- package/{esm2015/radio/testing/public-api.js → esm2020/radio/testing/public-api.mjs} +0 -0
- package/{esm2015/radio/testing/radio-harness-filters.js → esm2020/radio/testing/radio-harness-filters.mjs} +0 -0
- package/esm2020/radio/testing/radio-harness.mjs +231 -0
- package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
- package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
- package/{esm2015/select/select-animations.js → esm2020/select/select-animations.mjs} +0 -0
- package/{esm2015/select/select-errors.js → esm2020/select/select-errors.mjs} +0 -0
- package/esm2020/select/select-module.mjs +58 -0
- package/esm2020/select/select.mjs +1188 -0
- package/{esm2015/select/testing/index.js → esm2020/select/testing/index.mjs} +0 -0
- package/{esm2015/select/testing/public-api.js → esm2020/select/testing/public-api.mjs} +0 -0
- package/{esm2015/select/testing/select-harness-filters.js → esm2020/select/testing/select-harness-filters.mjs} +0 -0
- package/esm2020/select/testing/select-harness.mjs +130 -0
- package/{esm2015/sidenav/drawer-animations.js → esm2020/sidenav/drawer-animations.mjs} +0 -0
- package/esm2020/sidenav/drawer.mjs +788 -0
- package/esm2020/sidenav/index.mjs +5 -0
- package/{esm2015/sidenav/public-api.js → esm2020/sidenav/public-api.mjs} +0 -0
- package/esm2020/sidenav/sidenav-module.mjs +71 -0
- package/esm2020/sidenav/sidenav.mjs +115 -0
- package/esm2020/sidenav/testing/drawer-container-harness.mjs +36 -0
- package/{esm2015/sidenav/testing/drawer-content-harness.js → esm2020/sidenav/testing/drawer-content-harness.mjs} +0 -0
- package/{esm2015/sidenav/testing/drawer-harness-filters.js → esm2020/sidenav/testing/drawer-harness-filters.mjs} +0 -0
- package/esm2020/sidenav/testing/drawer-harness.mjs +50 -0
- package/{esm2015/sidenav/testing/index.js → esm2020/sidenav/testing/index.mjs} +0 -0
- package/{esm2015/sidenav/testing/public-api.js → esm2020/sidenav/testing/public-api.mjs} +0 -0
- package/esm2020/sidenav/testing/sidenav-container-harness.mjs +36 -0
- package/{esm2015/sidenav/testing/sidenav-content-harness.js → esm2020/sidenav/testing/sidenav-content-harness.mjs} +0 -0
- package/esm2020/sidenav/testing/sidenav-harness.mjs +29 -0
- package/{esm2015/slide-toggle/index.js → esm2020/slide-toggle/index.mjs} +0 -0
- package/{esm2015/slide-toggle/public-api.js → esm2020/slide-toggle/public-api.mjs} +0 -0
- package/{esm2015/slide-toggle/slide-toggle-config.js → esm2020/slide-toggle/slide-toggle-config.mjs} +0 -0
- package/esm2020/slide-toggle/slide-toggle-module.mjs +57 -0
- package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +36 -0
- package/esm2020/slide-toggle/slide-toggle.mjs +253 -0
- package/{esm2015/slide-toggle/testing/index.js → esm2020/slide-toggle/testing/index.mjs} +0 -0
- package/{esm2015/slide-toggle/testing/public-api.js → esm2020/slide-toggle/testing/public-api.mjs} +0 -0
- package/{esm2015/slide-toggle/testing/slide-toggle-harness-filters.js → esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs} +0 -0
- package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +110 -0
- package/{esm2015/slider/index.js → esm2020/slider/index.mjs} +0 -0
- package/{esm2015/slider/public-api.js → esm2020/slider/public-api.mjs} +0 -0
- package/esm2020/slider/slider-module.mjs +26 -0
- package/esm2020/slider/slider.mjs +801 -0
- package/{esm2015/slider/testing/index.js → esm2020/slider/testing/index.mjs} +0 -0
- package/{esm2015/slider/testing/public-api.js → esm2020/slider/testing/public-api.mjs} +0 -0
- package/{esm2015/slider/testing/slider-harness-filters.js → esm2020/slider/testing/slider-harness-filters.mjs} +0 -0
- package/esm2020/slider/testing/slider-harness.mjs +114 -0
- package/{esm2015/snack-bar/index.js → esm2020/snack-bar/index.mjs} +0 -0
- package/{esm2015/snack-bar/public-api.js → esm2020/snack-bar/public-api.mjs} +0 -0
- package/esm2020/snack-bar/simple-snack-bar.mjs +44 -0
- package/{esm2015/snack-bar/snack-bar-animations.js → esm2020/snack-bar/snack-bar-animations.mjs} +0 -0
- package/{esm2015/snack-bar/snack-bar-config.js → esm2020/snack-bar/snack-bar-config.mjs} +0 -0
- package/esm2020/snack-bar/snack-bar-container.mjs +205 -0
- package/esm2020/snack-bar/snack-bar-module.mjs +47 -0
- package/esm2020/snack-bar/snack-bar-ref.mjs +90 -0
- package/esm2020/snack-bar/snack-bar.mjs +265 -0
- package/{esm2015/snack-bar/testing/index.js → esm2020/snack-bar/testing/index.mjs} +0 -0
- package/{esm2015/snack-bar/testing/public-api.js → esm2020/snack-bar/testing/public-api.mjs} +0 -0
- package/{esm2015/snack-bar/testing/snack-bar-harness-filters.js → esm2020/snack-bar/testing/snack-bar-harness-filters.mjs} +0 -0
- package/esm2020/snack-bar/testing/snack-bar-harness.mjs +118 -0
- package/{esm2015/sort/index.js → esm2020/sort/index.mjs} +0 -0
- package/{esm2015/sort/public-api.js → esm2020/sort/public-api.mjs} +0 -0
- package/{esm2015/sort/sort-animations.js → esm2020/sort/sort-animations.mjs} +0 -0
- package/{esm2015/sort/sort-direction.js → esm2020/sort/sort-direction.mjs} +0 -0
- package/{esm2015/sort/sort-errors.js → esm2020/sort/sort-errors.mjs} +0 -0
- package/esm2020/sort/sort-header-intl.mjs +43 -0
- package/esm2020/sort/sort-header.mjs +275 -0
- package/esm2020/sort/sort-module.mjs +29 -0
- package/esm2020/sort/sort.mjs +154 -0
- package/{esm2015/sort/testing/index.js → esm2020/sort/testing/index.mjs} +0 -0
- package/{esm2015/sort/testing/public-api.js → esm2020/sort/testing/public-api.mjs} +0 -0
- package/{esm2015/sort/testing/sort-harness-filters.js → esm2020/sort/testing/sort-harness-filters.mjs} +0 -0
- package/esm2020/sort/testing/sort-harness.mjs +36 -0
- package/esm2020/sort/testing/sort-header-harness.mjs +56 -0
- package/{esm2015/stepper/index.js → esm2020/stepper/index.mjs} +0 -0
- package/{esm2015/stepper/public-api.js → esm2020/stepper/public-api.mjs} +0 -0
- package/esm2020/stepper/step-content.mjs +26 -0
- package/esm2020/stepper/step-header.mjs +110 -0
- package/esm2020/stepper/step-label.mjs +21 -0
- package/{esm2015/stepper/stepper-animations.js → esm2020/stepper/stepper-animations.mjs} +0 -0
- package/esm2020/stepper/stepper-button.mjs +43 -0
- package/esm2020/stepper/stepper-icon.mjs +29 -0
- package/esm2020/stepper/stepper-intl.mjs +43 -0
- package/esm2020/stepper/stepper-module.mjs +97 -0
- package/esm2020/stepper/stepper.mjs +213 -0
- package/{esm2015/stepper/testing/index.js → esm2020/stepper/testing/index.mjs} +0 -0
- package/{esm2015/stepper/testing/public-api.js → esm2020/stepper/testing/public-api.mjs} +0 -0
- package/{esm2015/stepper/testing/step-harness-filters.js → esm2020/stepper/testing/step-harness-filters.mjs} +0 -0
- package/esm2020/stepper/testing/step-harness.mjs +90 -0
- package/esm2020/stepper/testing/stepper-button-harnesses.mjs +50 -0
- package/esm2020/stepper/testing/stepper-harness.mjs +50 -0
- package/esm2020/table/cell.mjs +139 -0
- package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
- package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
- package/esm2020/table/row.mjs +139 -0
- package/esm2020/table/table-data-source.mjs +310 -0
- package/esm2020/table/table-module.mjs +101 -0
- package/esm2020/table/table.mjs +71 -0
- package/esm2020/table/testing/cell-harness.mjs +72 -0
- package/{esm2015/table/testing/index.js → esm2020/table/testing/index.mjs} +0 -0
- package/{esm2015/table/testing/public-api.js → esm2020/table/testing/public-api.mjs} +0 -0
- package/esm2020/table/testing/row-harness.mjs +84 -0
- package/{esm2015/table/testing/table-harness-filters.js → esm2020/table/testing/table-harness-filters.mjs} +0 -0
- package/esm2020/table/testing/table-harness.mjs +88 -0
- package/esm2020/table/text-column.mjs +58 -0
- package/esm2020/tabs/index.mjs +5 -0
- package/esm2020/tabs/ink-bar.mjs +93 -0
- package/esm2020/tabs/paginated-tab-header.mjs +480 -0
- package/{esm2015/tabs/public-api.js → esm2020/tabs/public-api.mjs} +0 -0
- package/esm2020/tabs/tab-body.mjs +214 -0
- package/{esm2015/tabs/tab-config.js → esm2020/tabs/tab-config.mjs} +0 -0
- package/esm2020/tabs/tab-content.mjs +32 -0
- package/esm2020/tabs/tab-group.mjs +382 -0
- package/esm2020/tabs/tab-header.mjs +101 -0
- package/esm2020/tabs/tab-label-wrapper.mjs +41 -0
- package/esm2020/tabs/tab-label.mjs +43 -0
- package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +263 -0
- package/esm2020/tabs/tab.mjs +106 -0
- package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
- package/esm2020/tabs/tabs-module.mjs +93 -0
- package/{esm2015/tabs/testing/index.js → esm2020/tabs/testing/index.mjs} +0 -0
- package/{esm2015/tabs/testing/public-api.js → esm2020/tabs/testing/public-api.mjs} +0 -0
- package/esm2020/tabs/testing/tab-group-harness.mjs +58 -0
- package/{esm2015/tabs/testing/tab-harness-filters.js → esm2020/tabs/testing/tab-harness-filters.mjs} +0 -0
- package/esm2020/tabs/testing/tab-harness.mjs +66 -0
- package/esm2020/tabs/testing/tab-link-harness.mjs +42 -0
- package/esm2020/tabs/testing/tab-nav-bar-harness.mjs +54 -0
- package/{esm2015/toolbar/index.js → esm2020/toolbar/index.mjs} +0 -0
- package/{esm2015/toolbar/public-api.js → esm2020/toolbar/public-api.mjs} +0 -0
- package/{esm2015/toolbar/testing/index.js → esm2020/toolbar/testing/index.mjs} +0 -0
- package/{esm2015/toolbar/testing/public-api.js → esm2020/toolbar/testing/public-api.mjs} +0 -0
- package/{esm2015/toolbar/testing/toolbar-harness-filters.js → esm2020/toolbar/testing/toolbar-harness-filters.mjs} +0 -0
- package/esm2020/toolbar/testing/toolbar-harness.mjs +40 -0
- package/esm2020/toolbar/toolbar-module.mjs +25 -0
- package/esm2020/toolbar/toolbar.mjs +88 -0
- package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
- package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
- package/{esm2015/tooltip/testing/index.js → esm2020/tooltip/testing/index.mjs} +0 -0
- package/{esm2015/tooltip/testing/public-api.js → esm2020/tooltip/testing/public-api.mjs} +0 -0
- package/{esm2015/tooltip/testing/tooltip-harness-filters.js → esm2020/tooltip/testing/tooltip-harness-filters.mjs} +0 -0
- package/esm2020/tooltip/testing/tooltip-harness.mjs +57 -0
- package/{esm2015/tooltip/tooltip-animations.js → esm2020/tooltip/tooltip-animations.mjs} +0 -0
- package/esm2020/tooltip/tooltip-module.mjs +44 -0
- package/esm2020/tooltip/tooltip.mjs +739 -0
- package/{esm2015/tree/data-source/flat-data-source.js → esm2020/tree/data-source/flat-data-source.mjs} +0 -0
- package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
- package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
- package/esm2020/tree/node.mjs +143 -0
- package/esm2020/tree/outlet.mjs +41 -0
- package/esm2020/tree/padding.mjs +37 -0
- package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
- package/{esm2015/tree/testing/index.js → esm2020/tree/testing/index.mjs} +0 -0
- package/esm2020/tree/testing/node-harness.mjs +69 -0
- package/{esm2015/tree/testing/public-api.js → esm2020/tree/testing/public-api.mjs} +0 -0
- package/{esm2015/tree/testing/tree-harness-filters.js → esm2020/tree/testing/tree-harness-filters.mjs} +0 -0
- package/esm2020/tree/testing/tree-harness.mjs +123 -0
- package/esm2020/tree/toggle.mjs +36 -0
- package/esm2020/tree/tree-module.mjs +51 -0
- package/esm2020/tree/tree.mjs +37 -0
- package/expansion/accordion.d.ts +3 -0
- package/expansion/expansion-module.d.ts +12 -7
- package/expansion/expansion-panel-content.d.ts +3 -0
- package/expansion/expansion-panel-header.d.ts +8 -1
- package/expansion/expansion-panel.d.ts +5 -0
- package/expansion/package.json +5 -5
- package/expansion/testing/package.json +5 -5
- package/fesm2015/autocomplete/testing.mjs +132 -0
- package/fesm2015/autocomplete/testing.mjs.map +1 -0
- package/fesm2015/autocomplete.mjs +958 -0
- package/fesm2015/autocomplete.mjs.map +1 -0
- package/fesm2015/badge/testing.mjs +97 -0
- package/fesm2015/badge/testing.mjs.map +1 -0
- package/fesm2015/badge.mjs +266 -0
- package/fesm2015/badge.mjs.map +1 -0
- package/fesm2015/bottom-sheet/testing.mjs +52 -0
- package/fesm2015/bottom-sheet/testing.mjs.map +1 -0
- package/fesm2015/bottom-sheet.mjs +596 -0
- package/fesm2015/bottom-sheet.mjs.map +1 -0
- package/fesm2015/button/testing.mjs +76 -0
- package/fesm2015/button/testing.mjs.map +1 -0
- package/fesm2015/button-toggle/testing.mjs +181 -0
- package/fesm2015/button-toggle/testing.mjs.map +1 -0
- package/fesm2015/button-toggle.mjs +502 -0
- package/fesm2015/button-toggle.mjs.map +1 -0
- package/fesm2015/button.mjs +202 -0
- package/fesm2015/button.mjs.map +1 -0
- package/fesm2015/card/testing.mjs +64 -0
- package/fesm2015/card/testing.mjs.map +1 -0
- package/fesm2015/card.mjs +322 -0
- package/fesm2015/card.mjs.map +1 -0
- package/fesm2015/checkbox/testing.mjs +168 -0
- package/fesm2015/checkbox/testing.mjs.map +1 -0
- package/fesm2015/checkbox.mjs +503 -0
- package/fesm2015/checkbox.mjs.map +1 -0
- package/fesm2015/chips/testing.mjs +423 -0
- package/fesm2015/chips/testing.mjs.map +1 -0
- package/fesm2015/chips.mjs +1354 -0
- package/fesm2015/chips.mjs.map +1 -0
- package/fesm2015/core/testing.mjs +120 -0
- package/fesm2015/core/testing.mjs.map +1 -0
- package/fesm2015/core.mjs +1719 -0
- package/fesm2015/core.mjs.map +1 -0
- package/fesm2015/datepicker/testing.mjs +635 -0
- package/fesm2015/datepicker/testing.mjs.map +1 -0
- package/fesm2015/datepicker.mjs +3948 -0
- package/fesm2015/datepicker.mjs.map +1 -0
- package/fesm2015/dialog/testing.mjs +119 -0
- package/fesm2015/dialog/testing.mjs.map +1 -0
- package/fesm2015/dialog.mjs +1155 -0
- package/fesm2015/dialog.mjs.map +1 -0
- package/fesm2015/divider/testing.mjs +39 -0
- package/fesm2015/divider/testing.mjs.map +1 -0
- package/fesm2015/divider.mjs +77 -0
- package/fesm2015/divider.mjs.map +1 -0
- package/fesm2015/expansion/testing.mjs +187 -0
- package/fesm2015/expansion/testing.mjs.map +1 -0
- package/fesm2015/expansion.mjs +641 -0
- package/fesm2015/expansion.mjs.map +1 -0
- package/fesm2015/form-field/testing/control.mjs +26 -0
- package/fesm2015/form-field/testing/control.mjs.map +1 -0
- package/fesm2015/form-field/testing.mjs +231 -0
- package/fesm2015/form-field/testing.mjs.map +1 -0
- package/fesm2015/form-field.mjs +814 -0
- package/fesm2015/form-field.mjs.map +1 -0
- package/fesm2015/grid-list/testing.mjs +161 -0
- package/fesm2015/grid-list/testing.mjs.map +1 -0
- package/fesm2015/grid-list.mjs +700 -0
- package/fesm2015/grid-list.mjs.map +1 -0
- package/fesm2015/icon/testing.mjs +163 -0
- package/fesm2015/icon/testing.mjs.map +1 -0
- package/fesm2015/icon.mjs +1016 -0
- package/fesm2015/icon.mjs.map +1 -0
- package/fesm2015/input/testing.mjs +281 -0
- package/fesm2015/input/testing.mjs.map +1 -0
- package/fesm2015/input.mjs +515 -0
- package/fesm2015/input.mjs.map +1 -0
- package/fesm2015/list/testing.mjs +486 -0
- package/fesm2015/list/testing.mjs.map +1 -0
- package/fesm2015/list.mjs +908 -0
- package/fesm2015/list.mjs.map +1 -0
- package/fesm2015/material.mjs +16 -0
- package/fesm2015/material.mjs.map +1 -0
- package/fesm2015/menu/testing.mjs +235 -0
- package/fesm2015/menu/testing.mjs.map +1 -0
- package/fesm2015/menu.mjs +1363 -0
- package/fesm2015/menu.mjs.map +1 -0
- package/fesm2015/paginator/testing.mjs +118 -0
- package/fesm2015/paginator/testing.mjs.map +1 -0
- package/fesm2015/paginator.mjs +387 -0
- package/fesm2015/paginator.mjs.map +1 -0
- package/fesm2015/progress-bar/testing.mjs +51 -0
- package/fesm2015/progress-bar/testing.mjs.map +1 -0
- package/fesm2015/progress-bar.mjs +225 -0
- package/fesm2015/progress-bar.mjs.map +1 -0
- package/fesm2015/progress-spinner/testing.mjs +52 -0
- package/fesm2015/progress-spinner/testing.mjs.map +1 -0
- package/fesm2015/progress-spinner.mjs +330 -0
- package/fesm2015/progress-spinner.mjs.map +1 -0
- package/fesm2015/radio/testing.mjs +284 -0
- package/fesm2015/radio/testing.mjs.map +1 -0
- package/fesm2015/radio.mjs +599 -0
- package/fesm2015/radio.mjs.map +1 -0
- package/fesm2015/select/testing.mjs +169 -0
- package/fesm2015/select/testing.mjs.map +1 -0
- package/fesm2015/select.mjs +1346 -0
- package/fesm2015/select.mjs.map +1 -0
- package/fesm2015/sidenav/testing.mjs +195 -0
- package/fesm2015/sidenav/testing.mjs.map +1 -0
- package/fesm2015/sidenav.mjs +1013 -0
- package/fesm2015/sidenav.mjs.map +1 -0
- package/fesm2015/slide-toggle/testing.mjs +151 -0
- package/fesm2015/slide-toggle/testing.mjs.map +1 -0
- package/fesm2015/slide-toggle.mjs +359 -0
- package/fesm2015/slide-toggle.mjs.map +1 -0
- package/fesm2015/slider/testing.mjs +153 -0
- package/fesm2015/slider/testing.mjs.map +1 -0
- package/fesm2015/slider.mjs +830 -0
- package/fesm2015/slider.mjs.map +1 -0
- package/fesm2015/snack-bar/testing.mjs +153 -0
- package/fesm2015/snack-bar/testing.mjs.map +1 -0
- package/fesm2015/snack-bar.mjs +698 -0
- package/fesm2015/snack-bar.mjs.map +1 -0
- package/fesm2015/sort/testing.mjs +110 -0
- package/fesm2015/sort/testing.mjs.map +1 -0
- package/fesm2015/sort.mjs +605 -0
- package/fesm2015/sort.mjs.map +1 -0
- package/fesm2015/stepper/testing.mjs +216 -0
- package/fesm2015/stepper/testing.mjs.map +1 -0
- package/fesm2015/stepper.mjs +579 -0
- package/fesm2015/stepper.mjs.map +1 -0
- package/fesm2015/table/testing.mjs +259 -0
- package/fesm2015/table/testing.mjs.map +1 -0
- package/fesm2015/table.mjs +817 -0
- package/fesm2015/table.mjs.map +1 -0
- package/fesm2015/tabs/testing.mjs +245 -0
- package/fesm2015/tabs/testing.mjs.map +1 -0
- package/fesm2015/tabs.mjs +1846 -0
- package/fesm2015/tabs.mjs.map +1 -0
- package/fesm2015/toolbar/testing.mjs +59 -0
- package/fesm2015/toolbar/testing.mjs.map +1 -0
- package/fesm2015/toolbar.mjs +118 -0
- package/fesm2015/toolbar.mjs.map +1 -0
- package/fesm2015/tooltip/testing.mjs +80 -0
- package/fesm2015/tooltip/testing.mjs.map +1 -0
- package/fesm2015/tooltip.mjs +820 -0
- package/fesm2015/tooltip.mjs.map +1 -0
- package/fesm2015/tree/testing.mjs +215 -0
- package/fesm2015/tree/testing.mjs.map +1 -0
- package/fesm2015/tree.mjs +520 -0
- package/fesm2015/tree.mjs.map +1 -0
- package/fesm2020/autocomplete/testing.mjs +128 -0
- package/fesm2020/autocomplete/testing.mjs.map +1 -0
- package/fesm2020/autocomplete.mjs +958 -0
- package/fesm2020/autocomplete.mjs.map +1 -0
- package/fesm2020/badge/testing.mjs +99 -0
- package/fesm2020/badge/testing.mjs.map +1 -0
- package/fesm2020/badge.mjs +271 -0
- package/fesm2020/badge.mjs.map +1 -0
- package/fesm2020/bottom-sheet/testing.mjs +62 -0
- package/fesm2020/bottom-sheet/testing.mjs.map +1 -0
- package/fesm2020/bottom-sheet.mjs +592 -0
- package/fesm2020/bottom-sheet.mjs.map +1 -0
- package/fesm2020/button/testing.mjs +78 -0
- package/fesm2020/button/testing.mjs.map +1 -0
- package/fesm2020/button-toggle/testing.mjs +176 -0
- package/fesm2020/button-toggle/testing.mjs.map +1 -0
- package/fesm2020/button-toggle.mjs +505 -0
- package/fesm2020/button-toggle.mjs.map +1 -0
- package/fesm2020/button.mjs +205 -0
- package/fesm2020/button.mjs.map +1 -0
- package/fesm2020/card/testing.mjs +70 -0
- package/fesm2020/card/testing.mjs.map +1 -0
- package/fesm2020/card.mjs +320 -0
- package/fesm2020/card.mjs.map +1 -0
- package/fesm2020/checkbox/testing.mjs +150 -0
- package/fesm2020/checkbox/testing.mjs.map +1 -0
- package/fesm2020/checkbox.mjs +507 -0
- package/fesm2020/checkbox.mjs.map +1 -0
- package/fesm2020/chips/testing.mjs +398 -0
- package/fesm2020/chips/testing.mjs.map +1 -0
- package/fesm2020/chips.mjs +1346 -0
- package/fesm2020/chips.mjs.map +1 -0
- package/fesm2020/core/testing.mjs +131 -0
- package/fesm2020/core/testing.mjs.map +1 -0
- package/fesm2020/core.mjs +1731 -0
- package/fesm2020/core.mjs.map +1 -0
- package/fesm2020/datepicker/testing.mjs +572 -0
- package/fesm2020/datepicker/testing.mjs.map +1 -0
- package/fesm2020/datepicker.mjs +3921 -0
- package/fesm2020/datepicker.mjs.map +1 -0
- package/fesm2020/dialog/testing.mjs +110 -0
- package/fesm2020/dialog/testing.mjs.map +1 -0
- package/fesm2020/dialog.mjs +1147 -0
- package/fesm2020/dialog.mjs.map +1 -0
- package/fesm2020/divider/testing.mjs +49 -0
- package/fesm2020/divider/testing.mjs.map +1 -0
- package/fesm2020/divider.mjs +77 -0
- package/fesm2020/divider.mjs.map +1 -0
- package/fesm2020/expansion/testing.mjs +176 -0
- package/fesm2020/expansion/testing.mjs.map +1 -0
- package/fesm2020/expansion.mjs +644 -0
- package/fesm2020/expansion.mjs.map +1 -0
- package/fesm2020/form-field/testing/control.mjs +26 -0
- package/fesm2020/form-field/testing/control.mjs.map +1 -0
- package/fesm2020/form-field/testing.mjs +209 -0
- package/fesm2020/form-field/testing.mjs.map +1 -0
- package/fesm2020/form-field.mjs +817 -0
- package/fesm2020/form-field.mjs.map +1 -0
- package/fesm2020/grid-list/testing.mjs +162 -0
- package/fesm2020/grid-list/testing.mjs.map +1 -0
- package/fesm2020/grid-list.mjs +696 -0
- package/fesm2020/grid-list.mjs.map +1 -0
- package/fesm2020/icon/testing.mjs +169 -0
- package/fesm2020/icon/testing.mjs.map +1 -0
- package/fesm2020/icon.mjs +1010 -0
- package/fesm2020/icon.mjs.map +1 -0
- package/fesm2020/input/testing.mjs +265 -0
- package/fesm2020/input/testing.mjs.map +1 -0
- package/fesm2020/input.mjs +512 -0
- package/fesm2020/input.mjs.map +1 -0
- package/fesm2020/list/testing.mjs +464 -0
- package/fesm2020/list/testing.mjs.map +1 -0
- package/fesm2020/list.mjs +901 -0
- package/fesm2020/list.mjs.map +1 -0
- package/fesm2020/material.mjs +16 -0
- package/fesm2020/material.mjs.map +1 -0
- package/fesm2020/menu/testing.mjs +210 -0
- package/fesm2020/menu/testing.mjs.map +1 -0
- package/fesm2020/menu.mjs +1365 -0
- package/fesm2020/menu.mjs.map +1 -0
- package/fesm2020/paginator/testing.mjs +118 -0
- package/fesm2020/paginator/testing.mjs.map +1 -0
- package/fesm2020/paginator.mjs +385 -0
- package/fesm2020/paginator.mjs.map +1 -0
- package/fesm2020/progress-bar/testing.mjs +61 -0
- package/fesm2020/progress-bar/testing.mjs.map +1 -0
- package/fesm2020/progress-bar.mjs +223 -0
- package/fesm2020/progress-bar.mjs.map +1 -0
- package/fesm2020/progress-spinner/testing.mjs +62 -0
- package/fesm2020/progress-spinner/testing.mjs.map +1 -0
- package/fesm2020/progress-spinner.mjs +326 -0
- package/fesm2020/progress-spinner.mjs.map +1 -0
- package/fesm2020/radio/testing.mjs +258 -0
- package/fesm2020/radio/testing.mjs.map +1 -0
- package/fesm2020/radio.mjs +604 -0
- package/fesm2020/radio.mjs.map +1 -0
- package/fesm2020/select/testing.mjs +157 -0
- package/fesm2020/select/testing.mjs.map +1 -0
- package/fesm2020/select.mjs +1338 -0
- package/fesm2020/select.mjs.map +1 -0
- package/fesm2020/sidenav/testing.mjs +214 -0
- package/fesm2020/sidenav/testing.mjs.map +1 -0
- package/fesm2020/sidenav.mjs +1004 -0
- package/fesm2020/sidenav.mjs.map +1 -0
- package/fesm2020/slide-toggle/testing.mjs +137 -0
- package/fesm2020/slide-toggle/testing.mjs.map +1 -0
- package/fesm2020/slide-toggle.mjs +364 -0
- package/fesm2020/slide-toggle.mjs.map +1 -0
- package/fesm2020/slider/testing.mjs +133 -0
- package/fesm2020/slider/testing.mjs.map +1 -0
- package/fesm2020/slider.mjs +835 -0
- package/fesm2020/slider.mjs.map +1 -0
- package/fesm2020/snack-bar/testing.mjs +145 -0
- package/fesm2020/snack-bar/testing.mjs.map +1 -0
- package/fesm2020/snack-bar.mjs +701 -0
- package/fesm2020/snack-bar.mjs.map +1 -0
- package/fesm2020/sort/testing.mjs +109 -0
- package/fesm2020/sort/testing.mjs.map +1 -0
- package/fesm2020/sort.mjs +609 -0
- package/fesm2020/sort.mjs.map +1 -0
- package/fesm2020/stepper/testing.mjs +206 -0
- package/fesm2020/stepper/testing.mjs.map +1 -0
- package/fesm2020/stepper.mjs +589 -0
- package/fesm2020/stepper.mjs.map +1 -0
- package/fesm2020/table/testing.mjs +259 -0
- package/fesm2020/table/testing.mjs.map +1 -0
- package/fesm2020/table.mjs +814 -0
- package/fesm2020/table.mjs.map +1 -0
- package/fesm2020/tabs/testing.mjs +234 -0
- package/fesm2020/tabs/testing.mjs.map +1 -0
- package/fesm2020/tabs.mjs +1829 -0
- package/fesm2020/tabs.mjs.map +1 -0
- package/fesm2020/toolbar/testing.mjs +67 -0
- package/fesm2020/toolbar/testing.mjs.map +1 -0
- package/fesm2020/toolbar.mjs +123 -0
- package/fesm2020/toolbar.mjs.map +1 -0
- package/fesm2020/tooltip/testing.mjs +84 -0
- package/fesm2020/tooltip/testing.mjs.map +1 -0
- package/fesm2020/tooltip.mjs +815 -0
- package/fesm2020/tooltip.mjs.map +1 -0
- package/fesm2020/tree/testing.mjs +217 -0
- package/fesm2020/tree/testing.mjs.map +1 -0
- package/fesm2020/tree.mjs +514 -0
- package/fesm2020/tree.mjs.map +1 -0
- package/form-field/error.d.ts +3 -0
- package/form-field/form-field-control.d.ts +3 -0
- package/form-field/form-field-module.d.ts +14 -7
- package/form-field/form-field.d.ts +4 -1
- package/form-field/hint.d.ts +3 -0
- package/form-field/label.d.ts +3 -7
- package/form-field/package.json +5 -5
- package/form-field/placeholder.d.ts +3 -7
- package/form-field/prefix.d.ts +3 -0
- package/form-field/suffix.d.ts +3 -0
- package/form-field/testing/control/package.json +5 -5
- package/form-field/testing/package.json +5 -5
- package/grid-list/grid-list-module.d.ts +7 -7
- package/grid-list/grid-list.d.ts +3 -0
- package/grid-list/grid-tile.d.ts +11 -0
- package/grid-list/index.d.ts +0 -1
- package/grid-list/package.json +5 -5
- package/grid-list/testing/package.json +5 -5
- package/icon/icon-module.d.ts +6 -7
- package/icon/icon-registry.d.ts +3 -7
- package/icon/icon.d.ts +4 -1
- package/icon/package.json +5 -5
- package/icon/testing/fake-icon-registry.d.ts +6 -0
- package/icon/testing/package.json +5 -5
- package/input/input-module.d.ts +8 -7
- package/input/input.d.ts +4 -1
- package/input/package.json +5 -5
- package/input/testing/package.json +5 -5
- package/list/list-module.d.ts +9 -7
- package/list/list.d.ts +15 -2
- package/list/package.json +5 -5
- package/list/selection-list.d.ts +7 -2
- package/list/testing/package.json +5 -5
- package/menu/index.d.ts +0 -2
- package/menu/menu-content.d.ts +5 -7
- package/menu/menu-item.d.ts +4 -1
- package/menu/menu-module.d.ts +12 -7
- package/menu/menu-trigger.d.ts +5 -0
- package/menu/menu.d.ts +5 -0
- package/menu/package.json +5 -5
- package/menu/testing/package.json +5 -5
- package/package.json +612 -8
- package/paginator/package.json +5 -5
- package/paginator/paginator-intl.d.ts +3 -0
- package/paginator/paginator-module.d.ts +10 -7
- package/paginator/paginator.d.ts +6 -1
- package/paginator/testing/package.json +5 -5
- package/progress-bar/package.json +5 -5
- package/progress-bar/progress-bar-module.d.ts +7 -7
- package/progress-bar/progress-bar.d.ts +4 -1
- package/progress-bar/testing/package.json +5 -5
- package/progress-spinner/package.json +5 -5
- package/progress-spinner/progress-spinner-module.d.ts +7 -0
- package/progress-spinner/progress-spinner.d.ts +6 -1
- package/progress-spinner/testing/package.json +5 -5
- package/radio/package.json +5 -5
- package/radio/radio-module.d.ts +6 -7
- package/radio/radio.d.ts +10 -1
- package/radio/testing/package.json +5 -5
- package/schematics/ng-add/fonts/material-fonts.js +8 -17
- package/schematics/ng-add/fonts/material-fonts.mjs +8 -17
- package/schematics/ng-add/index.js +8 -8
- package/schematics/ng-add/index.mjs +8 -8
- package/schematics/ng-add/setup-project.js +23 -32
- package/schematics/ng-add/setup-project.mjs +23 -32
- package/schematics/ng-add/theming/create-custom-theme.js +2 -2
- package/schematics/ng-add/theming/create-custom-theme.mjs +2 -2
- package/schematics/ng-add/theming/theming.js +35 -46
- package/schematics/ng-add/theming/theming.mjs +35 -46
- package/schematics/ng-generate/address-form/index.js +13 -22
- package/schematics/ng-generate/address-form/index.mjs +13 -22
- package/schematics/ng-generate/dashboard/index.js +13 -22
- package/schematics/ng-generate/dashboard/index.mjs +13 -22
- package/schematics/ng-generate/navigation/index.js +13 -22
- package/schematics/ng-generate/navigation/index.mjs +13 -22
- package/schematics/ng-generate/table/index.js +10 -19
- package/schematics/ng-generate/table/index.mjs +10 -19
- package/schematics/ng-generate/tree/index.js +10 -19
- package/schematics/ng-generate/tree/index.mjs +10 -19
- package/schematics/ng-update/index.js +9 -9
- package/schematics/ng-update/index.mjs +9 -9
- package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +24 -24
- package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +24 -24
- package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +5 -5
- package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +5 -5
- package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.js +2 -2
- package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.mjs +2 -2
- package/schematics/ng-update/migrations/misc-checks/misc-imports.js +2 -2
- package/schematics/ng-update/migrations/misc-checks/misc-imports.mjs +2 -2
- package/schematics/ng-update/migrations/misc-checks/misc-template.js +4 -4
- package/schematics/ng-update/migrations/misc-checks/misc-template.mjs +4 -4
- package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.js +7 -7
- package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.mjs +7 -7
- package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +2 -3
- package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +2 -3
- package/schematics/ng-update/migrations/theming-api-v12/migration.d.ts +6 -6
- package/schematics/ng-update/migrations/theming-api-v12/migration.js +12 -12
- package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +12 -12
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.js +3 -3
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.mjs +3 -3
- package/schematics/ng-update/typescript/module-specifiers.js +3 -3
- package/schematics/ng-update/typescript/module-specifiers.mjs +3 -3
- package/schematics/package.json +3 -0
- package/schematics/paths.js +3 -3
- package/schematics/paths.mjs +3 -3
- package/select/package.json +5 -5
- package/select/select-module.d.ts +10 -7
- package/select/select.d.ts +8 -1
- package/select/testing/package.json +5 -5
- package/sidenav/drawer.d.ts +7 -0
- package/sidenav/index.d.ts +0 -1
- package/sidenav/package.json +5 -5
- package/sidenav/sidenav-module.d.ts +10 -0
- package/sidenav/sidenav.d.ts +7 -0
- package/sidenav/testing/package.json +5 -5
- package/slide-toggle/package.json +5 -5
- package/slide-toggle/slide-toggle-module.d.ts +11 -7
- package/slide-toggle/slide-toggle-required-validator.d.ts +3 -0
- package/slide-toggle/slide-toggle.d.ts +4 -1
- package/slide-toggle/testing/package.json +5 -5
- package/slider/package.json +5 -5
- package/slider/slider-module.d.ts +7 -7
- package/slider/slider.d.ts +4 -1
- package/slider/testing/package.json +5 -5
- package/snack-bar/package.json +5 -5
- package/snack-bar/simple-snack-bar.d.ts +3 -7
- package/snack-bar/snack-bar-container.d.ts +3 -0
- package/snack-bar/snack-bar-module.d.ts +11 -7
- package/snack-bar/snack-bar.d.ts +3 -0
- package/snack-bar/testing/package.json +5 -5
- package/sort/package.json +5 -5
- package/sort/sort-header-intl.d.ts +3 -0
- package/sort/sort-header.d.ts +4 -1
- package/sort/sort-module.d.ts +8 -7
- package/sort/sort.d.ts +4 -1
- package/sort/testing/package.json +5 -5
- package/stepper/package.json +5 -5
- package/stepper/step-content.d.ts +3 -0
- package/stepper/step-header.d.ts +6 -1
- package/stepper/step-label.d.ts +3 -7
- package/stepper/stepper-button.d.ts +5 -0
- package/stepper/stepper-icon.d.ts +3 -0
- package/stepper/stepper-intl.d.ts +7 -0
- package/stepper/stepper-module.d.ts +16 -7
- package/stepper/stepper.d.ts +11 -0
- package/stepper/testing/package.json +5 -5
- package/table/cell.d.ts +15 -7
- package/table/package.json +5 -5
- package/table/row.d.ts +15 -0
- package/table/table-module.d.ts +10 -7
- package/table/table.d.ts +5 -0
- package/table/testing/package.json +5 -5
- package/table/text-column.d.ts +3 -0
- package/tabs/index.d.ts +0 -4
- package/tabs/ink-bar.d.ts +3 -0
- package/tabs/package.json +5 -5
- package/tabs/paginated-tab-header.d.ts +3 -0
- package/tabs/tab-body.d.ts +7 -0
- package/tabs/tab-content.d.ts +3 -0
- package/tabs/tab-group.d.ts +6 -1
- package/tabs/tab-header.d.ts +5 -0
- package/tabs/tab-label-wrapper.d.ts +4 -1
- package/tabs/tab-label.d.ts +3 -0
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +10 -1
- package/tabs/tab.d.ts +4 -1
- package/tabs/tabs-module.d.ts +18 -7
- package/tabs/testing/package.json +5 -5
- package/toolbar/package.json +5 -5
- package/toolbar/testing/package.json +5 -5
- package/toolbar/toolbar-module.d.ts +6 -7
- package/toolbar/toolbar.d.ts +6 -1
- package/tooltip/package.json +5 -5
- package/tooltip/testing/package.json +5 -5
- package/tooltip/tooltip-module.d.ts +10 -7
- package/tooltip/tooltip.d.ts +11 -2
- package/tree/node.d.ts +8 -1
- package/tree/outlet.d.ts +3 -0
- package/tree/package.json +5 -5
- package/tree/padding.d.ts +3 -0
- package/tree/testing/package.json +5 -5
- package/tree/toggle.d.ts +3 -7
- package/tree/tree-module.d.ts +11 -7
- package/tree/tree.d.ts +3 -0
- package/autocomplete/index.metadata.json +0 -1
- package/badge/index.metadata.json +0 -1
- package/bottom-sheet/index.metadata.json +0 -1
- package/bundles/material-autocomplete-testing.umd.js +0 -564
- package/bundles/material-autocomplete-testing.umd.js.map +0 -1
- package/bundles/material-autocomplete.umd.js +0 -1266
- package/bundles/material-autocomplete.umd.js.map +0 -1
- package/bundles/material-badge-testing.umd.js +0 -474
- package/bundles/material-badge-testing.umd.js.map +0 -1
- package/bundles/material-badge.umd.js +0 -604
- package/bundles/material-badge.umd.js.map +0 -1
- package/bundles/material-bottom-sheet-testing.umd.js +0 -396
- package/bundles/material-bottom-sheet-testing.umd.js.map +0 -1
- package/bundles/material-bottom-sheet.umd.js +0 -948
- package/bundles/material-bottom-sheet.umd.js.map +0 -1
- package/bundles/material-button-testing.umd.js +0 -444
- package/bundles/material-button-testing.umd.js.map +0 -1
- package/bundles/material-button-toggle-testing.umd.js +0 -628
- package/bundles/material-button-toggle-testing.umd.js.map +0 -1
- package/bundles/material-button-toggle.umd.js +0 -850
- package/bundles/material-button-toggle.umd.js.map +0 -1
- package/bundles/material-button.umd.js +0 -545
- package/bundles/material-button.umd.js.map +0 -1
- package/bundles/material-card-testing.umd.js +0 -408
- package/bundles/material-card-testing.umd.js.map +0 -1
- package/bundles/material-card.umd.js +0 -337
- package/bundles/material-card.umd.js.map +0 -1
- package/bundles/material-checkbox-testing.umd.js +0 -615
- package/bundles/material-checkbox-testing.umd.js.map +0 -1
- package/bundles/material-checkbox.umd.js +0 -829
- package/bundles/material-checkbox.umd.js.map +0 -1
- package/bundles/material-chips-testing.umd.js +0 -1023
- package/bundles/material-chips-testing.umd.js.map +0 -1
- package/bundles/material-chips.umd.js +0 -1753
- package/bundles/material-chips.umd.js.map +0 -1
- package/bundles/material-core-testing.umd.js +0 -518
- package/bundles/material-core-testing.umd.js.map +0 -1
- package/bundles/material-core.umd.js +0 -2175
- package/bundles/material-core.umd.js.map +0 -1
- package/bundles/material-datepicker-testing.umd.js +0 -1366
- package/bundles/material-datepicker-testing.umd.js.map +0 -1
- package/bundles/material-datepicker.umd.js +0 -4332
- package/bundles/material-datepicker.umd.js.map +0 -1
- package/bundles/material-dialog-testing.umd.js +0 -500
- package/bundles/material-dialog-testing.umd.js.map +0 -1
- package/bundles/material-dialog.umd.js +0 -1487
- package/bundles/material-dialog.umd.js.map +0 -1
- package/bundles/material-divider-testing.umd.js +0 -380
- package/bundles/material-divider-testing.umd.js.map +0 -1
- package/bundles/material-divider.umd.js +0 -95
- package/bundles/material-divider.umd.js.map +0 -1
- package/bundles/material-expansion-testing.umd.js +0 -627
- package/bundles/material-expansion-testing.umd.js.map +0 -1
- package/bundles/material-expansion.umd.js +0 -949
- package/bundles/material-expansion.umd.js.map +0 -1
- package/bundles/material-form-field-testing-control.umd.js +0 -350
- package/bundles/material-form-field-testing-control.umd.js.map +0 -1
- package/bundles/material-form-field-testing.umd.js +0 -708
- package/bundles/material-form-field-testing.umd.js.map +0 -1
- package/bundles/material-form-field.umd.js +0 -1131
- package/bundles/material-form-field.umd.js.map +0 -1
- package/bundles/material-grid-list-testing.umd.js +0 -566
- package/bundles/material-grid-list-testing.umd.js.map +0 -1
- package/bundles/material-grid-list.umd.js +0 -1070
- package/bundles/material-grid-list.umd.js.map +0 -1
- package/bundles/material-icon-testing.umd.js +0 -527
- package/bundles/material-icon-testing.umd.js.map +0 -1
- package/bundles/material-icon.umd.js +0 -1391
- package/bundles/material-icon.umd.js.map +0 -1
- package/bundles/material-input-testing.umd.js +0 -806
- package/bundles/material-input-testing.umd.js.map +0 -1
- package/bundles/material-input.umd.js +0 -817
- package/bundles/material-input.umd.js.map +0 -1
- package/bundles/material-list-testing.umd.js +0 -1092
- package/bundles/material-list-testing.umd.js.map +0 -1
- package/bundles/material-list.umd.js +0 -1284
- package/bundles/material-list.umd.js.map +0 -1
- package/bundles/material-menu-testing.umd.js +0 -722
- package/bundles/material-menu-testing.umd.js.map +0 -1
- package/bundles/material-menu.umd.js +0 -1677
- package/bundles/material-menu.umd.js.map +0 -1
- package/bundles/material-paginator-testing.umd.js +0 -504
- package/bundles/material-paginator-testing.umd.js.map +0 -1
- package/bundles/material-paginator.umd.js +0 -746
- package/bundles/material-paginator.umd.js.map +0 -1
- package/bundles/material-progress-bar-testing.umd.js +0 -395
- package/bundles/material-progress-bar-testing.umd.js.map +0 -1
- package/bundles/material-progress-bar.umd.js +0 -546
- package/bundles/material-progress-bar.umd.js.map +0 -1
- package/bundles/material-progress-spinner-testing.umd.js +0 -399
- package/bundles/material-progress-spinner-testing.umd.js.map +0 -1
- package/bundles/material-progress-spinner.umd.js +0 -631
- package/bundles/material-progress-spinner.umd.js.map +0 -1
- package/bundles/material-radio-testing.umd.js +0 -812
- package/bundles/material-radio-testing.umd.js.map +0 -1
- package/bundles/material-radio.umd.js +0 -971
- package/bundles/material-radio.umd.js.map +0 -1
- package/bundles/material-select-testing.umd.js +0 -620
- package/bundles/material-select-testing.umd.js.map +0 -1
- package/bundles/material-select.umd.js +0 -1667
- package/bundles/material-select.umd.js.map +0 -1
- package/bundles/material-sidenav-testing.umd.js +0 -603
- package/bundles/material-sidenav-testing.umd.js.map +0 -1
- package/bundles/material-sidenav.umd.js +0 -1368
- package/bundles/material-sidenav.umd.js.map +0 -1
- package/bundles/material-slide-toggle-testing.umd.js +0 -582
- package/bundles/material-slide-toggle-testing.umd.js.map +0 -1
- package/bundles/material-slide-toggle.umd.js +0 -670
- package/bundles/material-slide-toggle.umd.js.map +0 -1
- package/bundles/material-slider-testing.umd.js +0 -587
- package/bundles/material-slider-testing.umd.js.map +0 -1
- package/bundles/material-slider.umd.js +0 -1186
- package/bundles/material-slider.umd.js.map +0 -1
- package/bundles/material-snack-bar-testing.umd.js +0 -553
- package/bundles/material-snack-bar-testing.umd.js.map +0 -1
- package/bundles/material-snack-bar.umd.js +0 -1075
- package/bundles/material-snack-bar.umd.js.map +0 -1
- package/bundles/material-sort-testing.umd.js +0 -493
- package/bundles/material-sort-testing.umd.js.map +0 -1
- package/bundles/material-sort.umd.js +0 -943
- package/bundles/material-sort.umd.js.map +0 -1
- package/bundles/material-stepper-testing.umd.js +0 -703
- package/bundles/material-stepper-testing.umd.js.map +0 -1
- package/bundles/material-stepper.umd.js +0 -893
- package/bundles/material-stepper.umd.js.map +0 -1
- package/bundles/material-table-testing.umd.js +0 -700
- package/bundles/material-table-testing.umd.js.map +0 -1
- package/bundles/material-table.umd.js +0 -1121
- package/bundles/material-table.umd.js.map +0 -1
- package/bundles/material-tabs-testing.umd.js +0 -744
- package/bundles/material-tabs-testing.umd.js.map +0 -1
- package/bundles/material-tabs.umd.js +0 -2183
- package/bundles/material-tabs.umd.js.map +0 -1
- package/bundles/material-toolbar-testing.umd.js +0 -406
- package/bundles/material-toolbar-testing.umd.js.map +0 -1
- package/bundles/material-toolbar.umd.js +0 -454
- package/bundles/material-toolbar.umd.js.map +0 -1
- package/bundles/material-tooltip-testing.umd.js +0 -460
- package/bundles/material-tooltip-testing.umd.js.map +0 -1
- package/bundles/material-tooltip.umd.js +0 -1170
- package/bundles/material-tooltip.umd.js.map +0 -1
- package/bundles/material-tree-testing.umd.js +0 -636
- package/bundles/material-tree-testing.umd.js.map +0 -1
- package/bundles/material-tree.umd.js +0 -837
- package/bundles/material-tree.umd.js.map +0 -1
- package/bundles/material.umd.js +0 -26
- package/bundles/material.umd.js.map +0 -1
- package/button/index.metadata.json +0 -1
- package/button-toggle/index.metadata.json +0 -1
- package/card/index.metadata.json +0 -1
- package/checkbox/index.metadata.json +0 -1
- package/chips/index.metadata.json +0 -1
- package/core/index.metadata.json +0 -1
- package/datepicker/index.metadata.json +0 -1
- package/dialog/index.metadata.json +0 -1
- package/divider/index.metadata.json +0 -1
- package/esm2015/autocomplete/autocomplete-module.js +0 -38
- package/esm2015/autocomplete/autocomplete-origin.js +0 -35
- package/esm2015/autocomplete/autocomplete-trigger.js +0 -627
- package/esm2015/autocomplete/autocomplete.externs.js +0 -6
- package/esm2015/autocomplete/autocomplete.js +0 -202
- package/esm2015/autocomplete/testing/autocomplete-harness.js +0 -120
- package/esm2015/autocomplete/testing/testing.externs.js +0 -0
- package/esm2015/badge/badge-module.js +0 -24
- package/esm2015/badge/badge.externs.js +0 -6
- package/esm2015/badge/badge.js +0 -213
- package/esm2015/badge/testing/badge-harness.js +0 -85
- package/esm2015/badge/testing/testing.externs.js +0 -0
- package/esm2015/bottom-sheet/bottom-sheet-container.js +0 -246
- package/esm2015/bottom-sheet/bottom-sheet-module.js +0 -27
- package/esm2015/bottom-sheet/bottom-sheet-ref.js +0 -91
- package/esm2015/bottom-sheet/bottom-sheet.externs.js +0 -6
- package/esm2015/bottom-sheet/bottom-sheet.js +0 -167
- package/esm2015/bottom-sheet/testing/bottom-sheet-harness.js +0 -40
- package/esm2015/bottom-sheet/testing/testing.externs.js +0 -0
- package/esm2015/button/button-module.js +0 -30
- package/esm2015/button/button.externs.js +0 -6
- package/esm2015/button/button.js +0 -163
- package/esm2015/button/testing/button-harness.js +0 -64
- package/esm2015/button/testing/testing.externs.js +0 -0
- package/esm2015/button-toggle/button-toggle-module.js +0 -20
- package/esm2015/button-toggle/button-toggle.externs.js +0 -6
- package/esm2015/button-toggle/button-toggle.js +0 -441
- package/esm2015/button-toggle/testing/button-toggle-group-harness.js +0 -54
- package/esm2015/button-toggle/testing/button-toggle-harness.js +0 -125
- package/esm2015/button-toggle/testing/testing.externs.js +0 -0
- package/esm2015/card/card-module.js +0 -40
- package/esm2015/card/card.externs.js +0 -6
- package/esm2015/card/card.js +0 -223
- package/esm2015/card/testing/card-harness.js +0 -52
- package/esm2015/card/testing/testing.externs.js +0 -0
- package/esm2015/checkbox/checkbox-module.js +0 -34
- package/esm2015/checkbox/checkbox-required-validator.js +0 -29
- package/esm2015/checkbox/checkbox.externs.js +0 -6
- package/esm2015/checkbox/checkbox.js +0 -385
- package/esm2015/checkbox/testing/checkbox-harness.js +0 -156
- package/esm2015/checkbox/testing/testing.externs.js +0 -0
- package/esm2015/chips/chip-input.js +0 -180
- package/esm2015/chips/chip-list.js +0 -663
- package/esm2015/chips/chip.js +0 -394
- package/esm2015/chips/chips-module.js +0 -43
- package/esm2015/chips/chips.externs.js +0 -6
- package/esm2015/chips/testing/chip-harness.js +0 -110
- package/esm2015/chips/testing/chip-input-harness.js +0 -101
- package/esm2015/chips/testing/chip-list-harness.js +0 -99
- package/esm2015/chips/testing/chip-listbox-harness.js +0 -49
- package/esm2015/chips/testing/chip-option-harness.js +0 -54
- package/esm2015/chips/testing/chip-remove-harness.js +0 -29
- package/esm2015/chips/testing/testing.externs.js +0 -0
- package/esm2015/core/common-behaviors/common-module.js +0 -113
- package/esm2015/core/common-behaviors/index.js +0 -15
- package/esm2015/core/core.externs.js +0 -6
- package/esm2015/core/datetime/index.js +0 -38
- package/esm2015/core/datetime/native-date-adapter.js +0 -213
- package/esm2015/core/error/error-options.js +0 -29
- package/esm2015/core/index.js +0 -6
- package/esm2015/core/line/line.js +0 -56
- package/esm2015/core/option/index.js +0 -27
- package/esm2015/core/option/optgroup.js +0 -84
- package/esm2015/core/option/option.js +0 -274
- package/esm2015/core/ripple/index.js +0 -24
- package/esm2015/core/ripple/ripple-renderer.js +0 -261
- package/esm2015/core/ripple/ripple.js +0 -128
- package/esm2015/core/selection/index.js +0 -21
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -55
- package/esm2015/core/testing/optgroup-harness.js +0 -51
- package/esm2015/core/testing/option-harness.js +0 -67
- package/esm2015/core/testing/testing.externs.js +0 -0
- package/esm2015/core/version.js +0 -11
- package/esm2015/datepicker/calendar-body.js +0 -291
- package/esm2015/datepicker/calendar.js +0 -330
- package/esm2015/datepicker/date-range-input-parts.js +0 -315
- package/esm2015/datepicker/date-range-input.js +0 -316
- package/esm2015/datepicker/date-range-picker.js +0 -40
- package/esm2015/datepicker/date-range-selection-strategy.js +0 -58
- package/esm2015/datepicker/date-selection-model.js +0 -189
- package/esm2015/datepicker/datepicker-actions.js +0 -89
- package/esm2015/datepicker/datepicker-base.js +0 -529
- package/esm2015/datepicker/datepicker-input-base.js +0 -290
- package/esm2015/datepicker/datepicker-input.js +0 -164
- package/esm2015/datepicker/datepicker-intl.js +0 -51
- package/esm2015/datepicker/datepicker-module.js +0 -93
- package/esm2015/datepicker/datepicker-toggle.js +0 -104
- package/esm2015/datepicker/datepicker.externs.js +0 -6
- package/esm2015/datepicker/datepicker.js +0 -30
- package/esm2015/datepicker/index.js +0 -9
- package/esm2015/datepicker/month-view.js +0 -344
- package/esm2015/datepicker/multi-year-view.js +0 -280
- package/esm2015/datepicker/testing/calendar-cell-harness.js +0 -181
- package/esm2015/datepicker/testing/calendar-harness.js +0 -91
- package/esm2015/datepicker/testing/date-range-input-harness.js +0 -116
- package/esm2015/datepicker/testing/datepicker-input-harness-base.js +0 -102
- package/esm2015/datepicker/testing/datepicker-input-harness.js +0 -69
- package/esm2015/datepicker/testing/datepicker-toggle-harness.js +0 -48
- package/esm2015/datepicker/testing/datepicker-trigger-harness-base.js +0 -77
- package/esm2015/datepicker/testing/testing.externs.js +0 -0
- package/esm2015/datepicker/year-view.js +0 -268
- package/esm2015/dialog/dialog-container.js +0 -295
- package/esm2015/dialog/dialog-content-directives.js +0 -159
- package/esm2015/dialog/dialog-module.js +0 -46
- package/esm2015/dialog/dialog-ref.js +0 -196
- package/esm2015/dialog/dialog.externs.js +0 -6
- package/esm2015/dialog/dialog.js +0 -353
- package/esm2015/dialog/testing/dialog-harness.js +0 -103
- package/esm2015/dialog/testing/testing.externs.js +0 -0
- package/esm2015/divider/divider-module.js +0 -20
- package/esm2015/divider/divider.externs.js +0 -6
- package/esm2015/divider/divider.js +0 -43
- package/esm2015/divider/testing/divider-harness.js +0 -27
- package/esm2015/divider/testing/testing.externs.js +0 -0
- package/esm2015/expansion/accordion.js +0 -83
- package/esm2015/expansion/expansion-module.js +0 -42
- package/esm2015/expansion/expansion-panel-content.js +0 -26
- package/esm2015/expansion/expansion-panel-header.js +0 -214
- package/esm2015/expansion/expansion-panel.js +0 -186
- package/esm2015/expansion/expansion.externs.js +0 -6
- package/esm2015/expansion/testing/accordion-harness.js +0 -36
- package/esm2015/expansion/testing/expansion-harness.js +0 -149
- package/esm2015/expansion/testing/testing.externs.js +0 -0
- package/esm2015/form-field/error.js +0 -45
- package/esm2015/form-field/form-field-control.js +0 -15
- package/esm2015/form-field/form-field-module.js +0 -49
- package/esm2015/form-field/form-field.externs.js +0 -6
- package/esm2015/form-field/form-field.js +0 -482
- package/esm2015/form-field/hint.js +0 -45
- package/esm2015/form-field/label.js +0 -17
- package/esm2015/form-field/placeholder.js +0 -22
- package/esm2015/form-field/prefix.js +0 -24
- package/esm2015/form-field/suffix.js +0 -24
- package/esm2015/form-field/testing/control/control.externs.js +0 -0
- package/esm2015/form-field/testing/form-field-harness.js +0 -218
- package/esm2015/form-field/testing/testing.externs.js +0 -0
- package/esm2015/grid-list/grid-list-module.js +0 -37
- package/esm2015/grid-list/grid-list.externs.js +0 -6
- package/esm2015/grid-list/grid-list.js +0 -135
- package/esm2015/grid-list/grid-tile.js +0 -116
- package/esm2015/grid-list/index.js +0 -6
- package/esm2015/grid-list/testing/grid-list-harness.js +0 -79
- package/esm2015/grid-list/testing/grid-tile-harness.js +0 -80
- package/esm2015/grid-list/testing/testing.externs.js +0 -0
- package/esm2015/icon/icon-module.js +0 -20
- package/esm2015/icon/icon-registry.js +0 -581
- package/esm2015/icon/icon.externs.js +0 -6
- package/esm2015/icon/icon.js +0 -362
- package/esm2015/icon/testing/fake-icon-registry.js +0 -85
- package/esm2015/icon/testing/icon-harness.js +0 -63
- package/esm2015/icon/testing/testing.externs.js +0 -6
- package/esm2015/icon/trusted-types.js +0 -44
- package/esm2015/input/input-module.js +0 -33
- package/esm2015/input/input.externs.js +0 -6
- package/esm2015/input/input.js +0 -395
- package/esm2015/input/testing/input-harness.js +0 -138
- package/esm2015/input/testing/native-option-harness.js +0 -51
- package/esm2015/input/testing/native-select-harness.js +0 -100
- package/esm2015/input/testing/testing.externs.js +0 -0
- package/esm2015/list/list-module.js +0 -45
- package/esm2015/list/list.externs.js +0 -6
- package/esm2015/list/list.js +0 -218
- package/esm2015/list/selection-list.js +0 -608
- package/esm2015/list/testing/action-list-harness.js +0 -68
- package/esm2015/list/testing/list-harness-base.js +0 -97
- package/esm2015/list/testing/list-item-harness-base.js +0 -85
- package/esm2015/list/testing/nav-list-harness.js +0 -75
- package/esm2015/list/testing/selection-list-harness.js +0 -152
- package/esm2015/list/testing/testing.externs.js +0 -0
- package/esm2015/material.externs.js +0 -0
- package/esm2015/menu/index.js +0 -7
- package/esm2015/menu/menu-content.js +0 -97
- package/esm2015/menu/menu-item.js +0 -164
- package/esm2015/menu/menu-module.js +0 -39
- package/esm2015/menu/menu-trigger.js +0 -505
- package/esm2015/menu/menu.externs.js +0 -6
- package/esm2015/menu/menu.js +0 -381
- package/esm2015/menu/testing/menu-harness.js +0 -223
- package/esm2015/menu/testing/testing.externs.js +0 -0
- package/esm2015/paginator/paginator-intl.js +0 -62
- package/esm2015/paginator/paginator-module.js +0 -32
- package/esm2015/paginator/paginator.externs.js +0 -6
- package/esm2015/paginator/paginator.js +0 -263
- package/esm2015/paginator/testing/paginator-harness.js +0 -106
- package/esm2015/paginator/testing/testing.externs.js +0 -0
- package/esm2015/progress-bar/progress-bar-module.js +0 -21
- package/esm2015/progress-bar/progress-bar.externs.js +0 -6
- package/esm2015/progress-bar/progress-bar.js +0 -179
- package/esm2015/progress-bar/testing/progress-bar-harness.js +0 -39
- package/esm2015/progress-bar/testing/testing.externs.js +0 -0
- package/esm2015/progress-spinner/progress-spinner-module.js +0 -28
- package/esm2015/progress-spinner/progress-spinner.externs.js +0 -6
- package/esm2015/progress-spinner/progress-spinner.js +0 -274
- package/esm2015/progress-spinner/testing/progress-spinner-harness.js +0 -40
- package/esm2015/progress-spinner/testing/testing.externs.js +0 -0
- package/esm2015/radio/radio-module.js +0 -20
- package/esm2015/radio/radio.externs.js +0 -6
- package/esm2015/radio/radio.js +0 -546
- package/esm2015/radio/testing/radio-harness.js +0 -272
- package/esm2015/radio/testing/testing.externs.js +0 -0
- package/esm2015/select/select-module.js +0 -37
- package/esm2015/select/select.externs.js +0 -6
- package/esm2015/select/select.js +0 -1140
- package/esm2015/select/testing/select-harness.js +0 -157
- package/esm2015/select/testing/testing.externs.js +0 -0
- package/esm2015/sidenav/drawer.js +0 -766
- package/esm2015/sidenav/index.js +0 -6
- package/esm2015/sidenav/sidenav-module.js +0 -45
- package/esm2015/sidenav/sidenav.externs.js +0 -6
- package/esm2015/sidenav/sidenav.js +0 -118
- package/esm2015/sidenav/testing/drawer-container-harness.js +0 -41
- package/esm2015/sidenav/testing/drawer-harness.js +0 -57
- package/esm2015/sidenav/testing/sidenav-container-harness.js +0 -41
- package/esm2015/sidenav/testing/sidenav-harness.js +0 -32
- package/esm2015/sidenav/testing/testing.externs.js +0 -0
- package/esm2015/slide-toggle/slide-toggle-module.js +0 -40
- package/esm2015/slide-toggle/slide-toggle-required-validator.js +0 -32
- package/esm2015/slide-toggle/slide-toggle.externs.js +0 -6
- package/esm2015/slide-toggle/slide-toggle.js +0 -236
- package/esm2015/slide-toggle/testing/slide-toggle-harness.js +0 -139
- package/esm2015/slide-toggle/testing/testing.externs.js +0 -0
- package/esm2015/slider/slider-module.js +0 -21
- package/esm2015/slider/slider.externs.js +0 -6
- package/esm2015/slider/slider.js +0 -788
- package/esm2015/slider/testing/slider-harness.js +0 -141
- package/esm2015/slider/testing/testing.externs.js +0 -0
- package/esm2015/snack-bar/simple-snack-bar.js +0 -45
- package/esm2015/snack-bar/snack-bar-container.js +0 -224
- package/esm2015/snack-bar/snack-bar-module.js +0 -32
- package/esm2015/snack-bar/snack-bar-ref.js +0 -90
- package/esm2015/snack-bar/snack-bar.externs.js +0 -6
- package/esm2015/snack-bar/snack-bar.js +0 -264
- package/esm2015/snack-bar/testing/snack-bar-harness.js +0 -141
- package/esm2015/snack-bar/testing/testing.externs.js +0 -0
- package/esm2015/sort/sort-header-intl.js +0 -41
- package/esm2015/sort/sort-header.js +0 -268
- package/esm2015/sort/sort-module.js +0 -24
- package/esm2015/sort/sort.externs.js +0 -6
- package/esm2015/sort/sort.js +0 -140
- package/esm2015/sort/testing/sort-harness.js +0 -41
- package/esm2015/sort/testing/sort-header-harness.js +0 -67
- package/esm2015/sort/testing/testing.externs.js +0 -0
- package/esm2015/stepper/step-content.js +0 -25
- package/esm2015/stepper/step-header.js +0 -108
- package/esm2015/stepper/step-label.js +0 -17
- package/esm2015/stepper/stepper-button.js +0 -36
- package/esm2015/stepper/stepper-icon.js +0 -28
- package/esm2015/stepper/stepper-intl.js +0 -37
- package/esm2015/stepper/stepper-module.js +0 -61
- package/esm2015/stepper/stepper.externs.js +0 -6
- package/esm2015/stepper/stepper.js +0 -187
- package/esm2015/stepper/testing/step-harness.js +0 -111
- package/esm2015/stepper/testing/stepper-button-harnesses.js +0 -55
- package/esm2015/stepper/testing/stepper-harness.js +0 -57
- package/esm2015/stepper/testing/testing.externs.js +0 -0
- package/esm2015/table/cell.js +0 -114
- package/esm2015/table/row.js +0 -116
- package/esm2015/table/table-data-source.js +0 -312
- package/esm2015/table/table-module.js +0 -50
- package/esm2015/table/table.externs.js +0 -6
- package/esm2015/table/table.js +0 -63
- package/esm2015/table/testing/cell-harness.js +0 -77
- package/esm2015/table/testing/row-harness.js +0 -91
- package/esm2015/table/testing/table-harness.js +0 -99
- package/esm2015/table/testing/testing.externs.js +0 -0
- package/esm2015/table/text-column.js +0 -44
- package/esm2015/tabs/index.js +0 -9
- package/esm2015/tabs/ink-bar.js +0 -87
- package/esm2015/tabs/paginated-tab-header.js +0 -477
- package/esm2015/tabs/tab-body.js +0 -212
- package/esm2015/tabs/tab-content.js +0 -31
- package/esm2015/tabs/tab-group.js +0 -357
- package/esm2015/tabs/tab-header.js +0 -94
- package/esm2015/tabs/tab-label-wrapper.js +0 -47
- package/esm2015/tabs/tab-label.js +0 -39
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -241
- package/esm2015/tabs/tab.js +0 -107
- package/esm2015/tabs/tabs-module.js +0 -60
- package/esm2015/tabs/tabs.externs.js +0 -6
- package/esm2015/tabs/testing/tab-group-harness.js +0 -65
- package/esm2015/tabs/testing/tab-harness.js +0 -85
- package/esm2015/tabs/testing/tab-link-harness.js +0 -51
- package/esm2015/tabs/testing/tab-nav-bar-harness.js +0 -61
- package/esm2015/tabs/testing/testing.externs.js +0 -0
- package/esm2015/toolbar/testing/testing.externs.js +0 -0
- package/esm2015/toolbar/testing/toolbar-harness.js +0 -47
- package/esm2015/toolbar/toolbar-module.js +0 -20
- package/esm2015/toolbar/toolbar.externs.js +0 -6
- package/esm2015/toolbar/toolbar.js +0 -91
- package/esm2015/tooltip/testing/testing.externs.js +0 -0
- package/esm2015/tooltip/testing/tooltip-harness.js +0 -68
- package/esm2015/tooltip/tooltip-module.js +0 -31
- package/esm2015/tooltip/tooltip.externs.js +0 -6
- package/esm2015/tooltip/tooltip.js +0 -737
- package/esm2015/tree/node.js +0 -131
- package/esm2015/tree/outlet.js +0 -33
- package/esm2015/tree/padding.js +0 -31
- package/esm2015/tree/testing/node-harness.js +0 -84
- package/esm2015/tree/testing/testing.externs.js +0 -0
- package/esm2015/tree/testing/tree-harness.js +0 -129
- package/esm2015/tree/toggle.js +0 -32
- package/esm2015/tree/tree-module.js +0 -34
- package/esm2015/tree/tree.externs.js +0 -6
- package/esm2015/tree/tree.js +0 -43
- package/expansion/index.metadata.json +0 -1
- package/fesm2015/autocomplete/testing.js +0 -147
- package/fesm2015/autocomplete/testing.js.map +0 -1
- package/fesm2015/autocomplete.js +0 -901
- package/fesm2015/autocomplete.js.map +0 -1
- package/fesm2015/badge/testing.js +0 -112
- package/fesm2015/badge/testing.js.map +0 -1
- package/fesm2015/badge.js +0 -248
- package/fesm2015/badge.js.map +0 -1
- package/fesm2015/bottom-sheet/testing.js +0 -67
- package/fesm2015/bottom-sheet/testing.js.map +0 -1
- package/fesm2015/bottom-sheet.js +0 -596
- package/fesm2015/bottom-sheet.js.map +0 -1
- package/fesm2015/button/testing.js +0 -91
- package/fesm2015/button/testing.js.map +0 -1
- package/fesm2015/button-toggle/testing.js +0 -211
- package/fesm2015/button-toggle/testing.js.map +0 -1
- package/fesm2015/button-toggle.js +0 -473
- package/fesm2015/button-toggle.js.map +0 -1
- package/fesm2015/button.js +0 -205
- package/fesm2015/button.js.map +0 -1
- package/fesm2015/card/testing.js +0 -79
- package/fesm2015/card/testing.js.map +0 -1
- package/fesm2015/card.js +0 -276
- package/fesm2015/card.js.map +0 -1
- package/fesm2015/checkbox/testing.js +0 -183
- package/fesm2015/checkbox/testing.js.map +0 -1
- package/fesm2015/checkbox.js +0 -476
- package/fesm2015/checkbox.js.map +0 -1
- package/fesm2015/chips/testing.js +0 -465
- package/fesm2015/chips/testing.js.map +0 -1
- package/fesm2015/chips.js +0 -1286
- package/fesm2015/chips.js.map +0 -1
- package/fesm2015/core/testing.js +0 -150
- package/fesm2015/core/testing.js.map +0 -1
- package/fesm2015/core.js +0 -1681
- package/fesm2015/core.js.map +0 -1
- package/fesm2015/datepicker/testing.js +0 -692
- package/fesm2015/datepicker/testing.js.map +0 -1
- package/fesm2015/datepicker.js +0 -3733
- package/fesm2015/datepicker.js.map +0 -1
- package/fesm2015/dialog/testing.js +0 -130
- package/fesm2015/dialog/testing.js.map +0 -1
- package/fesm2015/dialog.js +0 -1127
- package/fesm2015/dialog.js.map +0 -1
- package/fesm2015/divider/testing.js +0 -54
- package/fesm2015/divider/testing.js.map +0 -1
- package/fesm2015/divider.js +0 -76
- package/fesm2015/divider.js.map +0 -1
- package/fesm2015/expansion/testing.js +0 -209
- package/fesm2015/expansion/testing.js.map +0 -1
- package/fesm2015/expansion.js +0 -600
- package/fesm2015/expansion.js.map +0 -1
- package/fesm2015/form-field/testing/control.js +0 -26
- package/fesm2015/form-field/testing/control.js.map +0 -1
- package/fesm2015/form-field/testing.js +0 -246
- package/fesm2015/form-field/testing.js.map +0 -1
- package/fesm2015/form-field.js +0 -757
- package/fesm2015/form-field.js.map +0 -1
- package/fesm2015/grid-list/testing.js +0 -183
- package/fesm2015/grid-list/testing.js.map +0 -1
- package/fesm2015/grid-list.js +0 -680
- package/fesm2015/grid-list.js.map +0 -1
- package/fesm2015/icon/testing.js +0 -171
- package/fesm2015/icon/testing.js.map +0 -1
- package/fesm2015/icon.js +0 -1012
- package/fesm2015/icon.js.map +0 -1
- package/fesm2015/input/testing.js +0 -318
- package/fesm2015/input/testing.js.map +0 -1
- package/fesm2015/input.js +0 -463
- package/fesm2015/input.js.map +0 -1
- package/fesm2015/list/testing.js +0 -529
- package/fesm2015/list/testing.js.map +0 -1
- package/fesm2015/list.js +0 -876
- package/fesm2015/list.js.map +0 -1
- package/fesm2015/material.js +0 -16
- package/fesm2015/material.js.map +0 -1
- package/fesm2015/menu/testing.js +0 -250
- package/fesm2015/menu/testing.js.map +0 -1
- package/fesm2015/menu.js +0 -1299
- package/fesm2015/menu.js.map +0 -1
- package/fesm2015/paginator/testing.js +0 -133
- package/fesm2015/paginator/testing.js.map +0 -1
- package/fesm2015/paginator.js +0 -366
- package/fesm2015/paginator.js.map +0 -1
- package/fesm2015/progress-bar/testing.js +0 -66
- package/fesm2015/progress-bar/testing.js.map +0 -1
- package/fesm2015/progress-bar.js +0 -211
- package/fesm2015/progress-bar.js.map +0 -1
- package/fesm2015/progress-spinner/testing.js +0 -67
- package/fesm2015/progress-spinner/testing.js.map +0 -1
- package/fesm2015/progress-spinner.js +0 -313
- package/fesm2015/progress-spinner.js.map +0 -1
- package/fesm2015/radio/testing.js +0 -299
- package/fesm2015/radio/testing.js.map +0 -1
- package/fesm2015/radio.js +0 -578
- package/fesm2015/radio.js.map +0 -1
- package/fesm2015/select/testing.js +0 -184
- package/fesm2015/select/testing.js.map +0 -1
- package/fesm2015/select.js +0 -1271
- package/fesm2015/select.js.map +0 -1
- package/fesm2015/sidenav/testing.js +0 -231
- package/fesm2015/sidenav/testing.js.map +0 -1
- package/fesm2015/sidenav.js +0 -965
- package/fesm2015/sidenav.js.map +0 -1
- package/fesm2015/slide-toggle/testing.js +0 -166
- package/fesm2015/slide-toggle/testing.js.map +0 -1
- package/fesm2015/slide-toggle.js +0 -329
- package/fesm2015/slide-toggle.js.map +0 -1
- package/fesm2015/slider/testing.js +0 -160
- package/fesm2015/slider/testing.js.map +0 -1
- package/fesm2015/slider.js +0 -820
- package/fesm2015/slider.js.map +0 -1
- package/fesm2015/snack-bar/testing.js +0 -168
- package/fesm2015/snack-bar/testing.js.map +0 -1
- package/fesm2015/snack-bar.js +0 -712
- package/fesm2015/snack-bar.js.map +0 -1
- package/fesm2015/sort/testing.js +0 -124
- package/fesm2015/sort/testing.js.map +0 -1
- package/fesm2015/sort.js +0 -587
- package/fesm2015/sort.js.map +0 -1
- package/fesm2015/stepper/testing.js +0 -237
- package/fesm2015/stepper/testing.js.map +0 -1
- package/fesm2015/stepper.js +0 -519
- package/fesm2015/stepper.js.map +0 -1
- package/fesm2015/table/testing.js +0 -280
- package/fesm2015/table/testing.js.map +0 -1
- package/fesm2015/table.js +0 -701
- package/fesm2015/table.js.map +0 -1
- package/fesm2015/tabs/testing.js +0 -273
- package/fesm2015/tabs/testing.js.map +0 -1
- package/fesm2015/tabs.js +0 -1761
- package/fesm2015/tabs.js.map +0 -1
- package/fesm2015/toolbar/testing.js +0 -74
- package/fesm2015/toolbar/testing.js.map +0 -1
- package/fesm2015/toolbar.js +0 -123
- package/fesm2015/toolbar.js.map +0 -1
- package/fesm2015/tooltip/testing.js +0 -95
- package/fesm2015/tooltip/testing.js.map +0 -1
- package/fesm2015/tooltip.js +0 -802
- package/fesm2015/tooltip.js.map +0 -1
- package/fesm2015/tree/testing.js +0 -237
- package/fesm2015/tree/testing.js.map +0 -1
- package/fesm2015/tree.js +0 -479
- package/fesm2015/tree.js.map +0 -1
- package/form-field/index.metadata.json +0 -1
- package/grid-list/index.metadata.json +0 -1
- package/icon/index.metadata.json +0 -1
- package/icon/testing/index.metadata.json +0 -1
- package/input/index.metadata.json +0 -1
- package/list/index.metadata.json +0 -1
- package/menu/index.metadata.json +0 -1
- package/paginator/index.metadata.json +0 -1
- package/progress-bar/index.metadata.json +0 -1
- package/progress-spinner/index.metadata.json +0 -1
- package/radio/index.metadata.json +0 -1
- package/select/index.metadata.json +0 -1
- package/sidenav/index.metadata.json +0 -1
- package/slide-toggle/index.metadata.json +0 -1
- package/slider/index.metadata.json +0 -1
- package/snack-bar/index.metadata.json +0 -1
- package/sort/index.metadata.json +0 -1
- package/stepper/index.metadata.json +0 -1
- package/table/index.metadata.json +0 -1
- package/tabs/index.metadata.json +0 -1
- package/toolbar/index.metadata.json +0 -1
- package/tooltip/index.metadata.json +0 -1
- package/tree/index.metadata.json +0 -1
|
@@ -0,0 +1,1719 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Version, InjectionToken, isDevMode, NgModule, Optional, Inject, inject, LOCALE_ID, Injectable, Directive, Input, Component, ViewEncapsulation, ChangeDetectionStrategy, EventEmitter, Output } from '@angular/core';
|
|
3
|
+
import { BidiModule } from '@angular/cdk/bidi';
|
|
4
|
+
import { VERSION as VERSION$2 } from '@angular/cdk';
|
|
5
|
+
import * as i3 from '@angular/common';
|
|
6
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
7
|
+
import * as i1$1 from '@angular/cdk/platform';
|
|
8
|
+
import { _isTestEnvironment, PlatformModule, normalizePassiveListenerOptions } from '@angular/cdk/platform';
|
|
9
|
+
import * as i1 from '@angular/cdk/a11y';
|
|
10
|
+
import { isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader } from '@angular/cdk/a11y';
|
|
11
|
+
import { coerceBooleanProperty, coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
|
|
12
|
+
import { Subject, Observable } from 'rxjs';
|
|
13
|
+
import { startWith } from 'rxjs/operators';
|
|
14
|
+
import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
|
|
15
|
+
import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @license
|
|
19
|
+
* Copyright Google LLC All Rights Reserved.
|
|
20
|
+
*
|
|
21
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
22
|
+
* found in the LICENSE file at https://angular.io/license
|
|
23
|
+
*/
|
|
24
|
+
/** Current version of Angular Material. */
|
|
25
|
+
const VERSION$1 = new Version('13.0.0-next.8');
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright Google LLC All Rights Reserved.
|
|
30
|
+
*
|
|
31
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
32
|
+
* found in the LICENSE file at https://angular.io/license
|
|
33
|
+
*/
|
|
34
|
+
/** @docs-private */
|
|
35
|
+
class AnimationCurves {
|
|
36
|
+
}
|
|
37
|
+
AnimationCurves.STANDARD_CURVE = 'cubic-bezier(0.4,0.0,0.2,1)';
|
|
38
|
+
AnimationCurves.DECELERATION_CURVE = 'cubic-bezier(0.0,0.0,0.2,1)';
|
|
39
|
+
AnimationCurves.ACCELERATION_CURVE = 'cubic-bezier(0.4,0.0,1,1)';
|
|
40
|
+
AnimationCurves.SHARP_CURVE = 'cubic-bezier(0.4,0.0,0.6,1)';
|
|
41
|
+
/** @docs-private */
|
|
42
|
+
class AnimationDurations {
|
|
43
|
+
}
|
|
44
|
+
AnimationDurations.COMPLEX = '375ms';
|
|
45
|
+
AnimationDurations.ENTERING = '225ms';
|
|
46
|
+
AnimationDurations.EXITING = '195ms';
|
|
47
|
+
|
|
48
|
+
// Private version constant to circumvent test/build issues,
|
|
49
|
+
// i.e. avoid core to depend on the @angular/material primary entry-point
|
|
50
|
+
// Can be removed once the Material primary entry-point no longer
|
|
51
|
+
// re-exports all secondary entry-points
|
|
52
|
+
const VERSION = new Version('13.0.0-next.8');
|
|
53
|
+
/** @docs-private */
|
|
54
|
+
function MATERIAL_SANITY_CHECKS_FACTORY() {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
/** Injection token that configures whether the Material sanity checks are enabled. */
|
|
58
|
+
const MATERIAL_SANITY_CHECKS = new InjectionToken('mat-sanity-checks', {
|
|
59
|
+
providedIn: 'root',
|
|
60
|
+
factory: MATERIAL_SANITY_CHECKS_FACTORY,
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* Module that captures anything that should be loaded and/or run for *all* Angular Material
|
|
64
|
+
* components. This includes Bidi, etc.
|
|
65
|
+
*
|
|
66
|
+
* This module should be imported to each top-level component module (e.g., MatTabsModule).
|
|
67
|
+
*/
|
|
68
|
+
class MatCommonModule {
|
|
69
|
+
constructor(highContrastModeDetector, sanityChecks, document) {
|
|
70
|
+
/** Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype). */
|
|
71
|
+
this._hasDoneGlobalChecks = false;
|
|
72
|
+
this._document = document;
|
|
73
|
+
// While A11yModule also does this, we repeat it here to avoid importing A11yModule
|
|
74
|
+
// in MatCommonModule.
|
|
75
|
+
highContrastModeDetector._applyBodyHighContrastModeCssClasses();
|
|
76
|
+
// Note that `_sanityChecks` is typed to `any`, because AoT
|
|
77
|
+
// throws an error if we use the `SanityChecks` type directly.
|
|
78
|
+
this._sanityChecks = sanityChecks;
|
|
79
|
+
if (!this._hasDoneGlobalChecks) {
|
|
80
|
+
this._checkDoctypeIsDefined();
|
|
81
|
+
this._checkThemeIsPresent();
|
|
82
|
+
this._checkCdkVersionMatch();
|
|
83
|
+
this._hasDoneGlobalChecks = true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** Gets whether a specific sanity check is enabled. */
|
|
87
|
+
_checkIsEnabled(name) {
|
|
88
|
+
// TODO(crisbeto): we can't use `ngDevMode` here yet, because ViewEngine apps might not support
|
|
89
|
+
// it. Since these checks can have performance implications and they aren't tree shakeable
|
|
90
|
+
// in their current form, we can leave the `isDevMode` check in for now.
|
|
91
|
+
// tslint:disable-next-line:ban
|
|
92
|
+
if (!isDevMode() || _isTestEnvironment()) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (typeof this._sanityChecks === 'boolean') {
|
|
96
|
+
return this._sanityChecks;
|
|
97
|
+
}
|
|
98
|
+
return !!this._sanityChecks[name];
|
|
99
|
+
}
|
|
100
|
+
_checkDoctypeIsDefined() {
|
|
101
|
+
if (this._checkIsEnabled('doctype') && !this._document.doctype) {
|
|
102
|
+
console.warn('Current document does not have a doctype. This may cause ' +
|
|
103
|
+
'some Angular Material components not to behave as expected.');
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
_checkThemeIsPresent() {
|
|
107
|
+
// We need to assert that the `body` is defined, because these checks run very early
|
|
108
|
+
// and the `body` won't be defined if the consumer put their scripts in the `head`.
|
|
109
|
+
if (!this._checkIsEnabled('theme') || !this._document.body ||
|
|
110
|
+
typeof getComputedStyle !== 'function') {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const testElement = this._document.createElement('div');
|
|
114
|
+
testElement.classList.add('mat-theme-loaded-marker');
|
|
115
|
+
this._document.body.appendChild(testElement);
|
|
116
|
+
const computedStyle = getComputedStyle(testElement);
|
|
117
|
+
// In some situations the computed style of the test element can be null. For example in
|
|
118
|
+
// Firefox, the computed style is null if an application is running inside of a hidden iframe.
|
|
119
|
+
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
|
120
|
+
if (computedStyle && computedStyle.display !== 'none') {
|
|
121
|
+
console.warn('Could not find Angular Material core theme. Most Material ' +
|
|
122
|
+
'components may not work as expected. For more info refer ' +
|
|
123
|
+
'to the theming guide: https://material.angular.io/guide/theming');
|
|
124
|
+
}
|
|
125
|
+
testElement.remove();
|
|
126
|
+
}
|
|
127
|
+
/** Checks whether the material version matches the cdk version */
|
|
128
|
+
_checkCdkVersionMatch() {
|
|
129
|
+
if (this._checkIsEnabled('version') && VERSION.full !== VERSION$2.full) {
|
|
130
|
+
console.warn('The Angular Material version (' + VERSION.full + ') does not match ' +
|
|
131
|
+
'the Angular CDK version (' + VERSION$2.full + ').\n' +
|
|
132
|
+
'Please ensure the versions of these two packages exactly match.');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
MatCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatCommonModule, deps: [{ token: i1.HighContrastModeDetector }, { token: MATERIAL_SANITY_CHECKS, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
137
|
+
MatCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
|
|
138
|
+
MatCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatCommonModule, imports: [[BidiModule], BidiModule] });
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatCommonModule, decorators: [{
|
|
140
|
+
type: NgModule,
|
|
141
|
+
args: [{
|
|
142
|
+
imports: [BidiModule],
|
|
143
|
+
exports: [BidiModule],
|
|
144
|
+
}]
|
|
145
|
+
}], ctorParameters: function () {
|
|
146
|
+
return [{ type: i1.HighContrastModeDetector }, { type: undefined, decorators: [{
|
|
147
|
+
type: Optional
|
|
148
|
+
}, {
|
|
149
|
+
type: Inject,
|
|
150
|
+
args: [MATERIAL_SANITY_CHECKS]
|
|
151
|
+
}] }, { type: undefined, decorators: [{
|
|
152
|
+
type: Inject,
|
|
153
|
+
args: [DOCUMENT]
|
|
154
|
+
}] }];
|
|
155
|
+
} });
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* @license
|
|
159
|
+
* Copyright Google LLC All Rights Reserved.
|
|
160
|
+
*
|
|
161
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
162
|
+
* found in the LICENSE file at https://angular.io/license
|
|
163
|
+
*/
|
|
164
|
+
function mixinDisabled(base) {
|
|
165
|
+
return class extends base {
|
|
166
|
+
constructor(...args) {
|
|
167
|
+
super(...args);
|
|
168
|
+
this._disabled = false;
|
|
169
|
+
}
|
|
170
|
+
get disabled() { return this._disabled; }
|
|
171
|
+
set disabled(value) { this._disabled = coerceBooleanProperty(value); }
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* @license
|
|
177
|
+
* Copyright Google LLC All Rights Reserved.
|
|
178
|
+
*
|
|
179
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
180
|
+
* found in the LICENSE file at https://angular.io/license
|
|
181
|
+
*/
|
|
182
|
+
function mixinColor(base, defaultColor) {
|
|
183
|
+
return class extends base {
|
|
184
|
+
constructor(...args) {
|
|
185
|
+
super(...args);
|
|
186
|
+
this.defaultColor = defaultColor;
|
|
187
|
+
// Set the default color that can be specified from the mixin.
|
|
188
|
+
this.color = defaultColor;
|
|
189
|
+
}
|
|
190
|
+
get color() { return this._color; }
|
|
191
|
+
set color(value) {
|
|
192
|
+
const colorPalette = value || this.defaultColor;
|
|
193
|
+
if (colorPalette !== this._color) {
|
|
194
|
+
if (this._color) {
|
|
195
|
+
this._elementRef.nativeElement.classList.remove(`mat-${this._color}`);
|
|
196
|
+
}
|
|
197
|
+
if (colorPalette) {
|
|
198
|
+
this._elementRef.nativeElement.classList.add(`mat-${colorPalette}`);
|
|
199
|
+
}
|
|
200
|
+
this._color = colorPalette;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* @license
|
|
208
|
+
* Copyright Google LLC All Rights Reserved.
|
|
209
|
+
*
|
|
210
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
211
|
+
* found in the LICENSE file at https://angular.io/license
|
|
212
|
+
*/
|
|
213
|
+
function mixinDisableRipple(base) {
|
|
214
|
+
return class extends base {
|
|
215
|
+
constructor(...args) {
|
|
216
|
+
super(...args);
|
|
217
|
+
this._disableRipple = false;
|
|
218
|
+
}
|
|
219
|
+
/** Whether the ripple effect is disabled or not. */
|
|
220
|
+
get disableRipple() { return this._disableRipple; }
|
|
221
|
+
set disableRipple(value) { this._disableRipple = coerceBooleanProperty(value); }
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* @license
|
|
227
|
+
* Copyright Google LLC All Rights Reserved.
|
|
228
|
+
*
|
|
229
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
230
|
+
* found in the LICENSE file at https://angular.io/license
|
|
231
|
+
*/
|
|
232
|
+
function mixinTabIndex(base, defaultTabIndex = 0) {
|
|
233
|
+
return class extends base {
|
|
234
|
+
constructor(...args) {
|
|
235
|
+
super(...args);
|
|
236
|
+
this._tabIndex = defaultTabIndex;
|
|
237
|
+
this.defaultTabIndex = defaultTabIndex;
|
|
238
|
+
}
|
|
239
|
+
get tabIndex() { return this.disabled ? -1 : this._tabIndex; }
|
|
240
|
+
set tabIndex(value) {
|
|
241
|
+
// If the specified tabIndex value is null or undefined, fall back to the default value.
|
|
242
|
+
this._tabIndex = value != null ? coerceNumberProperty(value) : this.defaultTabIndex;
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* @license
|
|
249
|
+
* Copyright Google LLC All Rights Reserved.
|
|
250
|
+
*
|
|
251
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
252
|
+
* found in the LICENSE file at https://angular.io/license
|
|
253
|
+
*/
|
|
254
|
+
function mixinErrorState(base) {
|
|
255
|
+
return class extends base {
|
|
256
|
+
constructor(...args) {
|
|
257
|
+
super(...args);
|
|
258
|
+
// This class member exists as an interop with `MatFormFieldControl` which expects
|
|
259
|
+
// a public `stateChanges` observable to emit whenever the form field should be updated.
|
|
260
|
+
// The description is not specifically mentioning the error state, as classes using this
|
|
261
|
+
// mixin can/should emit an event in other cases too.
|
|
262
|
+
/** Emits whenever the component state changes. */
|
|
263
|
+
this.stateChanges = new Subject();
|
|
264
|
+
/** Whether the component is in an error state. */
|
|
265
|
+
this.errorState = false;
|
|
266
|
+
}
|
|
267
|
+
/** Updates the error state based on the provided error state matcher. */
|
|
268
|
+
updateErrorState() {
|
|
269
|
+
const oldState = this.errorState;
|
|
270
|
+
const parent = this._parentFormGroup || this._parentForm;
|
|
271
|
+
const matcher = this.errorStateMatcher || this._defaultErrorStateMatcher;
|
|
272
|
+
const control = this.ngControl ? this.ngControl.control : null;
|
|
273
|
+
const newState = matcher.isErrorState(control, parent);
|
|
274
|
+
if (newState !== oldState) {
|
|
275
|
+
this.errorState = newState;
|
|
276
|
+
this.stateChanges.next();
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* @license
|
|
284
|
+
* Copyright Google LLC All Rights Reserved.
|
|
285
|
+
*
|
|
286
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
287
|
+
* found in the LICENSE file at https://angular.io/license
|
|
288
|
+
*/
|
|
289
|
+
/** Mixin to augment a directive with an initialized property that will emits when ngOnInit ends. */
|
|
290
|
+
function mixinInitialized(base) {
|
|
291
|
+
return class extends base {
|
|
292
|
+
constructor(...args) {
|
|
293
|
+
super(...args);
|
|
294
|
+
/** Whether this directive has been marked as initialized. */
|
|
295
|
+
this._isInitialized = false;
|
|
296
|
+
/**
|
|
297
|
+
* List of subscribers that subscribed before the directive was initialized. Should be notified
|
|
298
|
+
* during _markInitialized. Set to null after pending subscribers are notified, and should
|
|
299
|
+
* not expect to be populated after.
|
|
300
|
+
*/
|
|
301
|
+
this._pendingSubscribers = [];
|
|
302
|
+
/**
|
|
303
|
+
* Observable stream that emits when the directive initializes. If already initialized, the
|
|
304
|
+
* subscriber is stored to be notified once _markInitialized is called.
|
|
305
|
+
*/
|
|
306
|
+
this.initialized = new Observable(subscriber => {
|
|
307
|
+
// If initialized, immediately notify the subscriber. Otherwise store the subscriber to notify
|
|
308
|
+
// when _markInitialized is called.
|
|
309
|
+
if (this._isInitialized) {
|
|
310
|
+
this._notifySubscriber(subscriber);
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
this._pendingSubscribers.push(subscriber);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Marks the state as initialized and notifies pending subscribers. Should be called at the end
|
|
319
|
+
* of ngOnInit.
|
|
320
|
+
* @docs-private
|
|
321
|
+
*/
|
|
322
|
+
_markInitialized() {
|
|
323
|
+
if (this._isInitialized && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
324
|
+
throw Error('This directive has already been marked as initialized and ' +
|
|
325
|
+
'should not be called twice.');
|
|
326
|
+
}
|
|
327
|
+
this._isInitialized = true;
|
|
328
|
+
this._pendingSubscribers.forEach(this._notifySubscriber);
|
|
329
|
+
this._pendingSubscribers = null;
|
|
330
|
+
}
|
|
331
|
+
/** Emits and completes the subscriber stream (should only emit once). */
|
|
332
|
+
_notifySubscriber(subscriber) {
|
|
333
|
+
subscriber.next();
|
|
334
|
+
subscriber.complete();
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* @license
|
|
341
|
+
* Copyright Google LLC All Rights Reserved.
|
|
342
|
+
*
|
|
343
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
344
|
+
* found in the LICENSE file at https://angular.io/license
|
|
345
|
+
*/
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* @license
|
|
349
|
+
* Copyright Google LLC All Rights Reserved.
|
|
350
|
+
*
|
|
351
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
352
|
+
* found in the LICENSE file at https://angular.io/license
|
|
353
|
+
*/
|
|
354
|
+
/** InjectionToken for datepicker that can be used to override default locale code. */
|
|
355
|
+
const MAT_DATE_LOCALE = new InjectionToken('MAT_DATE_LOCALE', {
|
|
356
|
+
providedIn: 'root',
|
|
357
|
+
factory: MAT_DATE_LOCALE_FACTORY,
|
|
358
|
+
});
|
|
359
|
+
/** @docs-private */
|
|
360
|
+
function MAT_DATE_LOCALE_FACTORY() {
|
|
361
|
+
return inject(LOCALE_ID);
|
|
362
|
+
}
|
|
363
|
+
/** Adapts type `D` to be usable as a date by cdk-based components that work with dates. */
|
|
364
|
+
class DateAdapter {
|
|
365
|
+
constructor() {
|
|
366
|
+
this._localeChanges = new Subject();
|
|
367
|
+
/** A stream that emits when the locale changes. */
|
|
368
|
+
this.localeChanges = this._localeChanges;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Given a potential date object, returns that same date object if it is
|
|
372
|
+
* a valid date, or `null` if it's not a valid date.
|
|
373
|
+
* @param obj The object to check.
|
|
374
|
+
* @returns A date or `null`.
|
|
375
|
+
*/
|
|
376
|
+
getValidDateOrNull(obj) {
|
|
377
|
+
return this.isDateInstance(obj) && this.isValid(obj) ? obj : null;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Attempts to deserialize a value to a valid date object. This is different from parsing in that
|
|
381
|
+
* deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
|
|
382
|
+
* string). The default implementation does not allow any deserialization, it simply checks that
|
|
383
|
+
* the given value is already a valid date object or null. The `<mat-datepicker>` will call this
|
|
384
|
+
* method on all of its `@Input()` properties that accept dates. It is therefore possible to
|
|
385
|
+
* support passing values from your backend directly to these properties by overriding this method
|
|
386
|
+
* to also deserialize the format used by your backend.
|
|
387
|
+
* @param value The value to be deserialized into a date object.
|
|
388
|
+
* @returns The deserialized date object, either a valid date, null if the value can be
|
|
389
|
+
* deserialized into a null date (e.g. the empty string), or an invalid date.
|
|
390
|
+
*/
|
|
391
|
+
deserialize(value) {
|
|
392
|
+
if (value == null || this.isDateInstance(value) && this.isValid(value)) {
|
|
393
|
+
return value;
|
|
394
|
+
}
|
|
395
|
+
return this.invalid();
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Sets the locale used for all dates.
|
|
399
|
+
* @param locale The new locale.
|
|
400
|
+
*/
|
|
401
|
+
setLocale(locale) {
|
|
402
|
+
this.locale = locale;
|
|
403
|
+
this._localeChanges.next();
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Compares two dates.
|
|
407
|
+
* @param first The first date to compare.
|
|
408
|
+
* @param second The second date to compare.
|
|
409
|
+
* @returns 0 if the dates are equal, a number less than 0 if the first date is earlier,
|
|
410
|
+
* a number greater than 0 if the first date is later.
|
|
411
|
+
*/
|
|
412
|
+
compareDate(first, second) {
|
|
413
|
+
return this.getYear(first) - this.getYear(second) ||
|
|
414
|
+
this.getMonth(first) - this.getMonth(second) ||
|
|
415
|
+
this.getDate(first) - this.getDate(second);
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Checks if two dates are equal.
|
|
419
|
+
* @param first The first date to check.
|
|
420
|
+
* @param second The second date to check.
|
|
421
|
+
* @returns Whether the two dates are equal.
|
|
422
|
+
* Null dates are considered equal to other null dates.
|
|
423
|
+
*/
|
|
424
|
+
sameDate(first, second) {
|
|
425
|
+
if (first && second) {
|
|
426
|
+
let firstValid = this.isValid(first);
|
|
427
|
+
let secondValid = this.isValid(second);
|
|
428
|
+
if (firstValid && secondValid) {
|
|
429
|
+
return !this.compareDate(first, second);
|
|
430
|
+
}
|
|
431
|
+
return firstValid == secondValid;
|
|
432
|
+
}
|
|
433
|
+
return first == second;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Clamp the given date between min and max dates.
|
|
437
|
+
* @param date The date to clamp.
|
|
438
|
+
* @param min The minimum value to allow. If null or omitted no min is enforced.
|
|
439
|
+
* @param max The maximum value to allow. If null or omitted no max is enforced.
|
|
440
|
+
* @returns `min` if `date` is less than `min`, `max` if date is greater than `max`,
|
|
441
|
+
* otherwise `date`.
|
|
442
|
+
*/
|
|
443
|
+
clampDate(date, min, max) {
|
|
444
|
+
if (min && this.compareDate(date, min) < 0) {
|
|
445
|
+
return min;
|
|
446
|
+
}
|
|
447
|
+
if (max && this.compareDate(date, max) > 0) {
|
|
448
|
+
return max;
|
|
449
|
+
}
|
|
450
|
+
return date;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* @license
|
|
456
|
+
* Copyright Google LLC All Rights Reserved.
|
|
457
|
+
*
|
|
458
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
459
|
+
* found in the LICENSE file at https://angular.io/license
|
|
460
|
+
*/
|
|
461
|
+
const MAT_DATE_FORMATS = new InjectionToken('mat-date-formats');
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* Matches strings that have the form of a valid RFC 3339 string
|
|
465
|
+
* (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date
|
|
466
|
+
* because the regex will match strings an with out of bounds month, date, etc.
|
|
467
|
+
*/
|
|
468
|
+
const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
469
|
+
/** Creates an array and fills it with values. */
|
|
470
|
+
function range(length, valueFunction) {
|
|
471
|
+
const valuesArray = Array(length);
|
|
472
|
+
for (let i = 0; i < length; i++) {
|
|
473
|
+
valuesArray[i] = valueFunction(i);
|
|
474
|
+
}
|
|
475
|
+
return valuesArray;
|
|
476
|
+
}
|
|
477
|
+
/** Adapts the native JS Date for use with cdk-based components that work with dates. */
|
|
478
|
+
class NativeDateAdapter extends DateAdapter {
|
|
479
|
+
constructor(matDateLocale,
|
|
480
|
+
/**
|
|
481
|
+
* @deprecated No longer being used. To be removed.
|
|
482
|
+
* @breaking-change 14.0.0
|
|
483
|
+
*/
|
|
484
|
+
_platform) {
|
|
485
|
+
super();
|
|
486
|
+
/**
|
|
487
|
+
* @deprecated No longer being used. To be removed.
|
|
488
|
+
* @breaking-change 14.0.0
|
|
489
|
+
*/
|
|
490
|
+
this.useUtcForDisplay = false;
|
|
491
|
+
super.setLocale(matDateLocale);
|
|
492
|
+
}
|
|
493
|
+
getYear(date) {
|
|
494
|
+
return date.getFullYear();
|
|
495
|
+
}
|
|
496
|
+
getMonth(date) {
|
|
497
|
+
return date.getMonth();
|
|
498
|
+
}
|
|
499
|
+
getDate(date) {
|
|
500
|
+
return date.getDate();
|
|
501
|
+
}
|
|
502
|
+
getDayOfWeek(date) {
|
|
503
|
+
return date.getDay();
|
|
504
|
+
}
|
|
505
|
+
getMonthNames(style) {
|
|
506
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { month: style, timeZone: 'utc' });
|
|
507
|
+
return range(12, i => this._format(dtf, new Date(2017, i, 1)));
|
|
508
|
+
}
|
|
509
|
+
getDateNames() {
|
|
510
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { day: 'numeric', timeZone: 'utc' });
|
|
511
|
+
return range(31, i => this._format(dtf, new Date(2017, 0, i + 1)));
|
|
512
|
+
}
|
|
513
|
+
getDayOfWeekNames(style) {
|
|
514
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { weekday: style, timeZone: 'utc' });
|
|
515
|
+
return range(7, i => this._format(dtf, new Date(2017, 0, i + 1)));
|
|
516
|
+
}
|
|
517
|
+
getYearName(date) {
|
|
518
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { year: 'numeric', timeZone: 'utc' });
|
|
519
|
+
return this._format(dtf, date);
|
|
520
|
+
}
|
|
521
|
+
getFirstDayOfWeek() {
|
|
522
|
+
// We can't tell using native JS Date what the first day of the week is, we default to Sunday.
|
|
523
|
+
return 0;
|
|
524
|
+
}
|
|
525
|
+
getNumDaysInMonth(date) {
|
|
526
|
+
return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0));
|
|
527
|
+
}
|
|
528
|
+
clone(date) {
|
|
529
|
+
return new Date(date.getTime());
|
|
530
|
+
}
|
|
531
|
+
createDate(year, month, date) {
|
|
532
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
533
|
+
// Check for invalid month and date (except upper bound on date which we have to check after
|
|
534
|
+
// creating the Date).
|
|
535
|
+
if (month < 0 || month > 11) {
|
|
536
|
+
throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
|
|
537
|
+
}
|
|
538
|
+
if (date < 1) {
|
|
539
|
+
throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
let result = this._createDateWithOverflow(year, month, date);
|
|
543
|
+
// Check that the date wasn't above the upper bound for the month, causing the month to overflow
|
|
544
|
+
if (result.getMonth() != month && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
545
|
+
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
546
|
+
}
|
|
547
|
+
return result;
|
|
548
|
+
}
|
|
549
|
+
today() {
|
|
550
|
+
return new Date();
|
|
551
|
+
}
|
|
552
|
+
parse(value) {
|
|
553
|
+
// We have no way using the native JS Date to set the parse format or locale, so we ignore these
|
|
554
|
+
// parameters.
|
|
555
|
+
if (typeof value == 'number') {
|
|
556
|
+
return new Date(value);
|
|
557
|
+
}
|
|
558
|
+
return value ? new Date(Date.parse(value)) : null;
|
|
559
|
+
}
|
|
560
|
+
format(date, displayFormat) {
|
|
561
|
+
if (!this.isValid(date)) {
|
|
562
|
+
throw Error('NativeDateAdapter: Cannot format invalid date.');
|
|
563
|
+
}
|
|
564
|
+
const dtf = new Intl.DateTimeFormat(this.locale, Object.assign(Object.assign({}, displayFormat), { timeZone: 'utc' }));
|
|
565
|
+
return this._format(dtf, date);
|
|
566
|
+
}
|
|
567
|
+
addCalendarYears(date, years) {
|
|
568
|
+
return this.addCalendarMonths(date, years * 12);
|
|
569
|
+
}
|
|
570
|
+
addCalendarMonths(date, months) {
|
|
571
|
+
let newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date));
|
|
572
|
+
// It's possible to wind up in the wrong month if the original month has more days than the new
|
|
573
|
+
// month. In this case we want to go to the last day of the desired month.
|
|
574
|
+
// Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
|
|
575
|
+
// guarantee this.
|
|
576
|
+
if (this.getMonth(newDate) != ((this.getMonth(date) + months) % 12 + 12) % 12) {
|
|
577
|
+
newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);
|
|
578
|
+
}
|
|
579
|
+
return newDate;
|
|
580
|
+
}
|
|
581
|
+
addCalendarDays(date, days) {
|
|
582
|
+
return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days);
|
|
583
|
+
}
|
|
584
|
+
toIso8601(date) {
|
|
585
|
+
return [
|
|
586
|
+
date.getUTCFullYear(),
|
|
587
|
+
this._2digit(date.getUTCMonth() + 1),
|
|
588
|
+
this._2digit(date.getUTCDate())
|
|
589
|
+
].join('-');
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings
|
|
593
|
+
* (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an
|
|
594
|
+
* invalid date for all other values.
|
|
595
|
+
*/
|
|
596
|
+
deserialize(value) {
|
|
597
|
+
if (typeof value === 'string') {
|
|
598
|
+
if (!value) {
|
|
599
|
+
return null;
|
|
600
|
+
}
|
|
601
|
+
// The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
|
|
602
|
+
// string is the right format first.
|
|
603
|
+
if (ISO_8601_REGEX.test(value)) {
|
|
604
|
+
let date = new Date(value);
|
|
605
|
+
if (this.isValid(date)) {
|
|
606
|
+
return date;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
return super.deserialize(value);
|
|
611
|
+
}
|
|
612
|
+
isDateInstance(obj) {
|
|
613
|
+
return obj instanceof Date;
|
|
614
|
+
}
|
|
615
|
+
isValid(date) {
|
|
616
|
+
return !isNaN(date.getTime());
|
|
617
|
+
}
|
|
618
|
+
invalid() {
|
|
619
|
+
return new Date(NaN);
|
|
620
|
+
}
|
|
621
|
+
/** Creates a date but allows the month and date to overflow. */
|
|
622
|
+
_createDateWithOverflow(year, month, date) {
|
|
623
|
+
// Passing the year to the constructor causes year numbers <100 to be converted to 19xx.
|
|
624
|
+
// To work around this we use `setFullYear` and `setHours` instead.
|
|
625
|
+
const d = new Date();
|
|
626
|
+
d.setFullYear(year, month, date);
|
|
627
|
+
d.setHours(0, 0, 0, 0);
|
|
628
|
+
return d;
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Pads a number to make it two digits.
|
|
632
|
+
* @param n The number to pad.
|
|
633
|
+
* @returns The padded number.
|
|
634
|
+
*/
|
|
635
|
+
_2digit(n) {
|
|
636
|
+
return ('00' + n).slice(-2);
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* When converting Date object to string, javascript built-in functions may return wrong
|
|
640
|
+
* results because it applies its internal DST rules. The DST rules around the world change
|
|
641
|
+
* very frequently, and the current valid rule is not always valid in previous years though.
|
|
642
|
+
* We work around this problem building a new Date object which has its internal UTC
|
|
643
|
+
* representation with the local date and time.
|
|
644
|
+
* @param dtf Intl.DateTimeFormat object, containg the desired string format. It must have
|
|
645
|
+
* timeZone set to 'utc' to work fine.
|
|
646
|
+
* @param date Date from which we want to get the string representation according to dtf
|
|
647
|
+
* @returns A Date object with its UTC representation based on the passed in date info
|
|
648
|
+
*/
|
|
649
|
+
_format(dtf, date) {
|
|
650
|
+
// Passing the year to the constructor causes year numbers <100 to be converted to 19xx.
|
|
651
|
+
// To work around this we use `setUTCFullYear` and `setUTCHours` instead.
|
|
652
|
+
const d = new Date();
|
|
653
|
+
d.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());
|
|
654
|
+
d.setUTCHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
|
|
655
|
+
return dtf.format(d);
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
NativeDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: NativeDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
659
|
+
NativeDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: NativeDateAdapter });
|
|
660
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: NativeDateAdapter, decorators: [{
|
|
661
|
+
type: Injectable
|
|
662
|
+
}], ctorParameters: function () {
|
|
663
|
+
return [{ type: undefined, decorators: [{
|
|
664
|
+
type: Optional
|
|
665
|
+
}, {
|
|
666
|
+
type: Inject,
|
|
667
|
+
args: [MAT_DATE_LOCALE]
|
|
668
|
+
}] }, { type: i1$1.Platform }];
|
|
669
|
+
} });
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* @license
|
|
673
|
+
* Copyright Google LLC All Rights Reserved.
|
|
674
|
+
*
|
|
675
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
676
|
+
* found in the LICENSE file at https://angular.io/license
|
|
677
|
+
*/
|
|
678
|
+
const MAT_NATIVE_DATE_FORMATS = {
|
|
679
|
+
parse: {
|
|
680
|
+
dateInput: null,
|
|
681
|
+
},
|
|
682
|
+
display: {
|
|
683
|
+
dateInput: { year: 'numeric', month: 'numeric', day: 'numeric' },
|
|
684
|
+
monthYearLabel: { year: 'numeric', month: 'short' },
|
|
685
|
+
dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },
|
|
686
|
+
monthYearA11yLabel: { year: 'numeric', month: 'long' },
|
|
687
|
+
}
|
|
688
|
+
};
|
|
689
|
+
|
|
690
|
+
/**
|
|
691
|
+
* @license
|
|
692
|
+
* Copyright Google LLC All Rights Reserved.
|
|
693
|
+
*
|
|
694
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
695
|
+
* found in the LICENSE file at https://angular.io/license
|
|
696
|
+
*/
|
|
697
|
+
class NativeDateModule {
|
|
698
|
+
}
|
|
699
|
+
NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
700
|
+
NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: NativeDateModule, imports: [PlatformModule] });
|
|
701
|
+
NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: NativeDateModule, providers: [
|
|
702
|
+
{ provide: DateAdapter, useClass: NativeDateAdapter },
|
|
703
|
+
], imports: [[PlatformModule]] });
|
|
704
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: NativeDateModule, decorators: [{
|
|
705
|
+
type: NgModule,
|
|
706
|
+
args: [{
|
|
707
|
+
imports: [PlatformModule],
|
|
708
|
+
providers: [
|
|
709
|
+
{ provide: DateAdapter, useClass: NativeDateAdapter },
|
|
710
|
+
],
|
|
711
|
+
}]
|
|
712
|
+
}] });
|
|
713
|
+
class MatNativeDateModule {
|
|
714
|
+
}
|
|
715
|
+
MatNativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
716
|
+
MatNativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatNativeDateModule, imports: [NativeDateModule] });
|
|
717
|
+
MatNativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatNativeDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_NATIVE_DATE_FORMATS }], imports: [[NativeDateModule]] });
|
|
718
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatNativeDateModule, decorators: [{
|
|
719
|
+
type: NgModule,
|
|
720
|
+
args: [{
|
|
721
|
+
imports: [NativeDateModule],
|
|
722
|
+
providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_NATIVE_DATE_FORMATS }],
|
|
723
|
+
}]
|
|
724
|
+
}] });
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
* @license
|
|
728
|
+
* Copyright Google LLC All Rights Reserved.
|
|
729
|
+
*
|
|
730
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
731
|
+
* found in the LICENSE file at https://angular.io/license
|
|
732
|
+
*/
|
|
733
|
+
/** Error state matcher that matches when a control is invalid and dirty. */
|
|
734
|
+
class ShowOnDirtyErrorStateMatcher {
|
|
735
|
+
isErrorState(control, form) {
|
|
736
|
+
return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
740
|
+
ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
|
|
741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
|
|
742
|
+
type: Injectable
|
|
743
|
+
}] });
|
|
744
|
+
/** Provider that defines how form controls behave with regards to displaying error messages. */
|
|
745
|
+
class ErrorStateMatcher {
|
|
746
|
+
isErrorState(control, form) {
|
|
747
|
+
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
751
|
+
ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
|
|
752
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: ErrorStateMatcher, decorators: [{
|
|
753
|
+
type: Injectable,
|
|
754
|
+
args: [{ providedIn: 'root' }]
|
|
755
|
+
}] });
|
|
756
|
+
|
|
757
|
+
/**
|
|
758
|
+
* @license
|
|
759
|
+
* Copyright Google LLC All Rights Reserved.
|
|
760
|
+
*
|
|
761
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
762
|
+
* found in the LICENSE file at https://angular.io/license
|
|
763
|
+
*/
|
|
764
|
+
/**
|
|
765
|
+
* Shared directive to count lines inside a text area, such as a list item.
|
|
766
|
+
* Line elements can be extracted with a @ContentChildren(MatLine) query, then
|
|
767
|
+
* counted by checking the query list's length.
|
|
768
|
+
*/
|
|
769
|
+
class MatLine {
|
|
770
|
+
}
|
|
771
|
+
MatLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
772
|
+
MatLine.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatLine, selector: "[mat-line], [matLine]", host: { classAttribute: "mat-line" }, ngImport: i0 });
|
|
773
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatLine, decorators: [{
|
|
774
|
+
type: Directive,
|
|
775
|
+
args: [{
|
|
776
|
+
selector: '[mat-line], [matLine]',
|
|
777
|
+
host: { 'class': 'mat-line' }
|
|
778
|
+
}]
|
|
779
|
+
}] });
|
|
780
|
+
/**
|
|
781
|
+
* Helper that takes a query list of lines and sets the correct class on the host.
|
|
782
|
+
* @docs-private
|
|
783
|
+
*/
|
|
784
|
+
function setLines(lines, element, prefix = 'mat') {
|
|
785
|
+
// Note: doesn't need to unsubscribe, because `changes`
|
|
786
|
+
// gets completed by Angular when the view is destroyed.
|
|
787
|
+
lines.changes.pipe(startWith(lines)).subscribe(({ length }) => {
|
|
788
|
+
setClass(element, `${prefix}-2-line`, false);
|
|
789
|
+
setClass(element, `${prefix}-3-line`, false);
|
|
790
|
+
setClass(element, `${prefix}-multi-line`, false);
|
|
791
|
+
if (length === 2 || length === 3) {
|
|
792
|
+
setClass(element, `${prefix}-${length}-line`, true);
|
|
793
|
+
}
|
|
794
|
+
else if (length > 3) {
|
|
795
|
+
setClass(element, `${prefix}-multi-line`, true);
|
|
796
|
+
}
|
|
797
|
+
});
|
|
798
|
+
}
|
|
799
|
+
/** Adds or removes a class from an element. */
|
|
800
|
+
function setClass(element, className, isAdd) {
|
|
801
|
+
element.nativeElement.classList.toggle(className, isAdd);
|
|
802
|
+
}
|
|
803
|
+
class MatLineModule {
|
|
804
|
+
}
|
|
805
|
+
MatLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
806
|
+
MatLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatLineModule, declarations: [MatLine], imports: [MatCommonModule], exports: [MatLine, MatCommonModule] });
|
|
807
|
+
MatLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatLineModule, imports: [[MatCommonModule], MatCommonModule] });
|
|
808
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatLineModule, decorators: [{
|
|
809
|
+
type: NgModule,
|
|
810
|
+
args: [{
|
|
811
|
+
imports: [MatCommonModule],
|
|
812
|
+
exports: [MatLine, MatCommonModule],
|
|
813
|
+
declarations: [MatLine],
|
|
814
|
+
}]
|
|
815
|
+
}] });
|
|
816
|
+
|
|
817
|
+
/**
|
|
818
|
+
* @license
|
|
819
|
+
* Copyright Google LLC All Rights Reserved.
|
|
820
|
+
*
|
|
821
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
822
|
+
* found in the LICENSE file at https://angular.io/license
|
|
823
|
+
*/
|
|
824
|
+
/**
|
|
825
|
+
* Reference to a previously launched ripple element.
|
|
826
|
+
*/
|
|
827
|
+
class RippleRef {
|
|
828
|
+
constructor(_renderer,
|
|
829
|
+
/** Reference to the ripple HTML element. */
|
|
830
|
+
element,
|
|
831
|
+
/** Ripple configuration used for the ripple. */
|
|
832
|
+
config) {
|
|
833
|
+
this._renderer = _renderer;
|
|
834
|
+
this.element = element;
|
|
835
|
+
this.config = config;
|
|
836
|
+
/** Current state of the ripple. */
|
|
837
|
+
this.state = 3 /* HIDDEN */;
|
|
838
|
+
}
|
|
839
|
+
/** Fades out the ripple element. */
|
|
840
|
+
fadeOut() {
|
|
841
|
+
this._renderer.fadeOutRipple(this);
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
// TODO: import these values from `@material/ripple` eventually.
|
|
846
|
+
/**
|
|
847
|
+
* Default ripple animation configuration for ripples without an explicit
|
|
848
|
+
* animation config specified.
|
|
849
|
+
*/
|
|
850
|
+
const defaultRippleAnimationConfig = {
|
|
851
|
+
enterDuration: 225,
|
|
852
|
+
exitDuration: 150
|
|
853
|
+
};
|
|
854
|
+
/**
|
|
855
|
+
* Timeout for ignoring mouse events. Mouse events will be temporary ignored after touch
|
|
856
|
+
* events to avoid synthetic mouse events.
|
|
857
|
+
*/
|
|
858
|
+
const ignoreMouseEventsTimeout = 800;
|
|
859
|
+
/** Options that apply to all the event listeners that are bound by the ripple renderer. */
|
|
860
|
+
const passiveEventOptions = normalizePassiveListenerOptions({ passive: true });
|
|
861
|
+
/** Events that signal that the pointer is down. */
|
|
862
|
+
const pointerDownEvents = ['mousedown', 'touchstart'];
|
|
863
|
+
/** Events that signal that the pointer is up. */
|
|
864
|
+
const pointerUpEvents = ['mouseup', 'mouseleave', 'touchend', 'touchcancel'];
|
|
865
|
+
/**
|
|
866
|
+
* Helper service that performs DOM manipulations. Not intended to be used outside this module.
|
|
867
|
+
* The constructor takes a reference to the ripple directive's host element and a map of DOM
|
|
868
|
+
* event handlers to be installed on the element that triggers ripple animations.
|
|
869
|
+
* This will eventually become a custom renderer once Angular support exists.
|
|
870
|
+
* @docs-private
|
|
871
|
+
*/
|
|
872
|
+
class RippleRenderer {
|
|
873
|
+
constructor(_target, _ngZone, elementOrElementRef, platform) {
|
|
874
|
+
this._target = _target;
|
|
875
|
+
this._ngZone = _ngZone;
|
|
876
|
+
/** Whether the pointer is currently down or not. */
|
|
877
|
+
this._isPointerDown = false;
|
|
878
|
+
/** Set of currently active ripple references. */
|
|
879
|
+
this._activeRipples = new Set();
|
|
880
|
+
/** Whether pointer-up event listeners have been registered. */
|
|
881
|
+
this._pointerUpEventsRegistered = false;
|
|
882
|
+
// Only do anything if we're on the browser.
|
|
883
|
+
if (platform.isBrowser) {
|
|
884
|
+
this._containerElement = coerceElement(elementOrElementRef);
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
/**
|
|
888
|
+
* Fades in a ripple at the given coordinates.
|
|
889
|
+
* @param x Coordinate within the element, along the X axis at which to start the ripple.
|
|
890
|
+
* @param y Coordinate within the element, along the Y axis at which to start the ripple.
|
|
891
|
+
* @param config Extra ripple options.
|
|
892
|
+
*/
|
|
893
|
+
fadeInRipple(x, y, config = {}) {
|
|
894
|
+
const containerRect = this._containerRect =
|
|
895
|
+
this._containerRect || this._containerElement.getBoundingClientRect();
|
|
896
|
+
const animationConfig = Object.assign(Object.assign({}, defaultRippleAnimationConfig), config.animation);
|
|
897
|
+
if (config.centered) {
|
|
898
|
+
x = containerRect.left + containerRect.width / 2;
|
|
899
|
+
y = containerRect.top + containerRect.height / 2;
|
|
900
|
+
}
|
|
901
|
+
const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
|
|
902
|
+
const offsetX = x - containerRect.left;
|
|
903
|
+
const offsetY = y - containerRect.top;
|
|
904
|
+
const duration = animationConfig.enterDuration;
|
|
905
|
+
const ripple = document.createElement('div');
|
|
906
|
+
ripple.classList.add('mat-ripple-element');
|
|
907
|
+
ripple.style.left = `${offsetX - radius}px`;
|
|
908
|
+
ripple.style.top = `${offsetY - radius}px`;
|
|
909
|
+
ripple.style.height = `${radius * 2}px`;
|
|
910
|
+
ripple.style.width = `${radius * 2}px`;
|
|
911
|
+
// If a custom color has been specified, set it as inline style. If no color is
|
|
912
|
+
// set, the default color will be applied through the ripple theme styles.
|
|
913
|
+
if (config.color != null) {
|
|
914
|
+
ripple.style.backgroundColor = config.color;
|
|
915
|
+
}
|
|
916
|
+
ripple.style.transitionDuration = `${duration}ms`;
|
|
917
|
+
this._containerElement.appendChild(ripple);
|
|
918
|
+
// By default the browser does not recalculate the styles of dynamically created
|
|
919
|
+
// ripple elements. This is critical because then the `scale` would not animate properly.
|
|
920
|
+
enforceStyleRecalculation(ripple);
|
|
921
|
+
ripple.style.transform = 'scale(1)';
|
|
922
|
+
// Exposed reference to the ripple that will be returned.
|
|
923
|
+
const rippleRef = new RippleRef(this, ripple, config);
|
|
924
|
+
rippleRef.state = 0 /* FADING_IN */;
|
|
925
|
+
// Add the ripple reference to the list of all active ripples.
|
|
926
|
+
this._activeRipples.add(rippleRef);
|
|
927
|
+
if (!config.persistent) {
|
|
928
|
+
this._mostRecentTransientRipple = rippleRef;
|
|
929
|
+
}
|
|
930
|
+
// Wait for the ripple element to be completely faded in.
|
|
931
|
+
// Once it's faded in, the ripple can be hidden immediately if the mouse is released.
|
|
932
|
+
this._runTimeoutOutsideZone(() => {
|
|
933
|
+
const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
|
|
934
|
+
rippleRef.state = 1 /* VISIBLE */;
|
|
935
|
+
// When the timer runs out while the user has kept their pointer down, we want to
|
|
936
|
+
// keep only the persistent ripples and the latest transient ripple. We do this,
|
|
937
|
+
// because we don't want stacked transient ripples to appear after their enter
|
|
938
|
+
// animation has finished.
|
|
939
|
+
if (!config.persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
|
|
940
|
+
rippleRef.fadeOut();
|
|
941
|
+
}
|
|
942
|
+
}, duration);
|
|
943
|
+
return rippleRef;
|
|
944
|
+
}
|
|
945
|
+
/** Fades out a ripple reference. */
|
|
946
|
+
fadeOutRipple(rippleRef) {
|
|
947
|
+
const wasActive = this._activeRipples.delete(rippleRef);
|
|
948
|
+
if (rippleRef === this._mostRecentTransientRipple) {
|
|
949
|
+
this._mostRecentTransientRipple = null;
|
|
950
|
+
}
|
|
951
|
+
// Clear out the cached bounding rect if we have no more ripples.
|
|
952
|
+
if (!this._activeRipples.size) {
|
|
953
|
+
this._containerRect = null;
|
|
954
|
+
}
|
|
955
|
+
// For ripples that are not active anymore, don't re-run the fade-out animation.
|
|
956
|
+
if (!wasActive) {
|
|
957
|
+
return;
|
|
958
|
+
}
|
|
959
|
+
const rippleEl = rippleRef.element;
|
|
960
|
+
const animationConfig = Object.assign(Object.assign({}, defaultRippleAnimationConfig), rippleRef.config.animation);
|
|
961
|
+
rippleEl.style.transitionDuration = `${animationConfig.exitDuration}ms`;
|
|
962
|
+
rippleEl.style.opacity = '0';
|
|
963
|
+
rippleRef.state = 2 /* FADING_OUT */;
|
|
964
|
+
// Once the ripple faded out, the ripple can be safely removed from the DOM.
|
|
965
|
+
this._runTimeoutOutsideZone(() => {
|
|
966
|
+
rippleRef.state = 3 /* HIDDEN */;
|
|
967
|
+
rippleEl.remove();
|
|
968
|
+
}, animationConfig.exitDuration);
|
|
969
|
+
}
|
|
970
|
+
/** Fades out all currently active ripples. */
|
|
971
|
+
fadeOutAll() {
|
|
972
|
+
this._activeRipples.forEach(ripple => ripple.fadeOut());
|
|
973
|
+
}
|
|
974
|
+
/** Fades out all currently active non-persistent ripples. */
|
|
975
|
+
fadeOutAllNonPersistent() {
|
|
976
|
+
this._activeRipples.forEach(ripple => {
|
|
977
|
+
if (!ripple.config.persistent) {
|
|
978
|
+
ripple.fadeOut();
|
|
979
|
+
}
|
|
980
|
+
});
|
|
981
|
+
}
|
|
982
|
+
/** Sets up the trigger event listeners */
|
|
983
|
+
setupTriggerEvents(elementOrElementRef) {
|
|
984
|
+
const element = coerceElement(elementOrElementRef);
|
|
985
|
+
if (!element || element === this._triggerElement) {
|
|
986
|
+
return;
|
|
987
|
+
}
|
|
988
|
+
// Remove all previously registered event listeners from the trigger element.
|
|
989
|
+
this._removeTriggerEvents();
|
|
990
|
+
this._triggerElement = element;
|
|
991
|
+
this._registerEvents(pointerDownEvents);
|
|
992
|
+
}
|
|
993
|
+
/**
|
|
994
|
+
* Handles all registered events.
|
|
995
|
+
* @docs-private
|
|
996
|
+
*/
|
|
997
|
+
handleEvent(event) {
|
|
998
|
+
if (event.type === 'mousedown') {
|
|
999
|
+
this._onMousedown(event);
|
|
1000
|
+
}
|
|
1001
|
+
else if (event.type === 'touchstart') {
|
|
1002
|
+
this._onTouchStart(event);
|
|
1003
|
+
}
|
|
1004
|
+
else {
|
|
1005
|
+
this._onPointerUp();
|
|
1006
|
+
}
|
|
1007
|
+
// If pointer-up events haven't been registered yet, do so now.
|
|
1008
|
+
// We do this on-demand in order to reduce the total number of event listeners
|
|
1009
|
+
// registered by the ripples, which speeds up the rendering time for large UIs.
|
|
1010
|
+
if (!this._pointerUpEventsRegistered) {
|
|
1011
|
+
this._registerEvents(pointerUpEvents);
|
|
1012
|
+
this._pointerUpEventsRegistered = true;
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
/** Function being called whenever the trigger is being pressed using mouse. */
|
|
1016
|
+
_onMousedown(event) {
|
|
1017
|
+
// Screen readers will fire fake mouse events for space/enter. Skip launching a
|
|
1018
|
+
// ripple in this case for consistency with the non-screen-reader experience.
|
|
1019
|
+
const isFakeMousedown = isFakeMousedownFromScreenReader(event);
|
|
1020
|
+
const isSyntheticEvent = this._lastTouchStartEvent &&
|
|
1021
|
+
Date.now() < this._lastTouchStartEvent + ignoreMouseEventsTimeout;
|
|
1022
|
+
if (!this._target.rippleDisabled && !isFakeMousedown && !isSyntheticEvent) {
|
|
1023
|
+
this._isPointerDown = true;
|
|
1024
|
+
this.fadeInRipple(event.clientX, event.clientY, this._target.rippleConfig);
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
/** Function being called whenever the trigger is being pressed using touch. */
|
|
1028
|
+
_onTouchStart(event) {
|
|
1029
|
+
if (!this._target.rippleDisabled && !isFakeTouchstartFromScreenReader(event)) {
|
|
1030
|
+
// Some browsers fire mouse events after a `touchstart` event. Those synthetic mouse
|
|
1031
|
+
// events will launch a second ripple if we don't ignore mouse events for a specific
|
|
1032
|
+
// time after a touchstart event.
|
|
1033
|
+
this._lastTouchStartEvent = Date.now();
|
|
1034
|
+
this._isPointerDown = true;
|
|
1035
|
+
// Use `changedTouches` so we skip any touches where the user put
|
|
1036
|
+
// their finger down, but used another finger to tap the element again.
|
|
1037
|
+
const touches = event.changedTouches;
|
|
1038
|
+
for (let i = 0; i < touches.length; i++) {
|
|
1039
|
+
this.fadeInRipple(touches[i].clientX, touches[i].clientY, this._target.rippleConfig);
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
/** Function being called whenever the trigger is being released. */
|
|
1044
|
+
_onPointerUp() {
|
|
1045
|
+
if (!this._isPointerDown) {
|
|
1046
|
+
return;
|
|
1047
|
+
}
|
|
1048
|
+
this._isPointerDown = false;
|
|
1049
|
+
// Fade-out all ripples that are visible and not persistent.
|
|
1050
|
+
this._activeRipples.forEach(ripple => {
|
|
1051
|
+
// By default, only ripples that are completely visible will fade out on pointer release.
|
|
1052
|
+
// If the `terminateOnPointerUp` option is set, ripples that still fade in will also fade out.
|
|
1053
|
+
const isVisible = ripple.state === 1 /* VISIBLE */ ||
|
|
1054
|
+
ripple.config.terminateOnPointerUp && ripple.state === 0 /* FADING_IN */;
|
|
1055
|
+
if (!ripple.config.persistent && isVisible) {
|
|
1056
|
+
ripple.fadeOut();
|
|
1057
|
+
}
|
|
1058
|
+
});
|
|
1059
|
+
}
|
|
1060
|
+
/** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */
|
|
1061
|
+
_runTimeoutOutsideZone(fn, delay = 0) {
|
|
1062
|
+
this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));
|
|
1063
|
+
}
|
|
1064
|
+
/** Registers event listeners for a given list of events. */
|
|
1065
|
+
_registerEvents(eventTypes) {
|
|
1066
|
+
this._ngZone.runOutsideAngular(() => {
|
|
1067
|
+
eventTypes.forEach((type) => {
|
|
1068
|
+
this._triggerElement.addEventListener(type, this, passiveEventOptions);
|
|
1069
|
+
});
|
|
1070
|
+
});
|
|
1071
|
+
}
|
|
1072
|
+
/** Removes previously registered event listeners from the trigger element. */
|
|
1073
|
+
_removeTriggerEvents() {
|
|
1074
|
+
if (this._triggerElement) {
|
|
1075
|
+
pointerDownEvents.forEach((type) => {
|
|
1076
|
+
this._triggerElement.removeEventListener(type, this, passiveEventOptions);
|
|
1077
|
+
});
|
|
1078
|
+
if (this._pointerUpEventsRegistered) {
|
|
1079
|
+
pointerUpEvents.forEach((type) => {
|
|
1080
|
+
this._triggerElement.removeEventListener(type, this, passiveEventOptions);
|
|
1081
|
+
});
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
/** Enforces a style recalculation of a DOM element by computing its styles. */
|
|
1087
|
+
function enforceStyleRecalculation(element) {
|
|
1088
|
+
// Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
|
|
1089
|
+
// Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
|
|
1090
|
+
// See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
|
|
1091
|
+
window.getComputedStyle(element).getPropertyValue('opacity');
|
|
1092
|
+
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Returns the distance from the point (x, y) to the furthest corner of a rectangle.
|
|
1095
|
+
*/
|
|
1096
|
+
function distanceToFurthestCorner(x, y, rect) {
|
|
1097
|
+
const distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
|
|
1098
|
+
const distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
|
|
1099
|
+
return Math.sqrt(distX * distX + distY * distY);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
/** Injection token that can be used to specify the global ripple options. */
|
|
1103
|
+
const MAT_RIPPLE_GLOBAL_OPTIONS = new InjectionToken('mat-ripple-global-options');
|
|
1104
|
+
class MatRipple {
|
|
1105
|
+
constructor(_elementRef, ngZone, platform, globalOptions, _animationMode) {
|
|
1106
|
+
this._elementRef = _elementRef;
|
|
1107
|
+
this._animationMode = _animationMode;
|
|
1108
|
+
/**
|
|
1109
|
+
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
1110
|
+
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
1111
|
+
* bounding rectangle.
|
|
1112
|
+
*/
|
|
1113
|
+
this.radius = 0;
|
|
1114
|
+
this._disabled = false;
|
|
1115
|
+
/** Whether ripple directive is initialized and the input bindings are set. */
|
|
1116
|
+
this._isInitialized = false;
|
|
1117
|
+
this._globalOptions = globalOptions || {};
|
|
1118
|
+
this._rippleRenderer = new RippleRenderer(this, ngZone, _elementRef, platform);
|
|
1119
|
+
}
|
|
1120
|
+
/**
|
|
1121
|
+
* Whether click events will not trigger the ripple. Ripples can be still launched manually
|
|
1122
|
+
* by using the `launch()` method.
|
|
1123
|
+
*/
|
|
1124
|
+
get disabled() { return this._disabled; }
|
|
1125
|
+
set disabled(value) {
|
|
1126
|
+
if (value) {
|
|
1127
|
+
this.fadeOutAllNonPersistent();
|
|
1128
|
+
}
|
|
1129
|
+
this._disabled = value;
|
|
1130
|
+
this._setupTriggerEventsIfEnabled();
|
|
1131
|
+
}
|
|
1132
|
+
/**
|
|
1133
|
+
* The element that triggers the ripple when click events are received.
|
|
1134
|
+
* Defaults to the directive's host element.
|
|
1135
|
+
*/
|
|
1136
|
+
get trigger() { return this._trigger || this._elementRef.nativeElement; }
|
|
1137
|
+
set trigger(trigger) {
|
|
1138
|
+
this._trigger = trigger;
|
|
1139
|
+
this._setupTriggerEventsIfEnabled();
|
|
1140
|
+
}
|
|
1141
|
+
ngOnInit() {
|
|
1142
|
+
this._isInitialized = true;
|
|
1143
|
+
this._setupTriggerEventsIfEnabled();
|
|
1144
|
+
}
|
|
1145
|
+
ngOnDestroy() {
|
|
1146
|
+
this._rippleRenderer._removeTriggerEvents();
|
|
1147
|
+
}
|
|
1148
|
+
/** Fades out all currently showing ripple elements. */
|
|
1149
|
+
fadeOutAll() {
|
|
1150
|
+
this._rippleRenderer.fadeOutAll();
|
|
1151
|
+
}
|
|
1152
|
+
/** Fades out all currently showing non-persistent ripple elements. */
|
|
1153
|
+
fadeOutAllNonPersistent() {
|
|
1154
|
+
this._rippleRenderer.fadeOutAllNonPersistent();
|
|
1155
|
+
}
|
|
1156
|
+
/**
|
|
1157
|
+
* Ripple configuration from the directive's input values.
|
|
1158
|
+
* @docs-private Implemented as part of RippleTarget
|
|
1159
|
+
*/
|
|
1160
|
+
get rippleConfig() {
|
|
1161
|
+
return {
|
|
1162
|
+
centered: this.centered,
|
|
1163
|
+
radius: this.radius,
|
|
1164
|
+
color: this.color,
|
|
1165
|
+
animation: Object.assign(Object.assign(Object.assign({}, this._globalOptions.animation), (this._animationMode === 'NoopAnimations' ? { enterDuration: 0, exitDuration: 0 } : {})), this.animation),
|
|
1166
|
+
terminateOnPointerUp: this._globalOptions.terminateOnPointerUp,
|
|
1167
|
+
};
|
|
1168
|
+
}
|
|
1169
|
+
/**
|
|
1170
|
+
* Whether ripples on pointer-down are disabled or not.
|
|
1171
|
+
* @docs-private Implemented as part of RippleTarget
|
|
1172
|
+
*/
|
|
1173
|
+
get rippleDisabled() {
|
|
1174
|
+
return this.disabled || !!this._globalOptions.disabled;
|
|
1175
|
+
}
|
|
1176
|
+
/** Sets up the trigger event listeners if ripples are enabled. */
|
|
1177
|
+
_setupTriggerEventsIfEnabled() {
|
|
1178
|
+
if (!this.disabled && this._isInitialized) {
|
|
1179
|
+
this._rippleRenderer.setupTriggerEvents(this.trigger);
|
|
1180
|
+
}
|
|
1181
|
+
}
|
|
1182
|
+
/** Launches a manual ripple at the specified coordinated or just by the ripple config. */
|
|
1183
|
+
launch(configOrX, y = 0, config) {
|
|
1184
|
+
if (typeof configOrX === 'number') {
|
|
1185
|
+
return this._rippleRenderer.fadeInRipple(configOrX, y, Object.assign(Object.assign({}, this.rippleConfig), config));
|
|
1186
|
+
}
|
|
1187
|
+
else {
|
|
1188
|
+
return this._rippleRenderer.fadeInRipple(0, 0, Object.assign(Object.assign({}, this.rippleConfig), configOrX));
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
MatRipple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatRipple, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1193
|
+
MatRipple.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: { color: ["matRippleColor", "color"], unbounded: ["matRippleUnbounded", "unbounded"], centered: ["matRippleCentered", "centered"], radius: ["matRippleRadius", "radius"], animation: ["matRippleAnimation", "animation"], disabled: ["matRippleDisabled", "disabled"], trigger: ["matRippleTrigger", "trigger"] }, host: { properties: { "class.mat-ripple-unbounded": "unbounded" }, classAttribute: "mat-ripple" }, exportAs: ["matRipple"], ngImport: i0 });
|
|
1194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatRipple, decorators: [{
|
|
1195
|
+
type: Directive,
|
|
1196
|
+
args: [{
|
|
1197
|
+
selector: '[mat-ripple], [matRipple]',
|
|
1198
|
+
exportAs: 'matRipple',
|
|
1199
|
+
host: {
|
|
1200
|
+
'class': 'mat-ripple',
|
|
1201
|
+
'[class.mat-ripple-unbounded]': 'unbounded'
|
|
1202
|
+
}
|
|
1203
|
+
}]
|
|
1204
|
+
}], ctorParameters: function () {
|
|
1205
|
+
return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1$1.Platform }, { type: undefined, decorators: [{
|
|
1206
|
+
type: Optional
|
|
1207
|
+
}, {
|
|
1208
|
+
type: Inject,
|
|
1209
|
+
args: [MAT_RIPPLE_GLOBAL_OPTIONS]
|
|
1210
|
+
}] }, { type: undefined, decorators: [{
|
|
1211
|
+
type: Optional
|
|
1212
|
+
}, {
|
|
1213
|
+
type: Inject,
|
|
1214
|
+
args: [ANIMATION_MODULE_TYPE]
|
|
1215
|
+
}] }];
|
|
1216
|
+
}, propDecorators: { color: [{
|
|
1217
|
+
type: Input,
|
|
1218
|
+
args: ['matRippleColor']
|
|
1219
|
+
}], unbounded: [{
|
|
1220
|
+
type: Input,
|
|
1221
|
+
args: ['matRippleUnbounded']
|
|
1222
|
+
}], centered: [{
|
|
1223
|
+
type: Input,
|
|
1224
|
+
args: ['matRippleCentered']
|
|
1225
|
+
}], radius: [{
|
|
1226
|
+
type: Input,
|
|
1227
|
+
args: ['matRippleRadius']
|
|
1228
|
+
}], animation: [{
|
|
1229
|
+
type: Input,
|
|
1230
|
+
args: ['matRippleAnimation']
|
|
1231
|
+
}], disabled: [{
|
|
1232
|
+
type: Input,
|
|
1233
|
+
args: ['matRippleDisabled']
|
|
1234
|
+
}], trigger: [{
|
|
1235
|
+
type: Input,
|
|
1236
|
+
args: ['matRippleTrigger']
|
|
1237
|
+
}] } });
|
|
1238
|
+
|
|
1239
|
+
/**
|
|
1240
|
+
* @license
|
|
1241
|
+
* Copyright Google LLC All Rights Reserved.
|
|
1242
|
+
*
|
|
1243
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
1244
|
+
* found in the LICENSE file at https://angular.io/license
|
|
1245
|
+
*/
|
|
1246
|
+
class MatRippleModule {
|
|
1247
|
+
}
|
|
1248
|
+
MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1249
|
+
MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule, PlatformModule], exports: [MatRipple, MatCommonModule] });
|
|
1250
|
+
MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule, PlatformModule], MatCommonModule] });
|
|
1251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatRippleModule, decorators: [{
|
|
1252
|
+
type: NgModule,
|
|
1253
|
+
args: [{
|
|
1254
|
+
imports: [MatCommonModule, PlatformModule],
|
|
1255
|
+
exports: [MatRipple, MatCommonModule],
|
|
1256
|
+
declarations: [MatRipple],
|
|
1257
|
+
}]
|
|
1258
|
+
}] });
|
|
1259
|
+
|
|
1260
|
+
/**
|
|
1261
|
+
* @license
|
|
1262
|
+
* Copyright Google LLC All Rights Reserved.
|
|
1263
|
+
*
|
|
1264
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
1265
|
+
* found in the LICENSE file at https://angular.io/license
|
|
1266
|
+
*/
|
|
1267
|
+
/**
|
|
1268
|
+
* Component that shows a simplified checkbox without including any kind of "real" checkbox.
|
|
1269
|
+
* Meant to be used when the checkbox is purely decorative and a large number of them will be
|
|
1270
|
+
* included, such as for the options in a multi-select. Uses no SVGs or complex animations.
|
|
1271
|
+
* Note that theming is meant to be handled by the parent element, e.g.
|
|
1272
|
+
* `mat-primary .mat-pseudo-checkbox`.
|
|
1273
|
+
*
|
|
1274
|
+
* Note that this component will be completely invisible to screen-reader users. This is *not*
|
|
1275
|
+
* interchangeable with `<mat-checkbox>` and should *not* be used if the user would directly
|
|
1276
|
+
* interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail
|
|
1277
|
+
* of more complex components that appropriately handle selected / checked state.
|
|
1278
|
+
* @docs-private
|
|
1279
|
+
*/
|
|
1280
|
+
class MatPseudoCheckbox {
|
|
1281
|
+
constructor(_animationMode) {
|
|
1282
|
+
this._animationMode = _animationMode;
|
|
1283
|
+
/** Display state of the checkbox. */
|
|
1284
|
+
this.state = 'unchecked';
|
|
1285
|
+
/** Whether the checkbox is disabled. */
|
|
1286
|
+
this.disabled = false;
|
|
1287
|
+
}
|
|
1288
|
+
}
|
|
1289
|
+
MatPseudoCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatPseudoCheckbox, deps: [{ token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1290
|
+
MatPseudoCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: { state: "state", disabled: "disabled" }, host: { properties: { "class.mat-pseudo-checkbox-indeterminate": "state === \"indeterminate\"", "class.mat-pseudo-checkbox-checked": "state === \"checked\"", "class.mat-pseudo-checkbox-disabled": "disabled", "class._mat-animation-noopable": "_animationMode === \"NoopAnimations\"" }, classAttribute: "mat-pseudo-checkbox" }, ngImport: i0, template: '', isInline: true, styles: [".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
|
|
1292
|
+
type: Component,
|
|
1293
|
+
args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'mat-pseudo-checkbox', template: '', host: {
|
|
1294
|
+
'class': 'mat-pseudo-checkbox',
|
|
1295
|
+
'[class.mat-pseudo-checkbox-indeterminate]': 'state === "indeterminate"',
|
|
1296
|
+
'[class.mat-pseudo-checkbox-checked]': 'state === "checked"',
|
|
1297
|
+
'[class.mat-pseudo-checkbox-disabled]': 'disabled',
|
|
1298
|
+
'[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
|
|
1299
|
+
}, styles: [".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n"] }]
|
|
1300
|
+
}], ctorParameters: function () {
|
|
1301
|
+
return [{ type: undefined, decorators: [{
|
|
1302
|
+
type: Optional
|
|
1303
|
+
}, {
|
|
1304
|
+
type: Inject,
|
|
1305
|
+
args: [ANIMATION_MODULE_TYPE]
|
|
1306
|
+
}] }];
|
|
1307
|
+
}, propDecorators: { state: [{
|
|
1308
|
+
type: Input
|
|
1309
|
+
}], disabled: [{
|
|
1310
|
+
type: Input
|
|
1311
|
+
}] } });
|
|
1312
|
+
|
|
1313
|
+
/**
|
|
1314
|
+
* @license
|
|
1315
|
+
* Copyright Google LLC All Rights Reserved.
|
|
1316
|
+
*
|
|
1317
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
1318
|
+
* found in the LICENSE file at https://angular.io/license
|
|
1319
|
+
*/
|
|
1320
|
+
class MatPseudoCheckboxModule {
|
|
1321
|
+
}
|
|
1322
|
+
MatPseudoCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1323
|
+
MatPseudoCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatPseudoCheckboxModule, declarations: [MatPseudoCheckbox], imports: [MatCommonModule], exports: [MatPseudoCheckbox] });
|
|
1324
|
+
MatPseudoCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatPseudoCheckboxModule, imports: [[MatCommonModule]] });
|
|
1325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
|
|
1326
|
+
type: NgModule,
|
|
1327
|
+
args: [{
|
|
1328
|
+
imports: [MatCommonModule],
|
|
1329
|
+
exports: [MatPseudoCheckbox],
|
|
1330
|
+
declarations: [MatPseudoCheckbox]
|
|
1331
|
+
}]
|
|
1332
|
+
}] });
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* @license
|
|
1336
|
+
* Copyright Google LLC All Rights Reserved.
|
|
1337
|
+
*
|
|
1338
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
1339
|
+
* found in the LICENSE file at https://angular.io/license
|
|
1340
|
+
*/
|
|
1341
|
+
/**
|
|
1342
|
+
* Injection token used to provide the parent component to options.
|
|
1343
|
+
*/
|
|
1344
|
+
const MAT_OPTION_PARENT_COMPONENT = new InjectionToken('MAT_OPTION_PARENT_COMPONENT');
|
|
1345
|
+
|
|
1346
|
+
// Notes on the accessibility pattern used for `mat-optgroup`.
|
|
1347
|
+
// The option group has two different "modes": regular and inert. The regular mode uses the
|
|
1348
|
+
// recommended a11y pattern which has `role="group"` on the group element with `aria-labelledby`
|
|
1349
|
+
// pointing to the label. This works for `mat-select`, but it seems to hit a bug for autocomplete
|
|
1350
|
+
// under VoiceOver where the group doesn't get read out at all. The bug appears to be that if
|
|
1351
|
+
// there's __any__ a11y-related attribute on the group (e.g. `role` or `aria-labelledby`),
|
|
1352
|
+
// VoiceOver on Safari won't read it out.
|
|
1353
|
+
// We've introduced the `inert` mode as a workaround. Under this mode, all a11y attributes are
|
|
1354
|
+
// removed from the group, and we get the screen reader to read out the group label by mirroring it
|
|
1355
|
+
// inside an invisible element in the option. This is sub-optimal, because the screen reader will
|
|
1356
|
+
// repeat the group label on each navigation, whereas the default pattern only reads the group when
|
|
1357
|
+
// the user enters a new group. The following alternate approaches were considered:
|
|
1358
|
+
// 1. Reading out the group label using the `LiveAnnouncer` solves the problem, but we can't control
|
|
1359
|
+
// when the text will be read out so sometimes it comes in too late or never if the user
|
|
1360
|
+
// navigates quickly.
|
|
1361
|
+
// 2. `<mat-option aria-describedby="groupLabel"` - This works on Safari, but VoiceOver in Chrome
|
|
1362
|
+
// won't read out the description at all.
|
|
1363
|
+
// 3. `<mat-option aria-labelledby="optionLabel groupLabel"` - This works on Chrome, but Safari
|
|
1364
|
+
// doesn't read out the text at all. Furthermore, on
|
|
1365
|
+
// Boilerplate for applying mixins to MatOptgroup.
|
|
1366
|
+
/** @docs-private */
|
|
1367
|
+
const _MatOptgroupMixinBase = mixinDisabled(class {
|
|
1368
|
+
});
|
|
1369
|
+
// Counter for unique group ids.
|
|
1370
|
+
let _uniqueOptgroupIdCounter = 0;
|
|
1371
|
+
class _MatOptgroupBase extends _MatOptgroupMixinBase {
|
|
1372
|
+
constructor(parent) {
|
|
1373
|
+
var _a;
|
|
1374
|
+
super();
|
|
1375
|
+
/** Unique id for the underlying label. */
|
|
1376
|
+
this._labelId = `mat-optgroup-label-${_uniqueOptgroupIdCounter++}`;
|
|
1377
|
+
this._inert = (_a = parent === null || parent === void 0 ? void 0 : parent.inertGroups) !== null && _a !== void 0 ? _a : false;
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
_MatOptgroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: _MatOptgroupBase, deps: [{ token: MAT_OPTION_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1381
|
+
_MatOptgroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: _MatOptgroupBase, inputs: { label: "label" }, usesInheritance: true, ngImport: i0 });
|
|
1382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: _MatOptgroupBase, decorators: [{
|
|
1383
|
+
type: Directive
|
|
1384
|
+
}], ctorParameters: function () {
|
|
1385
|
+
return [{ type: undefined, decorators: [{
|
|
1386
|
+
type: Inject,
|
|
1387
|
+
args: [MAT_OPTION_PARENT_COMPONENT]
|
|
1388
|
+
}, {
|
|
1389
|
+
type: Optional
|
|
1390
|
+
}] }];
|
|
1391
|
+
}, propDecorators: { label: [{
|
|
1392
|
+
type: Input
|
|
1393
|
+
}] } });
|
|
1394
|
+
/**
|
|
1395
|
+
* Injection token that can be used to reference instances of `MatOptgroup`. It serves as
|
|
1396
|
+
* alternative token to the actual `MatOptgroup` class which could cause unnecessary
|
|
1397
|
+
* retention of the class and its component metadata.
|
|
1398
|
+
*/
|
|
1399
|
+
const MAT_OPTGROUP = new InjectionToken('MatOptgroup');
|
|
1400
|
+
/**
|
|
1401
|
+
* Component that is used to group instances of `mat-option`.
|
|
1402
|
+
*/
|
|
1403
|
+
class MatOptgroup extends _MatOptgroupBase {
|
|
1404
|
+
}
|
|
1405
|
+
MatOptgroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1406
|
+
MatOptgroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatOptgroup, selector: "mat-optgroup", inputs: { disabled: "disabled" }, host: { properties: { "attr.role": "_inert ? null : \"group\"", "attr.aria-disabled": "_inert ? null : disabled.toString()", "attr.aria-labelledby": "_inert ? null : _labelId", "class.mat-optgroup-disabled": "disabled" }, classAttribute: "mat-optgroup" }, providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }], exportAs: ["matOptgroup"], usesInheritance: true, ngImport: i0, template: "<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n", styles: [".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOptgroup, decorators: [{
|
|
1408
|
+
type: Component,
|
|
1409
|
+
args: [{ selector: 'mat-optgroup', exportAs: 'matOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
|
|
1410
|
+
'class': 'mat-optgroup',
|
|
1411
|
+
'[attr.role]': '_inert ? null : "group"',
|
|
1412
|
+
'[attr.aria-disabled]': '_inert ? null : disabled.toString()',
|
|
1413
|
+
'[attr.aria-labelledby]': '_inert ? null : _labelId',
|
|
1414
|
+
'[class.mat-optgroup-disabled]': 'disabled',
|
|
1415
|
+
}, providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }], template: "<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n", styles: [".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}\n"] }]
|
|
1416
|
+
}] });
|
|
1417
|
+
|
|
1418
|
+
/**
|
|
1419
|
+
* @license
|
|
1420
|
+
* Copyright Google LLC All Rights Reserved.
|
|
1421
|
+
*
|
|
1422
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
1423
|
+
* found in the LICENSE file at https://angular.io/license
|
|
1424
|
+
*/
|
|
1425
|
+
/**
|
|
1426
|
+
* Option IDs need to be unique across components, so this counter exists outside of
|
|
1427
|
+
* the component definition.
|
|
1428
|
+
*/
|
|
1429
|
+
let _uniqueIdCounter = 0;
|
|
1430
|
+
/** Event object emitted by MatOption when selected or deselected. */
|
|
1431
|
+
class MatOptionSelectionChange {
|
|
1432
|
+
constructor(
|
|
1433
|
+
/** Reference to the option that emitted the event. */
|
|
1434
|
+
source,
|
|
1435
|
+
/** Whether the change in the option's value was a result of a user action. */
|
|
1436
|
+
isUserInput = false) {
|
|
1437
|
+
this.source = source;
|
|
1438
|
+
this.isUserInput = isUserInput;
|
|
1439
|
+
}
|
|
1440
|
+
}
|
|
1441
|
+
class _MatOptionBase {
|
|
1442
|
+
constructor(_element, _changeDetectorRef, _parent, group) {
|
|
1443
|
+
this._element = _element;
|
|
1444
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
1445
|
+
this._parent = _parent;
|
|
1446
|
+
this.group = group;
|
|
1447
|
+
this._selected = false;
|
|
1448
|
+
this._active = false;
|
|
1449
|
+
this._disabled = false;
|
|
1450
|
+
this._mostRecentViewValue = '';
|
|
1451
|
+
/** The unique ID of the option. */
|
|
1452
|
+
this.id = `mat-option-${_uniqueIdCounter++}`;
|
|
1453
|
+
/** Event emitted when the option is selected or deselected. */
|
|
1454
|
+
// tslint:disable-next-line:no-output-on-prefix
|
|
1455
|
+
this.onSelectionChange = new EventEmitter();
|
|
1456
|
+
/** Emits when the state of the option changes and any parents have to be notified. */
|
|
1457
|
+
this._stateChanges = new Subject();
|
|
1458
|
+
}
|
|
1459
|
+
/** Whether the wrapping component is in multiple selection mode. */
|
|
1460
|
+
get multiple() { return this._parent && this._parent.multiple; }
|
|
1461
|
+
/** Whether or not the option is currently selected. */
|
|
1462
|
+
get selected() { return this._selected; }
|
|
1463
|
+
/** Whether the option is disabled. */
|
|
1464
|
+
get disabled() { return (this.group && this.group.disabled) || this._disabled; }
|
|
1465
|
+
set disabled(value) { this._disabled = coerceBooleanProperty(value); }
|
|
1466
|
+
/** Whether ripples for the option are disabled. */
|
|
1467
|
+
get disableRipple() { return this._parent && this._parent.disableRipple; }
|
|
1468
|
+
/**
|
|
1469
|
+
* Whether or not the option is currently active and ready to be selected.
|
|
1470
|
+
* An active option displays styles as if it is focused, but the
|
|
1471
|
+
* focus is actually retained somewhere else. This comes in handy
|
|
1472
|
+
* for components like autocomplete where focus must remain on the input.
|
|
1473
|
+
*/
|
|
1474
|
+
get active() {
|
|
1475
|
+
return this._active;
|
|
1476
|
+
}
|
|
1477
|
+
/**
|
|
1478
|
+
* The displayed value of the option. It is necessary to show the selected option in the
|
|
1479
|
+
* select's trigger.
|
|
1480
|
+
*/
|
|
1481
|
+
get viewValue() {
|
|
1482
|
+
// TODO(kara): Add input property alternative for node envs.
|
|
1483
|
+
return (this._getHostElement().textContent || '').trim();
|
|
1484
|
+
}
|
|
1485
|
+
/** Selects the option. */
|
|
1486
|
+
select() {
|
|
1487
|
+
if (!this._selected) {
|
|
1488
|
+
this._selected = true;
|
|
1489
|
+
this._changeDetectorRef.markForCheck();
|
|
1490
|
+
this._emitSelectionChangeEvent();
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
/** Deselects the option. */
|
|
1494
|
+
deselect() {
|
|
1495
|
+
if (this._selected) {
|
|
1496
|
+
this._selected = false;
|
|
1497
|
+
this._changeDetectorRef.markForCheck();
|
|
1498
|
+
this._emitSelectionChangeEvent();
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
/** Sets focus onto this option. */
|
|
1502
|
+
focus(_origin, options) {
|
|
1503
|
+
// Note that we aren't using `_origin`, but we need to keep it because some internal consumers
|
|
1504
|
+
// use `MatOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.
|
|
1505
|
+
const element = this._getHostElement();
|
|
1506
|
+
if (typeof element.focus === 'function') {
|
|
1507
|
+
element.focus(options);
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
/**
|
|
1511
|
+
* This method sets display styles on the option to make it appear
|
|
1512
|
+
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1513
|
+
* events will display the proper options as active on arrow key events.
|
|
1514
|
+
*/
|
|
1515
|
+
setActiveStyles() {
|
|
1516
|
+
if (!this._active) {
|
|
1517
|
+
this._active = true;
|
|
1518
|
+
this._changeDetectorRef.markForCheck();
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
/**
|
|
1522
|
+
* This method removes display styles on the option that made it appear
|
|
1523
|
+
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1524
|
+
* events will display the proper options as active on arrow key events.
|
|
1525
|
+
*/
|
|
1526
|
+
setInactiveStyles() {
|
|
1527
|
+
if (this._active) {
|
|
1528
|
+
this._active = false;
|
|
1529
|
+
this._changeDetectorRef.markForCheck();
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
/** Gets the label to be used when determining whether the option should be focused. */
|
|
1533
|
+
getLabel() {
|
|
1534
|
+
return this.viewValue;
|
|
1535
|
+
}
|
|
1536
|
+
/** Ensures the option is selected when activated from the keyboard. */
|
|
1537
|
+
_handleKeydown(event) {
|
|
1538
|
+
if ((event.keyCode === ENTER || event.keyCode === SPACE) && !hasModifierKey(event)) {
|
|
1539
|
+
this._selectViaInteraction();
|
|
1540
|
+
// Prevent the page from scrolling down and form submits.
|
|
1541
|
+
event.preventDefault();
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
/**
|
|
1545
|
+
* `Selects the option while indicating the selection came from the user. Used to
|
|
1546
|
+
* determine if the select's view -> model callback should be invoked.`
|
|
1547
|
+
*/
|
|
1548
|
+
_selectViaInteraction() {
|
|
1549
|
+
if (!this.disabled) {
|
|
1550
|
+
this._selected = this.multiple ? !this._selected : true;
|
|
1551
|
+
this._changeDetectorRef.markForCheck();
|
|
1552
|
+
this._emitSelectionChangeEvent(true);
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
/**
|
|
1556
|
+
* Gets the `aria-selected` value for the option. We explicitly omit the `aria-selected`
|
|
1557
|
+
* attribute from single-selection, unselected options. Including the `aria-selected="false"`
|
|
1558
|
+
* attributes adds a significant amount of noise to screen-reader users without providing useful
|
|
1559
|
+
* information.
|
|
1560
|
+
*/
|
|
1561
|
+
_getAriaSelected() {
|
|
1562
|
+
return this.selected || (this.multiple ? false : null);
|
|
1563
|
+
}
|
|
1564
|
+
/** Returns the correct tabindex for the option depending on disabled state. */
|
|
1565
|
+
_getTabIndex() {
|
|
1566
|
+
return this.disabled ? '-1' : '0';
|
|
1567
|
+
}
|
|
1568
|
+
/** Gets the host DOM element. */
|
|
1569
|
+
_getHostElement() {
|
|
1570
|
+
return this._element.nativeElement;
|
|
1571
|
+
}
|
|
1572
|
+
ngAfterViewChecked() {
|
|
1573
|
+
// Since parent components could be using the option's label to display the selected values
|
|
1574
|
+
// (e.g. `mat-select`) and they don't have a way of knowing if the option's label has changed
|
|
1575
|
+
// we have to check for changes in the DOM ourselves and dispatch an event. These checks are
|
|
1576
|
+
// relatively cheap, however we still limit them only to selected options in order to avoid
|
|
1577
|
+
// hitting the DOM too often.
|
|
1578
|
+
if (this._selected) {
|
|
1579
|
+
const viewValue = this.viewValue;
|
|
1580
|
+
if (viewValue !== this._mostRecentViewValue) {
|
|
1581
|
+
this._mostRecentViewValue = viewValue;
|
|
1582
|
+
this._stateChanges.next();
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
ngOnDestroy() {
|
|
1587
|
+
this._stateChanges.complete();
|
|
1588
|
+
}
|
|
1589
|
+
/** Emits the selection change event. */
|
|
1590
|
+
_emitSelectionChangeEvent(isUserInput = false) {
|
|
1591
|
+
this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
_MatOptionBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: _MatOptionBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
1595
|
+
_MatOptionBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: _MatOptionBase, inputs: { value: "value", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, ngImport: i0 });
|
|
1596
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: _MatOptionBase, decorators: [{
|
|
1597
|
+
type: Directive
|
|
1598
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined }, { type: _MatOptgroupBase }]; }, propDecorators: { value: [{
|
|
1599
|
+
type: Input
|
|
1600
|
+
}], id: [{
|
|
1601
|
+
type: Input
|
|
1602
|
+
}], disabled: [{
|
|
1603
|
+
type: Input
|
|
1604
|
+
}], onSelectionChange: [{
|
|
1605
|
+
type: Output
|
|
1606
|
+
}] } });
|
|
1607
|
+
/**
|
|
1608
|
+
* Single option inside of a `<mat-select>` element.
|
|
1609
|
+
*/
|
|
1610
|
+
class MatOption extends _MatOptionBase {
|
|
1611
|
+
constructor(element, changeDetectorRef, parent, group) {
|
|
1612
|
+
super(element, changeDetectorRef, parent, group);
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
MatOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_OPTION_PARENT_COMPONENT, optional: true }, { token: MAT_OPTGROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1616
|
+
MatOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatOption, selector: "mat-option", host: { attributes: { "role": "option" }, listeners: { "click": "_selectViaInteraction()", "keydown": "_handleKeydown($event)" }, properties: { "attr.tabindex": "_getTabIndex()", "class.mat-selected": "selected", "class.mat-option-multiple": "multiple", "class.mat-active": "active", "id": "id", "attr.aria-selected": "_getAriaSelected()", "attr.aria-disabled": "disabled.toString()", "class.mat-option-disabled": "disabled" }, classAttribute: "mat-option mat-focus-indicator" }, exportAs: ["matOption"], usesInheritance: true, ngImport: i0, template: "<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n", styles: [".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"], components: [{ type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: ["state", "disabled"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOption, decorators: [{
|
|
1618
|
+
type: Component,
|
|
1619
|
+
args: [{ selector: 'mat-option', exportAs: 'matOption', host: {
|
|
1620
|
+
'role': 'option',
|
|
1621
|
+
'[attr.tabindex]': '_getTabIndex()',
|
|
1622
|
+
'[class.mat-selected]': 'selected',
|
|
1623
|
+
'[class.mat-option-multiple]': 'multiple',
|
|
1624
|
+
'[class.mat-active]': 'active',
|
|
1625
|
+
'[id]': 'id',
|
|
1626
|
+
'[attr.aria-selected]': '_getAriaSelected()',
|
|
1627
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
1628
|
+
'[class.mat-option-disabled]': 'disabled',
|
|
1629
|
+
'(click)': '_selectViaInteraction()',
|
|
1630
|
+
'(keydown)': '_handleKeydown($event)',
|
|
1631
|
+
'class': 'mat-option mat-focus-indicator',
|
|
1632
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n", styles: [".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"] }]
|
|
1633
|
+
}], ctorParameters: function () {
|
|
1634
|
+
return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
1635
|
+
type: Optional
|
|
1636
|
+
}, {
|
|
1637
|
+
type: Inject,
|
|
1638
|
+
args: [MAT_OPTION_PARENT_COMPONENT]
|
|
1639
|
+
}] }, { type: MatOptgroup, decorators: [{
|
|
1640
|
+
type: Optional
|
|
1641
|
+
}, {
|
|
1642
|
+
type: Inject,
|
|
1643
|
+
args: [MAT_OPTGROUP]
|
|
1644
|
+
}] }];
|
|
1645
|
+
} });
|
|
1646
|
+
/**
|
|
1647
|
+
* Counts the amount of option group labels that precede the specified option.
|
|
1648
|
+
* @param optionIndex Index of the option at which to start counting.
|
|
1649
|
+
* @param options Flat list of all of the options.
|
|
1650
|
+
* @param optionGroups Flat list of all of the option groups.
|
|
1651
|
+
* @docs-private
|
|
1652
|
+
*/
|
|
1653
|
+
function _countGroupLabelsBeforeOption(optionIndex, options, optionGroups) {
|
|
1654
|
+
if (optionGroups.length) {
|
|
1655
|
+
let optionsArray = options.toArray();
|
|
1656
|
+
let groups = optionGroups.toArray();
|
|
1657
|
+
let groupCounter = 0;
|
|
1658
|
+
for (let i = 0; i < optionIndex + 1; i++) {
|
|
1659
|
+
if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {
|
|
1660
|
+
groupCounter++;
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
return groupCounter;
|
|
1664
|
+
}
|
|
1665
|
+
return 0;
|
|
1666
|
+
}
|
|
1667
|
+
/**
|
|
1668
|
+
* Determines the position to which to scroll a panel in order for an option to be into view.
|
|
1669
|
+
* @param optionOffset Offset of the option from the top of the panel.
|
|
1670
|
+
* @param optionHeight Height of the options.
|
|
1671
|
+
* @param currentScrollPosition Current scroll position of the panel.
|
|
1672
|
+
* @param panelHeight Height of the panel.
|
|
1673
|
+
* @docs-private
|
|
1674
|
+
*/
|
|
1675
|
+
function _getOptionScrollPosition(optionOffset, optionHeight, currentScrollPosition, panelHeight) {
|
|
1676
|
+
if (optionOffset < currentScrollPosition) {
|
|
1677
|
+
return optionOffset;
|
|
1678
|
+
}
|
|
1679
|
+
if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {
|
|
1680
|
+
return Math.max(0, optionOffset - panelHeight + optionHeight);
|
|
1681
|
+
}
|
|
1682
|
+
return currentScrollPosition;
|
|
1683
|
+
}
|
|
1684
|
+
|
|
1685
|
+
/**
|
|
1686
|
+
* @license
|
|
1687
|
+
* Copyright Google LLC All Rights Reserved.
|
|
1688
|
+
*
|
|
1689
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
1690
|
+
* found in the LICENSE file at https://angular.io/license
|
|
1691
|
+
*/
|
|
1692
|
+
class MatOptionModule {
|
|
1693
|
+
}
|
|
1694
|
+
MatOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1695
|
+
MatOptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOptionModule, declarations: [MatOption, MatOptgroup], imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule], exports: [MatOption, MatOptgroup] });
|
|
1696
|
+
MatOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOptionModule, imports: [[MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule]] });
|
|
1697
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatOptionModule, decorators: [{
|
|
1698
|
+
type: NgModule,
|
|
1699
|
+
args: [{
|
|
1700
|
+
imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule],
|
|
1701
|
+
exports: [MatOption, MatOptgroup],
|
|
1702
|
+
declarations: [MatOption, MatOptgroup]
|
|
1703
|
+
}]
|
|
1704
|
+
}] });
|
|
1705
|
+
|
|
1706
|
+
/**
|
|
1707
|
+
* @license
|
|
1708
|
+
* Copyright Google LLC All Rights Reserved.
|
|
1709
|
+
*
|
|
1710
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
1711
|
+
* found in the LICENSE file at https://angular.io/license
|
|
1712
|
+
*/
|
|
1713
|
+
|
|
1714
|
+
/**
|
|
1715
|
+
* Generated bundle index. Do not edit.
|
|
1716
|
+
*/
|
|
1717
|
+
|
|
1718
|
+
export { AnimationCurves, AnimationDurations, DateAdapter, ErrorStateMatcher, MATERIAL_SANITY_CHECKS, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_NATIVE_DATE_FORMATS, MAT_OPTGROUP, MAT_OPTION_PARENT_COMPONENT, MAT_RIPPLE_GLOBAL_OPTIONS, MatCommonModule, MatLine, MatLineModule, MatNativeDateModule, MatOptgroup, MatOption, MatOptionModule, MatOptionSelectionChange, MatPseudoCheckbox, MatPseudoCheckboxModule, MatRipple, MatRippleModule, NativeDateAdapter, NativeDateModule, RippleRef, RippleRenderer, ShowOnDirtyErrorStateMatcher, VERSION$1 as VERSION, _MatOptgroupBase, _MatOptionBase, _countGroupLabelsBeforeOption, _getOptionScrollPosition, defaultRippleAnimationConfig, mixinColor, mixinDisableRipple, mixinDisabled, mixinErrorState, mixinInitialized, mixinTabIndex, setLines };
|
|
1719
|
+
//# sourceMappingURL=core.mjs.map
|