@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/badge.js
CHANGED
|
@@ -18,212 +18,209 @@ class MatBadgeBase {
|
|
|
18
18
|
}
|
|
19
19
|
const _MatBadgeMixinBase = mixinDisabled(MatBadgeBase);
|
|
20
20
|
/** Directive to display a text badge. */
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
throw Error('matBadge must be attached to an element node.');
|
|
47
|
-
}
|
|
21
|
+
class MatBadge extends _MatBadgeMixinBase {
|
|
22
|
+
constructor(_ngZone, _elementRef, _ariaDescriber, _renderer, _animationMode) {
|
|
23
|
+
super();
|
|
24
|
+
this._ngZone = _ngZone;
|
|
25
|
+
this._elementRef = _elementRef;
|
|
26
|
+
this._ariaDescriber = _ariaDescriber;
|
|
27
|
+
this._renderer = _renderer;
|
|
28
|
+
this._animationMode = _animationMode;
|
|
29
|
+
/** Whether the badge has any content. */
|
|
30
|
+
this._hasContent = false;
|
|
31
|
+
this._color = 'primary';
|
|
32
|
+
this._overlap = true;
|
|
33
|
+
/**
|
|
34
|
+
* Position the badge should reside.
|
|
35
|
+
* Accepts any combination of 'above'|'below' and 'before'|'after'
|
|
36
|
+
*/
|
|
37
|
+
this.position = 'above after';
|
|
38
|
+
/** Size of the badge. Can be 'small', 'medium', or 'large'. */
|
|
39
|
+
this.size = 'medium';
|
|
40
|
+
/** Unique id for the badge */
|
|
41
|
+
this._id = nextId++;
|
|
42
|
+
if (isDevMode()) {
|
|
43
|
+
const nativeElement = _elementRef.nativeElement;
|
|
44
|
+
if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {
|
|
45
|
+
throw Error('matBadge must be attached to an element node.');
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
}
|
|
49
|
+
/** The color of the badge. Can be `primary`, `accent`, or `warn`. */
|
|
50
|
+
get color() { return this._color; }
|
|
51
|
+
set color(value) {
|
|
52
|
+
this._setColor(value);
|
|
53
|
+
this._color = value;
|
|
54
|
+
}
|
|
55
|
+
/** Whether the badge should overlap its contents or not */
|
|
56
|
+
get overlap() { return this._overlap; }
|
|
57
|
+
set overlap(val) {
|
|
58
|
+
this._overlap = coerceBooleanProperty(val);
|
|
59
|
+
}
|
|
60
|
+
/** Message used to describe the decorated element via aria-describedby */
|
|
61
|
+
get description() { return this._description; }
|
|
62
|
+
set description(newDescription) {
|
|
63
|
+
if (newDescription !== this._description) {
|
|
64
|
+
const badgeElement = this._badgeElement;
|
|
65
|
+
this._updateHostAriaDescription(newDescription, this._description);
|
|
66
|
+
this._description = newDescription;
|
|
67
|
+
if (badgeElement) {
|
|
68
|
+
newDescription ? badgeElement.setAttribute('aria-label', newDescription) :
|
|
69
|
+
badgeElement.removeAttribute('aria-label');
|
|
70
|
+
}
|
|
55
71
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
72
|
+
}
|
|
73
|
+
/** Whether the badge is hidden. */
|
|
74
|
+
get hidden() { return this._hidden; }
|
|
75
|
+
set hidden(val) {
|
|
76
|
+
this._hidden = coerceBooleanProperty(val);
|
|
77
|
+
}
|
|
78
|
+
/** Whether the badge is above the host or not */
|
|
79
|
+
isAbove() {
|
|
80
|
+
return this.position.indexOf('below') === -1;
|
|
81
|
+
}
|
|
82
|
+
/** Whether the badge is after the host or not */
|
|
83
|
+
isAfter() {
|
|
84
|
+
return this.position.indexOf('before') === -1;
|
|
85
|
+
}
|
|
86
|
+
ngOnChanges(changes) {
|
|
87
|
+
const contentChange = changes['content'];
|
|
88
|
+
if (contentChange) {
|
|
89
|
+
const value = contentChange.currentValue;
|
|
90
|
+
this._hasContent = value != null && `${value}`.trim().length > 0;
|
|
91
|
+
this._updateTextContent();
|
|
60
92
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
this.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
93
|
+
}
|
|
94
|
+
ngOnDestroy() {
|
|
95
|
+
const badgeElement = this._badgeElement;
|
|
96
|
+
if (badgeElement) {
|
|
97
|
+
if (this.description) {
|
|
98
|
+
this._ariaDescriber.removeDescription(badgeElement, this.description);
|
|
99
|
+
}
|
|
100
|
+
// When creating a badge through the Renderer, Angular will keep it in an index.
|
|
101
|
+
// We have to destroy it ourselves, otherwise it'll be retained in memory.
|
|
102
|
+
if (this._renderer.destroyNode) {
|
|
103
|
+
this._renderer.destroyNode(badgeElement);
|
|
72
104
|
}
|
|
73
105
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Gets the element into which the badge's content is being rendered.
|
|
109
|
+
* Undefined if the element hasn't been created (e.g. if the badge doesn't have content).
|
|
110
|
+
*/
|
|
111
|
+
getBadgeElement() {
|
|
112
|
+
return this._badgeElement;
|
|
113
|
+
}
|
|
114
|
+
/** Injects a span element into the DOM with the content. */
|
|
115
|
+
_updateTextContent() {
|
|
116
|
+
if (!this._badgeElement) {
|
|
117
|
+
this._badgeElement = this._createBadgeElement();
|
|
78
118
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return this.position.indexOf('below') === -1;
|
|
119
|
+
else {
|
|
120
|
+
this._badgeElement.textContent = this.content;
|
|
82
121
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
122
|
+
return this._badgeElement;
|
|
123
|
+
}
|
|
124
|
+
/** Creates the badge element */
|
|
125
|
+
_createBadgeElement() {
|
|
126
|
+
const badgeElement = this._renderer.createElement('span');
|
|
127
|
+
const activeClass = 'mat-badge-active';
|
|
128
|
+
const contentClass = 'mat-badge-content';
|
|
129
|
+
// Clear any existing badges which may have persisted from a server-side render.
|
|
130
|
+
this._clearExistingBadges(contentClass);
|
|
131
|
+
badgeElement.setAttribute('id', `mat-badge-content-${this._id}`);
|
|
132
|
+
badgeElement.classList.add(contentClass);
|
|
133
|
+
badgeElement.textContent = this.content;
|
|
134
|
+
if (this._animationMode === 'NoopAnimations') {
|
|
135
|
+
badgeElement.classList.add('_mat-animation-noopable');
|
|
86
136
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (contentChange) {
|
|
90
|
-
const value = contentChange.currentValue;
|
|
91
|
-
this._hasContent = value != null && `${value}`.trim().length > 0;
|
|
92
|
-
this._updateTextContent();
|
|
93
|
-
}
|
|
137
|
+
if (this.description) {
|
|
138
|
+
badgeElement.setAttribute('aria-label', this.description);
|
|
94
139
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (this._renderer.destroyNode) {
|
|
104
|
-
this._renderer.destroyNode(badgeElement);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
140
|
+
this._elementRef.nativeElement.appendChild(badgeElement);
|
|
141
|
+
// animate in after insertion
|
|
142
|
+
if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {
|
|
143
|
+
this._ngZone.runOutsideAngular(() => {
|
|
144
|
+
requestAnimationFrame(() => {
|
|
145
|
+
badgeElement.classList.add(activeClass);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
107
148
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
* Undefined if the element hasn't been created (e.g. if the badge doesn't have content).
|
|
111
|
-
*/
|
|
112
|
-
getBadgeElement() {
|
|
113
|
-
return this._badgeElement;
|
|
149
|
+
else {
|
|
150
|
+
badgeElement.classList.add(activeClass);
|
|
114
151
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return this._badgeElement;
|
|
152
|
+
return badgeElement;
|
|
153
|
+
}
|
|
154
|
+
/** Sets the aria-label property on the element */
|
|
155
|
+
_updateHostAriaDescription(newDescription, oldDescription) {
|
|
156
|
+
// ensure content available before setting label
|
|
157
|
+
const content = this._updateTextContent();
|
|
158
|
+
if (oldDescription) {
|
|
159
|
+
this._ariaDescriber.removeDescription(content, oldDescription);
|
|
124
160
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const badgeElement = this._renderer.createElement('span');
|
|
128
|
-
const activeClass = 'mat-badge-active';
|
|
129
|
-
const contentClass = 'mat-badge-content';
|
|
130
|
-
// Clear any existing badges which may have persisted from a server-side render.
|
|
131
|
-
this._clearExistingBadges(contentClass);
|
|
132
|
-
badgeElement.setAttribute('id', `mat-badge-content-${this._id}`);
|
|
133
|
-
badgeElement.classList.add(contentClass);
|
|
134
|
-
badgeElement.textContent = this.content;
|
|
135
|
-
if (this._animationMode === 'NoopAnimations') {
|
|
136
|
-
badgeElement.classList.add('_mat-animation-noopable');
|
|
137
|
-
}
|
|
138
|
-
if (this.description) {
|
|
139
|
-
badgeElement.setAttribute('aria-label', this.description);
|
|
140
|
-
}
|
|
141
|
-
this._elementRef.nativeElement.appendChild(badgeElement);
|
|
142
|
-
// animate in after insertion
|
|
143
|
-
if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {
|
|
144
|
-
this._ngZone.runOutsideAngular(() => {
|
|
145
|
-
requestAnimationFrame(() => {
|
|
146
|
-
badgeElement.classList.add(activeClass);
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
badgeElement.classList.add(activeClass);
|
|
152
|
-
}
|
|
153
|
-
return badgeElement;
|
|
161
|
+
if (newDescription) {
|
|
162
|
+
this._ariaDescriber.describe(content, newDescription);
|
|
154
163
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (
|
|
160
|
-
this.
|
|
161
|
-
}
|
|
162
|
-
if (newDescription) {
|
|
163
|
-
this._ariaDescriber.describe(content, newDescription);
|
|
164
|
+
}
|
|
165
|
+
/** Adds css theme class given the color to the component host */
|
|
166
|
+
_setColor(colorPalette) {
|
|
167
|
+
if (colorPalette !== this._color) {
|
|
168
|
+
if (this._color) {
|
|
169
|
+
this._elementRef.nativeElement.classList.remove(`mat-badge-${this._color}`);
|
|
164
170
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
_setColor(colorPalette) {
|
|
168
|
-
if (colorPalette !== this._color) {
|
|
169
|
-
if (this._color) {
|
|
170
|
-
this._elementRef.nativeElement.classList.remove(`mat-badge-${this._color}`);
|
|
171
|
-
}
|
|
172
|
-
if (colorPalette) {
|
|
173
|
-
this._elementRef.nativeElement.classList.add(`mat-badge-${colorPalette}`);
|
|
174
|
-
}
|
|
171
|
+
if (colorPalette) {
|
|
172
|
+
this._elementRef.nativeElement.classList.add(`mat-badge-${colorPalette}`);
|
|
175
173
|
}
|
|
176
174
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
175
|
+
}
|
|
176
|
+
/** Clears any existing badges that might be left over from server-side rendering. */
|
|
177
|
+
_clearExistingBadges(cssClass) {
|
|
178
|
+
const element = this._elementRef.nativeElement;
|
|
179
|
+
let childCount = element.children.length;
|
|
180
|
+
// Use a reverse while, because we'll be removing elements from the list as we're iterating.
|
|
181
|
+
while (childCount--) {
|
|
182
|
+
const currentChild = element.children[childCount];
|
|
183
|
+
if (currentChild.classList.contains(cssClass)) {
|
|
184
|
+
element.removeChild(currentChild);
|
|
187
185
|
}
|
|
188
186
|
}
|
|
189
187
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
},
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
]
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
})();
|
|
188
|
+
}
|
|
189
|
+
MatBadge.decorators = [
|
|
190
|
+
{ type: Directive, args: [{
|
|
191
|
+
selector: '[matBadge]',
|
|
192
|
+
inputs: ['disabled: matBadgeDisabled'],
|
|
193
|
+
host: {
|
|
194
|
+
'class': 'mat-badge',
|
|
195
|
+
'[class.mat-badge-overlap]': 'overlap',
|
|
196
|
+
'[class.mat-badge-above]': 'isAbove()',
|
|
197
|
+
'[class.mat-badge-below]': '!isAbove()',
|
|
198
|
+
'[class.mat-badge-before]': '!isAfter()',
|
|
199
|
+
'[class.mat-badge-after]': 'isAfter()',
|
|
200
|
+
'[class.mat-badge-small]': 'size === "small"',
|
|
201
|
+
'[class.mat-badge-medium]': 'size === "medium"',
|
|
202
|
+
'[class.mat-badge-large]': 'size === "large"',
|
|
203
|
+
'[class.mat-badge-hidden]': 'hidden || !_hasContent',
|
|
204
|
+
'[class.mat-badge-disabled]': 'disabled',
|
|
205
|
+
},
|
|
206
|
+
},] }
|
|
207
|
+
];
|
|
208
|
+
MatBadge.ctorParameters = () => [
|
|
209
|
+
{ type: NgZone },
|
|
210
|
+
{ type: ElementRef },
|
|
211
|
+
{ type: AriaDescriber },
|
|
212
|
+
{ type: Renderer2 },
|
|
213
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
214
|
+
];
|
|
215
|
+
MatBadge.propDecorators = {
|
|
216
|
+
color: [{ type: Input, args: ['matBadgeColor',] }],
|
|
217
|
+
overlap: [{ type: Input, args: ['matBadgeOverlap',] }],
|
|
218
|
+
position: [{ type: Input, args: ['matBadgePosition',] }],
|
|
219
|
+
content: [{ type: Input, args: ['matBadge',] }],
|
|
220
|
+
description: [{ type: Input, args: ['matBadgeDescription',] }],
|
|
221
|
+
size: [{ type: Input, args: ['matBadgeSize',] }],
|
|
222
|
+
hidden: [{ type: Input, args: ['matBadgeHidden',] }]
|
|
223
|
+
};
|
|
227
224
|
|
|
228
225
|
/**
|
|
229
226
|
* @license
|
|
@@ -232,21 +229,18 @@ let MatBadge = /** @class */ (() => {
|
|
|
232
229
|
* Use of this source code is governed by an MIT-style license that can be
|
|
233
230
|
* found in the LICENSE file at https://angular.io/license
|
|
234
231
|
*/
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
];
|
|
248
|
-
return MatBadgeModule;
|
|
249
|
-
})();
|
|
232
|
+
class MatBadgeModule {
|
|
233
|
+
}
|
|
234
|
+
MatBadgeModule.decorators = [
|
|
235
|
+
{ type: NgModule, args: [{
|
|
236
|
+
imports: [
|
|
237
|
+
A11yModule,
|
|
238
|
+
MatCommonModule
|
|
239
|
+
],
|
|
240
|
+
exports: [MatBadge, MatCommonModule],
|
|
241
|
+
declarations: [MatBadge],
|
|
242
|
+
},] }
|
|
243
|
+
];
|
|
250
244
|
|
|
251
245
|
/**
|
|
252
246
|
* @license
|
package/fesm2015/badge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":["../../../../../../src/material/badge/badge.ts","../../../../../../src/material/badge/badge-module.ts","../../../../../../src/material/badge/public-api.ts","../../../../../../src/material/badge/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AriaDescriber} from '@angular/cdk/a11y';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n SimpleChanges,\n isDevMode,\n} from '@angular/core';\nimport {CanDisable, CanDisableCtor, mixinDisabled, ThemePalette} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\nlet nextId = 0;\n\n// Boilerplate for applying mixins to MatBadge.\n/** @docs-private */\nclass MatBadgeBase {}\n\nconst _MatBadgeMixinBase:\n CanDisableCtor & typeof MatBadgeBase = mixinDisabled(MatBadgeBase);\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n 'above after' | 'above before' | 'below before' | 'below after' |\n 'before' | 'after' | 'above' | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n inputs: ['disabled: matBadgeDisabled'],\n host: {\n 'class': 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !_hasContent',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class MatBadge extends _MatBadgeMixinBase implements OnDestroy, OnChanges, CanDisable {\n /** Whether the badge has any content. */\n _hasContent = false;\n\n /** The color of the badge. Can be `primary`, `accent`, or `warn`. */\n @Input('matBadgeColor')\n get color(): ThemePalette { return this._color; }\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input('matBadgeOverlap')\n get overlap(): boolean { return this._overlap; }\n set overlap(val: boolean) {\n this._overlap = coerceBooleanProperty(val);\n }\n private _overlap: boolean = true;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge') content: string;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string { return this._description; }\n set description(newDescription: string) {\n if (newDescription !== this._description) {\n const badgeElement = this._badgeElement;\n this._updateHostAriaDescription(newDescription, this._description);\n this._description = newDescription;\n\n if (badgeElement) {\n newDescription ? badgeElement.setAttribute('aria-label', newDescription) :\n badgeElement.removeAttribute('aria-label');\n }\n }\n }\n private _description: string;\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input('matBadgeHidden')\n get hidden(): boolean { return this._hidden; }\n set hidden(val: boolean) {\n this._hidden = coerceBooleanProperty(val);\n }\n private _hidden: boolean;\n\n /** Unique id for the badge */\n _id: number = nextId++;\n\n private _badgeElement: HTMLElement | undefined;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _ariaDescriber: AriaDescriber,\n private _renderer: Renderer2,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) private _animationMode?: string) {\n super();\n\n if (isDevMode()) {\n const nativeElement = _elementRef.nativeElement;\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const contentChange = changes['content'];\n\n if (contentChange) {\n const value = contentChange.currentValue;\n this._hasContent = value != null && `${value}`.trim().length > 0;\n this._updateTextContent();\n }\n }\n\n ngOnDestroy() {\n const badgeElement = this._badgeElement;\n\n if (badgeElement) {\n if (this.description) {\n this._ariaDescriber.removeDescription(badgeElement, this.description);\n }\n\n // When creating a badge through the Renderer, Angular will keep it in an index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(badgeElement);\n }\n }\n }\n\n /**\n * Gets the element into which the badge's content is being rendered.\n * Undefined if the element hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n /** Injects a span element into the DOM with the content. */\n private _updateTextContent(): HTMLSpanElement {\n if (!this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n } else {\n this._badgeElement.textContent = this.content;\n }\n return this._badgeElement;\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n const contentClass = 'mat-badge-content';\n\n // Clear any existing badges which may have persisted from a server-side render.\n this._clearExistingBadges(contentClass);\n badgeElement.setAttribute('id', `mat-badge-content-${this._id}`);\n badgeElement.classList.add(contentClass);\n badgeElement.textContent = this.content;\n\n if (this._animationMode === 'NoopAnimations') {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n if (this.description) {\n badgeElement.setAttribute('aria-label', this.description);\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Sets the aria-label property on the element */\n private _updateHostAriaDescription(newDescription: string, oldDescription: string): void {\n // ensure content available before setting label\n const content = this._updateTextContent();\n\n if (oldDescription) {\n this._ariaDescriber.removeDescription(content, oldDescription);\n }\n\n if (newDescription) {\n this._ariaDescriber.describe(content, newDescription);\n }\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n if (colorPalette !== this._color) {\n if (this._color) {\n this._elementRef.nativeElement.classList.remove(`mat-badge-${this._color}`);\n }\n if (colorPalette) {\n this._elementRef.nativeElement.classList.add(`mat-badge-${colorPalette}`);\n }\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges(cssClass: string) {\n const element = this._elementRef.nativeElement;\n let childCount = element.children.length;\n\n // Use a reverse while, because we'll be removing elements from the list as we're iterating.\n while (childCount--) {\n const currentChild = element.children[childCount];\n\n if (currentChild.classList.contains(cssClass)) {\n element.removeChild(currentChild);\n }\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_hidden: BooleanInput;\n static ngAcceptInputType_overlap: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {MatBadge} from './badge';\n\n\n@NgModule({\n imports: [\n A11yModule,\n MatCommonModule\n ],\n exports: [MatBadge, MatCommonModule],\n declarations: [MatBadge],\n})\nexport class MatBadgeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './badge-module';\nexport * from './badge';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAAA;;;;;;;AAQA,AAmBA,IAAI,MAAM,GAAG,CAAC,CAAC;;;AAIf,MAAM,YAAY;CAAG;AAErB,MAAM,kBAAkB,GACmB,aAAa,CAAC,YAAY,CAAC,CAAC;;AAWvE;IAAA,MAiBa,QAAS,SAAQ,kBAAkB;QA+D9C,YACY,OAAe,EACf,WAAoC,EACpC,cAA6B,EAC7B,SAAoB,EACuB,cAAuB;YAC1E,KAAK,EAAE,CAAC;YALA,YAAO,GAAP,OAAO,CAAQ;YACf,gBAAW,GAAX,WAAW,CAAyB;YACpC,mBAAc,GAAd,cAAc,CAAe;YAC7B,cAAS,GAAT,SAAS,CAAW;YACuB,mBAAc,GAAd,cAAc,CAAS;;YAlE9E,gBAAW,GAAG,KAAK,CAAC;YASZ,WAAM,GAAiB,SAAS,CAAC;YAQjC,aAAQ,GAAY,IAAI,CAAC;;;;;YAMN,aAAQ,GAAqB,aAAa,CAAC;;YAuB/C,SAAI,GAAiB,QAAQ,CAAC;;YAWrD,QAAG,GAAW,MAAM,EAAE,CAAC;YAYnB,IAAI,SAAS,EAAE,EAAE;gBACf,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;gBAChD,IAAI,aAAa,CAAC,QAAQ,KAAK,aAAa,CAAC,YAAY,EAAE;oBACzD,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;iBAC9D;aACF;SACF;;QAxEH,IACI,KAAK,KAAmB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE;QACjD,IAAI,KAAK,CAAC,KAAmB;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;;QAID,IACI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;QAChD,IAAI,OAAO,CAAC,GAAY;YACtB,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;SAC5C;;QAaD,IACI,WAAW,KAAa,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE;QACvD,IAAI,WAAW,CAAC,cAAsB;YACpC,IAAI,cAAc,KAAK,IAAI,CAAC,YAAY,EAAE;gBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;gBACxC,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnE,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;gBAEnC,IAAI,YAAY,EAAE;oBAChB,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC;wBACpE,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;iBAChD;aACF;SACF;;QAOD,IACI,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;QAC9C,IAAI,MAAM,CAAC,GAAY;YACrB,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;SAC3C;;QAyBD,OAAO;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C;;QAGD,OAAO;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/C;QAED,WAAW,CAAC,OAAsB;YAChC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,aAAa,EAAE;gBACjB,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC;gBACzC,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;SACF;QAED,WAAW;YACT,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YAExC,IAAI,YAAY,EAAE;gBAChB,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;iBACvE;;;gBAID,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;oBAC9B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBAC1C;aACF;SACF;;;;;QAMD,eAAe;YACb,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;;QAGO,kBAAkB;YACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;aAC/C;YACD,OAAO,IAAI,CAAC,aAAa,CAAC;SAC3B;;QAGO,mBAAmB;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACvC,MAAM,YAAY,GAAG,mBAAmB,CAAC;;YAGzC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;YACxC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACjE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YAExC,IAAI,IAAI,CAAC,cAAc,KAAK,gBAAgB,EAAE;gBAC5C,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;aACvD;YAED,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aAC3D;YAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;;YAGzD,IAAI,OAAO,qBAAqB,KAAK,UAAU,IAAI,IAAI,CAAC,cAAc,KAAK,gBAAgB,EAAE;gBAC3F,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAC7B,qBAAqB,CAAC;wBACpB,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;qBACzC,CAAC,CAAC;iBACJ,CAAC,CAAC;aACJ;iBAAM;gBACL,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aACzC;YAED,OAAO,YAAY,CAAC;SACrB;;QAGO,0BAA0B,CAAC,cAAsB,EAAE,cAAsB;;YAE/E,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1C,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;aAChE;YAED,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;aACvD;SACF;;QAGO,SAAS,CAAC,YAA0B;YAC1C,IAAI,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE;gBAChC,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC7E;gBACD,IAAI,YAAY,EAAE;oBAChB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,YAAY,EAAE,CAAC,CAAC;iBAC3E;aACF;SACF;;QAGO,oBAAoB,CAAC,QAAgB;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAC/C,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;;YAGzC,OAAO,UAAU,EAAE,EAAE;gBACnB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAElD,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBAC7C,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;iBACnC;aACF;SACF;;;gBAjOF,SAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,CAAC,4BAA4B,CAAC;oBACtC,IAAI,EAAE;wBACJ,OAAO,EAAE,WAAW;wBACpB,2BAA2B,EAAE,SAAS;wBACtC,yBAAyB,EAAE,WAAW;wBACtC,yBAAyB,EAAE,YAAY;wBACvC,0BAA0B,EAAE,YAAY;wBACxC,yBAAyB,EAAE,WAAW;wBACtC,yBAAyB,EAAE,kBAAkB;wBAC7C,0BAA0B,EAAE,mBAAmB;wBAC/C,yBAAyB,EAAE,kBAAkB;wBAC7C,0BAA0B,EAAE,wBAAwB;wBACpD,4BAA4B,EAAE,UAAU;qBACzC;iBACF;;;gBA9CC,MAAM;gBAHN,UAAU;gBAJJ,aAAa;gBAWnB,SAAS;6CA+GJ,QAAQ,YAAI,MAAM,SAAC,qBAAqB;;;wBA/D5C,KAAK,SAAC,eAAe;0BASrB,KAAK,SAAC,iBAAiB;2BAWvB,KAAK,SAAC,kBAAkB;0BAGxB,KAAK,SAAC,UAAU;8BAGhB,KAAK,SAAC,qBAAqB;uBAiB3B,KAAK,SAAC,cAAc;yBAGpB,KAAK,SAAC,gBAAgB;;IAkKzB,eAAC;;;ACnRD;;;;;;;AAQA;IAMA,MAQa,cAAc;;;gBAR1B,QAAQ,SAAC;oBACR,OAAO,EAAE;wBACP,UAAU;wBACV,eAAe;qBAChB;oBACD,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;oBACpC,YAAY,EAAE,CAAC,QAAQ,CAAC;iBACzB;;IAC4B,qBAAC;;;ACtB9B;;;;;;GAMG;;ACNH;;GAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"badge.js","sources":["../../../../../../src/material/badge/badge.ts","../../../../../../src/material/badge/badge-module.ts","../../../../../../src/material/badge/public-api.ts","../../../../../../src/material/badge/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AriaDescriber} from '@angular/cdk/a11y';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Optional,\n Renderer2,\n SimpleChanges,\n isDevMode,\n} from '@angular/core';\nimport {CanDisable, CanDisableCtor, mixinDisabled, ThemePalette} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\nlet nextId = 0;\n\n// Boilerplate for applying mixins to MatBadge.\n/** @docs-private */\nclass MatBadgeBase {}\n\nconst _MatBadgeMixinBase:\n CanDisableCtor & typeof MatBadgeBase = mixinDisabled(MatBadgeBase);\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n 'above after' | 'above before' | 'below before' | 'below after' |\n 'before' | 'after' | 'above' | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n inputs: ['disabled: matBadgeDisabled'],\n host: {\n 'class': 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !_hasContent',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class MatBadge extends _MatBadgeMixinBase implements OnDestroy, OnChanges, CanDisable {\n /** Whether the badge has any content. */\n _hasContent = false;\n\n /** The color of the badge. Can be `primary`, `accent`, or `warn`. */\n @Input('matBadgeColor')\n get color(): ThemePalette { return this._color; }\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input('matBadgeOverlap')\n get overlap(): boolean { return this._overlap; }\n set overlap(val: boolean) {\n this._overlap = coerceBooleanProperty(val);\n }\n private _overlap: boolean = true;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge') content: string;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string { return this._description; }\n set description(newDescription: string) {\n if (newDescription !== this._description) {\n const badgeElement = this._badgeElement;\n this._updateHostAriaDescription(newDescription, this._description);\n this._description = newDescription;\n\n if (badgeElement) {\n newDescription ? badgeElement.setAttribute('aria-label', newDescription) :\n badgeElement.removeAttribute('aria-label');\n }\n }\n }\n private _description: string;\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input('matBadgeHidden')\n get hidden(): boolean { return this._hidden; }\n set hidden(val: boolean) {\n this._hidden = coerceBooleanProperty(val);\n }\n private _hidden: boolean;\n\n /** Unique id for the badge */\n _id: number = nextId++;\n\n private _badgeElement: HTMLElement | undefined;\n\n constructor(\n private _ngZone: NgZone,\n private _elementRef: ElementRef<HTMLElement>,\n private _ariaDescriber: AriaDescriber,\n private _renderer: Renderer2,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) private _animationMode?: string) {\n super();\n\n if (isDevMode()) {\n const nativeElement = _elementRef.nativeElement;\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const contentChange = changes['content'];\n\n if (contentChange) {\n const value = contentChange.currentValue;\n this._hasContent = value != null && `${value}`.trim().length > 0;\n this._updateTextContent();\n }\n }\n\n ngOnDestroy() {\n const badgeElement = this._badgeElement;\n\n if (badgeElement) {\n if (this.description) {\n this._ariaDescriber.removeDescription(badgeElement, this.description);\n }\n\n // When creating a badge through the Renderer, Angular will keep it in an index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(badgeElement);\n }\n }\n }\n\n /**\n * Gets the element into which the badge's content is being rendered.\n * Undefined if the element hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n /** Injects a span element into the DOM with the content. */\n private _updateTextContent(): HTMLSpanElement {\n if (!this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n } else {\n this._badgeElement.textContent = this.content;\n }\n return this._badgeElement;\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n const contentClass = 'mat-badge-content';\n\n // Clear any existing badges which may have persisted from a server-side render.\n this._clearExistingBadges(contentClass);\n badgeElement.setAttribute('id', `mat-badge-content-${this._id}`);\n badgeElement.classList.add(contentClass);\n badgeElement.textContent = this.content;\n\n if (this._animationMode === 'NoopAnimations') {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n if (this.description) {\n badgeElement.setAttribute('aria-label', this.description);\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && this._animationMode !== 'NoopAnimations') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Sets the aria-label property on the element */\n private _updateHostAriaDescription(newDescription: string, oldDescription: string): void {\n // ensure content available before setting label\n const content = this._updateTextContent();\n\n if (oldDescription) {\n this._ariaDescriber.removeDescription(content, oldDescription);\n }\n\n if (newDescription) {\n this._ariaDescriber.describe(content, newDescription);\n }\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n if (colorPalette !== this._color) {\n if (this._color) {\n this._elementRef.nativeElement.classList.remove(`mat-badge-${this._color}`);\n }\n if (colorPalette) {\n this._elementRef.nativeElement.classList.add(`mat-badge-${colorPalette}`);\n }\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges(cssClass: string) {\n const element = this._elementRef.nativeElement;\n let childCount = element.children.length;\n\n // Use a reverse while, because we'll be removing elements from the list as we're iterating.\n while (childCount--) {\n const currentChild = element.children[childCount];\n\n if (currentChild.classList.contains(cssClass)) {\n element.removeChild(currentChild);\n }\n }\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_hidden: BooleanInput;\n static ngAcceptInputType_overlap: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {MatBadge} from './badge';\n\n\n@NgModule({\n imports: [\n A11yModule,\n MatCommonModule\n ],\n exports: [MatBadge, MatCommonModule],\n declarations: [MatBadge],\n})\nexport class MatBadgeModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './badge-module';\nexport * from './badge';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -12,38 +12,35 @@ import { ComponentHarness, HarnessPredicate, TestKey } from '@angular/cdk/testin
|
|
|
12
12
|
* Harness for interacting with a standard MatBottomSheet in tests.
|
|
13
13
|
* @dynamic
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return new HarnessPredicate(MatBottomSheetHarness, options);
|
|
25
|
-
}
|
|
26
|
-
/** Gets the value of the bottom sheet's "aria-label" attribute. */
|
|
27
|
-
getAriaLabel() {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
return (yield this.host()).getAttribute('aria-label');
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Dismisses the bottom sheet by pressing escape. Note that this method cannot
|
|
34
|
-
* be used if "disableClose" has been set to true via the config.
|
|
35
|
-
*/
|
|
36
|
-
dismiss() {
|
|
37
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
yield (yield this.host()).sendKeys(TestKey.ESCAPE);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
15
|
+
class MatBottomSheetHarness extends ComponentHarness {
|
|
16
|
+
/**
|
|
17
|
+
* Gets a `HarnessPredicate` that can be used to search for a bottom sheet with
|
|
18
|
+
* specific attributes.
|
|
19
|
+
* @param options Options for narrowing the search.
|
|
20
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
21
|
+
*/
|
|
22
|
+
static with(options = {}) {
|
|
23
|
+
return new HarnessPredicate(MatBottomSheetHarness, options);
|
|
41
24
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
})
|
|
25
|
+
/** Gets the value of the bottom sheet's "aria-label" attribute. */
|
|
26
|
+
getAriaLabel() {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
return (yield this.host()).getAttribute('aria-label');
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Dismisses the bottom sheet by pressing escape. Note that this method cannot
|
|
33
|
+
* be used if "disableClose" has been set to true via the config.
|
|
34
|
+
*/
|
|
35
|
+
dismiss() {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
yield (yield this.host()).sendKeys(TestKey.ESCAPE);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Developers can provide a custom component or template for the
|
|
42
|
+
// bottom sheet. The canonical parent is the ".mat-bottom-sheet-container".
|
|
43
|
+
MatBottomSheetHarness.hostSelector = '.mat-bottom-sheet-container';
|
|
47
44
|
|
|
48
45
|
/**
|
|
49
46
|
* @license
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bottom-sheet__testing.js","sources":["../../../../../../src/material/bottom-sheet/testing/bottom-sheet-harness.ts","../../../../../../src/material/bottom-sheet/testing/bottom-sheet-harness-filters.ts","../../../../../../src/material/bottom-sheet/testing/public-api.ts","../../../../../../src/material/bottom-sheet/testing/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {BottomSheetHarnessFilters} from './bottom-sheet-harness-filters';\n\n/**\n * Harness for interacting with a standard MatBottomSheet in tests.\n * @dynamic\n */\nexport class MatBottomSheetHarness extends ComponentHarness {\n // Developers can provide a custom component or template for the\n // bottom sheet. The canonical parent is the \".mat-bottom-sheet-container\".\n static hostSelector = '.mat-bottom-sheet-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a bottom sheet with\n * specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: BottomSheetHarnessFilters = {}): HarnessPredicate<MatBottomSheetHarness> {\n return new HarnessPredicate(MatBottomSheetHarness, options);\n }\n\n /** Gets the value of the bottom sheet's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string|null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /**\n * Dismisses the bottom sheet by pressing escape. Note that this method cannot\n * be used if \"disableClose\" has been set to true via the config.\n */\n async dismiss(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseHarnessFilters} from '@angular/cdk/testing';\n\nexport interface BottomSheetHarnessFilters extends BaseHarnessFilters {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './bottom-sheet-harness';\nexport * from './bottom-sheet-harness-filters';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAAA;;;;;;;AAWA;;;;AAIA
|
|
1
|
+
{"version":3,"file":"bottom-sheet__testing.js","sources":["../../../../../../src/material/bottom-sheet/testing/bottom-sheet-harness.ts","../../../../../../src/material/bottom-sheet/testing/bottom-sheet-harness-filters.ts","../../../../../../src/material/bottom-sheet/testing/public-api.ts","../../../../../../src/material/bottom-sheet/testing/index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {BottomSheetHarnessFilters} from './bottom-sheet-harness-filters';\n\n/**\n * Harness for interacting with a standard MatBottomSheet in tests.\n * @dynamic\n */\nexport class MatBottomSheetHarness extends ComponentHarness {\n // Developers can provide a custom component or template for the\n // bottom sheet. The canonical parent is the \".mat-bottom-sheet-container\".\n static hostSelector = '.mat-bottom-sheet-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a bottom sheet with\n * specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: BottomSheetHarnessFilters = {}): HarnessPredicate<MatBottomSheetHarness> {\n return new HarnessPredicate(MatBottomSheetHarness, options);\n }\n\n /** Gets the value of the bottom sheet's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string|null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /**\n * Dismisses the bottom sheet by pressing escape. Note that this method cannot\n * be used if \"disableClose\" has been set to true via the config.\n */\n async dismiss(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseHarnessFilters} from '@angular/cdk/testing';\n\nexport interface BottomSheetHarnessFilters extends BaseHarnessFilters {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './bottom-sheet-harness';\nexport * from './bottom-sheet-harness-filters';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAAA;;;;;;;AAWA;;;;AAIA,MAAa,qBAAsB,SAAQ,gBAAgB;;;;;;;IAWzD,OAAO,IAAI,CAAC,UAAqC,EAAE;QACjD,OAAO,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;KAC7D;;IAGK,YAAY;;YAChB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;SACvD;KAAA;;;;;IAMK,OAAO;;YACX,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACpD;KAAA;;;;AAvBM,kCAAY,GAAG,6BAA6B,CAAC;;AClBtD;;;;;;GAMG;;ACNH;;;;;;GAMG;;ACNH;;;;;;GAMG;;;;"}
|