@angular/material 8.0.0-beta.2 → 8.0.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/README.md +2 -2
- package/_theming.scss +18 -11
- package/autocomplete/typings/autocomplete-trigger.d.ts +13 -2
- package/autocomplete/typings/autocomplete.d.ts +3 -2
- package/autocomplete/typings/index.metadata.json +1 -1
- package/badge/typings/badge.d.ts +8 -2
- package/badge/typings/index.metadata.json +1 -1
- package/bundles/material-autocomplete.umd.js +196 -68
- package/bundles/material-autocomplete.umd.js.map +1 -1
- package/bundles/material-autocomplete.umd.min.js +1 -1
- package/bundles/material-autocomplete.umd.min.js.map +1 -1
- package/bundles/material-badge.umd.js +37 -9
- package/bundles/material-badge.umd.js.map +1 -1
- package/bundles/material-badge.umd.min.js +1 -1
- package/bundles/material-badge.umd.min.js.map +1 -1
- package/bundles/material-bottom-sheet.umd.js +72 -25
- package/bundles/material-bottom-sheet.umd.js.map +1 -1
- package/bundles/material-bottom-sheet.umd.min.js +1 -1
- package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
- package/bundles/material-button-toggle.umd.js +97 -28
- package/bundles/material-button-toggle.umd.js.map +1 -1
- package/bundles/material-button-toggle.umd.min.js +1 -1
- package/bundles/material-button-toggle.umd.min.js.map +1 -1
- package/bundles/material-button.umd.js +11 -9
- package/bundles/material-button.umd.js.map +1 -1
- package/bundles/material-button.umd.min.js +1 -1
- package/bundles/material-button.umd.min.js.map +1 -1
- package/bundles/material-card.umd.js +2 -2
- package/bundles/material-card.umd.js.map +1 -1
- package/bundles/material-card.umd.min.js.map +1 -1
- package/bundles/material-checkbox.umd.js +69 -25
- package/bundles/material-checkbox.umd.js.map +1 -1
- package/bundles/material-checkbox.umd.min.js +1 -1
- package/bundles/material-checkbox.umd.min.js.map +1 -1
- package/bundles/material-chips.umd.js +229 -82
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-chips.umd.min.js +1 -1
- package/bundles/material-chips.umd.min.js.map +1 -1
- package/bundles/material-core.umd.js +159 -75
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +2 -1
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +157 -62
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.min.js +2 -2
- package/bundles/material-datepicker.umd.min.js.map +1 -1
- package/bundles/material-dialog.umd.js +98 -33
- package/bundles/material-dialog.umd.js.map +1 -1
- package/bundles/material-dialog.umd.min.js +1 -1
- package/bundles/material-dialog.umd.min.js.map +1 -1
- package/bundles/material-divider.umd.js +2 -2
- package/bundles/material-divider.umd.js.map +1 -1
- package/bundles/material-divider.umd.min.js.map +1 -1
- package/bundles/material-expansion.umd.js +63 -23
- package/bundles/material-expansion.umd.js.map +1 -1
- package/bundles/material-expansion.umd.min.js +1 -1
- package/bundles/material-expansion.umd.min.js.map +1 -1
- package/bundles/material-form-field.umd.js +114 -42
- package/bundles/material-form-field.umd.js.map +1 -1
- package/bundles/material-form-field.umd.min.js +1 -1
- package/bundles/material-form-field.umd.min.js.map +1 -1
- package/bundles/material-grid-list.umd.js +42 -17
- package/bundles/material-grid-list.umd.js.map +1 -1
- package/bundles/material-grid-list.umd.min.js +1 -1
- package/bundles/material-grid-list.umd.min.js.map +1 -1
- package/bundles/material-icon.umd.js +101 -31
- package/bundles/material-icon.umd.js.map +1 -1
- package/bundles/material-icon.umd.min.js +1 -1
- package/bundles/material-icon.umd.min.js.map +1 -1
- package/bundles/material-input.umd.js +29 -16
- package/bundles/material-input.umd.js.map +1 -1
- package/bundles/material-input.umd.min.js +1 -1
- package/bundles/material-input.umd.min.js.map +1 -1
- package/bundles/material-list.umd.js +97 -38
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +2 -2
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +308 -167
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-menu.umd.min.js +1 -1
- package/bundles/material-menu.umd.min.js.map +1 -1
- package/bundles/material-paginator.umd.js +28 -12
- package/bundles/material-paginator.umd.js.map +1 -1
- package/bundles/material-paginator.umd.min.js +1 -1
- package/bundles/material-paginator.umd.min.js.map +1 -1
- package/bundles/material-progress-bar.umd.js +26 -16
- package/bundles/material-progress-bar.umd.js.map +1 -1
- package/bundles/material-progress-bar.umd.min.js +1 -1
- package/bundles/material-progress-bar.umd.min.js.map +1 -1
- package/bundles/material-progress-spinner.umd.js +10 -12
- package/bundles/material-progress-spinner.umd.js.map +1 -1
- package/bundles/material-progress-spinner.umd.min.js +1 -1
- package/bundles/material-progress-spinner.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +77 -21
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js +1 -1
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +186 -57
- package/bundles/material-select.umd.js.map +1 -1
- package/bundles/material-select.umd.min.js +1 -1
- package/bundles/material-select.umd.min.js.map +1 -1
- package/bundles/material-sidenav.umd.js +323 -145
- package/bundles/material-sidenav.umd.js.map +1 -1
- package/bundles/material-sidenav.umd.min.js +1 -1
- package/bundles/material-sidenav.umd.min.js.map +1 -1
- package/bundles/material-slide-toggle.umd.js +49 -31
- package/bundles/material-slide-toggle.umd.js.map +1 -1
- package/bundles/material-slide-toggle.umd.min.js +1 -1
- package/bundles/material-slide-toggle.umd.min.js.map +1 -1
- package/bundles/material-slider.umd.js +26 -12
- package/bundles/material-slider.umd.js.map +1 -1
- package/bundles/material-slider.umd.min.js +1 -1
- package/bundles/material-slider.umd.min.js.map +1 -1
- package/bundles/material-snack-bar.umd.js +55 -23
- package/bundles/material-snack-bar.umd.js.map +1 -1
- package/bundles/material-snack-bar.umd.min.js +1 -1
- package/bundles/material-snack-bar.umd.min.js.map +1 -1
- package/bundles/material-sort.umd.js +20 -17
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-sort.umd.min.js +1 -1
- package/bundles/material-sort.umd.min.js.map +1 -1
- package/bundles/material-stepper.umd.js +50 -16
- package/bundles/material-stepper.umd.js.map +1 -1
- package/bundles/material-stepper.umd.min.js +1 -1
- package/bundles/material-stepper.umd.min.js.map +1 -1
- package/bundles/material-table.umd.js +116 -26
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-table.umd.min.js +1 -1
- package/bundles/material-table.umd.min.js.map +1 -1
- package/bundles/material-tabs.umd.js +162 -77
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tabs.umd.min.js +2 -2
- package/bundles/material-tabs.umd.min.js.map +1 -1
- package/bundles/material-toolbar.umd.js +22 -9
- package/bundles/material-toolbar.umd.js.map +1 -1
- package/bundles/material-toolbar.umd.min.js +1 -1
- package/bundles/material-toolbar.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +79 -25
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.min.js.map +1 -1
- package/bundles/material-tree.umd.js +49 -28
- package/bundles/material-tree.umd.js.map +1 -1
- package/bundles/material-tree.umd.min.js +1 -1
- package/bundles/material-tree.umd.min.js.map +1 -1
- package/bundles/material.umd.js +3157 -1278
- package/bundles/material.umd.js.map +1 -1
- package/bundles/material.umd.min.js +19 -19
- package/bundles/material.umd.min.js.map +1 -1
- package/button/typings/button.d.ts +4 -3
- package/button/typings/index.metadata.json +1 -1
- package/button-toggle/typings/button-toggle.d.ts +7 -3
- package/button-toggle/typings/index.metadata.json +1 -1
- package/checkbox/typings/checkbox-module.d.ts +3 -0
- package/checkbox/typings/checkbox.d.ts +3 -2
- package/checkbox/typings/index.metadata.json +1 -1
- package/chips/typings/chip-list.d.ts +9 -2
- package/chips/typings/chip.d.ts +3 -2
- package/chips/typings/index.metadata.json +1 -1
- package/core/typings/index.metadata.json +1 -1
- package/core/typings/option/optgroup.d.ts +3 -2
- package/core/typings/public-api.d.ts +1 -0
- package/core/typings/ripple/ripple-renderer.d.ts +4 -4
- package/{typings/esm5 → core/typings}/version.d.ts +0 -0
- package/datepicker/typings/datepicker.d.ts +3 -2
- package/datepicker/typings/index.d.ts +0 -1
- package/datepicker/typings/index.metadata.json +1 -1
- package/datepicker/typings/public-api.d.ts +1 -0
- package/esm2015/autocomplete.js +187 -68
- package/esm2015/autocomplete.js.map +1 -1
- package/esm2015/badge.js +31 -10
- package/esm2015/badge.js.map +1 -1
- package/esm2015/bottom-sheet.js +75 -28
- package/esm2015/bottom-sheet.js.map +1 -1
- package/esm2015/button-toggle.js +89 -27
- package/esm2015/button-toggle.js.map +1 -1
- package/esm2015/button.js +13 -9
- package/esm2015/button.js.map +1 -1
- package/esm2015/card.js +4 -4
- package/esm2015/card.js.map +1 -1
- package/esm2015/checkbox.js +68 -25
- package/esm2015/checkbox.js.map +1 -1
- package/esm2015/chips.js +219 -79
- package/esm2015/chips.js.map +1 -1
- package/esm2015/core.js +160 -75
- package/esm2015/core.js.map +1 -1
- package/esm2015/datepicker.js +157 -62
- package/esm2015/datepicker.js.map +1 -1
- package/esm2015/dialog.js +99 -34
- package/esm2015/dialog.js.map +1 -1
- package/esm2015/divider.js +4 -4
- package/esm2015/divider.js.map +1 -1
- package/esm2015/expansion.js +65 -25
- package/esm2015/expansion.js.map +1 -1
- package/esm2015/form-field.js +108 -42
- package/esm2015/form-field.js.map +1 -1
- package/esm2015/grid-list.js +44 -19
- package/esm2015/grid-list.js.map +1 -1
- package/esm2015/icon.js +104 -32
- package/esm2015/icon.js.map +1 -1
- package/esm2015/input.js +31 -16
- package/esm2015/input.js.map +1 -1
- package/esm2015/list.js +96 -29
- package/esm2015/list.js.map +1 -1
- package/esm2015/material.js +28 -41
- package/esm2015/material.js.map +1 -1
- package/esm2015/menu.js +254 -131
- package/esm2015/menu.js.map +1 -1
- package/esm2015/paginator.js +31 -13
- package/esm2015/paginator.js.map +1 -1
- package/esm2015/progress-bar.js +28 -14
- package/esm2015/progress-bar.js.map +1 -1
- package/esm2015/progress-spinner.js +12 -12
- package/esm2015/progress-spinner.js.map +1 -1
- package/esm2015/radio.js +75 -22
- package/esm2015/radio.js.map +1 -1
- package/esm2015/select.js +188 -57
- package/esm2015/select.js.map +1 -1
- package/esm2015/sidenav.js +285 -136
- package/esm2015/sidenav.js.map +1 -1
- package/esm2015/slide-toggle.js +47 -29
- package/esm2015/slide-toggle.js.map +1 -1
- package/esm2015/slider.js +28 -12
- package/esm2015/slider.js.map +1 -1
- package/esm2015/snack-bar.js +58 -26
- package/esm2015/snack-bar.js.map +1 -1
- package/esm2015/sort.js +23 -16
- package/esm2015/sort.js.map +1 -1
- package/esm2015/stepper.js +47 -18
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +120 -27
- package/esm2015/table.js.map +1 -1
- package/esm2015/tabs.js +160 -63
- package/esm2015/tabs.js.map +1 -1
- package/esm2015/toolbar.js +24 -9
- package/esm2015/toolbar.js.map +1 -1
- package/esm2015/tooltip.js +82 -28
- package/esm2015/tooltip.js.map +1 -1
- package/esm2015/tree.js +54 -31
- package/esm2015/tree.js.map +1 -1
- package/esm5/autocomplete.es5.js +199 -69
- package/esm5/autocomplete.es5.js.map +1 -1
- package/esm5/badge.es5.js +41 -11
- package/esm5/badge.es5.js.map +1 -1
- package/esm5/bottom-sheet.es5.js +75 -28
- package/esm5/bottom-sheet.es5.js.map +1 -1
- package/esm5/button-toggle.es5.js +100 -29
- package/esm5/button-toggle.es5.js.map +1 -1
- package/esm5/button.es5.js +14 -10
- package/esm5/button.es5.js.map +1 -1
- package/esm5/card.es5.js +4 -4
- package/esm5/card.es5.js.map +1 -1
- package/esm5/checkbox.es5.js +71 -26
- package/esm5/checkbox.es5.js.map +1 -1
- package/esm5/chips.es5.js +233 -82
- package/esm5/chips.es5.js.map +1 -1
- package/esm5/core.es5.js +162 -77
- package/esm5/core.es5.js.map +1 -1
- package/esm5/datepicker.es5.js +158 -63
- package/esm5/datepicker.es5.js.map +1 -1
- package/esm5/dialog.es5.js +100 -35
- package/esm5/dialog.es5.js.map +1 -1
- package/esm5/divider.es5.js +4 -4
- package/esm5/divider.es5.js.map +1 -1
- package/esm5/expansion.es5.js +65 -25
- package/esm5/expansion.es5.js.map +1 -1
- package/esm5/form-field.es5.js +117 -43
- package/esm5/form-field.es5.js.map +1 -1
- package/esm5/grid-list.es5.js +44 -19
- package/esm5/grid-list.es5.js.map +1 -1
- package/esm5/icon.es5.js +105 -33
- package/esm5/icon.es5.js.map +1 -1
- package/esm5/input.es5.js +32 -17
- package/esm5/input.es5.js.map +1 -1
- package/esm5/list.es5.js +100 -33
- package/esm5/list.es5.js.map +1 -1
- package/esm5/material.es5.js +28 -41
- package/esm5/material.es5.js.map +1 -1
- package/esm5/menu.es5.js +301 -161
- package/esm5/menu.es5.js.map +1 -1
- package/esm5/paginator.es5.js +32 -14
- package/esm5/paginator.es5.js.map +1 -1
- package/esm5/progress-bar.es5.js +29 -17
- package/esm5/progress-bar.es5.js.map +1 -1
- package/esm5/progress-spinner.es5.js +13 -13
- package/esm5/progress-spinner.es5.js.map +1 -1
- package/esm5/radio.es5.js +81 -23
- package/esm5/radio.es5.js.map +1 -1
- package/esm5/select.es5.js +189 -58
- package/esm5/select.es5.js.map +1 -1
- package/esm5/sidenav.es5.js +326 -148
- package/esm5/sidenav.es5.js.map +1 -1
- package/esm5/slide-toggle.es5.js +48 -29
- package/esm5/slide-toggle.es5.js.map +1 -1
- package/esm5/slider.es5.js +29 -13
- package/esm5/slider.es5.js.map +1 -1
- package/esm5/snack-bar.es5.js +58 -26
- package/esm5/snack-bar.es5.js.map +1 -1
- package/esm5/sort.es5.js +25 -18
- package/esm5/sort.es5.js.map +1 -1
- package/esm5/stepper.es5.js +53 -19
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +119 -30
- package/esm5/table.es5.js.map +1 -1
- package/esm5/tabs.es5.js +165 -68
- package/esm5/tabs.es5.js.map +1 -1
- package/esm5/toolbar.es5.js +25 -10
- package/esm5/toolbar.es5.js.map +1 -1
- package/esm5/tooltip.es5.js +81 -27
- package/esm5/tooltip.es5.js.map +1 -1
- package/esm5/tree.es5.js +52 -29
- package/esm5/tree.es5.js.map +1 -1
- package/form-field/typings/form-field.d.ts +9 -3
- package/form-field/typings/index.metadata.json +1 -1
- package/grid-list/typings/index.d.ts +1 -1
- package/grid-list/typings/index.metadata.json +1 -1
- package/icon/typings/icon.d.ts +3 -2
- package/icon/typings/index.metadata.json +1 -1
- package/input/typings/index.metadata.json +1 -1
- package/input/typings/input.d.ts +3 -2
- package/list/typings/index.metadata.json +1 -1
- package/list/typings/list.d.ts +5 -4
- package/list/typings/selection-list.d.ts +7 -4
- package/material.d.ts +1 -1
- package/material.metadata.json +3 -3
- package/menu/typings/index.d.ts +2 -4
- package/menu/typings/index.metadata.json +1 -1
- package/menu/typings/menu-item.d.ts +3 -2
- package/menu/typings/menu-module.d.ts +6 -0
- package/menu/typings/menu-trigger.d.ts +1 -3
- package/menu/typings/menu.d.ts +158 -5
- package/menu/typings/public-api.d.ts +5 -2
- package/package.json +11 -11
- package/paginator/typings/index.metadata.json +1 -1
- package/paginator/typings/paginator.d.ts +3 -2
- 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-bar/typings/index.metadata.json +1 -1
- package/progress-bar/typings/progress-bar.d.ts +8 -7
- package/progress-spinner/typings/index.metadata.json +1 -1
- package/progress-spinner/typings/progress-spinner.d.ts +5 -4
- package/radio/typings/index.metadata.json +1 -1
- package/radio/typings/radio.d.ts +10 -4
- package/schematics/ng-add/fonts/material-fonts.js.map +1 -1
- package/schematics/ng-add/fonts/project-index-html.d.ts +1 -1
- package/schematics/ng-add/fonts/project-index-html.js.map +1 -1
- package/schematics/ng-add/gestures/hammerjs-import.js.map +1 -1
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/package-config.js.map +1 -1
- package/schematics/ng-add/schema.js.map +1 -1
- package/schematics/ng-add/setup-project.js.map +1 -1
- package/schematics/ng-add/theming/create-custom-theme.js.map +1 -1
- package/schematics/ng-add/theming/theming.js +1 -1
- package/schematics/ng-add/theming/theming.js.map +1 -1
- package/schematics/ng-add/version-names.d.ts +1 -1
- package/schematics/ng-add/version-names.js +1 -1
- package/schematics/ng-add/version-names.js.map +1 -1
- package/schematics/ng-generate/address-form/index.js.map +1 -1
- package/schematics/ng-generate/address-form/schema.js.map +1 -1
- package/schematics/ng-generate/dashboard/index.js.map +1 -1
- package/schematics/ng-generate/dashboard/schema.js.map +1 -1
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +2 -2
- package/schematics/ng-generate/nav/index.js.map +1 -1
- package/schematics/ng-generate/nav/schema.js.map +1 -1
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts +3 -4
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +2 -2
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +11 -4
- package/schematics/ng-generate/table/index.js.map +1 -1
- package/schematics/ng-generate/table/schema.js.map +1 -1
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts +1 -1
- package/schematics/ng-generate/tree/index.js.map +1 -1
- package/schematics/ng-generate/tree/schema.js.map +1 -1
- package/schematics/ng-update/data/attribute-selectors.js.map +1 -1
- package/schematics/ng-update/data/class-names.js +1 -1
- package/schematics/ng-update/data/class-names.js.map +1 -1
- package/schematics/ng-update/data/constructor-checks.js +22 -14
- package/schematics/ng-update/data/constructor-checks.js.map +1 -1
- package/schematics/ng-update/data/css-selectors.js +2 -2
- package/schematics/ng-update/data/css-selectors.js.map +1 -1
- package/schematics/ng-update/data/element-selectors.js +1 -1
- package/schematics/ng-update/data/element-selectors.js.map +1 -1
- package/schematics/ng-update/data/index.js.map +1 -1
- package/schematics/ng-update/data/input-names.js +7 -7
- package/schematics/ng-update/data/input-names.js.map +1 -1
- package/schematics/ng-update/data/method-call-checks.js.map +1 -1
- package/schematics/ng-update/data/output-names.js +4 -4
- package/schematics/ng-update/data/output-names.js.map +1 -1
- package/schematics/ng-update/data/property-names.js +11 -11
- package/schematics/ng-update/data/property-names.js.map +1 -1
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/ng-update/typescript/module-specifiers.js.map +1 -1
- package/schematics/ng-update/upgrade-data.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassInheritanceMiscRule.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassNamesMiscRule.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.js +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkPropertyNamesMiscRule.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/ripple-speed-factor.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorAssignmentRule.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorTemplateRule.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.js +21 -10
- package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.js.map +1 -1
- package/select/typings/index.metadata.json +1 -1
- package/select/typings/select.d.ts +3 -2
- package/sidenav/typings/drawer.d.ts +8 -11
- package/sidenav/typings/index.metadata.json +1 -1
- package/slide-toggle/typings/index.metadata.json +1 -1
- package/slide-toggle/typings/slide-toggle.d.ts +6 -11
- package/slider/typings/index.metadata.json +1 -1
- package/slider/typings/slider.d.ts +3 -2
- package/sort/typings/index.metadata.json +1 -1
- package/sort/typings/sort-header.d.ts +2 -2
- package/sort/typings/sort.d.ts +3 -2
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/step-header.d.ts +2 -0
- package/table/typings/index.metadata.json +1 -1
- package/table/typings/public-api.d.ts +1 -0
- package/table/typings/text-column.d.ts +19 -0
- package/tabs/typings/index.d.ts +1 -5
- package/tabs/typings/index.metadata.json +1 -1
- package/tabs/typings/tab-group.d.ts +3 -2
- package/tabs/typings/tab-header.d.ts +3 -2
- package/tabs/typings/tab-label-wrapper.d.ts +3 -2
- package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +5 -4
- package/tabs/typings/tab.d.ts +3 -2
- package/toolbar/typings/index.metadata.json +1 -1
- package/toolbar/typings/toolbar.d.ts +3 -2
- package/tree/typings/data-source/flat-data-source.d.ts +3 -3
- package/tree/typings/index.metadata.json +1 -1
- package/tree/typings/node.d.ts +3 -2
- package/typings/autocomplete/autocomplete-trigger.d.ts +13 -2
- package/typings/autocomplete/autocomplete.d.ts +3 -2
- package/typings/autocomplete/index.metadata.json +1 -1
- package/typings/badge/badge.d.ts +8 -2
- package/typings/badge/index.metadata.json +1 -1
- package/typings/button/button.d.ts +4 -3
- package/typings/button/index.metadata.json +1 -1
- package/typings/button-toggle/button-toggle.d.ts +7 -3
- package/typings/button-toggle/index.metadata.json +1 -1
- package/typings/checkbox/checkbox-module.d.ts +3 -0
- package/typings/checkbox/checkbox.d.ts +3 -2
- package/typings/checkbox/index.metadata.json +1 -1
- package/typings/chips/chip-list.d.ts +9 -2
- package/typings/chips/chip.d.ts +3 -2
- package/typings/chips/index.metadata.json +1 -1
- package/typings/core/index.metadata.json +1 -1
- package/typings/core/option/optgroup.d.ts +3 -2
- package/typings/core/public-api.d.ts +1 -0
- package/typings/core/ripple/ripple-renderer.d.ts +4 -4
- package/typings/{version.d.ts → core/version.d.ts} +0 -0
- package/typings/datepicker/datepicker.d.ts +3 -2
- package/typings/datepicker/index.d.ts +0 -1
- package/typings/datepicker/index.metadata.json +1 -1
- package/typings/datepicker/public-api.d.ts +1 -0
- package/typings/esm5/autocomplete/autocomplete-trigger.d.ts +13 -2
- package/typings/esm5/autocomplete/autocomplete.d.ts +3 -2
- package/typings/esm5/autocomplete/index.metadata.json +1 -1
- package/typings/esm5/badge/badge.d.ts +8 -2
- package/typings/esm5/badge/index.metadata.json +1 -1
- package/typings/esm5/button/button.d.ts +4 -3
- package/typings/esm5/button/index.metadata.json +1 -1
- package/typings/esm5/button-toggle/button-toggle.d.ts +7 -3
- package/typings/esm5/button-toggle/index.metadata.json +1 -1
- package/typings/esm5/checkbox/checkbox-module.d.ts +3 -0
- package/typings/esm5/checkbox/checkbox.d.ts +3 -2
- package/typings/esm5/checkbox/index.metadata.json +1 -1
- package/typings/esm5/chips/chip-list.d.ts +9 -2
- package/typings/esm5/chips/chip.d.ts +3 -2
- package/typings/esm5/chips/index.metadata.json +1 -1
- package/typings/esm5/core/index.metadata.json +1 -1
- package/typings/esm5/core/option/optgroup.d.ts +3 -2
- package/typings/esm5/core/public-api.d.ts +1 -0
- package/typings/esm5/core/ripple/ripple-renderer.d.ts +4 -4
- package/typings/esm5/core/version.d.ts +10 -0
- package/typings/esm5/datepicker/datepicker.d.ts +3 -2
- package/typings/esm5/datepicker/index.d.ts +0 -1
- package/typings/esm5/datepicker/index.metadata.json +1 -1
- package/typings/esm5/datepicker/public-api.d.ts +1 -0
- package/typings/esm5/form-field/form-field.d.ts +9 -3
- package/typings/esm5/form-field/index.metadata.json +1 -1
- package/typings/esm5/grid-list/index.d.ts +1 -1
- package/typings/esm5/grid-list/index.metadata.json +1 -1
- package/typings/esm5/icon/icon.d.ts +3 -2
- package/typings/esm5/icon/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/input/index.metadata.json +1 -1
- package/typings/esm5/input/input.d.ts +3 -2
- package/typings/esm5/list/index.metadata.json +1 -1
- package/typings/esm5/list/list.d.ts +5 -4
- package/typings/esm5/list/selection-list.d.ts +7 -4
- package/typings/esm5/menu/index.d.ts +2 -4
- package/typings/esm5/menu/index.metadata.json +1 -1
- package/typings/esm5/menu/menu-item.d.ts +3 -2
- package/typings/esm5/menu/menu-module.d.ts +6 -0
- package/typings/esm5/menu/menu-trigger.d.ts +1 -3
- package/typings/esm5/menu/menu.d.ts +158 -5
- package/typings/esm5/menu/public-api.d.ts +5 -2
- package/typings/esm5/paginator/index.metadata.json +1 -1
- package/typings/esm5/paginator/paginator.d.ts +3 -2
- package/typings/esm5/progress-bar/index.metadata.json +1 -1
- package/typings/esm5/progress-bar/progress-bar.d.ts +8 -7
- package/typings/esm5/progress-spinner/index.metadata.json +1 -1
- package/typings/esm5/progress-spinner/progress-spinner.d.ts +5 -4
- package/typings/esm5/public-api.d.ts +0 -1
- package/typings/esm5/radio/index.metadata.json +1 -1
- package/typings/esm5/radio/radio.d.ts +10 -4
- package/typings/esm5/select/index.metadata.json +1 -1
- package/typings/esm5/select/select.d.ts +3 -2
- package/typings/esm5/sidenav/drawer.d.ts +8 -11
- package/typings/esm5/sidenav/index.metadata.json +1 -1
- package/typings/esm5/slide-toggle/index.metadata.json +1 -1
- package/typings/esm5/slide-toggle/slide-toggle.d.ts +6 -11
- package/typings/esm5/slider/index.metadata.json +1 -1
- package/typings/esm5/slider/slider.d.ts +3 -2
- package/typings/esm5/sort/index.metadata.json +1 -1
- package/typings/esm5/sort/sort-header.d.ts +2 -2
- package/typings/esm5/sort/sort.d.ts +3 -2
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/step-header.d.ts +2 -0
- package/typings/esm5/table/index.metadata.json +1 -1
- package/typings/esm5/table/public-api.d.ts +1 -0
- package/typings/esm5/table/text-column.d.ts +19 -0
- package/typings/esm5/tabs/index.d.ts +1 -5
- package/typings/esm5/tabs/index.metadata.json +1 -1
- package/typings/esm5/tabs/tab-group.d.ts +3 -2
- package/typings/esm5/tabs/tab-header.d.ts +3 -2
- package/typings/esm5/tabs/tab-label-wrapper.d.ts +3 -2
- package/typings/esm5/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -4
- package/typings/esm5/tabs/tab.d.ts +3 -2
- package/typings/esm5/toolbar/index.metadata.json +1 -1
- package/typings/esm5/toolbar/toolbar.d.ts +3 -2
- package/typings/esm5/tree/data-source/flat-data-source.d.ts +3 -3
- package/typings/esm5/tree/index.metadata.json +1 -1
- package/typings/esm5/tree/node.d.ts +3 -2
- package/typings/form-field/form-field.d.ts +9 -3
- package/typings/form-field/index.metadata.json +1 -1
- package/typings/grid-list/index.d.ts +1 -1
- package/typings/grid-list/index.metadata.json +1 -1
- package/typings/icon/icon.d.ts +3 -2
- package/typings/icon/index.metadata.json +1 -1
- package/typings/index.metadata.json +1 -1
- package/typings/input/index.metadata.json +1 -1
- package/typings/input/input.d.ts +3 -2
- package/typings/list/index.metadata.json +1 -1
- package/typings/list/list.d.ts +5 -4
- package/typings/list/selection-list.d.ts +7 -4
- package/typings/menu/index.d.ts +2 -4
- package/typings/menu/index.metadata.json +1 -1
- package/typings/menu/menu-item.d.ts +3 -2
- package/typings/menu/menu-module.d.ts +6 -0
- package/typings/menu/menu-trigger.d.ts +1 -3
- package/typings/menu/menu.d.ts +158 -5
- package/typings/menu/public-api.d.ts +5 -2
- package/typings/paginator/index.metadata.json +1 -1
- package/typings/paginator/paginator.d.ts +3 -2
- package/typings/progress-bar/index.metadata.json +1 -1
- package/typings/progress-bar/progress-bar.d.ts +8 -7
- package/typings/progress-spinner/index.metadata.json +1 -1
- package/typings/progress-spinner/progress-spinner.d.ts +5 -4
- package/typings/public-api.d.ts +0 -1
- package/typings/radio/index.metadata.json +1 -1
- package/typings/radio/radio.d.ts +10 -4
- package/typings/schematics/ng-add/fonts/project-index-html.d.ts +1 -1
- package/typings/schematics/ng-add/version-names.d.ts +1 -1
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts +1 -1
- package/typings/select/index.metadata.json +1 -1
- package/typings/select/select.d.ts +3 -2
- package/typings/sidenav/drawer.d.ts +8 -11
- package/typings/sidenav/index.metadata.json +1 -1
- package/typings/slide-toggle/index.metadata.json +1 -1
- package/typings/slide-toggle/slide-toggle.d.ts +6 -11
- package/typings/slider/index.metadata.json +1 -1
- package/typings/slider/slider.d.ts +3 -2
- package/typings/sort/index.metadata.json +1 -1
- package/typings/sort/sort-header.d.ts +2 -2
- package/typings/sort/sort.d.ts +3 -2
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/step-header.d.ts +2 -0
- package/typings/table/index.metadata.json +1 -1
- package/typings/table/public-api.d.ts +1 -0
- package/typings/table/text-column.d.ts +19 -0
- package/typings/tabs/index.d.ts +1 -5
- package/typings/tabs/index.metadata.json +1 -1
- package/typings/tabs/tab-group.d.ts +3 -2
- package/typings/tabs/tab-header.d.ts +3 -2
- package/typings/tabs/tab-label-wrapper.d.ts +3 -2
- package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -4
- package/typings/tabs/tab.d.ts +3 -2
- package/typings/toolbar/index.metadata.json +1 -1
- package/typings/toolbar/toolbar.d.ts +3 -2
- package/typings/tree/data-source/flat-data-source.d.ts +3 -3
- package/typings/tree/index.metadata.json +1 -1
- package/typings/tree/node.d.ts +3 -2
- package/menu/typings/menu-directive.d.ts +0 -159
- package/typings/esm5/menu/menu-directive.d.ts +0 -159
- package/typings/menu/menu-directive.d.ts +0 -159
|
@@ -42,13 +42,13 @@ function __extends(d, b) {
|
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* @fileoverview added by tsickle
|
|
45
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
45
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
46
46
|
*/
|
|
47
47
|
// Boilerplate for applying mixins to MatList.
|
|
48
48
|
/**
|
|
49
49
|
* \@docs-private
|
|
50
50
|
*/
|
|
51
|
-
var
|
|
51
|
+
var
|
|
52
52
|
// Boilerplate for applying mixins to MatList.
|
|
53
53
|
/**
|
|
54
54
|
* \@docs-private
|
|
@@ -64,7 +64,7 @@ var _MatListMixinBase = core$1.mixinDisableRipple(MatListBase);
|
|
|
64
64
|
/**
|
|
65
65
|
* \@docs-private
|
|
66
66
|
*/
|
|
67
|
-
var
|
|
67
|
+
var
|
|
68
68
|
// Boilerplate for applying mixins to MatListItem.
|
|
69
69
|
/**
|
|
70
70
|
* \@docs-private
|
|
@@ -255,9 +255,12 @@ var MatListItem = /** @class */ (function (_super) {
|
|
|
255
255
|
if (_this._list) {
|
|
256
256
|
// React to changes in the state of the parent list since
|
|
257
257
|
// some of the item's properties depend on it (e.g. `disableRipple`).
|
|
258
|
-
_this._list._stateChanges.pipe(operators.takeUntil(_this._destroyed)).subscribe(
|
|
258
|
+
_this._list._stateChanges.pipe(operators.takeUntil(_this._destroyed)).subscribe((/**
|
|
259
|
+
* @return {?}
|
|
260
|
+
*/
|
|
261
|
+
function () {
|
|
259
262
|
_changeDetectorRef.markForCheck();
|
|
260
|
-
});
|
|
263
|
+
}));
|
|
261
264
|
}
|
|
262
265
|
return _this;
|
|
263
266
|
}
|
|
@@ -337,12 +340,12 @@ var MatListItem = /** @class */ (function (_super) {
|
|
|
337
340
|
|
|
338
341
|
/**
|
|
339
342
|
* @fileoverview added by tsickle
|
|
340
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
343
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
341
344
|
*/
|
|
342
345
|
/**
|
|
343
346
|
* \@docs-private
|
|
344
347
|
*/
|
|
345
|
-
var
|
|
348
|
+
var /**
|
|
346
349
|
* \@docs-private
|
|
347
350
|
*/
|
|
348
351
|
MatSelectionListBase = /** @class */ (function () {
|
|
@@ -355,7 +358,7 @@ var _MatSelectionListMixinBase = core$1.mixinDisableRipple(MatSelectionListBase)
|
|
|
355
358
|
/**
|
|
356
359
|
* \@docs-private
|
|
357
360
|
*/
|
|
358
|
-
var
|
|
361
|
+
var /**
|
|
359
362
|
* \@docs-private
|
|
360
363
|
*/
|
|
361
364
|
MatListOptionBase = /** @class */ (function () {
|
|
@@ -371,7 +374,10 @@ var _MatListOptionMixinBase = core$1.mixinDisableRipple(MatListOptionBase);
|
|
|
371
374
|
*/
|
|
372
375
|
var MAT_SELECTION_LIST_VALUE_ACCESSOR = {
|
|
373
376
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
374
|
-
useExisting: core.forwardRef(
|
|
377
|
+
useExisting: core.forwardRef((/**
|
|
378
|
+
* @return {?}
|
|
379
|
+
*/
|
|
380
|
+
function () { return MatSelectionList; })),
|
|
375
381
|
multi: true
|
|
376
382
|
};
|
|
377
383
|
/**
|
|
@@ -502,12 +508,15 @@ var MatListOption = /** @class */ (function (_super) {
|
|
|
502
508
|
// that the form control value is not being overwritten.
|
|
503
509
|
/** @type {?} */
|
|
504
510
|
var wasSelected = this._selected;
|
|
505
|
-
Promise.resolve().then(
|
|
511
|
+
Promise.resolve().then((/**
|
|
512
|
+
* @return {?}
|
|
513
|
+
*/
|
|
514
|
+
function () {
|
|
506
515
|
if (_this._selected || wasSelected) {
|
|
507
516
|
_this.selected = true;
|
|
508
517
|
_this._changeDetector.markForCheck();
|
|
509
518
|
}
|
|
510
|
-
});
|
|
519
|
+
}));
|
|
511
520
|
};
|
|
512
521
|
/**
|
|
513
522
|
* @return {?}
|
|
@@ -529,7 +538,12 @@ var MatListOption = /** @class */ (function (_super) {
|
|
|
529
538
|
if (this.selected) {
|
|
530
539
|
// We have to delay this until the next tick in order
|
|
531
540
|
// to avoid changed after checked errors.
|
|
532
|
-
Promise.resolve().then(
|
|
541
|
+
Promise.resolve().then((/**
|
|
542
|
+
* @return {?}
|
|
543
|
+
*/
|
|
544
|
+
function () {
|
|
545
|
+
_this.selected = false;
|
|
546
|
+
}));
|
|
533
547
|
}
|
|
534
548
|
/** @type {?} */
|
|
535
549
|
var hadFocus = this._hasFocus;
|
|
@@ -713,7 +727,10 @@ var MatListOption = /** @class */ (function (_super) {
|
|
|
713
727
|
MatListOption.ctorParameters = function () { return [
|
|
714
728
|
{ type: core.ElementRef },
|
|
715
729
|
{ type: core.ChangeDetectorRef },
|
|
716
|
-
{ type: MatSelectionList, decorators: [{ type: core.Inject, args: [core.forwardRef(
|
|
730
|
+
{ type: MatSelectionList, decorators: [{ type: core.Inject, args: [core.forwardRef((/**
|
|
731
|
+
* @return {?}
|
|
732
|
+
*/
|
|
733
|
+
function () { return MatSelectionList; })),] }] }
|
|
717
734
|
]; };
|
|
718
735
|
MatListOption.propDecorators = {
|
|
719
736
|
_avatar: [{ type: core.ContentChild, args: [MatListAvatarCssMatStyler, { static: false },] }],
|
|
@@ -756,7 +773,11 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
756
773
|
/**
|
|
757
774
|
* View to model callback that should be called whenever the selected options change.
|
|
758
775
|
*/
|
|
759
|
-
_this._onChange =
|
|
776
|
+
_this._onChange = (/**
|
|
777
|
+
* @param {?} _
|
|
778
|
+
* @return {?}
|
|
779
|
+
*/
|
|
780
|
+
function (_) { });
|
|
760
781
|
/**
|
|
761
782
|
* Subscription to sync value changes in the SelectionModel back to the SelectionList.
|
|
762
783
|
*/
|
|
@@ -764,7 +785,10 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
764
785
|
/**
|
|
765
786
|
* View to model callback that should be called if the list or its options lost focus.
|
|
766
787
|
*/
|
|
767
|
-
_this._onTouched =
|
|
788
|
+
_this._onTouched = (/**
|
|
789
|
+
* @return {?}
|
|
790
|
+
*/
|
|
791
|
+
function () { });
|
|
768
792
|
_this.tabIndex = parseInt(tabIndex) || 0;
|
|
769
793
|
return _this;
|
|
770
794
|
}
|
|
@@ -802,14 +826,21 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
802
826
|
.withTypeAhead()
|
|
803
827
|
// Allow disabled items to be focusable. For accessibility reasons, there must be a way for
|
|
804
828
|
// screenreader users, that allows reading the different options of the list.
|
|
805
|
-
.skipPredicate(
|
|
829
|
+
.skipPredicate((/**
|
|
830
|
+
* @return {?}
|
|
831
|
+
*/
|
|
832
|
+
function () { return false; }))
|
|
806
833
|
.withAllowedModifierKeys(['shiftKey']);
|
|
807
834
|
if (this._tempValues) {
|
|
808
835
|
this._setOptionsFromValues(this._tempValues);
|
|
809
836
|
this._tempValues = null;
|
|
810
837
|
}
|
|
811
838
|
// Sync external changes to the model back to the options.
|
|
812
|
-
this._modelChanges = this.selectedOptions.onChange.subscribe(
|
|
839
|
+
this._modelChanges = this.selectedOptions.onChange.subscribe((/**
|
|
840
|
+
* @param {?} event
|
|
841
|
+
* @return {?}
|
|
842
|
+
*/
|
|
843
|
+
function (event) {
|
|
813
844
|
if (event.added) {
|
|
814
845
|
for (var _i = 0, _a = event.added; _i < _a.length; _i++) {
|
|
815
846
|
var item = _a[_i];
|
|
@@ -822,7 +853,7 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
822
853
|
item.selected = false;
|
|
823
854
|
}
|
|
824
855
|
}
|
|
825
|
-
});
|
|
856
|
+
}));
|
|
826
857
|
};
|
|
827
858
|
/**
|
|
828
859
|
* @param {?} changes
|
|
@@ -849,6 +880,7 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
849
880
|
* @return {?}
|
|
850
881
|
*/
|
|
851
882
|
function () {
|
|
883
|
+
this._destroyed = true;
|
|
852
884
|
this._modelChanges.unsubscribe();
|
|
853
885
|
};
|
|
854
886
|
/** Focuses the selection list. */
|
|
@@ -967,7 +999,11 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
967
999
|
break;
|
|
968
1000
|
case keycodes.A:
|
|
969
1001
|
if (keycodes.hasModifierKey(event, 'ctrlKey')) {
|
|
970
|
-
this.options.find(
|
|
1002
|
+
this.options.find((/**
|
|
1003
|
+
* @param {?} option
|
|
1004
|
+
* @return {?}
|
|
1005
|
+
*/
|
|
1006
|
+
function (option) { return !option.selected; })) ? this.selectAll() : this.deselectAll();
|
|
971
1007
|
event.preventDefault();
|
|
972
1008
|
}
|
|
973
1009
|
break;
|
|
@@ -989,7 +1025,10 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
989
1025
|
* @return {?}
|
|
990
1026
|
*/
|
|
991
1027
|
function () {
|
|
992
|
-
|
|
1028
|
+
// Stop reporting value changes after the list has been destroyed. This avoids
|
|
1029
|
+
// cases where the list might wrongly reset its value once it is removed, but
|
|
1030
|
+
// the form control is still live.
|
|
1031
|
+
if (this.options && !this._destroyed) {
|
|
993
1032
|
this._onChange(this._getSelectedOptionValues());
|
|
994
1033
|
}
|
|
995
1034
|
};
|
|
@@ -1083,21 +1122,33 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
1083
1122
|
*/
|
|
1084
1123
|
function (values) {
|
|
1085
1124
|
var _this = this;
|
|
1086
|
-
this.options.forEach(
|
|
1087
|
-
|
|
1125
|
+
this.options.forEach((/**
|
|
1126
|
+
* @param {?} option
|
|
1127
|
+
* @return {?}
|
|
1128
|
+
*/
|
|
1129
|
+
function (option) { return option._setSelected(false); }));
|
|
1130
|
+
values.forEach((/**
|
|
1131
|
+
* @param {?} value
|
|
1132
|
+
* @return {?}
|
|
1133
|
+
*/
|
|
1134
|
+
function (value) {
|
|
1088
1135
|
/** @type {?} */
|
|
1089
|
-
var correspondingOption = _this.options.find(
|
|
1136
|
+
var correspondingOption = _this.options.find((/**
|
|
1137
|
+
* @param {?} option
|
|
1138
|
+
* @return {?}
|
|
1139
|
+
*/
|
|
1140
|
+
function (option) {
|
|
1090
1141
|
// Skip options that are already in the model. This allows us to handle cases
|
|
1091
1142
|
// where the same primitive value is selected multiple times.
|
|
1092
1143
|
if (option.selected) {
|
|
1093
1144
|
return false;
|
|
1094
1145
|
}
|
|
1095
1146
|
return _this.compareWith ? _this.compareWith(option.value, value) : option.value === value;
|
|
1096
|
-
});
|
|
1147
|
+
}));
|
|
1097
1148
|
if (correspondingOption) {
|
|
1098
1149
|
correspondingOption._setSelected(true);
|
|
1099
1150
|
}
|
|
1100
|
-
});
|
|
1151
|
+
}));
|
|
1101
1152
|
};
|
|
1102
1153
|
/** Returns the values of the selected options. */
|
|
1103
1154
|
/**
|
|
@@ -1111,7 +1162,15 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
1111
1162
|
* @return {?}
|
|
1112
1163
|
*/
|
|
1113
1164
|
function () {
|
|
1114
|
-
return this.options.filter(
|
|
1165
|
+
return this.options.filter((/**
|
|
1166
|
+
* @param {?} option
|
|
1167
|
+
* @return {?}
|
|
1168
|
+
*/
|
|
1169
|
+
function (option) { return option.selected; })).map((/**
|
|
1170
|
+
* @param {?} option
|
|
1171
|
+
* @return {?}
|
|
1172
|
+
*/
|
|
1173
|
+
function (option) { return option.value; }));
|
|
1115
1174
|
};
|
|
1116
1175
|
/** Toggles the state of the currently focused option if enabled. */
|
|
1117
1176
|
/**
|
|
@@ -1161,11 +1220,15 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
1161
1220
|
// emit the changed event when something actually changed.
|
|
1162
1221
|
/** @type {?} */
|
|
1163
1222
|
var hasChanged = false;
|
|
1164
|
-
this.options.forEach(
|
|
1223
|
+
this.options.forEach((/**
|
|
1224
|
+
* @param {?} option
|
|
1225
|
+
* @return {?}
|
|
1226
|
+
*/
|
|
1227
|
+
function (option) {
|
|
1165
1228
|
if (option._setSelected(isSelected)) {
|
|
1166
1229
|
hasChanged = true;
|
|
1167
1230
|
}
|
|
1168
|
-
});
|
|
1231
|
+
}));
|
|
1169
1232
|
if (hasChanged) {
|
|
1170
1233
|
this._reportValueChange();
|
|
1171
1234
|
}
|
|
@@ -1219,7 +1282,11 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
1219
1282
|
*/
|
|
1220
1283
|
function () {
|
|
1221
1284
|
if (this.options) {
|
|
1222
|
-
this.options.forEach(
|
|
1285
|
+
this.options.forEach((/**
|
|
1286
|
+
* @param {?} option
|
|
1287
|
+
* @return {?}
|
|
1288
|
+
*/
|
|
1289
|
+
function (option) { return option._markForCheck(); }));
|
|
1223
1290
|
}
|
|
1224
1291
|
};
|
|
1225
1292
|
MatSelectionList.decorators = [
|
|
@@ -1260,7 +1327,7 @@ var MatSelectionList = /** @class */ (function (_super) {
|
|
|
1260
1327
|
|
|
1261
1328
|
/**
|
|
1262
1329
|
* @fileoverview added by tsickle
|
|
1263
|
-
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1330
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1264
1331
|
*/
|
|
1265
1332
|
var MatListModule = /** @class */ (function () {
|
|
1266
1333
|
function MatListModule() {
|
|
@@ -1298,20 +1365,12 @@ var MatListModule = /** @class */ (function () {
|
|
|
1298
1365
|
}());
|
|
1299
1366
|
|
|
1300
1367
|
exports.MatListModule = MatListModule;
|
|
1301
|
-
exports.MatListBase = MatListBase;
|
|
1302
|
-
exports._MatListMixinBase = _MatListMixinBase;
|
|
1303
|
-
exports.MatListItemBase = MatListItemBase;
|
|
1304
|
-
exports._MatListItemMixinBase = _MatListItemMixinBase;
|
|
1305
1368
|
exports.MatNavList = MatNavList;
|
|
1306
1369
|
exports.MatList = MatList;
|
|
1307
1370
|
exports.MatListAvatarCssMatStyler = MatListAvatarCssMatStyler;
|
|
1308
1371
|
exports.MatListIconCssMatStyler = MatListIconCssMatStyler;
|
|
1309
1372
|
exports.MatListSubheaderCssMatStyler = MatListSubheaderCssMatStyler;
|
|
1310
1373
|
exports.MatListItem = MatListItem;
|
|
1311
|
-
exports.MatSelectionListBase = MatSelectionListBase;
|
|
1312
|
-
exports._MatSelectionListMixinBase = _MatSelectionListMixinBase;
|
|
1313
|
-
exports.MatListOptionBase = MatListOptionBase;
|
|
1314
|
-
exports._MatListOptionMixinBase = _MatListOptionMixinBase;
|
|
1315
1374
|
exports.MAT_SELECTION_LIST_VALUE_ACCESSOR = MAT_SELECTION_LIST_VALUE_ACCESSOR;
|
|
1316
1375
|
exports.MatSelectionListChange = MatSelectionListChange;
|
|
1317
1376
|
exports.MatListOption = MatListOption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list.umd.js","sources":["../../src/lib/list/list-module.ts","../../src/lib/list/selection-list.ts","../../src/lib/list/list.ts","../../node_modules/tslib/tslib.es6.js"],"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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n MatCommonModule,\n MatLineModule,\n MatPseudoCheckboxModule,\n MatRippleModule,\n} from '@angular/material/core';\nimport {\n MatList,\n MatNavList,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListItem,\n MatListSubheaderCssMatStyler,\n} from './list';\nimport {MatListOption, MatSelectionList} from './selection-list';\nimport {MatDividerModule} from '@angular/material/divider';\n\n\n@NgModule({\n imports: [MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule],\n exports: [\n MatList,\n MatNavList,\n MatListItem,\n MatListAvatarCssMatStyler,\n MatLineModule,\n MatCommonModule,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatPseudoCheckboxModule,\n MatSelectionList,\n MatListOption,\n MatDividerModule\n ],\n declarations: [\n MatList,\n MatNavList,\n MatListItem,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatSelectionList,\n MatListOption\n ],\n})\nexport class MatListModule {}\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 {FocusableOption, FocusKeyManager} from '@angular/cdk/a11y';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {\n SPACE,\n ENTER,\n HOME,\n END,\n UP_ARROW,\n DOWN_ARROW,\n A,\n hasModifierKey,\n} from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n SimpleChanges,\n OnChanges,\n} from '@angular/core';\nimport {\n CanDisableRipple, CanDisableRippleCtor,\n MatLine,\n setLines,\n mixinDisableRipple,\n ThemePalette,\n} from '@angular/material/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {MatListAvatarCssMatStyler, MatListIconCssMatStyler} from './list';\n\n\n/** @docs-private */\nexport class MatSelectionListBase {}\nexport const _MatSelectionListMixinBase: CanDisableRippleCtor & typeof MatSelectionListBase =\n mixinDisableRipple(MatSelectionListBase);\n\n/** @docs-private */\nexport class MatListOptionBase {}\nexport const _MatListOptionMixinBase: CanDisableRippleCtor & typeof MatListOptionBase =\n mixinDisableRipple(MatListOptionBase);\n\n/** @docs-private */\nexport const MAT_SELECTION_LIST_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSelectionList),\n multi: true\n};\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport class MatSelectionListChange {\n constructor(\n /** Reference to the selection list that emitted the event. */\n public source: MatSelectionList,\n /** Reference to the option that has been changed. */\n public option: MatListOption) {}\n}\n\n/**\n * Component for list-options of selection-list. Each list-option can automatically\n * generate a checkbox and can put current item into the selectionModel of selection-list\n * if the current item is selected.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-list-option',\n exportAs: 'matListOption',\n inputs: ['disableRipple'],\n host: {\n 'role': 'option',\n 'class': 'mat-list-item mat-list-option',\n '(focus)': '_handleFocus()',\n '(blur)': '_handleBlur()',\n '(click)': '_handleClick()',\n 'tabindex': '-1',\n '[class.mat-list-item-disabled]': 'disabled',\n '[class.mat-list-item-with-avatar]': '_avatar || _icon',\n // Manually set the \"primary\" or \"warn\" class if the color has been explicitly\n // set to \"primary\" or \"warn\". The pseudo checkbox picks up these classes for\n // its theme. The accent theme palette is the default and doesn't need to be set.\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[attr.aria-selected]': 'selected.toString()',\n '[attr.aria-disabled]': 'disabled.toString()',\n },\n templateUrl: 'list-option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListOption extends _MatListOptionMixinBase\n implements AfterContentInit, OnDestroy, OnInit, FocusableOption, CanDisableRipple {\n\n private _selected = false;\n private _disabled = false;\n private _hasFocus = false;\n\n @ContentChild(MatListAvatarCssMatStyler, {static: false}) _avatar: MatListAvatarCssMatStyler;\n @ContentChild(MatListIconCssMatStyler, {static: false}) _icon: MatListIconCssMatStyler;\n @ContentChildren(MatLine) _lines: QueryList<MatLine>;\n\n /** DOM element containing the item's text. */\n @ViewChild('text', {static: false}) _text: ElementRef;\n\n /** Whether the label should appear before or after the checkbox. Defaults to 'after' */\n @Input() checkboxPosition: 'before' | 'after' = 'after';\n\n /** Theme color of the list option. This sets the color of the checkbox. */\n @Input()\n get color(): ThemePalette { return this._color || this.selectionList.color; }\n set color(newValue: ThemePalette) { this._color = newValue; }\n private _color: ThemePalette;\n\n /** Value of the option */\n @Input()\n get value(): any { return this._value; }\n set value(newValue: any) {\n if (this.selected && newValue !== this.value) {\n this.selected = false;\n }\n\n this._value = newValue;\n }\n private _value: any;\n\n /** Whether the option is disabled. */\n @Input()\n get disabled() { return this._disabled || (this.selectionList && this.selectionList.disabled); }\n set disabled(value: any) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this._changeDetector.markForCheck();\n }\n }\n\n /** Whether the option is selected. */\n @Input()\n get selected(): boolean { return this.selectionList.selectedOptions.isSelected(this); }\n set selected(value: boolean) {\n const isSelected = coerceBooleanProperty(value);\n\n if (isSelected !== this._selected) {\n this._setSelected(isSelected);\n this.selectionList._reportValueChange();\n }\n }\n\n constructor(private _element: ElementRef<HTMLElement>,\n private _changeDetector: ChangeDetectorRef,\n /** @docs-private */\n @Inject(forwardRef(() => MatSelectionList)) public selectionList: MatSelectionList) {\n super();\n }\n\n ngOnInit() {\n // List options that are selected at initialization can't be reported properly to the form\n // control. This is because it takes some time until the selection-list knows about all\n // available options. Also it can happen that the ControlValueAccessor has an initial value\n // that should be used instead. Deferring the value change report to the next tick ensures\n // that the form control value is not being overwritten.\n const wasSelected = this._selected;\n\n Promise.resolve().then(() => {\n if (this._selected || wasSelected) {\n this.selected = true;\n this._changeDetector.markForCheck();\n }\n });\n }\n\n ngAfterContentInit() {\n setLines(this._lines, this._element);\n }\n\n ngOnDestroy(): void {\n if (this.selected) {\n // We have to delay this until the next tick in order\n // to avoid changed after checked errors.\n Promise.resolve().then(() => this.selected = false);\n }\n\n const hadFocus = this._hasFocus;\n const newActiveItem = this.selectionList._removeOptionFromList(this);\n\n // Only move focus if this option was focused at the time it was destroyed.\n if (hadFocus && newActiveItem) {\n newActiveItem.focus();\n }\n }\n\n /** Toggles the selection state of the option. */\n toggle(): void {\n this.selected = !this.selected;\n }\n\n /** Allows for programmatic focusing of the option. */\n focus(): void {\n this._element.nativeElement.focus();\n }\n\n /**\n * Returns the list item's text label. Implemented as a part of the FocusKeyManager.\n * @docs-private\n */\n getLabel() {\n return this._text ? (this._text.nativeElement.textContent || '') : '';\n }\n\n /** Whether this list item should show a ripple effect when clicked. */\n _isRippleDisabled() {\n return this.disabled || this.disableRipple || this.selectionList.disableRipple;\n }\n\n _handleClick() {\n if (!this.disabled) {\n this.toggle();\n\n // Emit a change event if the selected state of the option changed through user interaction.\n this.selectionList._emitChangeEvent(this);\n }\n }\n\n _handleFocus() {\n this.selectionList._setFocusedOption(this);\n this._hasFocus = true;\n }\n\n _handleBlur() {\n this.selectionList._onTouched();\n this._hasFocus = false;\n }\n\n /** Retrieves the DOM element of the component host. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n /** Sets the selected state of the option. Returns whether the value has changed. */\n _setSelected(selected: boolean): boolean {\n if (selected === this._selected) {\n return false;\n }\n\n this._selected = selected;\n\n if (selected) {\n this.selectionList.selectedOptions.select(this);\n } else {\n this.selectionList.selectedOptions.deselect(this);\n }\n\n this._changeDetector.markForCheck();\n return true;\n }\n\n /**\n * Notifies Angular that the option needs to be checked in the next change detection run. Mainly\n * used to trigger an update of the list option if the disabled state of the selection list\n * changed.\n */\n _markForCheck() {\n this._changeDetector.markForCheck();\n }\n}\n\n\n/**\n * Material Design list component where each item is a selectable option. Behaves as a listbox.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-selection-list',\n exportAs: 'matSelectionList',\n inputs: ['disableRipple'],\n host: {\n 'role': 'listbox',\n '[tabIndex]': 'tabIndex',\n 'class': 'mat-selection-list mat-list-base',\n '(blur)': '_onTouched()',\n '(keydown)': '_keydown($event)',\n 'aria-multiselectable': 'true',\n '[attr.aria-disabled]': 'disabled.toString()',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [MAT_SELECTION_LIST_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MatSelectionList extends _MatSelectionListMixinBase implements FocusableOption,\n CanDisableRipple, AfterContentInit, ControlValueAccessor, OnDestroy, OnChanges {\n\n /** The FocusKeyManager which handles focus. */\n _keyManager: FocusKeyManager<MatListOption>;\n\n /** The option components contained within this selection-list. */\n @ContentChildren(MatListOption, {descendants: true}) options: QueryList<MatListOption>;\n\n /** Emits a change event whenever the selected state of an option changes. */\n @Output() readonly selectionChange: EventEmitter<MatSelectionListChange> =\n new EventEmitter<MatSelectionListChange>();\n\n /** Tabindex of the selection list. */\n @Input() tabIndex: number = 0;\n\n /** Theme color of the selection list. This sets the checkbox color for all list options. */\n @Input() color: ThemePalette = 'accent';\n\n /**\n * Function used for comparing an option against the selected value when determining which\n * options should appear as selected. The first argument is the value of an options. The second\n * one is a value from the selected value. A boolean must be returned.\n */\n @Input() compareWith: (o1: any, o2: any) => boolean;\n\n /** Whether the selection list is disabled. */\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // The `MatSelectionList` and `MatListOption` are using the `OnPush` change detection\n // strategy. Therefore the options will not check for any changes if the `MatSelectionList`\n // changed its state. Since we know that a change to `disabled` property of the list affects\n // the state of the options, we manually mark each option for check.\n this._markOptionsForCheck();\n }\n private _disabled: boolean = false;\n\n /** The currently selected options. */\n selectedOptions: SelectionModel<MatListOption> = new SelectionModel<MatListOption>(true);\n\n /** View to model callback that should be called whenever the selected options change. */\n private _onChange: (value: any) => void = (_: any) => {};\n\n /** Used for storing the values that were assigned before the options were initialized. */\n private _tempValues: string[]|null;\n\n /** Subscription to sync value changes in the SelectionModel back to the SelectionList. */\n private _modelChanges = Subscription.EMPTY;\n\n /** View to model callback that should be called if the list or its options lost focus. */\n _onTouched: () => void = () => {};\n\n constructor(private _element: ElementRef<HTMLElement>, @Attribute('tabindex') tabIndex: string) {\n super();\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngAfterContentInit(): void {\n this._keyManager = new FocusKeyManager<MatListOption>(this.options)\n .withWrap()\n .withTypeAhead()\n // Allow disabled items to be focusable. For accessibility reasons, there must be a way for\n // screenreader users, that allows reading the different options of the list.\n .skipPredicate(() => false)\n .withAllowedModifierKeys(['shiftKey']);\n\n if (this._tempValues) {\n this._setOptionsFromValues(this._tempValues);\n this._tempValues = null;\n }\n\n // Sync external changes to the model back to the options.\n this._modelChanges = this.selectedOptions.onChange.subscribe(event => {\n if (event.added) {\n for (let item of event.added) {\n item.selected = true;\n }\n }\n\n if (event.removed) {\n for (let item of event.removed) {\n item.selected = false;\n }\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const disableRippleChanges = changes['disableRipple'];\n const colorChanges = changes['color'];\n\n if ((disableRippleChanges && !disableRippleChanges.firstChange) ||\n (colorChanges && !colorChanges.firstChange)) {\n this._markOptionsForCheck();\n }\n }\n\n ngOnDestroy() {\n this._modelChanges.unsubscribe();\n }\n\n /** Focuses the selection list. */\n focus() {\n this._element.nativeElement.focus();\n }\n\n /** Selects all of the options. */\n selectAll() {\n this._setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. */\n deselectAll() {\n this._setAllOptionsSelected(false);\n }\n\n /** Sets the focused option of the selection-list. */\n _setFocusedOption(option: MatListOption) {\n this._keyManager.updateActiveItem(option);\n }\n\n /**\n * Removes an option from the selection list and updates the active item.\n * @returns Currently-active item.\n */\n _removeOptionFromList(option: MatListOption): MatListOption | null {\n const optionIndex = this._getOptionIndex(option);\n\n if (optionIndex > -1 && this._keyManager.activeItemIndex === optionIndex) {\n // Check whether the option is the last item\n if (optionIndex > 0) {\n this._keyManager.updateActiveItem(optionIndex - 1);\n } else if (optionIndex === 0 && this.options.length > 1) {\n this._keyManager.updateActiveItem(Math.min(optionIndex + 1, this.options.length - 1));\n }\n }\n\n return this._keyManager.activeItem;\n }\n\n /** Passes relevant key presses to our key manager. */\n _keydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n const previousFocusIndex = manager.activeItemIndex;\n const hasModifier = hasModifierKey(event);\n\n switch (keyCode) {\n case SPACE:\n case ENTER:\n if (!hasModifier) {\n this._toggleFocusedOption();\n // Always prevent space from scrolling the page since the list has focus\n event.preventDefault();\n }\n break;\n case HOME:\n case END:\n if (!hasModifier) {\n keyCode === HOME ? manager.setFirstItemActive() : manager.setLastItemActive();\n event.preventDefault();\n }\n break;\n case A:\n if (hasModifierKey(event, 'ctrlKey')) {\n this.options.find(option => !option.selected) ? this.selectAll() : this.deselectAll();\n event.preventDefault();\n }\n break;\n default:\n manager.onKeydown(event);\n }\n\n if ((keyCode === UP_ARROW || keyCode === DOWN_ARROW) && event.shiftKey &&\n manager.activeItemIndex !== previousFocusIndex) {\n this._toggleFocusedOption();\n }\n }\n\n /** Reports a value change to the ControlValueAccessor */\n _reportValueChange() {\n if (this.options) {\n this._onChange(this._getSelectedOptionValues());\n }\n }\n\n /** Emits a change event if the selected state of an option changed. */\n _emitChangeEvent(option: MatListOption) {\n this.selectionChange.emit(new MatSelectionListChange(this, option));\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(values: string[]): void {\n if (this.options) {\n this._setOptionsFromValues(values || []);\n } else {\n this._tempValues = values;\n }\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n /** Sets the selected options based on the specified values. */\n private _setOptionsFromValues(values: string[]) {\n this.options.forEach(option => option._setSelected(false));\n\n values.forEach(value => {\n const correspondingOption = this.options.find(option => {\n // Skip options that are already in the model. This allows us to handle cases\n // where the same primitive value is selected multiple times.\n if (option.selected) {\n return false;\n }\n\n return this.compareWith ? this.compareWith(option.value, value) : option.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption._setSelected(true);\n }\n });\n }\n\n /** Returns the values of the selected options. */\n private _getSelectedOptionValues(): string[] {\n return this.options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Toggles the state of the currently focused option if enabled. */\n private _toggleFocusedOption(): void {\n let focusedIndex = this._keyManager.activeItemIndex;\n\n if (focusedIndex != null && this._isValidIndex(focusedIndex)) {\n let focusedOption: MatListOption = this.options.toArray()[focusedIndex];\n\n if (focusedOption && !focusedOption.disabled) {\n focusedOption.toggle();\n\n // Emit a change event because the focused option changed its state through user\n // interaction.\n this._emitChangeEvent(focusedOption);\n }\n }\n }\n\n /**\n * Sets the selected state on all of the options\n * and emits an event if anything changed.\n */\n private _setAllOptionsSelected(isSelected: boolean) {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n let hasChanged = false;\n\n this.options.forEach(option => {\n if (option._setSelected(isSelected)) {\n hasChanged = true;\n }\n });\n\n if (hasChanged) {\n this._reportValueChange();\n }\n }\n\n /**\n * Utility to ensure all indexes are valid.\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of options.\n */\n private _isValidIndex(index: number): boolean {\n return index >= 0 && index < this.options.length;\n }\n\n /** Returns the index of the specified list option. */\n private _getOptionIndex(option: MatListOption): number {\n return this.options.toArray().indexOf(option);\n }\n\n /** Marks all the options to be checked in the next change detection run. */\n private _markOptionsForCheck() {\n if (this.options) {\n this.options.forEach(option => option._markForCheck());\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n Optional,\n QueryList,\n ViewEncapsulation,\n OnChanges,\n OnDestroy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n CanDisableRipple,\n CanDisableRippleCtor,\n MatLine,\n setLines,\n mixinDisableRipple,\n} from '@angular/material/core';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// Boilerplate for applying mixins to MatList.\n/** @docs-private */\nexport class MatListBase {}\nexport const _MatListMixinBase: CanDisableRippleCtor & typeof MatListBase =\n mixinDisableRipple(MatListBase);\n\n// Boilerplate for applying mixins to MatListItem.\n/** @docs-private */\nexport class MatListItemBase {}\nexport const _MatListItemMixinBase: CanDisableRippleCtor & typeof MatListItemBase =\n mixinDisableRipple(MatListItemBase);\n\n@Component({\n moduleId: module.id,\n selector: 'mat-nav-list',\n exportAs: 'matNavList',\n host: {\n 'role': 'navigation',\n 'class': 'mat-nav-list mat-list-base'\n },\n templateUrl: 'list.html',\n styleUrls: ['list.css'],\n inputs: ['disableRipple'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatNavList extends _MatListMixinBase implements CanDisableRipple, OnChanges,\n OnDestroy {\n /** Emits when the state of the list changes. */\n _stateChanges = new Subject<void>();\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\n\n@Component({\n moduleId: module.id,\n selector: 'mat-list, mat-action-list',\n exportAs: 'matList',\n templateUrl: 'list.html',\n host: {\n 'class': 'mat-list mat-list-base'\n },\n styleUrls: ['list.css'],\n inputs: ['disableRipple'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatList extends _MatListMixinBase implements CanDisableRipple, OnChanges, OnDestroy {\n /** Emits when the state of the list changes. */\n _stateChanges = new Subject<void>();\n\n constructor(private _elementRef: ElementRef<HTMLElement>) {\n super();\n\n if (this._getListType() === 'action-list') {\n _elementRef.nativeElement.classList.add('mat-action-list');\n }\n }\n\n _getListType(): 'list' | 'action-list' | null {\n const nodeName = this._elementRef.nativeElement.nodeName.toLowerCase();\n\n if (nodeName === 'mat-list') {\n return 'list';\n }\n\n if (nodeName === 'mat-action-list') {\n return 'action-list';\n }\n\n return null;\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-avatar], [matListAvatar]',\n host: {'class': 'mat-list-avatar'}\n})\nexport class MatListAvatarCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-icon], [matListIcon]',\n host: {'class': 'mat-list-icon'}\n})\nexport class MatListIconCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-subheader], [matSubheader]',\n host: {'class': 'mat-subheader'}\n})\nexport class MatListSubheaderCssMatStyler {}\n\n/** An item within a Material Design list. */\n@Component({\n moduleId: module.id,\n selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',\n exportAs: 'matListItem',\n host: {\n 'class': 'mat-list-item',\n // @breaking-change 8.0.0 Remove `mat-list-item-avatar` in favor of `mat-list-item-with-avatar`.\n '[class.mat-list-item-avatar]': '_avatar || _icon',\n '[class.mat-list-item-with-avatar]': '_avatar || _icon',\n },\n inputs: ['disableRipple'],\n templateUrl: 'list-item.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListItem extends _MatListItemMixinBase implements AfterContentInit,\n CanDisableRipple, OnDestroy {\n private _isInteractiveList: boolean = false;\n private _list?: MatNavList | MatList;\n private _destroyed = new Subject<void>();\n\n @ContentChildren(MatLine, {descendants: true}) _lines: QueryList<MatLine>;\n @ContentChild(MatListAvatarCssMatStyler, {static: false}) _avatar: MatListAvatarCssMatStyler;\n @ContentChild(MatListIconCssMatStyler, {static: false}) _icon: MatListIconCssMatStyler;\n\n constructor(private _element: ElementRef<HTMLElement>,\n _changeDetectorRef: ChangeDetectorRef,\n @Optional() navList?: MatNavList,\n @Optional() list?: MatList) {\n super();\n this._isInteractiveList = !!(navList || (list && list._getListType() === 'action-list'));\n this._list = navList || list;\n\n // If no type attributed is specified for <button>, set it to \"button\".\n // If a type attribute is already specified, do nothing.\n const element = this._getHostElement();\n\n if (element.nodeName.toLowerCase() === 'button' && !element.hasAttribute('type')) {\n element.setAttribute('type', 'button');\n }\n\n if (this._list) {\n // React to changes in the state of the parent list since\n // some of the item's properties depend on it (e.g. `disableRipple`).\n this._list._stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {\n _changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngAfterContentInit() {\n setLines(this._lines, this._element);\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Whether this list item should show a ripple effect when clicked. */\n _isRippleDisabled() {\n return !this._isInteractiveList || this.disableRipple ||\n !!(this._list && this._list.disableRipple);\n }\n\n /** Retrieves the DOM element of the component host. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["MatDividerModule","MatPseudoCheckboxModule","MatCommonModule","MatLineModule","MatRippleModule","CommonModule","NgModule","Input","Output","ContentChildren","ElementRef","ChangeDetectionStrategy","ViewEncapsulation","Component","UP_ARROW","DOWN_ARROW","hasModifierKey","A","HOME","END","ENTER","SPACE","ViewChild","MatLine","Inject","forwardRef","setLines","coerceBooleanProperty","tslib_1.__extends","NG_VALUE_ACCESSOR","mixinDisableRipple","ContentChild","Optional","ChangeDetectorRef","takeUntil","Subject","Directive"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-list.umd.js","sources":["../../src/material/list/list-module.ts","../../src/material/list/selection-list.ts","../../src/material/list/list.ts","../../node_modules/tslib/tslib.es6.js"],"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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n MatCommonModule,\n MatLineModule,\n MatPseudoCheckboxModule,\n MatRippleModule,\n} from '@angular/material/core';\nimport {\n MatList,\n MatNavList,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListItem,\n MatListSubheaderCssMatStyler,\n} from './list';\nimport {MatListOption, MatSelectionList} from './selection-list';\nimport {MatDividerModule} from '@angular/material/divider';\n\n\n@NgModule({\n imports: [MatLineModule, MatRippleModule, MatCommonModule, MatPseudoCheckboxModule, CommonModule],\n exports: [\n MatList,\n MatNavList,\n MatListItem,\n MatListAvatarCssMatStyler,\n MatLineModule,\n MatCommonModule,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatPseudoCheckboxModule,\n MatSelectionList,\n MatListOption,\n MatDividerModule\n ],\n declarations: [\n MatList,\n MatNavList,\n MatListItem,\n MatListAvatarCssMatStyler,\n MatListIconCssMatStyler,\n MatListSubheaderCssMatStyler,\n MatSelectionList,\n MatListOption\n ],\n})\nexport class MatListModule {}\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 {FocusableOption, FocusKeyManager} from '@angular/cdk/a11y';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {\n SPACE,\n ENTER,\n HOME,\n END,\n UP_ARROW,\n DOWN_ARROW,\n A,\n hasModifierKey,\n} from '@angular/cdk/keycodes';\nimport {\n AfterContentInit,\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n SimpleChanges,\n OnChanges,\n} from '@angular/core';\nimport {\n CanDisableRipple, CanDisableRippleCtor,\n MatLine,\n setLines,\n mixinDisableRipple,\n ThemePalette,\n} from '@angular/material/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {Subscription} from 'rxjs';\nimport {MatListAvatarCssMatStyler, MatListIconCssMatStyler} from './list';\n\n\n/** @docs-private */\nclass MatSelectionListBase {}\nconst _MatSelectionListMixinBase: CanDisableRippleCtor & typeof MatSelectionListBase =\n mixinDisableRipple(MatSelectionListBase);\n\n/** @docs-private */\nclass MatListOptionBase {}\nconst _MatListOptionMixinBase: CanDisableRippleCtor & typeof MatListOptionBase =\n mixinDisableRipple(MatListOptionBase);\n\n/** @docs-private */\nexport const MAT_SELECTION_LIST_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSelectionList),\n multi: true\n};\n\n/** Change event that is being fired whenever the selected state of an option changes. */\nexport class MatSelectionListChange {\n constructor(\n /** Reference to the selection list that emitted the event. */\n public source: MatSelectionList,\n /** Reference to the option that has been changed. */\n public option: MatListOption) {}\n}\n\n/**\n * Component for list-options of selection-list. Each list-option can automatically\n * generate a checkbox and can put current item into the selectionModel of selection-list\n * if the current item is selected.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-list-option',\n exportAs: 'matListOption',\n inputs: ['disableRipple'],\n host: {\n 'role': 'option',\n 'class': 'mat-list-item mat-list-option',\n '(focus)': '_handleFocus()',\n '(blur)': '_handleBlur()',\n '(click)': '_handleClick()',\n 'tabindex': '-1',\n '[class.mat-list-item-disabled]': 'disabled',\n '[class.mat-list-item-with-avatar]': '_avatar || _icon',\n // Manually set the \"primary\" or \"warn\" class if the color has been explicitly\n // set to \"primary\" or \"warn\". The pseudo checkbox picks up these classes for\n // its theme. The accent theme palette is the default and doesn't need to be set.\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[attr.aria-selected]': 'selected.toString()',\n '[attr.aria-disabled]': 'disabled.toString()',\n },\n templateUrl: 'list-option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListOption extends _MatListOptionMixinBase\n implements AfterContentInit, OnDestroy, OnInit, FocusableOption, CanDisableRipple {\n\n private _selected = false;\n private _disabled = false;\n private _hasFocus = false;\n\n @ContentChild(MatListAvatarCssMatStyler, {static: false}) _avatar: MatListAvatarCssMatStyler;\n @ContentChild(MatListIconCssMatStyler, {static: false}) _icon: MatListIconCssMatStyler;\n @ContentChildren(MatLine) _lines: QueryList<MatLine>;\n\n /** DOM element containing the item's text. */\n @ViewChild('text', {static: false}) _text: ElementRef;\n\n /** Whether the label should appear before or after the checkbox. Defaults to 'after' */\n @Input() checkboxPosition: 'before' | 'after' = 'after';\n\n /** Theme color of the list option. This sets the color of the checkbox. */\n @Input()\n get color(): ThemePalette { return this._color || this.selectionList.color; }\n set color(newValue: ThemePalette) { this._color = newValue; }\n private _color: ThemePalette;\n\n /** Value of the option */\n @Input()\n get value(): any { return this._value; }\n set value(newValue: any) {\n if (this.selected && newValue !== this.value) {\n this.selected = false;\n }\n\n this._value = newValue;\n }\n private _value: any;\n\n /** Whether the option is disabled. */\n @Input()\n get disabled() { return this._disabled || (this.selectionList && this.selectionList.disabled); }\n set disabled(value: any) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this._changeDetector.markForCheck();\n }\n }\n\n /** Whether the option is selected. */\n @Input()\n get selected(): boolean { return this.selectionList.selectedOptions.isSelected(this); }\n set selected(value: boolean) {\n const isSelected = coerceBooleanProperty(value);\n\n if (isSelected !== this._selected) {\n this._setSelected(isSelected);\n this.selectionList._reportValueChange();\n }\n }\n\n constructor(private _element: ElementRef<HTMLElement>,\n private _changeDetector: ChangeDetectorRef,\n /** @docs-private */\n @Inject(forwardRef(() => MatSelectionList)) public selectionList: MatSelectionList) {\n super();\n }\n\n ngOnInit() {\n // List options that are selected at initialization can't be reported properly to the form\n // control. This is because it takes some time until the selection-list knows about all\n // available options. Also it can happen that the ControlValueAccessor has an initial value\n // that should be used instead. Deferring the value change report to the next tick ensures\n // that the form control value is not being overwritten.\n const wasSelected = this._selected;\n\n Promise.resolve().then(() => {\n if (this._selected || wasSelected) {\n this.selected = true;\n this._changeDetector.markForCheck();\n }\n });\n }\n\n ngAfterContentInit() {\n setLines(this._lines, this._element);\n }\n\n ngOnDestroy(): void {\n if (this.selected) {\n // We have to delay this until the next tick in order\n // to avoid changed after checked errors.\n Promise.resolve().then(() => {\n this.selected = false;\n });\n }\n\n const hadFocus = this._hasFocus;\n const newActiveItem = this.selectionList._removeOptionFromList(this);\n\n // Only move focus if this option was focused at the time it was destroyed.\n if (hadFocus && newActiveItem) {\n newActiveItem.focus();\n }\n }\n\n /** Toggles the selection state of the option. */\n toggle(): void {\n this.selected = !this.selected;\n }\n\n /** Allows for programmatic focusing of the option. */\n focus(): void {\n this._element.nativeElement.focus();\n }\n\n /**\n * Returns the list item's text label. Implemented as a part of the FocusKeyManager.\n * @docs-private\n */\n getLabel() {\n return this._text ? (this._text.nativeElement.textContent || '') : '';\n }\n\n /** Whether this list item should show a ripple effect when clicked. */\n _isRippleDisabled() {\n return this.disabled || this.disableRipple || this.selectionList.disableRipple;\n }\n\n _handleClick() {\n if (!this.disabled) {\n this.toggle();\n\n // Emit a change event if the selected state of the option changed through user interaction.\n this.selectionList._emitChangeEvent(this);\n }\n }\n\n _handleFocus() {\n this.selectionList._setFocusedOption(this);\n this._hasFocus = true;\n }\n\n _handleBlur() {\n this.selectionList._onTouched();\n this._hasFocus = false;\n }\n\n /** Retrieves the DOM element of the component host. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n /** Sets the selected state of the option. Returns whether the value has changed. */\n _setSelected(selected: boolean): boolean {\n if (selected === this._selected) {\n return false;\n }\n\n this._selected = selected;\n\n if (selected) {\n this.selectionList.selectedOptions.select(this);\n } else {\n this.selectionList.selectedOptions.deselect(this);\n }\n\n this._changeDetector.markForCheck();\n return true;\n }\n\n /**\n * Notifies Angular that the option needs to be checked in the next change detection run. Mainly\n * used to trigger an update of the list option if the disabled state of the selection list\n * changed.\n */\n _markForCheck() {\n this._changeDetector.markForCheck();\n }\n}\n\n\n/**\n * Material Design list component where each item is a selectable option. Behaves as a listbox.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-selection-list',\n exportAs: 'matSelectionList',\n inputs: ['disableRipple'],\n host: {\n 'role': 'listbox',\n '[tabIndex]': 'tabIndex',\n 'class': 'mat-selection-list mat-list-base',\n '(blur)': '_onTouched()',\n '(keydown)': '_keydown($event)',\n 'aria-multiselectable': 'true',\n '[attr.aria-disabled]': 'disabled.toString()',\n },\n template: '<ng-content></ng-content>',\n styleUrls: ['list.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [MAT_SELECTION_LIST_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MatSelectionList extends _MatSelectionListMixinBase implements FocusableOption,\n CanDisableRipple, AfterContentInit, ControlValueAccessor, OnDestroy, OnChanges {\n\n /** The FocusKeyManager which handles focus. */\n _keyManager: FocusKeyManager<MatListOption>;\n\n /** The option components contained within this selection-list. */\n @ContentChildren(MatListOption, {descendants: true}) options: QueryList<MatListOption>;\n\n /** Emits a change event whenever the selected state of an option changes. */\n @Output() readonly selectionChange: EventEmitter<MatSelectionListChange> =\n new EventEmitter<MatSelectionListChange>();\n\n /** Tabindex of the selection list. */\n @Input() tabIndex: number = 0;\n\n /** Theme color of the selection list. This sets the checkbox color for all list options. */\n @Input() color: ThemePalette = 'accent';\n\n /**\n * Function used for comparing an option against the selected value when determining which\n * options should appear as selected. The first argument is the value of an options. The second\n * one is a value from the selected value. A boolean must be returned.\n */\n @Input() compareWith: (o1: any, o2: any) => boolean;\n\n /** Whether the selection list is disabled. */\n @Input()\n get disabled(): boolean { return this._disabled; }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // The `MatSelectionList` and `MatListOption` are using the `OnPush` change detection\n // strategy. Therefore the options will not check for any changes if the `MatSelectionList`\n // changed its state. Since we know that a change to `disabled` property of the list affects\n // the state of the options, we manually mark each option for check.\n this._markOptionsForCheck();\n }\n private _disabled: boolean = false;\n\n /** The currently selected options. */\n selectedOptions: SelectionModel<MatListOption> = new SelectionModel<MatListOption>(true);\n\n /** View to model callback that should be called whenever the selected options change. */\n private _onChange: (value: any) => void = (_: any) => {};\n\n /** Used for storing the values that were assigned before the options were initialized. */\n private _tempValues: string[]|null;\n\n /** Subscription to sync value changes in the SelectionModel back to the SelectionList. */\n private _modelChanges = Subscription.EMPTY;\n\n /** View to model callback that should be called if the list or its options lost focus. */\n _onTouched: () => void = () => {};\n\n /** Whether the list has been destroyed. */\n private _destroyed: boolean;\n\n constructor(private _element: ElementRef<HTMLElement>, @Attribute('tabindex') tabIndex: string) {\n super();\n this.tabIndex = parseInt(tabIndex) || 0;\n }\n\n ngAfterContentInit(): void {\n this._keyManager = new FocusKeyManager<MatListOption>(this.options)\n .withWrap()\n .withTypeAhead()\n // Allow disabled items to be focusable. For accessibility reasons, there must be a way for\n // screenreader users, that allows reading the different options of the list.\n .skipPredicate(() => false)\n .withAllowedModifierKeys(['shiftKey']);\n\n if (this._tempValues) {\n this._setOptionsFromValues(this._tempValues);\n this._tempValues = null;\n }\n\n // Sync external changes to the model back to the options.\n this._modelChanges = this.selectedOptions.onChange.subscribe(event => {\n if (event.added) {\n for (let item of event.added) {\n item.selected = true;\n }\n }\n\n if (event.removed) {\n for (let item of event.removed) {\n item.selected = false;\n }\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const disableRippleChanges = changes['disableRipple'];\n const colorChanges = changes['color'];\n\n if ((disableRippleChanges && !disableRippleChanges.firstChange) ||\n (colorChanges && !colorChanges.firstChange)) {\n this._markOptionsForCheck();\n }\n }\n\n ngOnDestroy() {\n this._destroyed = true;\n this._modelChanges.unsubscribe();\n }\n\n /** Focuses the selection list. */\n focus() {\n this._element.nativeElement.focus();\n }\n\n /** Selects all of the options. */\n selectAll() {\n this._setAllOptionsSelected(true);\n }\n\n /** Deselects all of the options. */\n deselectAll() {\n this._setAllOptionsSelected(false);\n }\n\n /** Sets the focused option of the selection-list. */\n _setFocusedOption(option: MatListOption) {\n this._keyManager.updateActiveItem(option);\n }\n\n /**\n * Removes an option from the selection list and updates the active item.\n * @returns Currently-active item.\n */\n _removeOptionFromList(option: MatListOption): MatListOption | null {\n const optionIndex = this._getOptionIndex(option);\n\n if (optionIndex > -1 && this._keyManager.activeItemIndex === optionIndex) {\n // Check whether the option is the last item\n if (optionIndex > 0) {\n this._keyManager.updateActiveItem(optionIndex - 1);\n } else if (optionIndex === 0 && this.options.length > 1) {\n this._keyManager.updateActiveItem(Math.min(optionIndex + 1, this.options.length - 1));\n }\n }\n\n return this._keyManager.activeItem;\n }\n\n /** Passes relevant key presses to our key manager. */\n _keydown(event: KeyboardEvent) {\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n const previousFocusIndex = manager.activeItemIndex;\n const hasModifier = hasModifierKey(event);\n\n switch (keyCode) {\n case SPACE:\n case ENTER:\n if (!hasModifier) {\n this._toggleFocusedOption();\n // Always prevent space from scrolling the page since the list has focus\n event.preventDefault();\n }\n break;\n case HOME:\n case END:\n if (!hasModifier) {\n keyCode === HOME ? manager.setFirstItemActive() : manager.setLastItemActive();\n event.preventDefault();\n }\n break;\n case A:\n if (hasModifierKey(event, 'ctrlKey')) {\n this.options.find(option => !option.selected) ? this.selectAll() : this.deselectAll();\n event.preventDefault();\n }\n break;\n default:\n manager.onKeydown(event);\n }\n\n if ((keyCode === UP_ARROW || keyCode === DOWN_ARROW) && event.shiftKey &&\n manager.activeItemIndex !== previousFocusIndex) {\n this._toggleFocusedOption();\n }\n }\n\n /** Reports a value change to the ControlValueAccessor */\n _reportValueChange() {\n // Stop reporting value changes after the list has been destroyed. This avoids\n // cases where the list might wrongly reset its value once it is removed, but\n // the form control is still live.\n if (this.options && !this._destroyed) {\n this._onChange(this._getSelectedOptionValues());\n }\n }\n\n /** Emits a change event if the selected state of an option changed. */\n _emitChangeEvent(option: MatListOption) {\n this.selectionChange.emit(new MatSelectionListChange(this, option));\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(values: string[]): void {\n if (this.options) {\n this._setOptionsFromValues(values || []);\n } else {\n this._tempValues = values;\n }\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: (value: any) => void): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n /** Sets the selected options based on the specified values. */\n private _setOptionsFromValues(values: string[]) {\n this.options.forEach(option => option._setSelected(false));\n\n values.forEach(value => {\n const correspondingOption = this.options.find(option => {\n // Skip options that are already in the model. This allows us to handle cases\n // where the same primitive value is selected multiple times.\n if (option.selected) {\n return false;\n }\n\n return this.compareWith ? this.compareWith(option.value, value) : option.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption._setSelected(true);\n }\n });\n }\n\n /** Returns the values of the selected options. */\n private _getSelectedOptionValues(): string[] {\n return this.options.filter(option => option.selected).map(option => option.value);\n }\n\n /** Toggles the state of the currently focused option if enabled. */\n private _toggleFocusedOption(): void {\n let focusedIndex = this._keyManager.activeItemIndex;\n\n if (focusedIndex != null && this._isValidIndex(focusedIndex)) {\n let focusedOption: MatListOption = this.options.toArray()[focusedIndex];\n\n if (focusedOption && !focusedOption.disabled) {\n focusedOption.toggle();\n\n // Emit a change event because the focused option changed its state through user\n // interaction.\n this._emitChangeEvent(focusedOption);\n }\n }\n }\n\n /**\n * Sets the selected state on all of the options\n * and emits an event if anything changed.\n */\n private _setAllOptionsSelected(isSelected: boolean) {\n // Keep track of whether anything changed, because we only want to\n // emit the changed event when something actually changed.\n let hasChanged = false;\n\n this.options.forEach(option => {\n if (option._setSelected(isSelected)) {\n hasChanged = true;\n }\n });\n\n if (hasChanged) {\n this._reportValueChange();\n }\n }\n\n /**\n * Utility to ensure all indexes are valid.\n * @param index The index to be checked.\n * @returns True if the index is valid for our list of options.\n */\n private _isValidIndex(index: number): boolean {\n return index >= 0 && index < this.options.length;\n }\n\n /** Returns the index of the specified list option. */\n private _getOptionIndex(option: MatListOption): number {\n return this.options.toArray().indexOf(option);\n }\n\n /** Marks all the options to be checked in the next change detection run. */\n private _markOptionsForCheck() {\n if (this.options) {\n this.options.forEach(option => option._markForCheck());\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n Optional,\n QueryList,\n ViewEncapsulation,\n OnChanges,\n OnDestroy,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n CanDisableRipple,\n CanDisableRippleCtor,\n MatLine,\n setLines,\n mixinDisableRipple,\n} from '@angular/material/core';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// Boilerplate for applying mixins to MatList.\n/** @docs-private */\nclass MatListBase {}\nconst _MatListMixinBase: CanDisableRippleCtor & typeof MatListBase =\n mixinDisableRipple(MatListBase);\n\n// Boilerplate for applying mixins to MatListItem.\n/** @docs-private */\nclass MatListItemBase {}\nconst _MatListItemMixinBase: CanDisableRippleCtor & typeof MatListItemBase =\n mixinDisableRipple(MatListItemBase);\n\n@Component({\n moduleId: module.id,\n selector: 'mat-nav-list',\n exportAs: 'matNavList',\n host: {\n 'role': 'navigation',\n 'class': 'mat-nav-list mat-list-base'\n },\n templateUrl: 'list.html',\n styleUrls: ['list.css'],\n inputs: ['disableRipple'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatNavList extends _MatListMixinBase implements CanDisableRipple, OnChanges,\n OnDestroy {\n /** Emits when the state of the list changes. */\n _stateChanges = new Subject<void>();\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\n\n@Component({\n moduleId: module.id,\n selector: 'mat-list, mat-action-list',\n exportAs: 'matList',\n templateUrl: 'list.html',\n host: {\n 'class': 'mat-list mat-list-base'\n },\n styleUrls: ['list.css'],\n inputs: ['disableRipple'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatList extends _MatListMixinBase implements CanDisableRipple, OnChanges, OnDestroy {\n /** Emits when the state of the list changes. */\n _stateChanges = new Subject<void>();\n\n constructor(private _elementRef: ElementRef<HTMLElement>) {\n super();\n\n if (this._getListType() === 'action-list') {\n _elementRef.nativeElement.classList.add('mat-action-list');\n }\n }\n\n _getListType(): 'list' | 'action-list' | null {\n const nodeName = this._elementRef.nativeElement.nodeName.toLowerCase();\n\n if (nodeName === 'mat-list') {\n return 'list';\n }\n\n if (nodeName === 'mat-action-list') {\n return 'action-list';\n }\n\n return null;\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-avatar], [matListAvatar]',\n host: {'class': 'mat-list-avatar'}\n})\nexport class MatListAvatarCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-list-icon], [matListIcon]',\n host: {'class': 'mat-list-icon'}\n})\nexport class MatListIconCssMatStyler {}\n\n/**\n * Directive whose purpose is to add the mat- CSS styling to this selector.\n * @docs-private\n */\n@Directive({\n selector: '[mat-subheader], [matSubheader]',\n host: {'class': 'mat-subheader'}\n})\nexport class MatListSubheaderCssMatStyler {}\n\n/** An item within a Material Design list. */\n@Component({\n moduleId: module.id,\n selector: 'mat-list-item, a[mat-list-item], button[mat-list-item]',\n exportAs: 'matListItem',\n host: {\n 'class': 'mat-list-item',\n // @breaking-change 8.0.0 Remove `mat-list-item-avatar` in favor of `mat-list-item-with-avatar`.\n '[class.mat-list-item-avatar]': '_avatar || _icon',\n '[class.mat-list-item-with-avatar]': '_avatar || _icon',\n },\n inputs: ['disableRipple'],\n templateUrl: 'list-item.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatListItem extends _MatListItemMixinBase implements AfterContentInit,\n CanDisableRipple, OnDestroy {\n private _isInteractiveList: boolean = false;\n private _list?: MatNavList | MatList;\n private _destroyed = new Subject<void>();\n\n @ContentChildren(MatLine, {descendants: true}) _lines: QueryList<MatLine>;\n @ContentChild(MatListAvatarCssMatStyler, {static: false}) _avatar: MatListAvatarCssMatStyler;\n @ContentChild(MatListIconCssMatStyler, {static: false}) _icon: MatListIconCssMatStyler;\n\n constructor(private _element: ElementRef<HTMLElement>,\n _changeDetectorRef: ChangeDetectorRef,\n @Optional() navList?: MatNavList,\n @Optional() list?: MatList) {\n super();\n this._isInteractiveList = !!(navList || (list && list._getListType() === 'action-list'));\n this._list = navList || list;\n\n // If no type attributed is specified for <button>, set it to \"button\".\n // If a type attribute is already specified, do nothing.\n const element = this._getHostElement();\n\n if (element.nodeName.toLowerCase() === 'button' && !element.hasAttribute('type')) {\n element.setAttribute('type', 'button');\n }\n\n if (this._list) {\n // React to changes in the state of the parent list since\n // some of the item's properties depend on it (e.g. `disableRipple`).\n this._list._stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {\n _changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngAfterContentInit() {\n setLines(this._lines, this._element);\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Whether this list item should show a ripple effect when clicked. */\n _isRippleDisabled() {\n return !this._isInteractiveList || this.disableRipple ||\n !!(this._list && this._list.disableRipple);\n }\n\n /** Retrieves the DOM element of the component host. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n"],"names":["MatDividerModule","MatPseudoCheckboxModule","MatCommonModule","MatLineModule","MatRippleModule","CommonModule","NgModule","Input","Output","ContentChildren","ElementRef","ChangeDetectionStrategy","ViewEncapsulation","Component","UP_ARROW","DOWN_ARROW","hasModifierKey","A","HOME","END","ENTER","SPACE","ViewChild","MatLine","Inject","forwardRef","setLines","coerceBooleanProperty","tslib_1.__extends","NG_VALUE_ACCESSOR","mixinDisableRipple","ContentChild","Optional","ChangeDetectorRef","takeUntil","Subject","Directive"],"mappings":"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"}
|