@angular/material 10.0.0-rc.3 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +17 -17
- package/autocomplete/index.metadata.json +1 -1
- package/autocomplete/testing/autocomplete-harness.d.ts +2 -0
- package/bundles/material-autocomplete-testing.umd.js +11 -0
- package/bundles/material-autocomplete-testing.umd.js.map +1 -1
- package/bundles/material-autocomplete-testing.umd.min.js +2 -2
- package/bundles/material-autocomplete-testing.umd.min.js.map +1 -1
- package/bundles/material-autocomplete.umd.js +3 -1
- package/bundles/material-autocomplete.umd.js.map +1 -1
- package/bundles/material-autocomplete.umd.min.js +5 -5
- package/bundles/material-autocomplete.umd.min.js.map +1 -1
- package/bundles/material-badge-testing.umd.min.js +1 -1
- package/bundles/material-badge-testing.umd.min.js.map +1 -1
- package/bundles/material-bottom-sheet-testing.umd.min.js +1 -1
- package/bundles/material-bottom-sheet-testing.umd.min.js.map +1 -1
- package/bundles/material-button-testing.umd.js +11 -0
- package/bundles/material-button-testing.umd.js.map +1 -1
- package/bundles/material-button-testing.umd.min.js +2 -2
- package/bundles/material-button-testing.umd.min.js.map +1 -1
- package/bundles/material-button-toggle-testing.umd.js +11 -0
- package/bundles/material-button-toggle-testing.umd.js.map +1 -1
- package/bundles/material-button-toggle-testing.umd.min.js +3 -3
- package/bundles/material-button-toggle-testing.umd.min.js.map +1 -1
- package/bundles/material-button-toggle.umd.js +12 -3
- package/bundles/material-button-toggle.umd.js.map +1 -1
- package/bundles/material-button-toggle.umd.min.js +2 -2
- package/bundles/material-button-toggle.umd.min.js.map +1 -1
- package/bundles/material-button.umd.js +7 -2
- package/bundles/material-button.umd.js.map +1 -1
- package/bundles/material-button.umd.min.js +4 -4
- package/bundles/material-button.umd.min.js.map +1 -1
- package/bundles/material-card-testing.umd.js +335 -0
- package/bundles/material-card-testing.umd.js.map +1 -0
- package/bundles/material-card-testing.umd.min.js +44 -0
- package/bundles/material-card-testing.umd.min.js.map +1 -0
- package/bundles/material-checkbox-testing.umd.js +11 -0
- package/bundles/material-checkbox-testing.umd.js.map +1 -1
- package/bundles/material-checkbox-testing.umd.min.js +3 -3
- package/bundles/material-checkbox-testing.umd.min.js.map +1 -1
- package/bundles/material-checkbox.umd.js.map +1 -1
- package/bundles/material-chips.umd.js +36 -12
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-chips.umd.min.js +4 -4
- package/bundles/material-chips.umd.min.js.map +1 -1
- package/bundles/material-core-testing.umd.min.js +1 -1
- package/bundles/material-core-testing.umd.min.js.map +1 -1
- package/bundles/material-core.umd.js +11 -3
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +11 -11
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +20 -11
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.min.js +5 -5
- package/bundles/material-datepicker.umd.min.js.map +1 -1
- package/bundles/material-dialog-testing.umd.min.js +1 -1
- package/bundles/material-dialog-testing.umd.min.js.map +1 -1
- package/bundles/material-dialog.umd.js +45 -8
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-dialog.umd.min.js +14 -7
- package/bundles/material-dialog.umd.min.js.map +1 -1
- package/bundles/material-divider-testing.umd.min.js +1 -1
- package/bundles/material-divider-testing.umd.min.js.map +1 -1
- package/bundles/material-expansion-testing.umd.js +11 -0
- package/bundles/material-expansion-testing.umd.js.map +1 -1
- package/bundles/material-expansion-testing.umd.min.js +3 -3
- package/bundles/material-expansion-testing.umd.min.js.map +1 -1
- package/bundles/material-form-field-testing.umd.js +32 -0
- package/bundles/material-form-field-testing.umd.js.map +1 -1
- package/bundles/material-form-field-testing.umd.min.js +4 -4
- package/bundles/material-form-field-testing.umd.min.js.map +1 -1
- package/bundles/material-form-field.umd.js +47 -21
- package/bundles/material-form-field.umd.js.map +1 -1
- package/bundles/material-form-field.umd.min.js +5 -5
- package/bundles/material-form-field.umd.min.js.map +1 -1
- package/bundles/material-grid-list-testing.umd.min.js +1 -1
- package/bundles/material-grid-list-testing.umd.min.js.map +1 -1
- package/bundles/material-grid-list.umd.js +2 -2
- package/bundles/material-grid-list.umd.js.map +1 -1
- package/bundles/material-grid-list.umd.min.js +2 -2
- package/bundles/material-grid-list.umd.min.js.map +1 -1
- package/bundles/material-input-testing.umd.js +23 -6
- package/bundles/material-input-testing.umd.js.map +1 -1
- package/bundles/material-input-testing.umd.min.js +3 -3
- package/bundles/material-input-testing.umd.min.js.map +1 -1
- package/bundles/material-input.umd.js +28 -3
- package/bundles/material-input.umd.js.map +1 -1
- package/bundles/material-input.umd.min.js +3 -3
- package/bundles/material-input.umd.min.js.map +1 -1
- package/bundles/material-list-testing.umd.js +33 -0
- package/bundles/material-list-testing.umd.js.map +1 -1
- package/bundles/material-list-testing.umd.min.js +2 -2
- package/bundles/material-list-testing.umd.min.js.map +1 -1
- package/bundles/material-list.umd.js +3 -3
- package/bundles/material-list.umd.min.js +1 -1
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu-testing.umd.js +22 -0
- package/bundles/material-menu-testing.umd.js.map +1 -1
- package/bundles/material-menu-testing.umd.min.js +2 -2
- package/bundles/material-menu-testing.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +13 -2
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-menu.umd.min.js +4 -4
- package/bundles/material-menu.umd.min.js.map +1 -1
- package/bundles/material-paginator-testing.umd.min.js +1 -1
- package/bundles/material-paginator-testing.umd.min.js.map +1 -1
- package/bundles/material-progress-bar-testing.umd.min.js +1 -1
- package/bundles/material-progress-bar-testing.umd.min.js.map +1 -1
- package/bundles/material-progress-spinner-testing.umd.js +1 -1
- package/bundles/material-progress-spinner-testing.umd.js.map +1 -1
- package/bundles/material-progress-spinner-testing.umd.min.js +2 -2
- package/bundles/material-progress-spinner-testing.umd.min.js.map +1 -1
- package/bundles/material-progress-spinner.umd.js +2 -2
- package/bundles/material-progress-spinner.umd.min.js +3 -3
- package/bundles/material-progress-spinner.umd.min.js.map +1 -1
- package/bundles/material-radio-testing.umd.js +11 -0
- package/bundles/material-radio-testing.umd.js.map +1 -1
- package/bundles/material-radio-testing.umd.min.js +3 -3
- package/bundles/material-radio-testing.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +15 -5
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js +2 -2
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select-testing.umd.js +11 -0
- package/bundles/material-select-testing.umd.js.map +1 -1
- package/bundles/material-select-testing.umd.min.js +2 -2
- package/bundles/material-select-testing.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +11 -3
- package/bundles/material-select.umd.js.map +1 -1
- package/bundles/material-select.umd.min.js +4 -4
- package/bundles/material-select.umd.min.js.map +1 -1
- package/bundles/material-sidenav-testing.umd.min.js +1 -1
- package/bundles/material-sidenav-testing.umd.min.js.map +1 -1
- package/bundles/material-sidenav.umd.js +41 -17
- package/bundles/material-sidenav.umd.js.map +1 -1
- package/bundles/material-sidenav.umd.min.js +2 -2
- package/bundles/material-sidenav.umd.min.js.map +1 -1
- package/bundles/material-slide-toggle-testing.umd.js +11 -0
- package/bundles/material-slide-toggle-testing.umd.js.map +1 -1
- package/bundles/material-slide-toggle-testing.umd.min.js +2 -2
- package/bundles/material-slide-toggle-testing.umd.min.js.map +1 -1
- package/bundles/material-slide-toggle.umd.js.map +1 -1
- package/bundles/material-slider-testing.umd.js +11 -0
- package/bundles/material-slider-testing.umd.js.map +1 -1
- package/bundles/material-slider-testing.umd.min.js +2 -2
- package/bundles/material-slider-testing.umd.min.js.map +1 -1
- package/bundles/material-snack-bar-testing.umd.min.js +1 -1
- package/bundles/material-snack-bar-testing.umd.min.js.map +1 -1
- package/bundles/material-snack-bar.umd.js +47 -39
- package/bundles/material-snack-bar.umd.js.map +1 -1
- package/bundles/material-snack-bar.umd.min.js +2 -2
- package/bundles/material-snack-bar.umd.min.js.map +1 -1
- package/bundles/material-sort-testing.umd.js +10 -10
- package/bundles/material-sort-testing.umd.js.map +1 -1
- package/bundles/material-sort-testing.umd.min.js +3 -3
- package/bundles/material-sort-testing.umd.min.js.map +1 -1
- package/bundles/material-sort.umd.js +25 -12
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-sort.umd.min.js +5 -5
- package/bundles/material-sort.umd.min.js.map +1 -1
- package/bundles/material-table-testing.umd.min.js +1 -1
- package/bundles/material-table-testing.umd.min.js.map +1 -1
- package/bundles/material-table.umd.min.js +2 -2
- package/bundles/material-table.umd.min.js.map +1 -1
- package/bundles/material-tabs-testing.umd.min.js +1 -1
- package/bundles/material-tabs-testing.umd.min.js.map +1 -1
- package/bundles/material-tabs.umd.js +23 -4
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tabs.umd.min.js +5 -12
- package/bundles/material-tabs.umd.min.js.map +1 -1
- package/bundles/material-toolbar-testing.umd.js +330 -0
- package/bundles/material-toolbar-testing.umd.js.map +1 -0
- package/bundles/material-toolbar-testing.umd.min.js +44 -0
- package/bundles/material-toolbar-testing.umd.min.js.map +1 -0
- package/bundles/material-tooltip-testing.umd.min.js +1 -1
- package/bundles/material-tooltip-testing.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +14 -1
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.min.js +3 -3
- package/bundles/material-tooltip.umd.min.js.map +1 -1
- package/bundles/material-tree.umd.js.map +1 -1
- package/button/_button-base.scss +1 -1
- package/button/_button-theme.scss +8 -8
- package/button/index.metadata.json +1 -1
- package/button/testing/button-harness.d.ts +2 -0
- package/button-toggle/button-toggle.d.ts +10 -3
- package/button-toggle/index.metadata.json +1 -1
- package/button-toggle/testing/button-toggle-harness.d.ts +2 -0
- package/card/testing/card-harness-filters.d.ts +17 -0
- package/card/testing/card-harness.d.ts +36 -0
- package/card/testing/index.d.ts +8 -0
- package/card/testing/package.json +9 -0
- package/card/testing/public-api.d.ts +9 -0
- package/checkbox/index.metadata.json +1 -1
- package/checkbox/testing/checkbox-harness.d.ts +2 -0
- package/chips/chip.d.ts +19 -1
- package/chips/index.metadata.json +1 -1
- package/core/focus-indicators/_focus-indicators.scss +6 -6
- package/core/index.metadata.json +1 -1
- package/core/option/optgroup.d.ts +7 -0
- package/core/ripple/ripple-ref.d.ts +21 -2
- package/core/ripple/ripple-renderer.d.ts +1 -19
- package/core/ripple/ripple.d.ts +2 -2
- package/core/style/_list-common.scss +1 -1
- package/datepicker/date-range-input-parts.d.ts +2 -4
- package/datepicker/date-range-input.d.ts +4 -4
- package/datepicker/date-range-picker.d.ts +10 -3
- package/datepicker/datepicker.d.ts +2 -3
- package/datepicker/index.metadata.json +1 -1
- package/datepicker/public-api.d.ts +1 -1
- package/dialog/dialog-container.d.ts +9 -2
- package/dialog/dialog-content-directives.d.ts +1 -0
- package/dialog/dialog-ref.d.ts +7 -0
- package/dialog/index.metadata.json +1 -1
- package/esm2015/autocomplete/autocomplete-module.js +18 -22
- package/esm2015/autocomplete/autocomplete-origin.js +16 -20
- package/esm2015/autocomplete/autocomplete-trigger.js +519 -521
- package/esm2015/autocomplete/autocomplete.js +126 -130
- package/esm2015/autocomplete/testing/autocomplete-harness.js +99 -97
- package/esm2015/badge/badge-module.js +13 -17
- package/esm2015/badge/badge.js +184 -188
- package/esm2015/badge/testing/badge-harness.js +74 -78
- package/esm2015/bottom-sheet/bottom-sheet-container.js +161 -165
- package/esm2015/bottom-sheet/bottom-sheet-module.js +15 -19
- package/esm2015/bottom-sheet/bottom-sheet.js +124 -128
- package/esm2015/bottom-sheet/testing/bottom-sheet-harness.js +29 -33
- package/esm2015/button/button-module.js +20 -24
- package/esm2015/button/button.js +111 -114
- package/esm2015/button/testing/button-harness.js +60 -58
- package/esm2015/button-toggle/button-toggle-module.js +10 -14
- package/esm2015/button-toggle/button-toggle.js +368 -368
- package/esm2015/button-toggle/testing/button-toggle-group-harness.js +42 -46
- package/esm2015/button-toggle/testing/button-toggle-harness.js +113 -111
- package/esm2015/card/card-module.js +30 -34
- package/esm2015/card/card.js +147 -203
- package/esm2015/card/testing/card-harness-filters.js +8 -0
- package/esm2015/card/testing/card-harness.js +52 -0
- package/esm2015/card/testing/index.js +9 -0
- package/esm2015/card/testing/public-api.js +10 -0
- package/esm2015/card/testing/testing.externs.js +0 -0
- package/esm2015/checkbox/checkbox-module.js +21 -29
- package/esm2015/checkbox/checkbox-required-validator.js +9 -13
- package/esm2015/checkbox/checkbox.js +315 -319
- package/esm2015/checkbox/testing/checkbox-harness.js +150 -148
- package/esm2015/chips/chip-input.js +119 -123
- package/esm2015/chips/chip-list.js +572 -576
- package/esm2015/chips/chip.js +333 -328
- package/esm2015/chips/chips-module.js +16 -20
- package/esm2015/core/animation/animation.js +12 -20
- package/esm2015/core/common-behaviors/common-module.js +91 -95
- package/esm2015/core/datetime/index.js +19 -27
- package/esm2015/core/datetime/native-date-adapter.js +202 -206
- package/esm2015/core/error/error-options.js +16 -24
- package/esm2015/core/line/line.js +18 -26
- package/esm2015/core/option/index.js +10 -14
- package/esm2015/core/option/optgroup.js +36 -33
- package/esm2015/core/option/option.js +181 -185
- package/esm2015/core/ripple/index.js +10 -14
- package/esm2015/core/ripple/ripple-ref.js +1 -1
- package/esm2015/core/ripple/ripple-renderer.js +1 -1
- package/esm2015/core/ripple/ripple.js +102 -106
- package/esm2015/core/selection/index.js +9 -13
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +32 -36
- package/esm2015/core/testing/optgroup-harness.js +39 -43
- package/esm2015/core/testing/option-harness.js +51 -55
- package/esm2015/core/version.js +1 -1
- package/esm2015/datepicker/calendar-body.js +214 -218
- package/esm2015/datepicker/calendar.js +295 -303
- package/esm2015/datepicker/date-range-input-parts.js +214 -229
- package/esm2015/datepicker/date-range-input.js +244 -242
- package/esm2015/datepicker/date-range-picker.js +19 -23
- package/esm2015/datepicker/date-range-selection-strategy.js +31 -35
- package/esm2015/datepicker/date-selection-model.js +110 -122
- package/esm2015/datepicker/datepicker-base.js +418 -426
- package/esm2015/datepicker/datepicker-input-base.js +227 -224
- package/esm2015/datepicker/datepicker-input.js +111 -115
- package/esm2015/datepicker/datepicker-intl.js +37 -41
- package/esm2015/datepicker/datepicker-module.js +62 -66
- package/esm2015/datepicker/datepicker-toggle.js +81 -89
- package/esm2015/datepicker/datepicker.js +13 -17
- package/esm2015/datepicker/month-view.js +283 -287
- package/esm2015/datepicker/multi-year-view.js +198 -202
- package/esm2015/datepicker/public-api.js +2 -2
- package/esm2015/datepicker/year-view.js +220 -224
- package/esm2015/dialog/dialog-container.js +175 -164
- package/esm2015/dialog/dialog-content-directives.js +105 -114
- package/esm2015/dialog/dialog-module.js +32 -36
- package/esm2015/dialog/dialog-ref.js +17 -3
- package/esm2015/dialog/dialog.js +236 -240
- package/esm2015/dialog/testing/dialog-harness.js +58 -62
- package/esm2015/divider/divider-module.js +10 -14
- package/esm2015/divider/divider.js +33 -37
- package/esm2015/divider/testing/divider-harness.js +16 -20
- package/esm2015/expansion/accordion.js +73 -77
- package/esm2015/expansion/expansion-module.js +26 -30
- package/esm2015/expansion/expansion-panel-content.js +13 -17
- package/esm2015/expansion/expansion-panel-header.js +168 -180
- package/esm2015/expansion/expansion-panel.js +144 -152
- package/esm2015/expansion/testing/accordion-harness.js +24 -28
- package/esm2015/expansion/testing/expansion-harness.js +136 -134
- package/esm2015/form-field/error.js +26 -23
- package/esm2015/form-field/form-field-control.js +6 -10
- package/esm2015/form-field/form-field-module.js +31 -35
- package/esm2015/form-field/form-field.js +407 -409
- package/esm2015/form-field/hint.js +35 -29
- package/esm2015/form-field/label.js +8 -12
- package/esm2015/form-field/placeholder.js +8 -12
- package/esm2015/form-field/prefix.js +16 -13
- package/esm2015/form-field/suffix.js +16 -13
- package/esm2015/form-field/testing/form-field-harness.js +220 -206
- package/esm2015/grid-list/grid-list-module.js +26 -30
- package/esm2015/grid-list/grid-list.js +108 -112
- package/esm2015/grid-list/grid-tile.js +91 -111
- package/esm2015/grid-list/testing/grid-list-harness.js +62 -66
- package/esm2015/grid-list/testing/grid-tile-harness.js +69 -73
- package/esm2015/grid-list/tile-styler.js +1 -1
- package/esm2015/icon/icon-module.js +10 -14
- package/esm2015/icon/icon-registry.js +406 -410
- package/esm2015/icon/icon.js +228 -232
- package/esm2015/icon/testing/fake-icon-registry.js +66 -74
- package/esm2015/input/autosize.js +30 -34
- package/esm2015/input/input-module.js +21 -25
- package/esm2015/input/input.js +305 -284
- package/esm2015/input/testing/input-harness.js +129 -123
- package/esm2015/list/list-module.js +32 -36
- package/esm2015/list/list.js +165 -189
- package/esm2015/list/selection-list.js +503 -511
- package/esm2015/list/testing/action-list-harness.js +55 -57
- package/esm2015/list/testing/list-harness.js +31 -39
- package/esm2015/list/testing/list-item-harness-base.js +13 -17
- package/esm2015/list/testing/nav-list-harness.js +62 -64
- package/esm2015/list/testing/selection-list-harness.js +136 -138
- package/esm2015/menu/menu-content.js +74 -71
- package/esm2015/menu/menu-item.js +119 -123
- package/esm2015/menu/menu-module.js +29 -37
- package/esm2015/menu/menu-panel.js +1 -1
- package/esm2015/menu/menu-trigger.js +402 -405
- package/esm2015/menu/menu.js +329 -339
- package/esm2015/menu/testing/menu-harness.js +193 -189
- package/esm2015/paginator/paginator-intl.js +36 -40
- package/esm2015/paginator/paginator-module.js +16 -20
- package/esm2015/paginator/paginator.js +205 -209
- package/esm2015/paginator/testing/paginator-harness.js +91 -95
- package/esm2015/progress-bar/progress-bar-module.js +10 -14
- package/esm2015/progress-bar/progress-bar.js +114 -118
- package/esm2015/progress-bar/testing/progress-bar-harness.js +27 -31
- package/esm2015/progress-spinner/progress-spinner-module.js +17 -21
- package/esm2015/progress-spinner/progress-spinner.js +181 -189
- package/esm2015/progress-spinner/testing/progress-spinner-harness.js +28 -32
- package/esm2015/radio/radio-module.js +10 -14
- package/esm2015/radio/radio.js +437 -444
- package/esm2015/radio/testing/radio-harness.js +241 -243
- package/esm2015/select/select-module.js +23 -27
- package/esm2015/select/select.js +917 -918
- package/esm2015/select/testing/select-harness.js +138 -136
- package/esm2015/sidenav/drawer.js +632 -620
- package/esm2015/sidenav/sidenav-module.js +31 -35
- package/esm2015/sidenav/sidenav.js +104 -116
- package/esm2015/sidenav/testing/drawer-harness.js +40 -44
- package/esm2015/sidenav/testing/sidenav-harness.js +20 -24
- package/esm2015/slide-toggle/slide-toggle-module.js +27 -35
- package/esm2015/slide-toggle/slide-toggle-required-validator.js +9 -13
- package/esm2015/slide-toggle/slide-toggle.js +184 -188
- package/esm2015/slide-toggle/testing/slide-toggle-harness.js +123 -121
- package/esm2015/slider/slider-module.js +10 -14
- package/esm2015/slider/slider.js +640 -644
- package/esm2015/slider/testing/slider-harness.js +129 -127
- package/esm2015/snack-bar/simple-snack-bar.js +32 -36
- package/esm2015/snack-bar/snack-bar-container.js +144 -148
- package/esm2015/snack-bar/snack-bar-module.js +17 -21
- package/esm2015/snack-bar/snack-bar-ref.js +1 -1
- package/esm2015/snack-bar/snack-bar.js +208 -205
- package/esm2015/snack-bar/testing/snack-bar-harness.js +112 -116
- package/esm2015/sort/sort-header-intl.js +21 -21
- package/esm2015/sort/sort-header.js +200 -194
- package/esm2015/sort/sort-module.js +11 -15
- package/esm2015/sort/sort.js +92 -96
- package/esm2015/sort/testing/sort-harness.js +28 -32
- package/esm2015/sort/testing/sort-header-harness.js +66 -67
- package/esm2015/stepper/step-header.js +78 -82
- package/esm2015/stepper/step-label.js +8 -12
- package/esm2015/stepper/stepper-button.js +23 -31
- package/esm2015/stepper/stepper-icon.js +16 -20
- package/esm2015/stepper/stepper-intl.js +15 -19
- package/esm2015/stepper/stepper-module.js +40 -44
- package/esm2015/stepper/stepper.js +139 -155
- package/esm2015/table/cell.js +94 -122
- package/esm2015/table/row.js +90 -118
- package/esm2015/table/table-module.js +13 -17
- package/esm2015/table/table.js +26 -30
- package/esm2015/table/testing/cell-harness.js +56 -68
- package/esm2015/table/testing/row-harness.js +90 -102
- package/esm2015/table/testing/table-harness.js +65 -69
- package/esm2015/table/text-column.js +17 -21
- package/esm2015/tabs/index.js +4 -2
- package/esm2015/tabs/ink-bar.js +55 -59
- package/esm2015/tabs/paginated-tab-header.js +415 -419
- package/esm2015/tabs/tab-body.js +179 -191
- package/esm2015/tabs/tab-content.js +21 -16
- package/esm2015/tabs/tab-group.js +263 -271
- package/esm2015/tabs/tab-header.js +69 -77
- package/esm2015/tabs/tab-label-wrapper.js +29 -33
- package/esm2015/tabs/tab-label.js +16 -13
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +199 -215
- package/esm2015/tabs/tab.js +80 -83
- package/esm2015/tabs/tabs-module.js +38 -42
- package/esm2015/tabs/testing/tab-group-harness.js +52 -56
- package/esm2015/tabs/testing/tab-harness.js +78 -82
- package/esm2015/toolbar/testing/index.js +9 -0
- package/esm2015/toolbar/testing/public-api.js +10 -0
- package/esm2015/toolbar/testing/testing.externs.js +0 -0
- package/esm2015/toolbar/testing/toolbar-harness-filters.js +8 -0
- package/esm2015/toolbar/testing/toolbar-harness.js +47 -0
- package/esm2015/toolbar/toolbar-module.js +10 -14
- package/esm2015/toolbar/toolbar.js +61 -69
- package/esm2015/tooltip/testing/tooltip-harness.js +43 -47
- package/esm2015/tooltip/tooltip-module.js +17 -21
- package/esm2015/tooltip/tooltip.js +502 -497
- package/esm2015/tree/data-source/flat-data-source.js +1 -1
- package/esm2015/tree/node.js +99 -111
- package/esm2015/tree/outlet.js +19 -23
- package/esm2015/tree/padding.js +13 -17
- package/esm2015/tree/toggle.js +15 -19
- package/esm2015/tree/tree-module.js +10 -14
- package/esm2015/tree/tree.js +23 -27
- package/expansion/testing/expansion-harness.d.ts +2 -0
- package/fesm2015/autocomplete/testing.js +98 -95
- package/fesm2015/autocomplete/testing.js.map +1 -1
- package/fesm2015/autocomplete.js +677 -687
- package/fesm2015/autocomplete.js.map +1 -1
- package/fesm2015/badge/testing.js +73 -76
- package/fesm2015/badge/testing.js.map +1 -1
- package/fesm2015/badge.js +195 -201
- package/fesm2015/badge.js.map +1 -1
- package/fesm2015/bottom-sheet/testing.js +28 -31
- package/fesm2015/bottom-sheet/testing.js.map +1 -1
- package/fesm2015/bottom-sheet.js +297 -306
- package/fesm2015/bottom-sheet.js.map +1 -1
- package/fesm2015/button/testing.js +59 -56
- package/fesm2015/button/testing.js.map +1 -1
- package/fesm2015/button-toggle/testing.js +155 -155
- package/fesm2015/button-toggle/testing.js.map +1 -1
- package/fesm2015/button-toggle.js +377 -378
- package/fesm2015/button-toggle.js.map +1 -1
- package/fesm2015/button.js +129 -133
- package/fesm2015/button.js.map +1 -1
- package/fesm2015/card/testing.js +79 -0
- package/fesm2015/card/testing.js.map +1 -0
- package/fesm2015/card.js +175 -220
- package/fesm2015/card.js.map +1 -1
- package/fesm2015/checkbox/testing.js +149 -146
- package/fesm2015/checkbox/testing.js.map +1 -1
- package/fesm2015/checkbox.js +342 -354
- package/fesm2015/checkbox.js.map +1 -1
- package/fesm2015/chips.js +1039 -1039
- package/fesm2015/chips.js.map +1 -1
- package/fesm2015/core/testing.js +88 -94
- package/fesm2015/core/testing.js.map +1 -1
- package/fesm2015/core.js +729 -773
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/datepicker.js +2821 -2884
- package/fesm2015/datepicker.js.map +1 -1
- package/fesm2015/dialog/testing.js +57 -60
- package/fesm2015/dialog/testing.js.map +1 -1
- package/fesm2015/dialog.js +564 -549
- package/fesm2015/dialog.js.map +1 -1
- package/fesm2015/divider/testing.js +15 -18
- package/fesm2015/divider/testing.js.map +1 -1
- package/fesm2015/divider.js +41 -47
- package/fesm2015/divider.js.map +1 -1
- package/fesm2015/expansion/testing.js +159 -159
- package/fesm2015/expansion/testing.js.map +1 -1
- package/fesm2015/expansion.js +422 -446
- package/fesm2015/expansion.js.map +1 -1
- package/fesm2015/form-field/testing.js +219 -204
- package/fesm2015/form-field/testing.js.map +1 -1
- package/fesm2015/form-field.js +538 -532
- package/fesm2015/form-field.js.map +1 -1
- package/fesm2015/grid-list/testing.js +129 -135
- package/fesm2015/grid-list/testing.js.map +1 -1
- package/fesm2015/grid-list.js +221 -242
- package/fesm2015/grid-list.js.map +1 -1
- package/fesm2015/icon/testing.js +65 -71
- package/fesm2015/icon/testing.js.map +1 -1
- package/fesm2015/icon.js +660 -669
- package/fesm2015/icon.js.map +1 -1
- package/fesm2015/input/testing.js +128 -121
- package/fesm2015/input/testing.js.map +1 -1
- package/fesm2015/input.js +353 -337
- package/fesm2015/input.js.map +1 -1
- package/fesm2015/list/testing.js +298 -307
- package/fesm2015/list/testing.js.map +1 -1
- package/fesm2015/list.js +698 -725
- package/fesm2015/list.js.map +1 -1
- package/fesm2015/menu/testing.js +192 -186
- package/fesm2015/menu/testing.js.map +1 -1
- package/fesm2015/menu.js +948 -962
- package/fesm2015/menu.js.map +1 -1
- package/fesm2015/paginator/testing.js +90 -93
- package/fesm2015/paginator/testing.js.map +1 -1
- package/fesm2015/paginator.js +247 -256
- package/fesm2015/paginator.js.map +1 -1
- package/fesm2015/progress-bar/testing.js +26 -29
- package/fesm2015/progress-bar/testing.js.map +1 -1
- package/fesm2015/progress-bar.js +122 -128
- package/fesm2015/progress-bar.js.map +1 -1
- package/fesm2015/progress-spinner/testing.js +27 -30
- package/fesm2015/progress-spinner/testing.js.map +1 -1
- package/fesm2015/progress-spinner.js +196 -205
- package/fesm2015/progress-spinner.js.map +1 -1
- package/fesm2015/radio/testing.js +240 -240
- package/fesm2015/radio/testing.js.map +1 -1
- package/fesm2015/radio.js +447 -453
- package/fesm2015/radio.js.map +1 -1
- package/fesm2015/select/testing.js +137 -134
- package/fesm2015/select/testing.js.map +1 -1
- package/fesm2015/select.js +939 -941
- package/fesm2015/select.js.map +1 -1
- package/fesm2015/sidenav/testing.js +58 -64
- package/fesm2015/sidenav/testing.js.map +1 -1
- package/fesm2015/sidenav.js +765 -762
- package/fesm2015/sidenav.js.map +1 -1
- package/fesm2015/slide-toggle/testing.js +122 -119
- package/fesm2015/slide-toggle/testing.js.map +1 -1
- package/fesm2015/slide-toggle.js +217 -229
- package/fesm2015/slide-toggle.js.map +1 -1
- package/fesm2015/slider/testing.js +128 -125
- package/fesm2015/slider/testing.js.map +1 -1
- package/fesm2015/slider.js +648 -654
- package/fesm2015/slider.js.map +1 -1
- package/fesm2015/snack-bar/testing.js +111 -114
- package/fesm2015/snack-bar/testing.js.map +1 -1
- package/fesm2015/snack-bar.js +426 -431
- package/fesm2015/snack-bar.js.map +1 -1
- package/fesm2015/sort/testing.js +92 -95
- package/fesm2015/sort/testing.js.map +1 -1
- package/fesm2015/sort.js +320 -318
- package/fesm2015/sort.js.map +1 -1
- package/fesm2015/stepper.js +312 -345
- package/fesm2015/stepper.js.map +1 -1
- package/fesm2015/table/testing.js +208 -229
- package/fesm2015/table/testing.js.map +1 -1
- package/fesm2015/table.js +235 -286
- package/fesm2015/table.js.map +1 -1
- package/fesm2015/tabs/testing.js +128 -134
- package/fesm2015/tabs/testing.js.map +1 -1
- package/fesm2015/tabs.js +1362 -1399
- package/fesm2015/tabs.js.map +1 -1
- package/fesm2015/toolbar/testing.js +74 -0
- package/fesm2015/toolbar/testing.js.map +1 -0
- package/fesm2015/toolbar.js +69 -78
- package/fesm2015/toolbar.js.map +1 -1
- package/fesm2015/tooltip/testing.js +42 -45
- package/fesm2015/tooltip/testing.js.map +1 -1
- package/fesm2015/tooltip.js +517 -513
- package/fesm2015/tooltip.js.map +1 -1
- package/fesm2015/tree.js +173 -197
- package/fesm2015/tree.js.map +1 -1
- package/form-field/error.d.ts +7 -0
- package/form-field/hint.d.ts +10 -0
- package/form-field/index.metadata.json +1 -1
- package/form-field/prefix.d.ts +7 -0
- package/form-field/suffix.d.ts +7 -0
- package/form-field/testing/form-field-harness.d.ts +8 -0
- package/grid-list/grid-list.d.ts +2 -1
- package/grid-list/index.metadata.json +1 -1
- package/grid-list/tile-styler.d.ts +10 -5
- package/input/_input-theme.scss +2 -2
- package/input/index.metadata.json +1 -1
- package/input/input.d.ts +6 -2
- package/input/testing/input-harness.d.ts +2 -0
- package/list/index.metadata.json +1 -1
- package/list/testing/action-list-harness.d.ts +2 -0
- package/list/testing/nav-list-harness.d.ts +2 -0
- package/list/testing/selection-list-harness.d.ts +2 -0
- package/menu/index.metadata.json +1 -1
- package/menu/menu-content.d.ts +7 -1
- package/menu/menu-panel.d.ts +1 -0
- package/menu/menu.d.ts +4 -0
- package/menu/testing/menu-harness.d.ts +4 -0
- package/package.json +6 -6
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-spinner/index.metadata.json +1 -1
- package/radio/index.metadata.json +1 -1
- package/radio/radio.d.ts +6 -0
- package/radio/testing/radio-harness.d.ts +2 -0
- package/schematics/migration.json +5 -0
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +3 -3
- package/schematics/ng-generate/navigation/schema.json +5 -0
- package/schematics/ng-update/data/index.js +1 -1
- package/schematics/ng-update/index.d.ts +2 -0
- package/schematics/ng-update/index.js +7 -2
- package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +639 -639
- package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.js +1 -1
- package/select/index.metadata.json +1 -1
- package/select/select.d.ts +6 -0
- package/select/testing/select-harness.d.ts +2 -0
- package/sidenav/drawer.d.ts +15 -3
- package/sidenav/index.metadata.json +1 -1
- package/slide-toggle/index.metadata.json +1 -1
- package/slide-toggle/testing/slide-toggle-harness.d.ts +2 -0
- package/slider/testing/slider-harness.d.ts +2 -0
- package/snack-bar/index.metadata.json +1 -1
- package/snack-bar/simple-snack-bar.d.ts +13 -1
- package/snack-bar/snack-bar-container.d.ts +16 -3
- package/snack-bar/snack-bar-ref.d.ts +3 -3
- package/snack-bar/snack-bar.d.ts +10 -3
- package/sort/index.metadata.json +1 -1
- package/sort/sort-header-intl.d.ts +5 -1
- package/sort/sort-header.d.ts +3 -1
- package/sort/testing/sort-header-harness.d.ts +6 -2
- package/tabs/index.d.ts +3 -1
- package/tabs/index.metadata.json +1 -1
- package/tabs/tab-content.d.ts +7 -1
- package/tabs/tab-label.d.ts +7 -0
- package/toolbar/testing/index.d.ts +8 -0
- package/toolbar/testing/package.json +9 -0
- package/toolbar/testing/public-api.d.ts +9 -0
- package/toolbar/testing/toolbar-harness-filters.d.ts +13 -0
- package/toolbar/testing/toolbar-harness.d.ts +31 -0
- package/tooltip/index.metadata.json +1 -1
- package/tooltip/tooltip.d.ts +1 -0
- package/tree/data-source/flat-data-source.d.ts +4 -4
- package/tree/index.metadata.json +1 -1
package/fesm2015/core.js
CHANGED
|
@@ -18,7 +18,7 @@ import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
|
18
18
|
* found in the LICENSE file at https://angular.io/license
|
|
19
19
|
*/
|
|
20
20
|
/** Current version of Angular Material. */
|
|
21
|
-
const VERSION = new Version('10.
|
|
21
|
+
const VERSION = new Version('10.1.0');
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* @license
|
|
@@ -28,24 +28,18 @@ const VERSION = new Version('10.0.0-rc.3');
|
|
|
28
28
|
* found in the LICENSE file at https://angular.io/license
|
|
29
29
|
*/
|
|
30
30
|
/** @docs-private */
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
AnimationCurves.SHARP_CURVE = 'cubic-bezier(0.4,0.0,0.6,1)';
|
|
38
|
-
return AnimationCurves;
|
|
39
|
-
})();
|
|
31
|
+
class AnimationCurves {
|
|
32
|
+
}
|
|
33
|
+
AnimationCurves.STANDARD_CURVE = 'cubic-bezier(0.4,0.0,0.2,1)';
|
|
34
|
+
AnimationCurves.DECELERATION_CURVE = 'cubic-bezier(0.0,0.0,0.2,1)';
|
|
35
|
+
AnimationCurves.ACCELERATION_CURVE = 'cubic-bezier(0.4,0.0,1,1)';
|
|
36
|
+
AnimationCurves.SHARP_CURVE = 'cubic-bezier(0.4,0.0,0.6,1)';
|
|
40
37
|
/** @docs-private */
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
AnimationDurations.EXITING = '195ms';
|
|
47
|
-
return AnimationDurations;
|
|
48
|
-
})();
|
|
38
|
+
class AnimationDurations {
|
|
39
|
+
}
|
|
40
|
+
AnimationDurations.COMPLEX = '375ms';
|
|
41
|
+
AnimationDurations.ENTERING = '225ms';
|
|
42
|
+
AnimationDurations.EXITING = '195ms';
|
|
49
43
|
|
|
50
44
|
/**
|
|
51
45
|
* @license
|
|
@@ -58,7 +52,7 @@ let AnimationDurations = /** @class */ (() => {
|
|
|
58
52
|
// i.e. avoid core to depend on the @angular/material primary entry-point
|
|
59
53
|
// Can be removed once the Material primary entry-point no longer
|
|
60
54
|
// re-exports all secondary entry-points
|
|
61
|
-
const VERSION$1 = new Version('10.
|
|
55
|
+
const VERSION$1 = new Version('10.1.0');
|
|
62
56
|
/** @docs-private */
|
|
63
57
|
function MATERIAL_SANITY_CHECKS_FACTORY() {
|
|
64
58
|
return true;
|
|
@@ -74,104 +68,101 @@ const MATERIAL_SANITY_CHECKS = new InjectionToken('mat-sanity-checks', {
|
|
|
74
68
|
*
|
|
75
69
|
* This module should be imported to each top-level component module (e.g., MatTabsModule).
|
|
76
70
|
*/
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
this._hasDoneGlobalChecks = true;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/** Access injected document if available or fallback to global document reference */
|
|
99
|
-
_getDocument() {
|
|
100
|
-
const doc = this._document || document;
|
|
101
|
-
return typeof doc === 'object' && doc ? doc : null;
|
|
71
|
+
class MatCommonModule {
|
|
72
|
+
constructor(highContrastModeDetector, sanityChecks,
|
|
73
|
+
/** @breaking-change 11.0.0 make document required */
|
|
74
|
+
document) {
|
|
75
|
+
/** Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype). */
|
|
76
|
+
this._hasDoneGlobalChecks = false;
|
|
77
|
+
this._document = document;
|
|
78
|
+
// While A11yModule also does this, we repeat it here to avoid importing A11yModule
|
|
79
|
+
// in MatCommonModule.
|
|
80
|
+
highContrastModeDetector._applyBodyHighContrastModeCssClasses();
|
|
81
|
+
// Note that `_sanityChecks` is typed to `any`, because AoT
|
|
82
|
+
// throws an error if we use the `SanityChecks` type directly.
|
|
83
|
+
this._sanityChecks = sanityChecks;
|
|
84
|
+
if (!this._hasDoneGlobalChecks) {
|
|
85
|
+
this._checkDoctypeIsDefined();
|
|
86
|
+
this._checkThemeIsPresent();
|
|
87
|
+
this._checkCdkVersionMatch();
|
|
88
|
+
this._hasDoneGlobalChecks = true;
|
|
102
89
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
90
|
+
}
|
|
91
|
+
/** Access injected document if available or fallback to global document reference */
|
|
92
|
+
_getDocument() {
|
|
93
|
+
const doc = this._document || document;
|
|
94
|
+
return typeof doc === 'object' && doc ? doc : null;
|
|
95
|
+
}
|
|
96
|
+
/** Use defaultView of injected document if available or fallback to global window reference */
|
|
97
|
+
_getWindow() {
|
|
98
|
+
const doc = this._getDocument();
|
|
99
|
+
const win = (doc === null || doc === void 0 ? void 0 : doc.defaultView) || window;
|
|
100
|
+
return typeof win === 'object' && win ? win : null;
|
|
101
|
+
}
|
|
102
|
+
/** Whether any sanity checks are enabled. */
|
|
103
|
+
_checksAreEnabled() {
|
|
104
|
+
return isDevMode() && !this._isTestEnv();
|
|
105
|
+
}
|
|
106
|
+
/** Whether the code is running in tests. */
|
|
107
|
+
_isTestEnv() {
|
|
108
|
+
const window = this._getWindow();
|
|
109
|
+
return window && (window.__karma__ || window.jasmine);
|
|
110
|
+
}
|
|
111
|
+
_checkDoctypeIsDefined() {
|
|
112
|
+
const isEnabled = this._checksAreEnabled() &&
|
|
113
|
+
(this._sanityChecks === true || this._sanityChecks.doctype);
|
|
114
|
+
const document = this._getDocument();
|
|
115
|
+
if (isEnabled && document && !document.doctype) {
|
|
116
|
+
console.warn('Current document does not have a doctype. This may cause ' +
|
|
117
|
+
'some Angular Material components not to behave as expected.');
|
|
126
118
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const testElement = document.createElement('div');
|
|
138
|
-
testElement.classList.add('mat-theme-loaded-marker');
|
|
139
|
-
document.body.appendChild(testElement);
|
|
140
|
-
const computedStyle = getComputedStyle(testElement);
|
|
141
|
-
// In some situations the computed style of the test element can be null. For example in
|
|
142
|
-
// Firefox, the computed style is null if an application is running inside of a hidden iframe.
|
|
143
|
-
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
|
144
|
-
if (computedStyle && computedStyle.display !== 'none') {
|
|
145
|
-
console.warn('Could not find Angular Material core theme. Most Material ' +
|
|
146
|
-
'components may not work as expected. For more info refer ' +
|
|
147
|
-
'to the theming guide: https://material.angular.io/guide/theming');
|
|
148
|
-
}
|
|
149
|
-
document.body.removeChild(testElement);
|
|
119
|
+
}
|
|
120
|
+
_checkThemeIsPresent() {
|
|
121
|
+
// We need to assert that the `body` is defined, because these checks run very early
|
|
122
|
+
// and the `body` won't be defined if the consumer put their scripts in the `head`.
|
|
123
|
+
const isDisabled = !this._checksAreEnabled() ||
|
|
124
|
+
(this._sanityChecks === false || !this._sanityChecks.theme);
|
|
125
|
+
const document = this._getDocument();
|
|
126
|
+
if (isDisabled || !document || !document.body ||
|
|
127
|
+
typeof getComputedStyle !== 'function') {
|
|
128
|
+
return;
|
|
150
129
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
130
|
+
const testElement = document.createElement('div');
|
|
131
|
+
testElement.classList.add('mat-theme-loaded-marker');
|
|
132
|
+
document.body.appendChild(testElement);
|
|
133
|
+
const computedStyle = getComputedStyle(testElement);
|
|
134
|
+
// In some situations the computed style of the test element can be null. For example in
|
|
135
|
+
// Firefox, the computed style is null if an application is running inside of a hidden iframe.
|
|
136
|
+
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
|
137
|
+
if (computedStyle && computedStyle.display !== 'none') {
|
|
138
|
+
console.warn('Could not find Angular Material core theme. Most Material ' +
|
|
139
|
+
'components may not work as expected. For more info refer ' +
|
|
140
|
+
'to the theming guide: https://material.angular.io/guide/theming');
|
|
141
|
+
}
|
|
142
|
+
document.body.removeChild(testElement);
|
|
143
|
+
}
|
|
144
|
+
/** Checks whether the material version matches the cdk version */
|
|
145
|
+
_checkCdkVersionMatch() {
|
|
146
|
+
const isEnabled = this._checksAreEnabled() &&
|
|
147
|
+
(this._sanityChecks === true || this._sanityChecks.version);
|
|
148
|
+
if (isEnabled && VERSION$1.full !== VERSION$2.full) {
|
|
149
|
+
console.warn('The Angular Material version (' + VERSION$1.full + ') does not match ' +
|
|
150
|
+
'the Angular CDK version (' + VERSION$2.full + ').\n' +
|
|
151
|
+
'Please ensure the versions of these two packages exactly match.');
|
|
160
152
|
}
|
|
161
153
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
]
|
|
173
|
-
|
|
174
|
-
})();
|
|
154
|
+
}
|
|
155
|
+
MatCommonModule.decorators = [
|
|
156
|
+
{ type: NgModule, args: [{
|
|
157
|
+
imports: [BidiModule],
|
|
158
|
+
exports: [BidiModule],
|
|
159
|
+
},] }
|
|
160
|
+
];
|
|
161
|
+
MatCommonModule.ctorParameters = () => [
|
|
162
|
+
{ type: HighContrastModeDetector },
|
|
163
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MATERIAL_SANITY_CHECKS,] }] },
|
|
164
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }
|
|
165
|
+
];
|
|
175
166
|
|
|
176
167
|
/**
|
|
177
168
|
* @license
|
|
@@ -535,228 +526,225 @@ function range(length, valueFunction) {
|
|
|
535
526
|
return valuesArray;
|
|
536
527
|
}
|
|
537
528
|
/** Adapts the native JS Date for use with cdk-based components that work with dates. */
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
getMonth(
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
getDate(
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
return range(12, i => this._stripDirectionalityCharacters(this._format(dtf, new Date(2017, i, 1))));
|
|
575
|
-
}
|
|
576
|
-
return DEFAULT_MONTH_NAMES[style];
|
|
577
|
-
}
|
|
578
|
-
getDateNames() {
|
|
579
|
-
if (SUPPORTS_INTL_API) {
|
|
580
|
-
const dtf = new Intl.DateTimeFormat(this.locale, { day: 'numeric', timeZone: 'utc' });
|
|
581
|
-
return range(31, i => this._stripDirectionalityCharacters(this._format(dtf, new Date(2017, 0, i + 1))));
|
|
582
|
-
}
|
|
583
|
-
return DEFAULT_DATE_NAMES;
|
|
584
|
-
}
|
|
585
|
-
getDayOfWeekNames(style) {
|
|
586
|
-
if (SUPPORTS_INTL_API) {
|
|
587
|
-
const dtf = new Intl.DateTimeFormat(this.locale, { weekday: style, timeZone: 'utc' });
|
|
588
|
-
return range(7, i => this._stripDirectionalityCharacters(this._format(dtf, new Date(2017, 0, i + 1))));
|
|
589
|
-
}
|
|
590
|
-
return DEFAULT_DAY_OF_WEEK_NAMES[style];
|
|
529
|
+
class NativeDateAdapter extends DateAdapter {
|
|
530
|
+
constructor(matDateLocale, platform) {
|
|
531
|
+
super();
|
|
532
|
+
/**
|
|
533
|
+
* Whether to use `timeZone: 'utc'` with `Intl.DateTimeFormat` when formatting dates.
|
|
534
|
+
* Without this `Intl.DateTimeFormat` sometimes chooses the wrong timeZone, which can throw off
|
|
535
|
+
* the result. (e.g. in the en-US locale `new Date(1800, 7, 14).toLocaleDateString()`
|
|
536
|
+
* will produce `'8/13/1800'`.
|
|
537
|
+
*
|
|
538
|
+
* TODO(mmalerba): drop this variable. It's not being used in the code right now. We're now
|
|
539
|
+
* getting the string representation of a Date object from its utc representation. We're keeping
|
|
540
|
+
* it here for sometime, just for precaution, in case we decide to revert some of these changes
|
|
541
|
+
* though.
|
|
542
|
+
*/
|
|
543
|
+
this.useUtcForDisplay = true;
|
|
544
|
+
super.setLocale(matDateLocale);
|
|
545
|
+
// IE does its own time zone correction, so we disable this on IE.
|
|
546
|
+
this.useUtcForDisplay = !platform.TRIDENT;
|
|
547
|
+
this._clampDate = platform.TRIDENT || platform.EDGE;
|
|
548
|
+
}
|
|
549
|
+
getYear(date) {
|
|
550
|
+
return date.getFullYear();
|
|
551
|
+
}
|
|
552
|
+
getMonth(date) {
|
|
553
|
+
return date.getMonth();
|
|
554
|
+
}
|
|
555
|
+
getDate(date) {
|
|
556
|
+
return date.getDate();
|
|
557
|
+
}
|
|
558
|
+
getDayOfWeek(date) {
|
|
559
|
+
return date.getDay();
|
|
560
|
+
}
|
|
561
|
+
getMonthNames(style) {
|
|
562
|
+
if (SUPPORTS_INTL_API) {
|
|
563
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { month: style, timeZone: 'utc' });
|
|
564
|
+
return range(12, i => this._stripDirectionalityCharacters(this._format(dtf, new Date(2017, i, 1))));
|
|
591
565
|
}
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
}
|
|
597
|
-
return
|
|
566
|
+
return DEFAULT_MONTH_NAMES[style];
|
|
567
|
+
}
|
|
568
|
+
getDateNames() {
|
|
569
|
+
if (SUPPORTS_INTL_API) {
|
|
570
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { day: 'numeric', timeZone: 'utc' });
|
|
571
|
+
return range(31, i => this._stripDirectionalityCharacters(this._format(dtf, new Date(2017, 0, i + 1))));
|
|
598
572
|
}
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
573
|
+
return DEFAULT_DATE_NAMES;
|
|
574
|
+
}
|
|
575
|
+
getDayOfWeekNames(style) {
|
|
576
|
+
if (SUPPORTS_INTL_API) {
|
|
577
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { weekday: style, timeZone: 'utc' });
|
|
578
|
+
return range(7, i => this._stripDirectionalityCharacters(this._format(dtf, new Date(2017, 0, i + 1))));
|
|
602
579
|
}
|
|
603
|
-
|
|
604
|
-
|
|
580
|
+
return DEFAULT_DAY_OF_WEEK_NAMES[style];
|
|
581
|
+
}
|
|
582
|
+
getYearName(date) {
|
|
583
|
+
if (SUPPORTS_INTL_API) {
|
|
584
|
+
const dtf = new Intl.DateTimeFormat(this.locale, { year: 'numeric', timeZone: 'utc' });
|
|
585
|
+
return this._stripDirectionalityCharacters(this._format(dtf, date));
|
|
605
586
|
}
|
|
606
|
-
|
|
607
|
-
|
|
587
|
+
return String(this.getYear(date));
|
|
588
|
+
}
|
|
589
|
+
getFirstDayOfWeek() {
|
|
590
|
+
// We can't tell using native JS Date what the first day of the week is, we default to Sunday.
|
|
591
|
+
return 0;
|
|
592
|
+
}
|
|
593
|
+
getNumDaysInMonth(date) {
|
|
594
|
+
return this.getDate(this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0));
|
|
595
|
+
}
|
|
596
|
+
clone(date) {
|
|
597
|
+
return new Date(date.getTime());
|
|
598
|
+
}
|
|
599
|
+
createDate(year, month, date) {
|
|
600
|
+
// Check for invalid month and date (except upper bound on date which we have to check after
|
|
601
|
+
// creating the Date).
|
|
602
|
+
if (month < 0 || month > 11) {
|
|
603
|
+
throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
|
|
608
604
|
}
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
// creating the Date).
|
|
612
|
-
if (month < 0 || month > 11) {
|
|
613
|
-
throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
|
|
614
|
-
}
|
|
615
|
-
if (date < 1) {
|
|
616
|
-
throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
|
|
617
|
-
}
|
|
618
|
-
let result = this._createDateWithOverflow(year, month, date);
|
|
619
|
-
// Check that the date wasn't above the upper bound for the month, causing the month to overflow
|
|
620
|
-
if (result.getMonth() != month) {
|
|
621
|
-
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
622
|
-
}
|
|
623
|
-
return result;
|
|
605
|
+
if (date < 1) {
|
|
606
|
+
throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
|
|
624
607
|
}
|
|
625
|
-
|
|
626
|
-
|
|
608
|
+
let result = this._createDateWithOverflow(year, month, date);
|
|
609
|
+
// Check that the date wasn't above the upper bound for the month, causing the month to overflow
|
|
610
|
+
if (result.getMonth() != month) {
|
|
611
|
+
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
627
612
|
}
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
613
|
+
return result;
|
|
614
|
+
}
|
|
615
|
+
today() {
|
|
616
|
+
return new Date();
|
|
617
|
+
}
|
|
618
|
+
parse(value) {
|
|
619
|
+
// We have no way using the native JS Date to set the parse format or locale, so we ignore these
|
|
620
|
+
// parameters.
|
|
621
|
+
if (typeof value == 'number') {
|
|
622
|
+
return new Date(value);
|
|
635
623
|
}
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
const dtf = new Intl.DateTimeFormat(this.locale, displayFormat);
|
|
649
|
-
return this._stripDirectionalityCharacters(this._format(dtf, date));
|
|
624
|
+
return value ? new Date(Date.parse(value)) : null;
|
|
625
|
+
}
|
|
626
|
+
format(date, displayFormat) {
|
|
627
|
+
if (!this.isValid(date)) {
|
|
628
|
+
throw Error('NativeDateAdapter: Cannot format invalid date.');
|
|
629
|
+
}
|
|
630
|
+
if (SUPPORTS_INTL_API) {
|
|
631
|
+
// On IE and Edge the i18n API will throw a hard error that can crash the entire app
|
|
632
|
+
// if we attempt to format a date whose year is less than 1 or greater than 9999.
|
|
633
|
+
if (this._clampDate && (date.getFullYear() < 1 || date.getFullYear() > 9999)) {
|
|
634
|
+
date = this.clone(date);
|
|
635
|
+
date.setFullYear(Math.max(1, Math.min(9999, date.getFullYear())));
|
|
650
636
|
}
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
return this.addCalendarMonths(date, years * 12);
|
|
637
|
+
displayFormat = Object.assign(Object.assign({}, displayFormat), { timeZone: 'utc' });
|
|
638
|
+
const dtf = new Intl.DateTimeFormat(this.locale, displayFormat);
|
|
639
|
+
return this._stripDirectionalityCharacters(this._format(dtf, date));
|
|
655
640
|
}
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
641
|
+
return this._stripDirectionalityCharacters(date.toDateString());
|
|
642
|
+
}
|
|
643
|
+
addCalendarYears(date, years) {
|
|
644
|
+
return this.addCalendarMonths(date, years * 12);
|
|
645
|
+
}
|
|
646
|
+
addCalendarMonths(date, months) {
|
|
647
|
+
let newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date));
|
|
648
|
+
// It's possible to wind up in the wrong month if the original month has more days than the new
|
|
649
|
+
// month. In this case we want to go to the last day of the desired month.
|
|
650
|
+
// Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
|
|
651
|
+
// guarantee this.
|
|
652
|
+
if (this.getMonth(newDate) != ((this.getMonth(date) + months) % 12 + 12) % 12) {
|
|
653
|
+
newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);
|
|
654
|
+
}
|
|
655
|
+
return newDate;
|
|
656
|
+
}
|
|
657
|
+
addCalendarDays(date, days) {
|
|
658
|
+
return this._createDateWithOverflow(this.getYear(date), this.getMonth(date), this.getDate(date) + days);
|
|
659
|
+
}
|
|
660
|
+
toIso8601(date) {
|
|
661
|
+
return [
|
|
662
|
+
date.getUTCFullYear(),
|
|
663
|
+
this._2digit(date.getUTCMonth() + 1),
|
|
664
|
+
this._2digit(date.getUTCDate())
|
|
665
|
+
].join('-');
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings
|
|
669
|
+
* (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an
|
|
670
|
+
* invalid date for all other values.
|
|
671
|
+
*/
|
|
672
|
+
deserialize(value) {
|
|
673
|
+
if (typeof value === 'string') {
|
|
674
|
+
if (!value) {
|
|
675
|
+
return null;
|
|
664
676
|
}
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
return [
|
|
672
|
-
date.getUTCFullYear(),
|
|
673
|
-
this._2digit(date.getUTCMonth() + 1),
|
|
674
|
-
this._2digit(date.getUTCDate())
|
|
675
|
-
].join('-');
|
|
676
|
-
}
|
|
677
|
-
/**
|
|
678
|
-
* Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings
|
|
679
|
-
* (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an
|
|
680
|
-
* invalid date for all other values.
|
|
681
|
-
*/
|
|
682
|
-
deserialize(value) {
|
|
683
|
-
if (typeof value === 'string') {
|
|
684
|
-
if (!value) {
|
|
685
|
-
return null;
|
|
686
|
-
}
|
|
687
|
-
// The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
|
|
688
|
-
// string is the right format first.
|
|
689
|
-
if (ISO_8601_REGEX.test(value)) {
|
|
690
|
-
let date = new Date(value);
|
|
691
|
-
if (this.isValid(date)) {
|
|
692
|
-
return date;
|
|
693
|
-
}
|
|
677
|
+
// The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
|
|
678
|
+
// string is the right format first.
|
|
679
|
+
if (ISO_8601_REGEX.test(value)) {
|
|
680
|
+
let date = new Date(value);
|
|
681
|
+
if (this.isValid(date)) {
|
|
682
|
+
return date;
|
|
694
683
|
}
|
|
695
684
|
}
|
|
696
|
-
return super.deserialize(value);
|
|
697
|
-
}
|
|
698
|
-
isDateInstance(obj) {
|
|
699
|
-
return obj instanceof Date;
|
|
700
|
-
}
|
|
701
|
-
isValid(date) {
|
|
702
|
-
return !isNaN(date.getTime());
|
|
703
|
-
}
|
|
704
|
-
invalid() {
|
|
705
|
-
return new Date(NaN);
|
|
706
|
-
}
|
|
707
|
-
/** Creates a date but allows the month and date to overflow. */
|
|
708
|
-
_createDateWithOverflow(year, month, date) {
|
|
709
|
-
const result = new Date(year, month, date);
|
|
710
|
-
// We need to correct for the fact that JS native Date treats years in range [0, 99] as
|
|
711
|
-
// abbreviations for 19xx.
|
|
712
|
-
if (year >= 0 && year < 100) {
|
|
713
|
-
result.setFullYear(this.getYear(result) - 1900);
|
|
714
|
-
}
|
|
715
|
-
return result;
|
|
716
|
-
}
|
|
717
|
-
/**
|
|
718
|
-
* Pads a number to make it two digits.
|
|
719
|
-
* @param n The number to pad.
|
|
720
|
-
* @returns The padded number.
|
|
721
|
-
*/
|
|
722
|
-
_2digit(n) {
|
|
723
|
-
return ('00' + n).slice(-2);
|
|
724
|
-
}
|
|
725
|
-
/**
|
|
726
|
-
* Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
|
|
727
|
-
* other browsers do not. We remove them to make output consistent and because they interfere with
|
|
728
|
-
* date parsing.
|
|
729
|
-
* @param str The string to strip direction characters from.
|
|
730
|
-
* @returns The stripped string.
|
|
731
|
-
*/
|
|
732
|
-
_stripDirectionalityCharacters(str) {
|
|
733
|
-
return str.replace(/[\u200e\u200f]/g, '');
|
|
734
|
-
}
|
|
735
|
-
/**
|
|
736
|
-
* When converting Date object to string, javascript built-in functions may return wrong
|
|
737
|
-
* results because it applies its internal DST rules. The DST rules around the world change
|
|
738
|
-
* very frequently, and the current valid rule is not always valid in previous years though.
|
|
739
|
-
* We work around this problem building a new Date object which has its internal UTC
|
|
740
|
-
* representation with the local date and time.
|
|
741
|
-
* @param dtf Intl.DateTimeFormat object, containg the desired string format. It must have
|
|
742
|
-
* timeZone set to 'utc' to work fine.
|
|
743
|
-
* @param date Date from which we want to get the string representation according to dtf
|
|
744
|
-
* @returns A Date object with its UTC representation based on the passed in date info
|
|
745
|
-
*/
|
|
746
|
-
_format(dtf, date) {
|
|
747
|
-
const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
|
|
748
|
-
return dtf.format(d);
|
|
749
685
|
}
|
|
686
|
+
return super.deserialize(value);
|
|
687
|
+
}
|
|
688
|
+
isDateInstance(obj) {
|
|
689
|
+
return obj instanceof Date;
|
|
690
|
+
}
|
|
691
|
+
isValid(date) {
|
|
692
|
+
return !isNaN(date.getTime());
|
|
750
693
|
}
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
694
|
+
invalid() {
|
|
695
|
+
return new Date(NaN);
|
|
696
|
+
}
|
|
697
|
+
/** Creates a date but allows the month and date to overflow. */
|
|
698
|
+
_createDateWithOverflow(year, month, date) {
|
|
699
|
+
const result = new Date(year, month, date);
|
|
700
|
+
// We need to correct for the fact that JS native Date treats years in range [0, 99] as
|
|
701
|
+
// abbreviations for 19xx.
|
|
702
|
+
if (year >= 0 && year < 100) {
|
|
703
|
+
result.setFullYear(this.getYear(result) - 1900);
|
|
704
|
+
}
|
|
705
|
+
return result;
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* Pads a number to make it two digits.
|
|
709
|
+
* @param n The number to pad.
|
|
710
|
+
* @returns The padded number.
|
|
711
|
+
*/
|
|
712
|
+
_2digit(n) {
|
|
713
|
+
return ('00' + n).slice(-2);
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while
|
|
717
|
+
* other browsers do not. We remove them to make output consistent and because they interfere with
|
|
718
|
+
* date parsing.
|
|
719
|
+
* @param str The string to strip direction characters from.
|
|
720
|
+
* @returns The stripped string.
|
|
721
|
+
*/
|
|
722
|
+
_stripDirectionalityCharacters(str) {
|
|
723
|
+
return str.replace(/[\u200e\u200f]/g, '');
|
|
724
|
+
}
|
|
725
|
+
/**
|
|
726
|
+
* When converting Date object to string, javascript built-in functions may return wrong
|
|
727
|
+
* results because it applies its internal DST rules. The DST rules around the world change
|
|
728
|
+
* very frequently, and the current valid rule is not always valid in previous years though.
|
|
729
|
+
* We work around this problem building a new Date object which has its internal UTC
|
|
730
|
+
* representation with the local date and time.
|
|
731
|
+
* @param dtf Intl.DateTimeFormat object, containg the desired string format. It must have
|
|
732
|
+
* timeZone set to 'utc' to work fine.
|
|
733
|
+
* @param date Date from which we want to get the string representation according to dtf
|
|
734
|
+
* @returns A Date object with its UTC representation based on the passed in date info
|
|
735
|
+
*/
|
|
736
|
+
_format(dtf, date) {
|
|
737
|
+
const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
|
|
738
|
+
return dtf.format(d);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
NativeDateAdapter.decorators = [
|
|
742
|
+
{ type: Injectable }
|
|
743
|
+
];
|
|
744
|
+
NativeDateAdapter.ctorParameters = () => [
|
|
745
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DATE_LOCALE,] }] },
|
|
746
|
+
{ type: Platform }
|
|
747
|
+
];
|
|
760
748
|
|
|
761
749
|
/**
|
|
762
750
|
* @license
|
|
@@ -784,31 +772,25 @@ const MAT_NATIVE_DATE_FORMATS = {
|
|
|
784
772
|
* Use of this source code is governed by an MIT-style license that can be
|
|
785
773
|
* found in the LICENSE file at https://angular.io/license
|
|
786
774
|
*/
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
];
|
|
798
|
-
return NativeDateModule;
|
|
799
|
-
})();
|
|
775
|
+
class NativeDateModule {
|
|
776
|
+
}
|
|
777
|
+
NativeDateModule.decorators = [
|
|
778
|
+
{ type: NgModule, args: [{
|
|
779
|
+
imports: [PlatformModule],
|
|
780
|
+
providers: [
|
|
781
|
+
{ provide: DateAdapter, useClass: NativeDateAdapter },
|
|
782
|
+
],
|
|
783
|
+
},] }
|
|
784
|
+
];
|
|
800
785
|
const ɵ0$1 = MAT_NATIVE_DATE_FORMATS;
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
];
|
|
810
|
-
return MatNativeDateModule;
|
|
811
|
-
})();
|
|
786
|
+
class MatNativeDateModule {
|
|
787
|
+
}
|
|
788
|
+
MatNativeDateModule.decorators = [
|
|
789
|
+
{ type: NgModule, args: [{
|
|
790
|
+
imports: [NativeDateModule],
|
|
791
|
+
providers: [{ provide: MAT_DATE_FORMATS, useValue: ɵ0$1 }],
|
|
792
|
+
},] }
|
|
793
|
+
];
|
|
812
794
|
|
|
813
795
|
/**
|
|
814
796
|
* @license
|
|
@@ -818,30 +800,24 @@ let MatNativeDateModule = /** @class */ (() => {
|
|
|
818
800
|
* found in the LICENSE file at https://angular.io/license
|
|
819
801
|
*/
|
|
820
802
|
/** Error state matcher that matches when a control is invalid and dirty. */
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
|
|
825
|
-
}
|
|
803
|
+
class ShowOnDirtyErrorStateMatcher {
|
|
804
|
+
isErrorState(control, form) {
|
|
805
|
+
return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
|
|
826
806
|
}
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
})();
|
|
807
|
+
}
|
|
808
|
+
ShowOnDirtyErrorStateMatcher.decorators = [
|
|
809
|
+
{ type: Injectable }
|
|
810
|
+
];
|
|
832
811
|
/** Provider that defines how form controls behave with regards to displaying error messages. */
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
|
837
|
-
}
|
|
812
|
+
class ErrorStateMatcher {
|
|
813
|
+
isErrorState(control, form) {
|
|
814
|
+
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
|
838
815
|
}
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
]
|
|
843
|
-
|
|
844
|
-
})();
|
|
816
|
+
}
|
|
817
|
+
ErrorStateMatcher.ɵprov = ɵɵdefineInjectable({ factory: function ErrorStateMatcher_Factory() { return new ErrorStateMatcher(); }, token: ErrorStateMatcher, providedIn: "root" });
|
|
818
|
+
ErrorStateMatcher.decorators = [
|
|
819
|
+
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
820
|
+
];
|
|
845
821
|
|
|
846
822
|
/**
|
|
847
823
|
* @license
|
|
@@ -855,17 +831,14 @@ let ErrorStateMatcher = /** @class */ (() => {
|
|
|
855
831
|
* Line elements can be extracted with a @ContentChildren(MatLine) query, then
|
|
856
832
|
* counted by checking the query list's length.
|
|
857
833
|
*/
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
];
|
|
867
|
-
return MatLine;
|
|
868
|
-
})();
|
|
834
|
+
class MatLine {
|
|
835
|
+
}
|
|
836
|
+
MatLine.decorators = [
|
|
837
|
+
{ type: Directive, args: [{
|
|
838
|
+
selector: '[mat-line], [matLine]',
|
|
839
|
+
host: { 'class': 'mat-line' }
|
|
840
|
+
},] }
|
|
841
|
+
];
|
|
869
842
|
/**
|
|
870
843
|
* Helper that takes a query list of lines and sets the correct class on the host.
|
|
871
844
|
* @docs-private
|
|
@@ -901,18 +874,15 @@ class MatLineSetter {
|
|
|
901
874
|
setLines(lines, element);
|
|
902
875
|
}
|
|
903
876
|
}
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
];
|
|
914
|
-
return MatLineModule;
|
|
915
|
-
})();
|
|
877
|
+
class MatLineModule {
|
|
878
|
+
}
|
|
879
|
+
MatLineModule.decorators = [
|
|
880
|
+
{ type: NgModule, args: [{
|
|
881
|
+
imports: [MatCommonModule],
|
|
882
|
+
exports: [MatLine, MatCommonModule],
|
|
883
|
+
declarations: [MatLine],
|
|
884
|
+
},] }
|
|
885
|
+
];
|
|
916
886
|
|
|
917
887
|
/**
|
|
918
888
|
* @license
|
|
@@ -1199,116 +1169,113 @@ function distanceToFurthestCorner(x, y, rect) {
|
|
|
1199
1169
|
*/
|
|
1200
1170
|
/** Injection token that can be used to specify the global ripple options. */
|
|
1201
1171
|
const MAT_RIPPLE_GLOBAL_OPTIONS = new InjectionToken('mat-ripple-global-options');
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
this._animationMode = _animationMode;
|
|
1207
|
-
/**
|
|
1208
|
-
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
1209
|
-
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
1210
|
-
* bounding rectangle.
|
|
1211
|
-
*/
|
|
1212
|
-
this.radius = 0;
|
|
1213
|
-
this._disabled = false;
|
|
1214
|
-
/** Whether ripple directive is initialized and the input bindings are set. */
|
|
1215
|
-
this._isInitialized = false;
|
|
1216
|
-
this._globalOptions = globalOptions || {};
|
|
1217
|
-
this._rippleRenderer = new RippleRenderer(this, ngZone, _elementRef, platform);
|
|
1218
|
-
}
|
|
1219
|
-
/**
|
|
1220
|
-
* Whether click events will not trigger the ripple. Ripples can be still launched manually
|
|
1221
|
-
* by using the `launch()` method.
|
|
1222
|
-
*/
|
|
1223
|
-
get disabled() { return this._disabled; }
|
|
1224
|
-
set disabled(value) {
|
|
1225
|
-
this._disabled = value;
|
|
1226
|
-
this._setupTriggerEventsIfEnabled();
|
|
1227
|
-
}
|
|
1172
|
+
class MatRipple {
|
|
1173
|
+
constructor(_elementRef, ngZone, platform, globalOptions, _animationMode) {
|
|
1174
|
+
this._elementRef = _elementRef;
|
|
1175
|
+
this._animationMode = _animationMode;
|
|
1228
1176
|
/**
|
|
1229
|
-
*
|
|
1230
|
-
*
|
|
1177
|
+
* If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
|
|
1178
|
+
* will be the distance from the center of the ripple to the furthest corner of the host element's
|
|
1179
|
+
* bounding rectangle.
|
|
1231
1180
|
*/
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1181
|
+
this.radius = 0;
|
|
1182
|
+
this._disabled = false;
|
|
1183
|
+
/** Whether ripple directive is initialized and the input bindings are set. */
|
|
1184
|
+
this._isInitialized = false;
|
|
1185
|
+
this._globalOptions = globalOptions || {};
|
|
1186
|
+
this._rippleRenderer = new RippleRenderer(this, ngZone, _elementRef, platform);
|
|
1187
|
+
}
|
|
1188
|
+
/**
|
|
1189
|
+
* Whether click events will not trigger the ripple. Ripples can be still launched manually
|
|
1190
|
+
* by using the `launch()` method.
|
|
1191
|
+
*/
|
|
1192
|
+
get disabled() { return this._disabled; }
|
|
1193
|
+
set disabled(value) {
|
|
1194
|
+
this._disabled = value;
|
|
1195
|
+
this._setupTriggerEventsIfEnabled();
|
|
1196
|
+
}
|
|
1197
|
+
/**
|
|
1198
|
+
* The element that triggers the ripple when click events are received.
|
|
1199
|
+
* Defaults to the directive's host element.
|
|
1200
|
+
*/
|
|
1201
|
+
get trigger() { return this._trigger || this._elementRef.nativeElement; }
|
|
1202
|
+
set trigger(trigger) {
|
|
1203
|
+
this._trigger = trigger;
|
|
1204
|
+
this._setupTriggerEventsIfEnabled();
|
|
1205
|
+
}
|
|
1206
|
+
ngOnInit() {
|
|
1207
|
+
this._isInitialized = true;
|
|
1208
|
+
this._setupTriggerEventsIfEnabled();
|
|
1209
|
+
}
|
|
1210
|
+
ngOnDestroy() {
|
|
1211
|
+
this._rippleRenderer._removeTriggerEvents();
|
|
1212
|
+
}
|
|
1213
|
+
/** Fades out all currently showing ripple elements. */
|
|
1214
|
+
fadeOutAll() {
|
|
1215
|
+
this._rippleRenderer.fadeOutAll();
|
|
1216
|
+
}
|
|
1217
|
+
/**
|
|
1218
|
+
* Ripple configuration from the directive's input values.
|
|
1219
|
+
* @docs-private Implemented as part of RippleTarget
|
|
1220
|
+
*/
|
|
1221
|
+
get rippleConfig() {
|
|
1222
|
+
return {
|
|
1223
|
+
centered: this.centered,
|
|
1224
|
+
radius: this.radius,
|
|
1225
|
+
color: this.color,
|
|
1226
|
+
animation: Object.assign(Object.assign(Object.assign({}, this._globalOptions.animation), (this._animationMode === 'NoopAnimations' ? { enterDuration: 0, exitDuration: 0 } : {})), this.animation),
|
|
1227
|
+
terminateOnPointerUp: this._globalOptions.terminateOnPointerUp,
|
|
1228
|
+
};
|
|
1229
|
+
}
|
|
1230
|
+
/**
|
|
1231
|
+
* Whether ripples on pointer-down are disabled or not.
|
|
1232
|
+
* @docs-private Implemented as part of RippleTarget
|
|
1233
|
+
*/
|
|
1234
|
+
get rippleDisabled() {
|
|
1235
|
+
return this.disabled || !!this._globalOptions.disabled;
|
|
1236
|
+
}
|
|
1237
|
+
/** Sets up the trigger event listeners if ripples are enabled. */
|
|
1238
|
+
_setupTriggerEventsIfEnabled() {
|
|
1239
|
+
if (!this.disabled && this._isInitialized) {
|
|
1240
|
+
this._rippleRenderer.setupTriggerEvents(this.trigger);
|
|
1267
1241
|
}
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
}
|
|
1242
|
+
}
|
|
1243
|
+
/** Launches a manual ripple at the specified coordinated or just by the ripple config. */
|
|
1244
|
+
launch(configOrX, y = 0, config) {
|
|
1245
|
+
if (typeof configOrX === 'number') {
|
|
1246
|
+
return this._rippleRenderer.fadeInRipple(configOrX, y, Object.assign(Object.assign({}, this.rippleConfig), config));
|
|
1273
1247
|
}
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
if (typeof configOrX === 'number') {
|
|
1277
|
-
return this._rippleRenderer.fadeInRipple(configOrX, y, Object.assign(Object.assign({}, this.rippleConfig), config));
|
|
1278
|
-
}
|
|
1279
|
-
else {
|
|
1280
|
-
return this._rippleRenderer.fadeInRipple(0, 0, Object.assign(Object.assign({}, this.rippleConfig), configOrX));
|
|
1281
|
-
}
|
|
1248
|
+
else {
|
|
1249
|
+
return this._rippleRenderer.fadeInRipple(0, 0, Object.assign(Object.assign({}, this.rippleConfig), configOrX));
|
|
1282
1250
|
}
|
|
1283
1251
|
}
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
}
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
]
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
}
|
|
1310
|
-
|
|
1311
|
-
})();
|
|
1252
|
+
}
|
|
1253
|
+
MatRipple.decorators = [
|
|
1254
|
+
{ type: Directive, args: [{
|
|
1255
|
+
selector: '[mat-ripple], [matRipple]',
|
|
1256
|
+
exportAs: 'matRipple',
|
|
1257
|
+
host: {
|
|
1258
|
+
'class': 'mat-ripple',
|
|
1259
|
+
'[class.mat-ripple-unbounded]': 'unbounded'
|
|
1260
|
+
}
|
|
1261
|
+
},] }
|
|
1262
|
+
];
|
|
1263
|
+
MatRipple.ctorParameters = () => [
|
|
1264
|
+
{ type: ElementRef },
|
|
1265
|
+
{ type: NgZone },
|
|
1266
|
+
{ type: Platform },
|
|
1267
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] }] },
|
|
1268
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
1269
|
+
];
|
|
1270
|
+
MatRipple.propDecorators = {
|
|
1271
|
+
color: [{ type: Input, args: ['matRippleColor',] }],
|
|
1272
|
+
unbounded: [{ type: Input, args: ['matRippleUnbounded',] }],
|
|
1273
|
+
centered: [{ type: Input, args: ['matRippleCentered',] }],
|
|
1274
|
+
radius: [{ type: Input, args: ['matRippleRadius',] }],
|
|
1275
|
+
animation: [{ type: Input, args: ['matRippleAnimation',] }],
|
|
1276
|
+
disabled: [{ type: Input, args: ['matRippleDisabled',] }],
|
|
1277
|
+
trigger: [{ type: Input, args: ['matRippleTrigger',] }]
|
|
1278
|
+
};
|
|
1312
1279
|
|
|
1313
1280
|
/**
|
|
1314
1281
|
* @license
|
|
@@ -1317,18 +1284,15 @@ let MatRipple = /** @class */ (() => {
|
|
|
1317
1284
|
* Use of this source code is governed by an MIT-style license that can be
|
|
1318
1285
|
* found in the LICENSE file at https://angular.io/license
|
|
1319
1286
|
*/
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
];
|
|
1330
|
-
return MatRippleModule;
|
|
1331
|
-
})();
|
|
1287
|
+
class MatRippleModule {
|
|
1288
|
+
}
|
|
1289
|
+
MatRippleModule.decorators = [
|
|
1290
|
+
{ type: NgModule, args: [{
|
|
1291
|
+
imports: [MatCommonModule, PlatformModule],
|
|
1292
|
+
exports: [MatRipple, MatCommonModule],
|
|
1293
|
+
declarations: [MatRipple],
|
|
1294
|
+
},] }
|
|
1295
|
+
];
|
|
1332
1296
|
|
|
1333
1297
|
/**
|
|
1334
1298
|
* @license
|
|
@@ -1350,41 +1314,38 @@ let MatRippleModule = /** @class */ (() => {
|
|
|
1350
1314
|
* of more complex components that appropriately handle selected / checked state.
|
|
1351
1315
|
* @docs-private
|
|
1352
1316
|
*/
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
this.disabled = false;
|
|
1361
|
-
}
|
|
1317
|
+
class MatPseudoCheckbox {
|
|
1318
|
+
constructor(_animationMode) {
|
|
1319
|
+
this._animationMode = _animationMode;
|
|
1320
|
+
/** Display state of the checkbox. */
|
|
1321
|
+
this.state = 'unchecked';
|
|
1322
|
+
/** Whether the checkbox is disabled. */
|
|
1323
|
+
this.disabled = false;
|
|
1362
1324
|
}
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
},
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
]
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
}
|
|
1386
|
-
|
|
1387
|
-
})();
|
|
1325
|
+
}
|
|
1326
|
+
MatPseudoCheckbox.decorators = [
|
|
1327
|
+
{ type: Component, args: [{
|
|
1328
|
+
encapsulation: ViewEncapsulation.None,
|
|
1329
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1330
|
+
selector: 'mat-pseudo-checkbox',
|
|
1331
|
+
template: '',
|
|
1332
|
+
host: {
|
|
1333
|
+
'class': 'mat-pseudo-checkbox',
|
|
1334
|
+
'[class.mat-pseudo-checkbox-indeterminate]': 'state === "indeterminate"',
|
|
1335
|
+
'[class.mat-pseudo-checkbox-checked]': 'state === "checked"',
|
|
1336
|
+
'[class.mat-pseudo-checkbox-disabled]': 'disabled',
|
|
1337
|
+
'[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
|
|
1338
|
+
},
|
|
1339
|
+
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"]
|
|
1340
|
+
},] }
|
|
1341
|
+
];
|
|
1342
|
+
MatPseudoCheckbox.ctorParameters = () => [
|
|
1343
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
1344
|
+
];
|
|
1345
|
+
MatPseudoCheckbox.propDecorators = {
|
|
1346
|
+
state: [{ type: Input }],
|
|
1347
|
+
disabled: [{ type: Input }]
|
|
1348
|
+
};
|
|
1388
1349
|
|
|
1389
1350
|
/**
|
|
1390
1351
|
* @license
|
|
@@ -1393,17 +1354,14 @@ let MatPseudoCheckbox = /** @class */ (() => {
|
|
|
1393
1354
|
* Use of this source code is governed by an MIT-style license that can be
|
|
1394
1355
|
* found in the LICENSE file at https://angular.io/license
|
|
1395
1356
|
*/
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
];
|
|
1405
|
-
return MatPseudoCheckboxModule;
|
|
1406
|
-
})();
|
|
1357
|
+
class MatPseudoCheckboxModule {
|
|
1358
|
+
}
|
|
1359
|
+
MatPseudoCheckboxModule.decorators = [
|
|
1360
|
+
{ type: NgModule, args: [{
|
|
1361
|
+
exports: [MatPseudoCheckbox],
|
|
1362
|
+
declarations: [MatPseudoCheckbox]
|
|
1363
|
+
},] }
|
|
1364
|
+
];
|
|
1407
1365
|
|
|
1408
1366
|
/**
|
|
1409
1367
|
* @license
|
|
@@ -1419,40 +1377,44 @@ class MatOptgroupBase {
|
|
|
1419
1377
|
const _MatOptgroupMixinBase = mixinDisabled(MatOptgroupBase);
|
|
1420
1378
|
// Counter for unique group ids.
|
|
1421
1379
|
let _uniqueOptgroupIdCounter = 0;
|
|
1380
|
+
/**
|
|
1381
|
+
* Injection token that can be used to reference instances of `MatOptgroup`. It serves as
|
|
1382
|
+
* alternative token to the actual `MatOptgroup` class which could cause unnecessary
|
|
1383
|
+
* retention of the class and its component metadata.
|
|
1384
|
+
*/
|
|
1385
|
+
const MAT_OPTGROUP = new InjectionToken('MatOptgroup');
|
|
1422
1386
|
/**
|
|
1423
1387
|
* Component that is used to group instances of `mat-option`.
|
|
1424
1388
|
*/
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
this._labelId = `mat-optgroup-label-${_uniqueOptgroupIdCounter++}`;
|
|
1431
|
-
}
|
|
1389
|
+
class MatOptgroup extends _MatOptgroupMixinBase {
|
|
1390
|
+
constructor() {
|
|
1391
|
+
super(...arguments);
|
|
1392
|
+
/** Unique id for the underlying label. */
|
|
1393
|
+
this._labelId = `mat-optgroup-label-${_uniqueOptgroupIdCounter++}`;
|
|
1432
1394
|
}
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
}
|
|
1395
|
+
}
|
|
1396
|
+
MatOptgroup.decorators = [
|
|
1397
|
+
{ type: Component, args: [{
|
|
1398
|
+
selector: 'mat-optgroup',
|
|
1399
|
+
exportAs: 'matOptgroup',
|
|
1400
|
+
template: "<label class=\"mat-optgroup-label\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></label>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n",
|
|
1401
|
+
encapsulation: ViewEncapsulation.None,
|
|
1402
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1403
|
+
inputs: ['disabled'],
|
|
1404
|
+
host: {
|
|
1405
|
+
'class': 'mat-optgroup',
|
|
1406
|
+
'role': 'group',
|
|
1407
|
+
'[class.mat-optgroup-disabled]': 'disabled',
|
|
1408
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
1409
|
+
'[attr.aria-labelledby]': '_labelId',
|
|
1410
|
+
},
|
|
1411
|
+
providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }],
|
|
1412
|
+
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;-ms-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"]
|
|
1413
|
+
},] }
|
|
1414
|
+
];
|
|
1415
|
+
MatOptgroup.propDecorators = {
|
|
1416
|
+
label: [{ type: Input }]
|
|
1417
|
+
};
|
|
1456
1418
|
|
|
1457
1419
|
/**
|
|
1458
1420
|
* @license
|
|
@@ -1484,198 +1446,195 @@ const MAT_OPTION_PARENT_COMPONENT = new InjectionToken('MAT_OPTION_PARENT_COMPON
|
|
|
1484
1446
|
/**
|
|
1485
1447
|
* Single option inside of a `<mat-select>` element.
|
|
1486
1448
|
*/
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
this._emitSelectionChangeEvent();
|
|
1538
|
-
}
|
|
1539
|
-
}
|
|
1540
|
-
/** Deselects the option. */
|
|
1541
|
-
deselect() {
|
|
1542
|
-
if (this._selected) {
|
|
1543
|
-
this._selected = false;
|
|
1544
|
-
this._changeDetectorRef.markForCheck();
|
|
1545
|
-
this._emitSelectionChangeEvent();
|
|
1546
|
-
}
|
|
1547
|
-
}
|
|
1548
|
-
/** Sets focus onto this option. */
|
|
1549
|
-
focus(_origin, options) {
|
|
1550
|
-
// Note that we aren't using `_origin`, but we need to keep it because some internal consumers
|
|
1551
|
-
// use `MatOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.
|
|
1552
|
-
const element = this._getHostElement();
|
|
1553
|
-
if (typeof element.focus === 'function') {
|
|
1554
|
-
element.focus(options);
|
|
1555
|
-
}
|
|
1556
|
-
}
|
|
1557
|
-
/**
|
|
1558
|
-
* This method sets display styles on the option to make it appear
|
|
1559
|
-
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1560
|
-
* events will display the proper options as active on arrow key events.
|
|
1561
|
-
*/
|
|
1562
|
-
setActiveStyles() {
|
|
1563
|
-
if (!this._active) {
|
|
1564
|
-
this._active = true;
|
|
1565
|
-
this._changeDetectorRef.markForCheck();
|
|
1566
|
-
}
|
|
1567
|
-
}
|
|
1568
|
-
/**
|
|
1569
|
-
* This method removes display styles on the option that made it appear
|
|
1570
|
-
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1571
|
-
* events will display the proper options as active on arrow key events.
|
|
1572
|
-
*/
|
|
1573
|
-
setInactiveStyles() {
|
|
1574
|
-
if (this._active) {
|
|
1575
|
-
this._active = false;
|
|
1576
|
-
this._changeDetectorRef.markForCheck();
|
|
1577
|
-
}
|
|
1449
|
+
class MatOption {
|
|
1450
|
+
constructor(_element, _changeDetectorRef, _parent, group) {
|
|
1451
|
+
this._element = _element;
|
|
1452
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
1453
|
+
this._parent = _parent;
|
|
1454
|
+
this.group = group;
|
|
1455
|
+
this._selected = false;
|
|
1456
|
+
this._active = false;
|
|
1457
|
+
this._disabled = false;
|
|
1458
|
+
this._mostRecentViewValue = '';
|
|
1459
|
+
/** The unique ID of the option. */
|
|
1460
|
+
this.id = `mat-option-${_uniqueIdCounter++}`;
|
|
1461
|
+
/** Event emitted when the option is selected or deselected. */
|
|
1462
|
+
// tslint:disable-next-line:no-output-on-prefix
|
|
1463
|
+
this.onSelectionChange = new EventEmitter();
|
|
1464
|
+
/** Emits when the state of the option changes and any parents have to be notified. */
|
|
1465
|
+
this._stateChanges = new Subject();
|
|
1466
|
+
}
|
|
1467
|
+
/** Whether the wrapping component is in multiple selection mode. */
|
|
1468
|
+
get multiple() { return this._parent && this._parent.multiple; }
|
|
1469
|
+
/** Whether or not the option is currently selected. */
|
|
1470
|
+
get selected() { return this._selected; }
|
|
1471
|
+
/** Whether the option is disabled. */
|
|
1472
|
+
get disabled() { return (this.group && this.group.disabled) || this._disabled; }
|
|
1473
|
+
set disabled(value) { this._disabled = coerceBooleanProperty(value); }
|
|
1474
|
+
/** Whether ripples for the option are disabled. */
|
|
1475
|
+
get disableRipple() { return this._parent && this._parent.disableRipple; }
|
|
1476
|
+
/**
|
|
1477
|
+
* Whether or not the option is currently active and ready to be selected.
|
|
1478
|
+
* An active option displays styles as if it is focused, but the
|
|
1479
|
+
* focus is actually retained somewhere else. This comes in handy
|
|
1480
|
+
* for components like autocomplete where focus must remain on the input.
|
|
1481
|
+
*/
|
|
1482
|
+
get active() {
|
|
1483
|
+
return this._active;
|
|
1484
|
+
}
|
|
1485
|
+
/**
|
|
1486
|
+
* The displayed value of the option. It is necessary to show the selected option in the
|
|
1487
|
+
* select's trigger.
|
|
1488
|
+
*/
|
|
1489
|
+
get viewValue() {
|
|
1490
|
+
// TODO(kara): Add input property alternative for node envs.
|
|
1491
|
+
return (this._getHostElement().textContent || '').trim();
|
|
1492
|
+
}
|
|
1493
|
+
/** Selects the option. */
|
|
1494
|
+
select() {
|
|
1495
|
+
if (!this._selected) {
|
|
1496
|
+
this._selected = true;
|
|
1497
|
+
this._changeDetectorRef.markForCheck();
|
|
1498
|
+
this._emitSelectionChangeEvent();
|
|
1578
1499
|
}
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1500
|
+
}
|
|
1501
|
+
/** Deselects the option. */
|
|
1502
|
+
deselect() {
|
|
1503
|
+
if (this._selected) {
|
|
1504
|
+
this._selected = false;
|
|
1505
|
+
this._changeDetectorRef.markForCheck();
|
|
1506
|
+
this._emitSelectionChangeEvent();
|
|
1582
1507
|
}
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1508
|
+
}
|
|
1509
|
+
/** Sets focus onto this option. */
|
|
1510
|
+
focus(_origin, options) {
|
|
1511
|
+
// Note that we aren't using `_origin`, but we need to keep it because some internal consumers
|
|
1512
|
+
// use `MatOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.
|
|
1513
|
+
const element = this._getHostElement();
|
|
1514
|
+
if (typeof element.focus === 'function') {
|
|
1515
|
+
element.focus(options);
|
|
1590
1516
|
}
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1517
|
+
}
|
|
1518
|
+
/**
|
|
1519
|
+
* This method sets display styles on the option to make it appear
|
|
1520
|
+
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1521
|
+
* events will display the proper options as active on arrow key events.
|
|
1522
|
+
*/
|
|
1523
|
+
setActiveStyles() {
|
|
1524
|
+
if (!this._active) {
|
|
1525
|
+
this._active = true;
|
|
1526
|
+
this._changeDetectorRef.markForCheck();
|
|
1601
1527
|
}
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1528
|
+
}
|
|
1529
|
+
/**
|
|
1530
|
+
* This method removes display styles on the option that made it appear
|
|
1531
|
+
* active. This is used by the ActiveDescendantKeyManager so key
|
|
1532
|
+
* events will display the proper options as active on arrow key events.
|
|
1533
|
+
*/
|
|
1534
|
+
setInactiveStyles() {
|
|
1535
|
+
if (this._active) {
|
|
1536
|
+
this._active = false;
|
|
1537
|
+
this._changeDetectorRef.markForCheck();
|
|
1610
1538
|
}
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1539
|
+
}
|
|
1540
|
+
/** Gets the label to be used when determining whether the option should be focused. */
|
|
1541
|
+
getLabel() {
|
|
1542
|
+
return this.viewValue;
|
|
1543
|
+
}
|
|
1544
|
+
/** Ensures the option is selected when activated from the keyboard. */
|
|
1545
|
+
_handleKeydown(event) {
|
|
1546
|
+
if ((event.keyCode === ENTER || event.keyCode === SPACE) && !hasModifierKey(event)) {
|
|
1547
|
+
this._selectViaInteraction();
|
|
1548
|
+
// Prevent the page from scrolling down and form submits.
|
|
1549
|
+
event.preventDefault();
|
|
1614
1550
|
}
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1551
|
+
}
|
|
1552
|
+
/**
|
|
1553
|
+
* `Selects the option while indicating the selection came from the user. Used to
|
|
1554
|
+
* determine if the select's view -> model callback should be invoked.`
|
|
1555
|
+
*/
|
|
1556
|
+
_selectViaInteraction() {
|
|
1557
|
+
if (!this.disabled) {
|
|
1558
|
+
this._selected = this.multiple ? !this._selected : true;
|
|
1559
|
+
this._changeDetectorRef.markForCheck();
|
|
1560
|
+
this._emitSelectionChangeEvent(true);
|
|
1618
1561
|
}
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1562
|
+
}
|
|
1563
|
+
/**
|
|
1564
|
+
* Gets the `aria-selected` value for the option. We explicitly omit the `aria-selected`
|
|
1565
|
+
* attribute from single-selection, unselected options. Including the `aria-selected="false"`
|
|
1566
|
+
* attributes adds a significant amount of noise to screen-reader users without providing useful
|
|
1567
|
+
* information.
|
|
1568
|
+
*/
|
|
1569
|
+
_getAriaSelected() {
|
|
1570
|
+
return this.selected || (this.multiple ? false : null);
|
|
1571
|
+
}
|
|
1572
|
+
/** Returns the correct tabindex for the option depending on disabled state. */
|
|
1573
|
+
_getTabIndex() {
|
|
1574
|
+
return this.disabled ? '-1' : '0';
|
|
1575
|
+
}
|
|
1576
|
+
/** Gets the host DOM element. */
|
|
1577
|
+
_getHostElement() {
|
|
1578
|
+
return this._element.nativeElement;
|
|
1579
|
+
}
|
|
1580
|
+
ngAfterViewChecked() {
|
|
1581
|
+
// Since parent components could be using the option's label to display the selected values
|
|
1582
|
+
// (e.g. `mat-select`) and they don't have a way of knowing if the option's label has changed
|
|
1583
|
+
// we have to check for changes in the DOM ourselves and dispatch an event. These checks are
|
|
1584
|
+
// relatively cheap, however we still limit them only to selected options in order to avoid
|
|
1585
|
+
// hitting the DOM too often.
|
|
1586
|
+
if (this._selected) {
|
|
1587
|
+
const viewValue = this.viewValue;
|
|
1588
|
+
if (viewValue !== this._mostRecentViewValue) {
|
|
1589
|
+
this._mostRecentViewValue = viewValue;
|
|
1590
|
+
this._stateChanges.next();
|
|
1631
1591
|
}
|
|
1632
1592
|
}
|
|
1633
|
-
ngOnDestroy() {
|
|
1634
|
-
this._stateChanges.complete();
|
|
1635
|
-
}
|
|
1636
|
-
/** Emits the selection change event. */
|
|
1637
|
-
_emitSelectionChangeEvent(isUserInput = false) {
|
|
1638
|
-
this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
|
|
1639
|
-
}
|
|
1640
1593
|
}
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
}
|
|
1677
|
-
|
|
1678
|
-
|
|
1594
|
+
ngOnDestroy() {
|
|
1595
|
+
this._stateChanges.complete();
|
|
1596
|
+
}
|
|
1597
|
+
/** Emits the selection change event. */
|
|
1598
|
+
_emitSelectionChangeEvent(isUserInput = false) {
|
|
1599
|
+
this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1602
|
+
MatOption.decorators = [
|
|
1603
|
+
{ type: Component, args: [{
|
|
1604
|
+
selector: 'mat-option',
|
|
1605
|
+
exportAs: 'matOption',
|
|
1606
|
+
host: {
|
|
1607
|
+
'role': 'option',
|
|
1608
|
+
'[attr.tabindex]': '_getTabIndex()',
|
|
1609
|
+
'[class.mat-selected]': 'selected',
|
|
1610
|
+
'[class.mat-option-multiple]': 'multiple',
|
|
1611
|
+
'[class.mat-active]': 'active',
|
|
1612
|
+
'[id]': 'id',
|
|
1613
|
+
'[attr.aria-selected]': '_getAriaSelected()',
|
|
1614
|
+
'[attr.aria-disabled]': 'disabled.toString()',
|
|
1615
|
+
'[class.mat-option-disabled]': 'disabled',
|
|
1616
|
+
'(click)': '_selectViaInteraction()',
|
|
1617
|
+
'(keydown)': '_handleKeydown($event)',
|
|
1618
|
+
'class': 'mat-option mat-focus-indicator',
|
|
1619
|
+
},
|
|
1620
|
+
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<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n",
|
|
1621
|
+
encapsulation: ViewEncapsulation.None,
|
|
1622
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1623
|
+
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;-ms-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}.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}.cdk-high-contrast-active .mat-option .mat-option-ripple{opacity:.5}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"]
|
|
1624
|
+
},] }
|
|
1625
|
+
];
|
|
1626
|
+
MatOption.ctorParameters = () => [
|
|
1627
|
+
{ type: ElementRef },
|
|
1628
|
+
{ type: ChangeDetectorRef },
|
|
1629
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_OPTION_PARENT_COMPONENT,] }] },
|
|
1630
|
+
{ type: MatOptgroup, decorators: [{ type: Optional }, { type: Inject, args: [MAT_OPTGROUP,] }] }
|
|
1631
|
+
];
|
|
1632
|
+
MatOption.propDecorators = {
|
|
1633
|
+
value: [{ type: Input }],
|
|
1634
|
+
id: [{ type: Input }],
|
|
1635
|
+
disabled: [{ type: Input }],
|
|
1636
|
+
onSelectionChange: [{ type: Output }]
|
|
1637
|
+
};
|
|
1679
1638
|
/**
|
|
1680
1639
|
* Counts the amount of option group labels that precede the specified option.
|
|
1681
1640
|
* @param optionIndex Index of the option at which to start counting.
|
|
@@ -1723,18 +1682,15 @@ function _getOptionScrollPosition(optionIndex, optionHeight, currentScrollPositi
|
|
|
1723
1682
|
* Use of this source code is governed by an MIT-style license that can be
|
|
1724
1683
|
* found in the LICENSE file at https://angular.io/license
|
|
1725
1684
|
*/
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
];
|
|
1736
|
-
return MatOptionModule;
|
|
1737
|
-
})();
|
|
1685
|
+
class MatOptionModule {
|
|
1686
|
+
}
|
|
1687
|
+
MatOptionModule.decorators = [
|
|
1688
|
+
{ type: NgModule, args: [{
|
|
1689
|
+
imports: [MatRippleModule, CommonModule, MatPseudoCheckboxModule],
|
|
1690
|
+
exports: [MatOption, MatOptgroup],
|
|
1691
|
+
declarations: [MatOption, MatOptgroup]
|
|
1692
|
+
},] }
|
|
1693
|
+
];
|
|
1738
1694
|
|
|
1739
1695
|
/**
|
|
1740
1696
|
* @license
|
|
@@ -1778,5 +1734,5 @@ const JAN = 0, FEB = 1, MAR = 2, APR = 3, MAY = 4, JUN = 5, JUL = 6, AUG = 7, SE
|
|
|
1778
1734
|
* Generated bundle index. Do not edit.
|
|
1779
1735
|
*/
|
|
1780
1736
|
|
|
1781
|
-
export { APR, AUG, AnimationCurves, AnimationDurations, DEC, DateAdapter, ErrorStateMatcher, FEB, JAN, JUL, JUN, MAR, MATERIAL_SANITY_CHECKS, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_DATE_LOCALE_PROVIDER, MAT_LABEL_GLOBAL_OPTIONS, MAT_NATIVE_DATE_FORMATS, MAT_OPTION_PARENT_COMPONENT, MAT_RIPPLE_GLOBAL_OPTIONS, MAY, MatCommonModule, MatLine, MatLineModule, MatLineSetter, MatNativeDateModule, MatOptgroup, MatOption, MatOptionModule, MatOptionSelectionChange, MatPseudoCheckbox, MatPseudoCheckboxModule, MatRipple, MatRippleModule, NOV, NativeDateAdapter, NativeDateModule, OCT, RippleRef, RippleRenderer, SEP, ShowOnDirtyErrorStateMatcher, VERSION, _countGroupLabelsBeforeOption, _getOptionScrollPosition, defaultRippleAnimationConfig, mixinColor, mixinDisableRipple, mixinDisabled, mixinErrorState, mixinInitialized, mixinTabIndex, setLines, ɵ0$1 as ɵ0, MATERIAL_SANITY_CHECKS_FACTORY as ɵangular_material_src_material_core_core_a };
|
|
1737
|
+
export { APR, AUG, AnimationCurves, AnimationDurations, DEC, DateAdapter, ErrorStateMatcher, FEB, JAN, JUL, JUN, MAR, MATERIAL_SANITY_CHECKS, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_DATE_LOCALE_PROVIDER, MAT_LABEL_GLOBAL_OPTIONS, MAT_NATIVE_DATE_FORMATS, MAT_OPTGROUP, MAT_OPTION_PARENT_COMPONENT, MAT_RIPPLE_GLOBAL_OPTIONS, MAY, MatCommonModule, MatLine, MatLineModule, MatLineSetter, MatNativeDateModule, MatOptgroup, MatOption, MatOptionModule, MatOptionSelectionChange, MatPseudoCheckbox, MatPseudoCheckboxModule, MatRipple, MatRippleModule, NOV, NativeDateAdapter, NativeDateModule, OCT, RippleRef, RippleRenderer, SEP, ShowOnDirtyErrorStateMatcher, VERSION, _countGroupLabelsBeforeOption, _getOptionScrollPosition, defaultRippleAnimationConfig, mixinColor, mixinDisableRipple, mixinDisabled, mixinErrorState, mixinInitialized, mixinTabIndex, setLines, ɵ0$1 as ɵ0, MATERIAL_SANITY_CHECKS_FACTORY as ɵangular_material_src_material_core_core_a };
|
|
1782
1738
|
//# sourceMappingURL=core.js.map
|