@angular/material 7.0.3 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +57 -49
- package/autocomplete/typings/index.d.ts +1 -1
- package/autocomplete/typings/index.metadata.json +1 -1
- package/badge/typings/index.metadata.json +1 -1
- package/bottom-sheet/typings/bottom-sheet-config.d.ts +5 -0
- package/bottom-sheet/typings/bottom-sheet-container.d.ts +1 -1
- package/bottom-sheet/typings/index.metadata.json +1 -1
- package/bundles/material-autocomplete.umd.js +124 -30
- 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 +38 -5
- 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 +68 -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 +40 -15
- 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 +19 -12
- 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 +56 -15
- 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 +124 -34
- 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 +186 -123
- 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 +241 -59
- 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 +136 -44
- 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 +32 -22
- 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 +120 -32
- 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 +66 -15
- 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 +280 -79
- 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 +46 -24
- 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 +71 -22
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +2 -6
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +157 -55
- 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 +52 -10
- 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 +35 -14
- 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 +29 -13
- package/bundles/material-progress-spinner.umd.js.map +1 -1
- package/bundles/material-progress-spinner.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +26 -7
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +178 -49
- 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 +102 -23
- 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 +33 -15
- 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 +89 -19
- 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 +74 -22
- 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 +45 -23
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-sort.umd.min.js.map +1 -1
- package/bundles/material-stepper.umd.js +37 -44
- 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 +29 -19
- 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 +156 -56
- 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 +13 -3
- package/bundles/material-toolbar.umd.js.map +1 -1
- package/bundles/material-toolbar.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +52 -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 +25 -26
- 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 +2780 -979
- package/bundles/material.umd.js.map +1 -1
- package/bundles/material.umd.min.js +19 -21
- package/bundles/material.umd.min.js.map +1 -1
- package/button/typings/button.d.ts +0 -5
- package/button/typings/index.metadata.json +1 -1
- package/button-toggle/typings/index.metadata.json +1 -1
- package/checkbox/typings/index.metadata.json +1 -1
- package/chips/typings/chip-list.d.ts +1 -1
- package/chips/typings/chip.d.ts +2 -2
- package/chips/typings/index.metadata.json +1 -1
- package/core/typings/index.metadata.json +1 -1
- package/core/typings/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/core/typings/public-api.d.ts +1 -1
- package/datepicker/typings/calendar-body.d.ts +21 -5
- package/datepicker/typings/calendar.d.ts +4 -1
- package/datepicker/typings/datepicker-toggle.d.ts +5 -0
- package/datepicker/typings/datepicker.d.ts +3 -0
- package/datepicker/typings/index.metadata.json +1 -1
- package/datepicker/typings/month-view.d.ts +4 -2
- package/dialog/typings/index.metadata.json +1 -1
- package/esm2015/autocomplete.js +58 -27
- package/esm2015/autocomplete.js.map +1 -1
- package/esm2015/badge.js +29 -6
- package/esm2015/badge.js.map +1 -1
- package/esm2015/bottom-sheet.js +46 -27
- package/esm2015/bottom-sheet.js.map +1 -1
- package/esm2015/button-toggle.js +24 -13
- package/esm2015/button-toggle.js.map +1 -1
- package/esm2015/button.js +18 -13
- package/esm2015/button.js.map +1 -1
- package/esm2015/card.js +4 -4
- package/esm2015/card.js.map +1 -1
- package/esm2015/checkbox.js +30 -12
- package/esm2015/checkbox.js.map +1 -1
- package/esm2015/chips.js +64 -28
- package/esm2015/chips.js.map +1 -1
- package/esm2015/core.js +145 -126
- package/esm2015/core.js.map +1 -1
- package/esm2015/datepicker.js +131 -44
- package/esm2015/datepicker.js.map +1 -1
- package/esm2015/dialog.js +76 -45
- package/esm2015/dialog.js.map +1 -1
- package/esm2015/divider.js +4 -4
- package/esm2015/divider.js.map +1 -1
- package/esm2015/expansion.js +35 -25
- package/esm2015/expansion.js.map +1 -1
- package/esm2015/form-field.js +93 -34
- package/esm2015/form-field.js.map +1 -1
- package/esm2015/grid-list.js +45 -17
- package/esm2015/grid-list.js.map +1 -1
- package/esm2015/icon.js +139 -68
- package/esm2015/icon.js.map +1 -1
- package/esm2015/input.js +40 -23
- package/esm2015/input.js.map +1 -1
- package/esm2015/list.js +49 -23
- package/esm2015/list.js.map +1 -1
- package/esm2015/material.js +10 -9
- package/esm2015/material.js.map +1 -1
- package/esm2015/menu.js +100 -53
- package/esm2015/menu.js.map +1 -1
- package/esm2015/paginator.js +35 -12
- package/esm2015/paginator.js.map +1 -1
- package/esm2015/progress-bar.js +30 -15
- package/esm2015/progress-bar.js.map +1 -1
- package/esm2015/progress-spinner.js +24 -14
- package/esm2015/progress-spinner.js.map +1 -1
- package/esm2015/radio.js +17 -7
- package/esm2015/radio.js.map +1 -1
- package/esm2015/select.js +103 -50
- package/esm2015/select.js.map +1 -1
- package/esm2015/sidenav.js +73 -26
- package/esm2015/sidenav.js.map +1 -1
- package/esm2015/slide-toggle.js +26 -16
- package/esm2015/slide-toggle.js.map +1 -1
- package/esm2015/slider.js +50 -20
- package/esm2015/slider.js.map +1 -1
- package/esm2015/snack-bar.js +44 -24
- package/esm2015/snack-bar.js.map +1 -1
- package/esm2015/sort.js +46 -23
- package/esm2015/sort.js.map +1 -1
- package/esm2015/stepper.js +35 -39
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +31 -21
- package/esm2015/table.js.map +1 -1
- package/esm2015/tabs.js +110 -52
- package/esm2015/tabs.js.map +1 -1
- package/esm2015/toolbar.js +8 -4
- package/esm2015/toolbar.js.map +1 -1
- package/esm2015/tooltip.js +42 -27
- package/esm2015/tooltip.js.map +1 -1
- package/esm2015/tree.js +22 -25
- package/esm2015/tree.js.map +1 -1
- package/esm5/autocomplete.es5.js +126 -32
- package/esm5/autocomplete.es5.js.map +1 -1
- package/esm5/badge.es5.js +40 -7
- package/esm5/badge.es5.js.map +1 -1
- package/esm5/bottom-sheet.es5.js +71 -28
- package/esm5/bottom-sheet.es5.js.map +1 -1
- package/esm5/button-toggle.es5.js +42 -17
- package/esm5/button-toggle.es5.js.map +1 -1
- package/esm5/button.es5.js +21 -14
- 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 +58 -17
- package/esm5/checkbox.es5.js.map +1 -1
- package/esm5/chips.es5.js +127 -37
- package/esm5/chips.es5.js.map +1 -1
- package/esm5/core.es5.js +189 -126
- package/esm5/core.es5.js.map +1 -1
- package/esm5/datepicker.es5.js +240 -58
- package/esm5/datepicker.es5.js.map +1 -1
- package/esm5/dialog.es5.js +139 -47
- 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 +35 -25
- package/esm5/expansion.es5.js.map +1 -1
- package/esm5/form-field.es5.js +124 -36
- package/esm5/form-field.es5.js.map +1 -1
- package/esm5/grid-list.es5.js +68 -17
- package/esm5/grid-list.es5.js.map +1 -1
- package/esm5/icon.es5.js +282 -81
- package/esm5/icon.es5.js.map +1 -1
- package/esm5/input.es5.js +48 -26
- package/esm5/input.es5.js.map +1 -1
- package/esm5/list.es5.js +74 -25
- package/esm5/list.es5.js.map +1 -1
- package/esm5/material.es5.js +10 -9
- package/esm5/material.es5.js.map +1 -1
- package/esm5/menu.es5.js +158 -55
- package/esm5/menu.es5.js.map +1 -1
- package/esm5/paginator.es5.js +55 -13
- package/esm5/paginator.es5.js.map +1 -1
- package/esm5/progress-bar.es5.js +37 -16
- package/esm5/progress-bar.es5.js.map +1 -1
- package/esm5/progress-spinner.es5.js +31 -15
- package/esm5/progress-spinner.es5.js.map +1 -1
- package/esm5/radio.es5.js +28 -9
- package/esm5/radio.es5.js.map +1 -1
- package/esm5/select.es5.js +181 -52
- package/esm5/select.es5.js.map +1 -1
- package/esm5/sidenav.es5.js +105 -26
- package/esm5/sidenav.es5.js.map +1 -1
- package/esm5/slide-toggle.es5.js +35 -17
- package/esm5/slide-toggle.es5.js.map +1 -1
- package/esm5/slider.es5.js +91 -21
- package/esm5/slider.es5.js.map +1 -1
- package/esm5/snack-bar.es5.js +76 -24
- package/esm5/snack-bar.es5.js.map +1 -1
- package/esm5/sort.es5.js +52 -25
- package/esm5/sort.es5.js.map +1 -1
- package/esm5/stepper.es5.js +40 -47
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +31 -21
- package/esm5/table.es5.js.map +1 -1
- package/esm5/tabs.es5.js +159 -60
- package/esm5/tabs.es5.js.map +1 -1
- package/esm5/toolbar.es5.js +15 -5
- package/esm5/toolbar.es5.js.map +1 -1
- package/esm5/tooltip.es5.js +54 -27
- package/esm5/tooltip.es5.js.map +1 -1
- package/esm5/tree.es5.js +27 -28
- package/esm5/tree.es5.js.map +1 -1
- package/form-field/typings/form-field.d.ts +15 -4
- 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/index.metadata.json +1 -1
- package/list/typings/index.metadata.json +1 -1
- package/material.d.ts +1 -1
- package/material.metadata.json +3 -3
- package/menu/typings/index.metadata.json +1 -1
- package/menu/typings/menu-item.d.ts +2 -0
- package/menu/typings/menu-trigger.d.ts +5 -0
- package/package.json +5 -5
- package/paginator/typings/index.metadata.json +1 -1
- package/paginator/typings/paginator.d.ts +7 -3
- 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/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
- package/schematics/ng-add/theming/{custom-theme.js → create-custom-theme.js} +1 -1
- package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
- package/schematics/ng-add/theming/theming.js +35 -19
- package/schematics/ng-add/theming/theming.js.map +1 -1
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts +2 -2
- package/select/typings/index.metadata.json +1 -1
- package/sidenav/typings/drawer.d.ts +9 -2
- package/sidenav/typings/index.metadata.json +1 -1
- package/slide-toggle/typings/index.metadata.json +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/step-header.d.ts +3 -5
- package/table/typings/index.metadata.json +1 -1
- package/tabs/typings/index.metadata.json +1 -1
- package/tabs/typings/tab-body.d.ts +2 -0
- package/tabs/typings/tab-group.d.ts +11 -2
- package/tabs/typings/tab-header.d.ts +9 -3
- package/tree/typings/data-source/flat-data-source.d.ts +2 -2
- package/tree/typings/index.metadata.json +1 -1
- package/typings/autocomplete/index.d.ts +1 -1
- package/typings/autocomplete/index.metadata.json +1 -1
- package/typings/badge/index.metadata.json +1 -1
- package/typings/bottom-sheet/bottom-sheet-config.d.ts +5 -0
- package/typings/bottom-sheet/bottom-sheet-container.d.ts +1 -1
- package/typings/bottom-sheet/index.metadata.json +1 -1
- package/typings/button/button.d.ts +0 -5
- package/typings/button/index.metadata.json +1 -1
- package/typings/button-toggle/index.metadata.json +1 -1
- package/typings/checkbox/index.metadata.json +1 -1
- package/typings/chips/chip-list.d.ts +1 -1
- package/typings/chips/chip.d.ts +2 -2
- package/typings/chips/index.metadata.json +1 -1
- package/typings/core/index.metadata.json +1 -1
- package/typings/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/typings/core/public-api.d.ts +1 -1
- package/typings/datepicker/calendar-body.d.ts +21 -5
- package/typings/datepicker/calendar.d.ts +4 -1
- package/typings/datepicker/datepicker-toggle.d.ts +5 -0
- package/typings/datepicker/datepicker.d.ts +3 -0
- package/typings/datepicker/index.metadata.json +1 -1
- package/typings/datepicker/month-view.d.ts +4 -2
- package/typings/dialog/index.metadata.json +1 -1
- package/typings/esm5/autocomplete/index.d.ts +1 -1
- package/typings/esm5/autocomplete/index.metadata.json +1 -1
- package/typings/esm5/badge/index.metadata.json +1 -1
- package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +5 -0
- package/typings/esm5/bottom-sheet/bottom-sheet-container.d.ts +1 -1
- package/typings/esm5/bottom-sheet/index.metadata.json +1 -1
- package/typings/esm5/button/button.d.ts +0 -5
- package/typings/esm5/button/index.metadata.json +1 -1
- package/typings/esm5/button-toggle/index.metadata.json +1 -1
- package/typings/esm5/checkbox/index.metadata.json +1 -1
- package/typings/esm5/chips/chip-list.d.ts +1 -1
- package/typings/esm5/chips/chip.d.ts +2 -2
- package/typings/esm5/chips/index.metadata.json +1 -1
- package/typings/esm5/core/index.metadata.json +1 -1
- package/typings/esm5/core/{testing/month-constants.d.ts → month-constants.d.ts} +2 -0
- package/typings/esm5/core/public-api.d.ts +1 -1
- package/typings/esm5/datepicker/calendar-body.d.ts +21 -5
- package/typings/esm5/datepicker/calendar.d.ts +4 -1
- package/typings/esm5/datepicker/datepicker-toggle.d.ts +5 -0
- package/typings/esm5/datepicker/datepicker.d.ts +3 -0
- package/typings/esm5/datepicker/index.metadata.json +1 -1
- package/typings/esm5/datepicker/month-view.d.ts +4 -2
- package/typings/esm5/dialog/index.metadata.json +1 -1
- package/typings/esm5/form-field/form-field.d.ts +15 -4
- 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/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/list/index.metadata.json +1 -1
- package/typings/esm5/menu/index.metadata.json +1 -1
- package/typings/esm5/menu/menu-item.d.ts +2 -0
- package/typings/esm5/menu/menu-trigger.d.ts +5 -0
- package/typings/esm5/paginator/index.metadata.json +1 -1
- package/typings/esm5/paginator/paginator.d.ts +7 -3
- package/typings/esm5/progress-bar/index.metadata.json +1 -1
- package/typings/esm5/select/index.metadata.json +1 -1
- package/typings/esm5/sidenav/drawer.d.ts +9 -2
- package/typings/esm5/sidenav/index.metadata.json +1 -1
- package/typings/esm5/slide-toggle/index.metadata.json +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/step-header.d.ts +3 -5
- package/typings/esm5/table/index.metadata.json +1 -1
- package/typings/esm5/tabs/index.metadata.json +1 -1
- package/typings/esm5/tabs/tab-body.d.ts +2 -0
- package/typings/esm5/tabs/tab-group.d.ts +11 -2
- package/typings/esm5/tabs/tab-header.d.ts +9 -3
- package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
- package/typings/esm5/tree/index.metadata.json +1 -1
- package/typings/form-field/form-field.d.ts +15 -4
- 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/index.metadata.json +1 -1
- package/typings/index.metadata.json +1 -1
- package/typings/list/index.metadata.json +1 -1
- package/typings/menu/index.metadata.json +1 -1
- package/typings/menu/menu-item.d.ts +2 -0
- package/typings/menu/menu-trigger.d.ts +5 -0
- package/typings/paginator/index.metadata.json +1 -1
- package/typings/paginator/paginator.d.ts +7 -3
- package/typings/progress-bar/index.metadata.json +1 -1
- package/typings/schematics/ng-add/theming/{custom-theme.d.ts → create-custom-theme.d.ts} +0 -0
- package/typings/select/index.metadata.json +1 -1
- package/typings/sidenav/drawer.d.ts +9 -2
- package/typings/sidenav/index.metadata.json +1 -1
- package/typings/slide-toggle/index.metadata.json +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/step-header.d.ts +3 -5
- package/typings/table/index.metadata.json +1 -1
- package/typings/tabs/index.metadata.json +1 -1
- package/typings/tabs/tab-body.d.ts +2 -0
- package/typings/tabs/tab-group.d.ts +11 -2
- package/typings/tabs/tab-header.d.ts +9 -3
- package/typings/tree/data-source/flat-data-source.d.ts +2 -2
- package/typings/tree/index.metadata.json +1 -1
- package/schematics/ng-add/theming/custom-theme.js.map +0 -1
package/esm2015/progress-bar.js
CHANGED
|
@@ -14,8 +14,11 @@ import { DOCUMENT, CommonModule } from '@angular/common';
|
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @fileoverview added by tsickle
|
|
17
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
17
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
18
18
|
*/
|
|
19
|
+
// TODO(josephperrott): Benchpress tests.
|
|
20
|
+
// TODO(josephperrott): Add ARIA attributes for progress bar "for".
|
|
21
|
+
// Boilerplate for applying mixins to MatProgressBar.
|
|
19
22
|
/**
|
|
20
23
|
* \@docs-private
|
|
21
24
|
*/
|
|
@@ -29,11 +32,12 @@ class MatProgressBarBase {
|
|
|
29
32
|
}
|
|
30
33
|
/** @type {?} */
|
|
31
34
|
const _MatProgressBarMixinBase = mixinColor(MatProgressBarBase, 'primary');
|
|
32
|
-
/**
|
|
35
|
+
/**
|
|
33
36
|
* Injection token used to provide the current location to `MatProgressBar`.
|
|
34
37
|
* Used to handle server-side rendering and to stub out during unit tests.
|
|
35
38
|
* \@docs-private
|
|
36
|
-
|
|
39
|
+
* @type {?}
|
|
40
|
+
*/
|
|
37
41
|
const MAT_PROGRESS_BAR_LOCATION = new InjectionToken('mat-progress-bar-location', { providedIn: 'root', factory: MAT_PROGRESS_BAR_LOCATION_FACTORY });
|
|
38
42
|
/**
|
|
39
43
|
* \@docs-private
|
|
@@ -42,15 +46,18 @@ const MAT_PROGRESS_BAR_LOCATION = new InjectionToken('mat-progress-bar-location'
|
|
|
42
46
|
function MAT_PROGRESS_BAR_LOCATION_FACTORY() {
|
|
43
47
|
/** @type {?} */
|
|
44
48
|
const _document = inject(DOCUMENT);
|
|
49
|
+
/** @type {?} */
|
|
50
|
+
const _location = _document ? _document.location : null;
|
|
45
51
|
return {
|
|
46
|
-
// Note that this needs to be a function,
|
|
47
|
-
//
|
|
48
|
-
getPathname: () =>
|
|
52
|
+
// Note that this needs to be a function, rather than a property, because Angular
|
|
53
|
+
// will only resolve it once, but we want the current path on each call.
|
|
54
|
+
getPathname: () => _location ? (_location.pathname + _location.search) : ''
|
|
49
55
|
};
|
|
50
56
|
}
|
|
51
|
-
/**
|
|
57
|
+
/**
|
|
52
58
|
* Counter used to generate unique IDs for progress bars.
|
|
53
|
-
|
|
59
|
+
* @type {?}
|
|
60
|
+
*/
|
|
54
61
|
let progressbarId = 0;
|
|
55
62
|
/**
|
|
56
63
|
* `<mat-progress-bar>` component.
|
|
@@ -62,10 +69,11 @@ class MatProgressBar extends _MatProgressBarMixinBase {
|
|
|
62
69
|
* @param {?=} _animationMode
|
|
63
70
|
* @param {?=} location
|
|
64
71
|
*/
|
|
65
|
-
constructor(_elementRef, _ngZone, _animationMode,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
72
|
+
constructor(_elementRef, _ngZone, _animationMode,
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated `location` parameter to be made required.
|
|
75
|
+
* @breaking-change 8.0.0
|
|
76
|
+
*/
|
|
69
77
|
location) {
|
|
70
78
|
super(_elementRef);
|
|
71
79
|
this._elementRef = _elementRef;
|
|
@@ -99,6 +107,12 @@ class MatProgressBar extends _MatProgressBarMixinBase {
|
|
|
99
107
|
* ID of the progress bar.
|
|
100
108
|
*/
|
|
101
109
|
this.progressbarId = `mat-progress-bar-${progressbarId++}`;
|
|
110
|
+
// We need to prefix the SVG reference with the current path, otherwise they won't work
|
|
111
|
+
// in Safari if the page has a `<base>` tag. Note that we need quotes inside the `url()`,
|
|
112
|
+
// because named route URLs can contain parentheses (see #12338). Also we don't use since
|
|
113
|
+
// we can't tell the difference between whether
|
|
114
|
+
// the consumer is using the hash location strategy or not, because `Location` normalizes
|
|
115
|
+
// both `/#/foo/bar` and `/foo/bar` to the same thing.
|
|
102
116
|
/** @type {?} */
|
|
103
117
|
const path = location ? location.getPathname().split('#')[0] : '';
|
|
104
118
|
this._rectangleFillValue = `url('${path}#${this.progressbarId}')`;
|
|
@@ -174,6 +188,7 @@ class MatProgressBar extends _MatProgressBarMixinBase {
|
|
|
174
188
|
}
|
|
175
189
|
/**
|
|
176
190
|
* Emit an animationEnd event if in determinate or buffer mode.
|
|
191
|
+
* @private
|
|
177
192
|
* @return {?}
|
|
178
193
|
*/
|
|
179
194
|
emitAnimationEnd() {
|
|
@@ -228,7 +243,7 @@ function clamp(v, min = 0, max = 100) {
|
|
|
228
243
|
|
|
229
244
|
/**
|
|
230
245
|
* @fileoverview added by tsickle
|
|
231
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
246
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
232
247
|
*/
|
|
233
248
|
class MatProgressBarModule {
|
|
234
249
|
}
|
|
@@ -242,12 +257,12 @@ MatProgressBarModule.decorators = [
|
|
|
242
257
|
|
|
243
258
|
/**
|
|
244
259
|
* @fileoverview added by tsickle
|
|
245
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
260
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
246
261
|
*/
|
|
247
262
|
|
|
248
263
|
/**
|
|
249
264
|
* @fileoverview added by tsickle
|
|
250
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
265
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
251
266
|
*/
|
|
252
267
|
|
|
253
268
|
export { MatProgressBarModule, MAT_PROGRESS_BAR_LOCATION_FACTORY, MatProgressBarBase, _MatProgressBarMixinBase, MAT_PROGRESS_BAR_LOCATION, MatProgressBar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-bar.js","sources":["../../../src/lib/progress-bar/progress-bar-module.ts","../../../src/lib/progress-bar/progress-bar.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatProgressBar} from './progress-bar';\n\n\n@NgModule({\n imports: [CommonModule, MatCommonModule],\n exports: [MatProgressBar, MatCommonModule],\n declarations: [MatProgressBar],\n})\nexport class MatProgressBarModule {}\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 */\nimport {\n Component,\n ChangeDetectionStrategy,\n ElementRef,\n Inject,\n Input,\n Output,\n EventEmitter,\n Optional,\n NgZone,\n ViewEncapsulation,\n AfterViewInit,\n ViewChild,\n OnDestroy,\n InjectionToken,\n inject,\n} from '@angular/core';\nimport {fromEvent, Subscription} from 'rxjs';\nimport {filter} from 'rxjs/operators';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {CanColor, CanColorCtor, mixinColor} from '@angular/material/core';\nimport {DOCUMENT} from '@angular/common';\n\n// TODO(josephperrott): Benchpress tests.\n// TODO(josephperrott): Add ARIA attributes for progress bar \"for\".\n\n// Boilerplate for applying mixins to MatProgressBar.\n/** @docs-private */\nexport class MatProgressBarBase {\n constructor(public _elementRef: ElementRef) { }\n}\n\n/** Last animation end data. */\nexport interface ProgressAnimationEnd {\n value: number;\n}\n\nexport const _MatProgressBarMixinBase: CanColorCtor & typeof MatProgressBarBase =\n mixinColor(MatProgressBarBase, 'primary');\n\n/**\n * Injection token used to provide the current location to `MatProgressBar`.\n * Used to handle server-side rendering and to stub out during unit tests.\n * @docs-private\n */\nexport const MAT_PROGRESS_BAR_LOCATION = new InjectionToken<MatProgressBarLocation>(\n 'mat-progress-bar-location',\n {providedIn: 'root', factory: MAT_PROGRESS_BAR_LOCATION_FACTORY}\n);\n\n/**\n * Stubbed out location for `MatProgressBar`.\n * @docs-private\n */\nexport interface MatProgressBarLocation {\n getPathname: () => string;\n}\n\n/** @docs-private */\nexport function MAT_PROGRESS_BAR_LOCATION_FACTORY(): MatProgressBarLocation {\n const _document = inject(DOCUMENT);\n\n return {\n // Note that this needs to be a function, because Angular will only instantiate\n // this provider once, but we want the current location on each call.\n getPathname: () => (_document && _document.location && _document.location.pathname) || ''\n };\n}\n\n\n/** Counter used to generate unique IDs for progress bars. */\nlet progressbarId = 0;\n\n/**\n * `<mat-progress-bar>` component.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-progress-bar',\n exportAs: 'matProgressBar',\n host: {\n 'role': 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n '[attr.aria-valuenow]': 'value',\n '[attr.mode]': 'mode',\n 'class': 'mat-progress-bar',\n '[class._mat-animation-noopable]': `_isNoopAnimation`,\n },\n inputs: ['color'],\n templateUrl: 'progress-bar.html',\n styleUrls: ['progress-bar.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatProgressBar extends _MatProgressBarMixinBase implements CanColor,\n AfterViewInit, OnDestroy {\n constructor(public _elementRef: ElementRef, private _ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string,\n /**\n * @deprecated `location` parameter to be made required.\n * @breaking-change 8.0.0\n */\n @Optional() @Inject(MAT_PROGRESS_BAR_LOCATION) location?: MatProgressBarLocation) {\n super(_elementRef);\n\n // We need to prefix the SVG reference with the current path, otherwise they won't work\n // in Safari if the page has a `<base>` tag. Note that we need quotes inside the `url()`,\n\n // because named route URLs can contain parentheses (see #12338). Also we don't use since\n // we can't tell the difference between whether\n // the consumer is using the hash location strategy or not, because `Location` normalizes\n // both `/#/foo/bar` and `/foo/bar` to the same thing.\n const path = location ? location.getPathname().split('#')[0] : '';\n this._rectangleFillValue = `url('${path}#${this.progressbarId}')`;\n this._isNoopAnimation = _animationMode === 'NoopAnimations';\n }\n\n /** Flag that indicates whether NoopAnimations mode is set to true. */\n _isNoopAnimation = false;\n\n /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. */\n @Input()\n get value(): number { return this._value; }\n set value(v: number) {\n this._value = clamp(v || 0);\n\n // When noop animation is set to true, trigger animationEnd directly.\n if (this._isNoopAnimation) {\n this.emitAnimationEnd();\n }\n }\n private _value: number = 0;\n\n /** Buffer value of the progress bar. Defaults to zero. */\n @Input()\n get bufferValue(): number { return this._bufferValue; }\n set bufferValue(v: number) { this._bufferValue = clamp(v || 0); }\n private _bufferValue: number = 0;\n\n @ViewChild('primaryValueBar') _primaryValueBar: ElementRef;\n\n /**\n * Event emitted when animation of the primary progress bar completes. This event will not\n * be emitted when animations are disabled, nor will it be emitted for modes with continuous\n * animations (indeterminate and query).\n */\n @Output() animationEnd = new EventEmitter<ProgressAnimationEnd>();\n\n /** Reference to animation end subscription to be unsubscribed on destroy. */\n private _animationEndSubscription: Subscription = Subscription.EMPTY;\n\n /**\n * Mode of the progress bar.\n *\n * Input must be one of these values: determinate, indeterminate, buffer, query, defaults to\n * 'determinate'.\n * Mirrored to mode attribute.\n */\n @Input() mode: 'determinate' | 'indeterminate' | 'buffer' | 'query' = 'determinate';\n\n /** ID of the progress bar. */\n progressbarId = `mat-progress-bar-${progressbarId++}`;\n\n /** Attribute to be used for the `fill` attribute on the internal `rect` element. */\n _rectangleFillValue: string;\n\n /** Gets the current transform value for the progress bar's primary indicator. */\n _primaryTransform() {\n const scale = this.value / 100;\n return {transform: `scaleX(${scale})`};\n }\n\n /**\n * Gets the current transform value for the progress bar's buffer indicator. Only used if the\n * progress mode is set to buffer, otherwise returns an undefined, causing no transformation.\n */\n _bufferTransform() {\n if (this.mode === 'buffer') {\n const scale = this.bufferValue / 100;\n return {transform: `scaleX(${scale})`};\n }\n }\n\n ngAfterViewInit() {\n if (!this._isNoopAnimation) {\n // Run outside angular so change detection didn't get triggered on every transition end\n // instead only on the animation that we care about (primary value bar's transitionend)\n this._ngZone.runOutsideAngular((() => {\n this._animationEndSubscription =\n fromEvent<TransitionEvent>(this._primaryValueBar.nativeElement, 'transitionend')\n .pipe(filter(((e: TransitionEvent) =>\n e.target === this._primaryValueBar.nativeElement)))\n .subscribe(_ => this._ngZone.run(() => this.emitAnimationEnd()));\n }));\n }\n }\n\n ngOnDestroy() {\n this._animationEndSubscription.unsubscribe();\n }\n\n /** Emit an animationEnd event if in determinate or buffer mode. */\n private emitAnimationEnd(): void {\n if (this.mode === 'determinate' || this.mode === 'buffer') {\n this.animationEnd.next({value: this.value});\n }\n }\n}\n\n/** Clamps a value to be between two numbers, by default 0 and 100. */\nfunction clamp(v: number, min = 0, max = 100) {\n return Math.max(min, Math.min(max, v));\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"progress-bar.js","sources":["../../../src/lib/progress-bar/progress-bar-module.ts","../../../src/lib/progress-bar/progress-bar.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatProgressBar} from './progress-bar';\n\n\n@NgModule({\n imports: [CommonModule, MatCommonModule],\n exports: [MatProgressBar, MatCommonModule],\n declarations: [MatProgressBar],\n})\nexport class MatProgressBarModule {}\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 */\nimport {\n Component,\n ChangeDetectionStrategy,\n ElementRef,\n Inject,\n Input,\n Output,\n EventEmitter,\n Optional,\n NgZone,\n ViewEncapsulation,\n AfterViewInit,\n ViewChild,\n OnDestroy,\n InjectionToken,\n inject,\n} from '@angular/core';\nimport {fromEvent, Subscription} from 'rxjs';\nimport {filter} from 'rxjs/operators';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {CanColor, CanColorCtor, mixinColor} from '@angular/material/core';\nimport {DOCUMENT} from '@angular/common';\n\n// TODO(josephperrott): Benchpress tests.\n// TODO(josephperrott): Add ARIA attributes for progress bar \"for\".\n\n// Boilerplate for applying mixins to MatProgressBar.\n/** @docs-private */\nexport class MatProgressBarBase {\n constructor(public _elementRef: ElementRef) { }\n}\n\n/** Last animation end data. */\nexport interface ProgressAnimationEnd {\n value: number;\n}\n\nexport const _MatProgressBarMixinBase: CanColorCtor & typeof MatProgressBarBase =\n mixinColor(MatProgressBarBase, 'primary');\n\n/**\n * Injection token used to provide the current location to `MatProgressBar`.\n * Used to handle server-side rendering and to stub out during unit tests.\n * @docs-private\n */\nexport const MAT_PROGRESS_BAR_LOCATION = new InjectionToken<MatProgressBarLocation>(\n 'mat-progress-bar-location',\n {providedIn: 'root', factory: MAT_PROGRESS_BAR_LOCATION_FACTORY}\n);\n\n/**\n * Stubbed out location for `MatProgressBar`.\n * @docs-private\n */\nexport interface MatProgressBarLocation {\n getPathname: () => string;\n}\n\n/** @docs-private */\nexport function MAT_PROGRESS_BAR_LOCATION_FACTORY(): MatProgressBarLocation {\n const _document = inject(DOCUMENT);\n const _location = _document ? _document.location : null;\n\n return {\n // Note that this needs to be a function, rather than a property, because Angular\n // will only resolve it once, but we want the current path on each call.\n getPathname: () => _location ? (_location.pathname + _location.search) : ''\n };\n}\n\n\n/** Counter used to generate unique IDs for progress bars. */\nlet progressbarId = 0;\n\n/**\n * `<mat-progress-bar>` component.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-progress-bar',\n exportAs: 'matProgressBar',\n host: {\n 'role': 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n '[attr.aria-valuenow]': 'value',\n '[attr.mode]': 'mode',\n 'class': 'mat-progress-bar',\n '[class._mat-animation-noopable]': `_isNoopAnimation`,\n },\n inputs: ['color'],\n templateUrl: 'progress-bar.html',\n styleUrls: ['progress-bar.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatProgressBar extends _MatProgressBarMixinBase implements CanColor,\n AfterViewInit, OnDestroy {\n constructor(public _elementRef: ElementRef, private _ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string,\n /**\n * @deprecated `location` parameter to be made required.\n * @breaking-change 8.0.0\n */\n @Optional() @Inject(MAT_PROGRESS_BAR_LOCATION) location?: MatProgressBarLocation) {\n super(_elementRef);\n\n // We need to prefix the SVG reference with the current path, otherwise they won't work\n // in Safari if the page has a `<base>` tag. Note that we need quotes inside the `url()`,\n\n // because named route URLs can contain parentheses (see #12338). Also we don't use since\n // we can't tell the difference between whether\n // the consumer is using the hash location strategy or not, because `Location` normalizes\n // both `/#/foo/bar` and `/foo/bar` to the same thing.\n const path = location ? location.getPathname().split('#')[0] : '';\n this._rectangleFillValue = `url('${path}#${this.progressbarId}')`;\n this._isNoopAnimation = _animationMode === 'NoopAnimations';\n }\n\n /** Flag that indicates whether NoopAnimations mode is set to true. */\n _isNoopAnimation = false;\n\n /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. */\n @Input()\n get value(): number { return this._value; }\n set value(v: number) {\n this._value = clamp(v || 0);\n\n // When noop animation is set to true, trigger animationEnd directly.\n if (this._isNoopAnimation) {\n this.emitAnimationEnd();\n }\n }\n private _value: number = 0;\n\n /** Buffer value of the progress bar. Defaults to zero. */\n @Input()\n get bufferValue(): number { return this._bufferValue; }\n set bufferValue(v: number) { this._bufferValue = clamp(v || 0); }\n private _bufferValue: number = 0;\n\n @ViewChild('primaryValueBar') _primaryValueBar: ElementRef;\n\n /**\n * Event emitted when animation of the primary progress bar completes. This event will not\n * be emitted when animations are disabled, nor will it be emitted for modes with continuous\n * animations (indeterminate and query).\n */\n @Output() animationEnd = new EventEmitter<ProgressAnimationEnd>();\n\n /** Reference to animation end subscription to be unsubscribed on destroy. */\n private _animationEndSubscription: Subscription = Subscription.EMPTY;\n\n /**\n * Mode of the progress bar.\n *\n * Input must be one of these values: determinate, indeterminate, buffer, query, defaults to\n * 'determinate'.\n * Mirrored to mode attribute.\n */\n @Input() mode: 'determinate' | 'indeterminate' | 'buffer' | 'query' = 'determinate';\n\n /** ID of the progress bar. */\n progressbarId = `mat-progress-bar-${progressbarId++}`;\n\n /** Attribute to be used for the `fill` attribute on the internal `rect` element. */\n _rectangleFillValue: string;\n\n /** Gets the current transform value for the progress bar's primary indicator. */\n _primaryTransform() {\n const scale = this.value / 100;\n return {transform: `scaleX(${scale})`};\n }\n\n /**\n * Gets the current transform value for the progress bar's buffer indicator. Only used if the\n * progress mode is set to buffer, otherwise returns an undefined, causing no transformation.\n */\n _bufferTransform() {\n if (this.mode === 'buffer') {\n const scale = this.bufferValue / 100;\n return {transform: `scaleX(${scale})`};\n }\n }\n\n ngAfterViewInit() {\n if (!this._isNoopAnimation) {\n // Run outside angular so change detection didn't get triggered on every transition end\n // instead only on the animation that we care about (primary value bar's transitionend)\n this._ngZone.runOutsideAngular((() => {\n this._animationEndSubscription =\n fromEvent<TransitionEvent>(this._primaryValueBar.nativeElement, 'transitionend')\n .pipe(filter(((e: TransitionEvent) =>\n e.target === this._primaryValueBar.nativeElement)))\n .subscribe(_ => this._ngZone.run(() => this.emitAnimationEnd()));\n }));\n }\n }\n\n ngOnDestroy() {\n this._animationEndSubscription.unsubscribe();\n }\n\n /** Emit an animationEnd event if in determinate or buffer mode. */\n private emitAnimationEnd(): void {\n if (this.mode === 'determinate' || this.mode === 'buffer') {\n this.animationEnd.next({value: this.value});\n }\n }\n}\n\n/** Clamps a value to be between two numbers, by default 0 and 100. */\nfunction clamp(v: number, min = 0, max = 100) {\n return Math.max(min, Math.min(max, v));\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -14,18 +14,21 @@ import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
|
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @fileoverview added by tsickle
|
|
17
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
17
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
18
18
|
*/
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
20
|
* Base reference size of the spinner.
|
|
21
21
|
* \@docs-private
|
|
22
|
-
|
|
22
|
+
* @type {?}
|
|
23
|
+
*/
|
|
23
24
|
const BASE_SIZE = 100;
|
|
24
|
-
/**
|
|
25
|
+
/**
|
|
25
26
|
* Base reference stroke width of the spinner.
|
|
26
27
|
* \@docs-private
|
|
27
|
-
|
|
28
|
+
* @type {?}
|
|
29
|
+
*/
|
|
28
30
|
const BASE_STROKE_WIDTH = 10;
|
|
31
|
+
// Boilerplate for applying mixins to MatProgressSpinner.
|
|
29
32
|
/**
|
|
30
33
|
* \@docs-private
|
|
31
34
|
*/
|
|
@@ -39,9 +42,10 @@ class MatProgressSpinnerBase {
|
|
|
39
42
|
}
|
|
40
43
|
/** @type {?} */
|
|
41
44
|
const _MatProgressSpinnerMixinBase = mixinColor(MatProgressSpinnerBase, 'primary');
|
|
42
|
-
/**
|
|
45
|
+
/**
|
|
43
46
|
* Injection token to be used to override the default options for `mat-progress-spinner`.
|
|
44
|
-
|
|
47
|
+
* @type {?}
|
|
48
|
+
*/
|
|
45
49
|
const MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('mat-progress-spinner-default-options', {
|
|
46
50
|
providedIn: 'root',
|
|
47
51
|
factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,
|
|
@@ -53,6 +57,10 @@ const MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('mat-progress-sp
|
|
|
53
57
|
function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY() {
|
|
54
58
|
return { diameter: BASE_SIZE };
|
|
55
59
|
}
|
|
60
|
+
// .0001 percentage difference is necessary in order to avoid unwanted animation frames
|
|
61
|
+
// for example because the animation duration is 4 seconds, .1% accounts to 4ms
|
|
62
|
+
// which are enough to see the flicker described in
|
|
63
|
+
// https://github.com/angular/material2/issues/8984
|
|
56
64
|
/** @type {?} */
|
|
57
65
|
const INDETERMINATE_ANIMATION_TEMPLATE = `
|
|
58
66
|
@keyframes mat-progress-spinner-stroke-rotate-DIAMETER {
|
|
@@ -88,9 +96,7 @@ class MatProgressSpinner extends _MatProgressSpinnerMixinBase {
|
|
|
88
96
|
* @param {?=} animationMode
|
|
89
97
|
* @param {?=} defaults
|
|
90
98
|
*/
|
|
91
|
-
constructor(_elementRef, platform, _document,
|
|
92
|
-
// @breaking-change 8.0.0 animationMode and defaults parameters to be made required.
|
|
93
|
-
animationMode, defaults) {
|
|
99
|
+
constructor(_elementRef, platform, _document, animationMode, defaults) {
|
|
94
100
|
super(_elementRef);
|
|
95
101
|
this._elementRef = _elementRef;
|
|
96
102
|
this._document = _document;
|
|
@@ -116,6 +122,8 @@ class MatProgressSpinner extends _MatProgressSpinnerMixinBase {
|
|
|
116
122
|
this.strokeWidth = defaults.strokeWidth;
|
|
117
123
|
}
|
|
118
124
|
}
|
|
125
|
+
// On IE and Edge, we can't animate the `stroke-dashoffset`
|
|
126
|
+
// reliably so we fall back to a non-spec animation.
|
|
119
127
|
/** @type {?} */
|
|
120
128
|
const animationClass = `mat-progress-spinner-indeterminate${this._fallbackAnimation ? '-fallback' : ''}-animation`;
|
|
121
129
|
_elementRef.nativeElement.classList.add(animationClass);
|
|
@@ -209,6 +217,7 @@ class MatProgressSpinner extends _MatProgressSpinnerMixinBase {
|
|
|
209
217
|
}
|
|
210
218
|
/**
|
|
211
219
|
* Dynamically generates a style tag containing the correct animation for this diameter.
|
|
220
|
+
* @private
|
|
212
221
|
* @return {?}
|
|
213
222
|
*/
|
|
214
223
|
_attachStyleNode() {
|
|
@@ -220,12 +229,13 @@ class MatProgressSpinner extends _MatProgressSpinnerMixinBase {
|
|
|
220
229
|
MatProgressSpinner.styleTag = styleTag;
|
|
221
230
|
}
|
|
222
231
|
if (styleTag && styleTag.sheet) {
|
|
223
|
-
(/** @type {?} */ (styleTag.sheet)).insertRule(this._getAnimationText(), 0);
|
|
232
|
+
((/** @type {?} */ (styleTag.sheet))).insertRule(this._getAnimationText(), 0);
|
|
224
233
|
}
|
|
225
234
|
MatProgressSpinner.diameters.add(this.diameter);
|
|
226
235
|
}
|
|
227
236
|
/**
|
|
228
237
|
* Generates animation styles adjusted for the spinner's diameter.
|
|
238
|
+
* @private
|
|
229
239
|
* @return {?}
|
|
230
240
|
*/
|
|
231
241
|
_getAnimationText() {
|
|
@@ -329,7 +339,7 @@ MatSpinner.ctorParameters = () => [
|
|
|
329
339
|
|
|
330
340
|
/**
|
|
331
341
|
* @fileoverview added by tsickle
|
|
332
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
342
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
333
343
|
*/
|
|
334
344
|
class MatProgressSpinnerModule {
|
|
335
345
|
}
|
|
@@ -350,12 +360,12 @@ MatProgressSpinnerModule.decorators = [
|
|
|
350
360
|
|
|
351
361
|
/**
|
|
352
362
|
* @fileoverview added by tsickle
|
|
353
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
363
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
354
364
|
*/
|
|
355
365
|
|
|
356
366
|
/**
|
|
357
367
|
* @fileoverview added by tsickle
|
|
358
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
368
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
359
369
|
*/
|
|
360
370
|
|
|
361
371
|
export { MatProgressSpinnerModule, MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, MatProgressSpinnerBase, _MatProgressSpinnerMixinBase, MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS, MatProgressSpinner, MatSpinner };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-spinner.js","sources":["../../../src/lib/progress-spinner/progress-spinner-module.ts","../../../src/lib/progress-spinner/progress-spinner.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatProgressSpinner, MatSpinner} from './progress-spinner';\n\n\n@NgModule({\n imports: [MatCommonModule, CommonModule],\n exports: [\n MatProgressSpinner,\n MatSpinner,\n MatCommonModule\n ],\n declarations: [\n MatProgressSpinner,\n MatSpinner\n ],\n})\nclass MatProgressSpinnerModule {}\n\nexport {MatProgressSpinnerModule};\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 {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CanColor, CanColorCtor, mixinColor} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\n/** Possible mode for a progress spinner. */\nexport type ProgressSpinnerMode = 'determinate' | 'indeterminate';\n\n/**\n * Base reference size of the spinner.\n * @docs-private\n */\nconst BASE_SIZE = 100;\n\n/**\n * Base reference stroke width of the spinner.\n * @docs-private\n */\nconst BASE_STROKE_WIDTH = 10;\n\n// Boilerplate for applying mixins to MatProgressSpinner.\n/** @docs-private */\nexport class MatProgressSpinnerBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatProgressSpinnerMixinBase: CanColorCtor & typeof MatProgressSpinnerBase =\n mixinColor(MatProgressSpinnerBase, 'primary');\n\n/** Default `mat-progress-spinner` options that can be overridden. */\nexport interface MatProgressSpinnerDefaultOptions {\n /** Diameter of the spinner. */\n diameter?: number;\n /** Width of the spinner's stroke. */\n strokeWidth?: number;\n /**\n * Whether the animations should be force to be enabled, ignoring if the current environment is\n * using NoopAnimationsModule.\n */\n _forceAnimations?: boolean;\n}\n\n/** Injection token to be used to override the default options for `mat-progress-spinner`. */\nexport const MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS =\n new InjectionToken<MatProgressSpinnerDefaultOptions>('mat-progress-spinner-default-options', {\n providedIn: 'root',\n factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,\n });\n\n/** @docs-private */\nexport function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY(): MatProgressSpinnerDefaultOptions {\n return {diameter: BASE_SIZE};\n}\n\n// .0001 percentage difference is necessary in order to avoid unwanted animation frames\n// for example because the animation duration is 4 seconds, .1% accounts to 4ms\n// which are enough to see the flicker described in\n// https://github.com/angular/material2/issues/8984\nconst INDETERMINATE_ANIMATION_TEMPLATE = `\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n`;\n\n/**\n * `<mat-progress-spinner>` component.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-progress-spinner',\n exportAs: 'matProgressSpinner',\n host: {\n 'role': 'progressbar',\n 'class': 'mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n '[attr.aria-valuemin]': 'mode === \"determinate\" ? 0 : null',\n '[attr.aria-valuemax]': 'mode === \"determinate\" ? 100 : null',\n '[attr.aria-valuenow]': 'value',\n '[attr.mode]': 'mode',\n },\n inputs: ['color'],\n templateUrl: 'progress-spinner.html',\n styleUrls: ['progress-spinner.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatProgressSpinner extends _MatProgressSpinnerMixinBase implements CanColor {\n\n private _value = 0;\n private _strokeWidth: number;\n private _fallbackAnimation = false;\n\n /** Tracks diameters of existing instances to de-dupe generated styles (default d = 100) */\n private static diameters = new Set<number>([BASE_SIZE]);\n\n /**\n * Used for storing all of the generated keyframe animations.\n * @dynamic\n */\n private static styleTag: HTMLStyleElement|null = null;\n\n /** Whether the _mat-animation-noopable class should be applied, disabling animations. */\n _noopAnimations: boolean = this.animationMode === 'NoopAnimations' && (\n !!this.defaults && !this.defaults._forceAnimations);\n\n /** The diameter of the progress spinner (will set width and height of svg). */\n @Input()\n get diameter(): number { return this._diameter; }\n set diameter(size: number) {\n this._diameter = coerceNumberProperty(size);\n\n if (!this._fallbackAnimation && !MatProgressSpinner.diameters.has(this._diameter)) {\n this._attachStyleNode();\n }\n }\n private _diameter = BASE_SIZE;\n\n /** Stroke width of the progress spinner. */\n @Input()\n get strokeWidth(): number {\n return this._strokeWidth || this.diameter / 10;\n }\n set strokeWidth(value: number) {\n this._strokeWidth = coerceNumberProperty(value);\n }\n\n /** Mode of the progress circle */\n @Input() mode: ProgressSpinnerMode = 'determinate';\n\n /** Value of the progress circle. */\n @Input()\n get value(): number {\n return this.mode === 'determinate' ? this._value : 0;\n }\n set value(newValue: number) {\n this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));\n }\n\n constructor(public _elementRef: ElementRef,\n platform: Platform,\n @Optional() @Inject(DOCUMENT) private _document: any,\n // @breaking-change 8.0.0 animationMode and defaults parameters to be made required.\n @Optional() @Inject(ANIMATION_MODULE_TYPE) private animationMode?: string,\n @Inject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)\n private defaults?: MatProgressSpinnerDefaultOptions) {\n\n super(_elementRef);\n this._fallbackAnimation = platform.EDGE || platform.TRIDENT;\n\n if (defaults) {\n if (defaults.diameter) {\n this.diameter = defaults.diameter;\n }\n\n if (defaults.strokeWidth) {\n this.strokeWidth = defaults.strokeWidth;\n }\n }\n\n // On IE and Edge, we can't animate the `stroke-dashoffset`\n // reliably so we fall back to a non-spec animation.\n const animationClass =\n `mat-progress-spinner-indeterminate${this._fallbackAnimation ? '-fallback' : ''}-animation`;\n\n _elementRef.nativeElement.classList.add(animationClass);\n }\n\n /** The radius of the spinner, adjusted for stroke width. */\n get _circleRadius() {\n return (this.diameter - BASE_STROKE_WIDTH) / 2;\n }\n\n /** The view box of the spinner's svg element. */\n get _viewBox() {\n const viewBox = this._circleRadius * 2 + this.strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n\n /** The stroke circumference of the svg circle. */\n get _strokeCircumference(): number {\n return 2 * Math.PI * this._circleRadius;\n }\n\n /** The dash offset of the svg circle. */\n get _strokeDashOffset() {\n if (this.mode === 'determinate') {\n return this._strokeCircumference * (100 - this._value) / 100;\n }\n\n // In fallback mode set the circle to 80% and rotate it with CSS.\n if (this._fallbackAnimation && this.mode === 'indeterminate') {\n return this._strokeCircumference * 0.2;\n }\n\n return null;\n }\n\n /** Stroke width of the circle in percent. */\n get _circleStrokeWidth() {\n return this.strokeWidth / this.diameter * 100;\n }\n\n /** Dynamically generates a style tag containing the correct animation for this diameter. */\n private _attachStyleNode(): void {\n let styleTag = MatProgressSpinner.styleTag;\n\n if (!styleTag) {\n styleTag = this._document.createElement('style');\n this._document.head.appendChild(styleTag);\n MatProgressSpinner.styleTag = styleTag;\n }\n\n if (styleTag && styleTag.sheet) {\n (styleTag.sheet as CSSStyleSheet).insertRule(this._getAnimationText(), 0);\n }\n\n MatProgressSpinner.diameters.add(this.diameter);\n }\n\n /** Generates animation styles adjusted for the spinner's diameter. */\n private _getAnimationText(): string {\n return INDETERMINATE_ANIMATION_TEMPLATE\n // Animation should begin at 5% and end at 80%\n .replace(/START_VALUE/g, `${0.95 * this._strokeCircumference}`)\n .replace(/END_VALUE/g, `${0.2 * this._strokeCircumference}`)\n .replace(/DIAMETER/g, `${this.diameter}`);\n }\n}\n\n\n/**\n * `<mat-spinner>` component.\n *\n * This is a component definition to be used as a convenience reference to create an\n * indeterminate `<mat-progress-spinner>` instance.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-spinner',\n host: {\n 'role': 'progressbar',\n 'mode': 'indeterminate',\n 'class': 'mat-spinner mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n },\n inputs: ['color'],\n templateUrl: 'progress-spinner.html',\n styleUrls: ['progress-spinner.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatSpinner extends MatProgressSpinner {\n constructor(elementRef: ElementRef, platform: Platform,\n @Optional() @Inject(DOCUMENT) document: any,\n // @breaking-change 8.0.0 animationMode and defaults parameters to be made required.\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Inject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)\n defaults?: MatProgressSpinnerDefaultOptions) {\n super(elementRef, platform, document, animationMode, defaults);\n this.mode = 'indeterminate';\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"progress-spinner.js","sources":["../../../src/lib/progress-spinner/progress-spinner-module.ts","../../../src/lib/progress-spinner/progress-spinner.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatProgressSpinner, MatSpinner} from './progress-spinner';\n\n\n@NgModule({\n imports: [MatCommonModule, CommonModule],\n exports: [\n MatProgressSpinner,\n MatSpinner,\n MatCommonModule\n ],\n declarations: [\n MatProgressSpinner,\n MatSpinner\n ],\n})\nclass MatProgressSpinnerModule {}\n\nexport {MatProgressSpinnerModule};\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 {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CanColor, CanColorCtor, mixinColor} from '@angular/material/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\n/** Possible mode for a progress spinner. */\nexport type ProgressSpinnerMode = 'determinate' | 'indeterminate';\n\n/**\n * Base reference size of the spinner.\n * @docs-private\n */\nconst BASE_SIZE = 100;\n\n/**\n * Base reference stroke width of the spinner.\n * @docs-private\n */\nconst BASE_STROKE_WIDTH = 10;\n\n// Boilerplate for applying mixins to MatProgressSpinner.\n/** @docs-private */\nexport class MatProgressSpinnerBase {\n constructor(public _elementRef: ElementRef) {}\n}\nexport const _MatProgressSpinnerMixinBase: CanColorCtor & typeof MatProgressSpinnerBase =\n mixinColor(MatProgressSpinnerBase, 'primary');\n\n/** Default `mat-progress-spinner` options that can be overridden. */\nexport interface MatProgressSpinnerDefaultOptions {\n /** Diameter of the spinner. */\n diameter?: number;\n /** Width of the spinner's stroke. */\n strokeWidth?: number;\n /**\n * Whether the animations should be force to be enabled, ignoring if the current environment is\n * using NoopAnimationsModule.\n */\n _forceAnimations?: boolean;\n}\n\n/** Injection token to be used to override the default options for `mat-progress-spinner`. */\nexport const MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS =\n new InjectionToken<MatProgressSpinnerDefaultOptions>('mat-progress-spinner-default-options', {\n providedIn: 'root',\n factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,\n });\n\n/** @docs-private */\nexport function MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY(): MatProgressSpinnerDefaultOptions {\n return {diameter: BASE_SIZE};\n}\n\n// .0001 percentage difference is necessary in order to avoid unwanted animation frames\n// for example because the animation duration is 4 seconds, .1% accounts to 4ms\n// which are enough to see the flicker described in\n// https://github.com/angular/material2/issues/8984\nconst INDETERMINATE_ANIMATION_TEMPLATE = `\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n 0% { stroke-dashoffset: START_VALUE; transform: rotate(0); }\n 12.5% { stroke-dashoffset: END_VALUE; transform: rotate(0); }\n 12.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n 25% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(72.5deg); }\n\n 25.0001% { stroke-dashoffset: START_VALUE; transform: rotate(270deg); }\n 37.5% { stroke-dashoffset: END_VALUE; transform: rotate(270deg); }\n 37.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n 50% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(161.5deg); }\n\n 50.0001% { stroke-dashoffset: START_VALUE; transform: rotate(180deg); }\n 62.5% { stroke-dashoffset: END_VALUE; transform: rotate(180deg); }\n 62.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n 75% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(251.5deg); }\n\n 75.0001% { stroke-dashoffset: START_VALUE; transform: rotate(90deg); }\n 87.5% { stroke-dashoffset: END_VALUE; transform: rotate(90deg); }\n 87.5001% { stroke-dashoffset: END_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n 100% { stroke-dashoffset: START_VALUE; transform: rotateX(180deg) rotate(341.5deg); }\n }\n`;\n\n/**\n * `<mat-progress-spinner>` component.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-progress-spinner',\n exportAs: 'matProgressSpinner',\n host: {\n 'role': 'progressbar',\n 'class': 'mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n '[attr.aria-valuemin]': 'mode === \"determinate\" ? 0 : null',\n '[attr.aria-valuemax]': 'mode === \"determinate\" ? 100 : null',\n '[attr.aria-valuenow]': 'value',\n '[attr.mode]': 'mode',\n },\n inputs: ['color'],\n templateUrl: 'progress-spinner.html',\n styleUrls: ['progress-spinner.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatProgressSpinner extends _MatProgressSpinnerMixinBase implements CanColor {\n\n private _value = 0;\n private _strokeWidth: number;\n private _fallbackAnimation = false;\n\n /** Tracks diameters of existing instances to de-dupe generated styles (default d = 100) */\n private static diameters = new Set<number>([BASE_SIZE]);\n\n /**\n * Used for storing all of the generated keyframe animations.\n * @dynamic\n */\n private static styleTag: HTMLStyleElement|null = null;\n\n /** Whether the _mat-animation-noopable class should be applied, disabling animations. */\n _noopAnimations: boolean = this.animationMode === 'NoopAnimations' && (\n !!this.defaults && !this.defaults._forceAnimations);\n\n /** The diameter of the progress spinner (will set width and height of svg). */\n @Input()\n get diameter(): number { return this._diameter; }\n set diameter(size: number) {\n this._diameter = coerceNumberProperty(size);\n\n if (!this._fallbackAnimation && !MatProgressSpinner.diameters.has(this._diameter)) {\n this._attachStyleNode();\n }\n }\n private _diameter = BASE_SIZE;\n\n /** Stroke width of the progress spinner. */\n @Input()\n get strokeWidth(): number {\n return this._strokeWidth || this.diameter / 10;\n }\n set strokeWidth(value: number) {\n this._strokeWidth = coerceNumberProperty(value);\n }\n\n /** Mode of the progress circle */\n @Input() mode: ProgressSpinnerMode = 'determinate';\n\n /** Value of the progress circle. */\n @Input()\n get value(): number {\n return this.mode === 'determinate' ? this._value : 0;\n }\n set value(newValue: number) {\n this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));\n }\n\n constructor(public _elementRef: ElementRef,\n platform: Platform,\n @Optional() @Inject(DOCUMENT) private _document: any,\n // @breaking-change 8.0.0 animationMode and defaults parameters to be made required.\n @Optional() @Inject(ANIMATION_MODULE_TYPE) private animationMode?: string,\n @Inject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)\n private defaults?: MatProgressSpinnerDefaultOptions) {\n\n super(_elementRef);\n this._fallbackAnimation = platform.EDGE || platform.TRIDENT;\n\n if (defaults) {\n if (defaults.diameter) {\n this.diameter = defaults.diameter;\n }\n\n if (defaults.strokeWidth) {\n this.strokeWidth = defaults.strokeWidth;\n }\n }\n\n // On IE and Edge, we can't animate the `stroke-dashoffset`\n // reliably so we fall back to a non-spec animation.\n const animationClass =\n `mat-progress-spinner-indeterminate${this._fallbackAnimation ? '-fallback' : ''}-animation`;\n\n _elementRef.nativeElement.classList.add(animationClass);\n }\n\n /** The radius of the spinner, adjusted for stroke width. */\n get _circleRadius() {\n return (this.diameter - BASE_STROKE_WIDTH) / 2;\n }\n\n /** The view box of the spinner's svg element. */\n get _viewBox() {\n const viewBox = this._circleRadius * 2 + this.strokeWidth;\n return `0 0 ${viewBox} ${viewBox}`;\n }\n\n /** The stroke circumference of the svg circle. */\n get _strokeCircumference(): number {\n return 2 * Math.PI * this._circleRadius;\n }\n\n /** The dash offset of the svg circle. */\n get _strokeDashOffset() {\n if (this.mode === 'determinate') {\n return this._strokeCircumference * (100 - this._value) / 100;\n }\n\n // In fallback mode set the circle to 80% and rotate it with CSS.\n if (this._fallbackAnimation && this.mode === 'indeterminate') {\n return this._strokeCircumference * 0.2;\n }\n\n return null;\n }\n\n /** Stroke width of the circle in percent. */\n get _circleStrokeWidth() {\n return this.strokeWidth / this.diameter * 100;\n }\n\n /** Dynamically generates a style tag containing the correct animation for this diameter. */\n private _attachStyleNode(): void {\n let styleTag = MatProgressSpinner.styleTag;\n\n if (!styleTag) {\n styleTag = this._document.createElement('style');\n this._document.head.appendChild(styleTag);\n MatProgressSpinner.styleTag = styleTag;\n }\n\n if (styleTag && styleTag.sheet) {\n (styleTag.sheet as CSSStyleSheet).insertRule(this._getAnimationText(), 0);\n }\n\n MatProgressSpinner.diameters.add(this.diameter);\n }\n\n /** Generates animation styles adjusted for the spinner's diameter. */\n private _getAnimationText(): string {\n return INDETERMINATE_ANIMATION_TEMPLATE\n // Animation should begin at 5% and end at 80%\n .replace(/START_VALUE/g, `${0.95 * this._strokeCircumference}`)\n .replace(/END_VALUE/g, `${0.2 * this._strokeCircumference}`)\n .replace(/DIAMETER/g, `${this.diameter}`);\n }\n}\n\n\n/**\n * `<mat-spinner>` component.\n *\n * This is a component definition to be used as a convenience reference to create an\n * indeterminate `<mat-progress-spinner>` instance.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-spinner',\n host: {\n 'role': 'progressbar',\n 'mode': 'indeterminate',\n 'class': 'mat-spinner mat-progress-spinner',\n '[class._mat-animation-noopable]': `_noopAnimations`,\n '[style.width.px]': 'diameter',\n '[style.height.px]': 'diameter',\n },\n inputs: ['color'],\n templateUrl: 'progress-spinner.html',\n styleUrls: ['progress-spinner.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatSpinner extends MatProgressSpinner {\n constructor(elementRef: ElementRef, platform: Platform,\n @Optional() @Inject(DOCUMENT) document: any,\n // @breaking-change 8.0.0 animationMode and defaults parameters to be made required.\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Inject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)\n defaults?: MatProgressSpinnerDefaultOptions) {\n super(elementRef, platform, document, animationMode, defaults);\n this.mode = 'indeterminate';\n }\n}\n"],"names":[],"mappings":"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"}
|
package/esm2015/radio.js
CHANGED
|
@@ -16,15 +16,17 @@ import { CommonModule } from '@angular/common';
|
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* @fileoverview added by tsickle
|
|
19
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
19
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
20
20
|
*/
|
|
21
|
+
// Increasing integer for generating unique ids for radio components.
|
|
21
22
|
/** @type {?} */
|
|
22
23
|
let nextUniqueId = 0;
|
|
23
|
-
/**
|
|
24
|
+
/**
|
|
24
25
|
* Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This
|
|
25
26
|
* allows it to support [(ngModel)] and ngControl.
|
|
26
27
|
* \@docs-private
|
|
27
|
-
|
|
28
|
+
* @type {?}
|
|
29
|
+
*/
|
|
28
30
|
const MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
|
|
29
31
|
provide: NG_VALUE_ACCESSOR,
|
|
30
32
|
useExisting: forwardRef(() => MatRadioGroup),
|
|
@@ -43,6 +45,7 @@ class MatRadioChange {
|
|
|
43
45
|
this.value = value;
|
|
44
46
|
}
|
|
45
47
|
}
|
|
48
|
+
// Boilerplate for applying mixins to MatRadioGroup.
|
|
46
49
|
/**
|
|
47
50
|
* \@docs-private
|
|
48
51
|
*/
|
|
@@ -223,6 +226,7 @@ class MatRadioGroup extends _MatRadioGroupMixinBase {
|
|
|
223
226
|
}
|
|
224
227
|
}
|
|
225
228
|
/**
|
|
229
|
+
* @private
|
|
226
230
|
* @return {?}
|
|
227
231
|
*/
|
|
228
232
|
_updateRadioButtonNames() {
|
|
@@ -234,9 +238,11 @@ class MatRadioGroup extends _MatRadioGroupMixinBase {
|
|
|
234
238
|
}
|
|
235
239
|
/**
|
|
236
240
|
* Updates the `selected` radio button from the internal _value state.
|
|
241
|
+
* @private
|
|
237
242
|
* @return {?}
|
|
238
243
|
*/
|
|
239
244
|
_updateSelectedRadioFromValue() {
|
|
245
|
+
// If the value already matches the selected radio, do nothing.
|
|
240
246
|
/** @type {?} */
|
|
241
247
|
const isAlreadySelected = this._selected !== null && this._selected.value === this._value;
|
|
242
248
|
if (this._radios && !isAlreadySelected) {
|
|
@@ -255,7 +261,7 @@ class MatRadioGroup extends _MatRadioGroupMixinBase {
|
|
|
255
261
|
*/
|
|
256
262
|
_emitChangeEvent() {
|
|
257
263
|
if (this._isInitialized) {
|
|
258
|
-
this.change.emit(new MatRadioChange(/** @type {?} */ (
|
|
264
|
+
this.change.emit(new MatRadioChange((/** @type {?} */ (this._selected)), this._value));
|
|
259
265
|
}
|
|
260
266
|
}
|
|
261
267
|
/**
|
|
@@ -329,6 +335,7 @@ MatRadioGroup.propDecorators = {
|
|
|
329
335
|
disabled: [{ type: Input }],
|
|
330
336
|
required: [{ type: Input }]
|
|
331
337
|
};
|
|
338
|
+
// Boilerplate for applying mixins to MatRadioButton.
|
|
332
339
|
/**
|
|
333
340
|
* \@docs-private
|
|
334
341
|
*/
|
|
@@ -340,6 +347,8 @@ class MatRadioButtonBase {
|
|
|
340
347
|
this._elementRef = _elementRef;
|
|
341
348
|
}
|
|
342
349
|
}
|
|
350
|
+
// As per Material design specifications the selection control radio should use the accent color
|
|
351
|
+
// palette by default. https://material.io/guidelines/components/selection-controls.html
|
|
343
352
|
/** @type {?} */
|
|
344
353
|
const _MatRadioButtonMixinBase = mixinColor(mixinDisableRipple(mixinTabIndex(MatRadioButtonBase)), 'accent');
|
|
345
354
|
/**
|
|
@@ -547,6 +556,7 @@ class MatRadioButton extends _MatRadioButtonMixinBase {
|
|
|
547
556
|
}
|
|
548
557
|
/**
|
|
549
558
|
* Dispatch change event with current value.
|
|
559
|
+
* @private
|
|
550
560
|
* @return {?}
|
|
551
561
|
*/
|
|
552
562
|
_emitChangeEvent() {
|
|
@@ -644,7 +654,7 @@ MatRadioButton.propDecorators = {
|
|
|
644
654
|
|
|
645
655
|
/**
|
|
646
656
|
* @fileoverview added by tsickle
|
|
647
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
657
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
648
658
|
*/
|
|
649
659
|
class MatRadioModule {
|
|
650
660
|
}
|
|
@@ -658,12 +668,12 @@ MatRadioModule.decorators = [
|
|
|
658
668
|
|
|
659
669
|
/**
|
|
660
670
|
* @fileoverview added by tsickle
|
|
661
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
671
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
662
672
|
*/
|
|
663
673
|
|
|
664
674
|
/**
|
|
665
675
|
* @fileoverview added by tsickle
|
|
666
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
676
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
667
677
|
*/
|
|
668
678
|
|
|
669
679
|
export { MatRadioModule, MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, MatRadioChange, MatRadioGroupBase, _MatRadioGroupMixinBase, MatRadioGroup, MatRadioButtonBase, _MatRadioButtonMixinBase, MatRadioButton };
|