@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/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../src/lib/table/table-data-source.ts","../../../src/lib/table/table-module.ts","../../../src/lib/table/row.ts","../../../src/lib/table/cell.ts","../../../src/lib/table/table.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 {_isNumberValue} from '@angular/cdk/coercion';\nimport {DataSource} from '@angular/cdk/table';\nimport {\n BehaviorSubject,\n combineLatest,\n merge,\n Observable,\n of as observableOf,\n Subscription\n} from 'rxjs';\nimport {MatPaginator, PageEvent} from '@angular/material/paginator';\nimport {MatSort, Sort} from '@angular/material/sort';\nimport {map} from 'rxjs/operators';\n\n/**\n * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to\n * flaky browser support and the value not being defined in Closure's typings.\n */\nconst MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Data source that accepts a client-side data array and includes native support of filtering,\n * sorting (using MatSort), and pagination (using MatPaginator).\n *\n * Allows for sort customization by overriding sortingDataAccessor, which defines how data\n * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,\n * which defines how row data is converted to a string for filter matching.\n */\nexport class MatTableDataSource<T> extends DataSource<T> {\n /** Stream that emits when a new data array is set on the data source. */\n private readonly _data: BehaviorSubject<T[]>;\n\n /** Stream emitting render data to the table (depends on ordered data changes). */\n private readonly _renderData = new BehaviorSubject<T[]>([]);\n\n /** Stream that emits when a new filter string is set on the data source. */\n private readonly _filter = new BehaviorSubject<string>('');\n\n /**\n * Subscription to the changes that should trigger an update to the table's rendered rows, such\n * as filtering, sorting, pagination, or base data changes.\n */\n _renderChangesSubscription = Subscription.EMPTY;\n\n /**\n * The filtered set of data that has been matched by the filter string, or all the data if there\n * is no filter. Useful for knowing the set of data the table represents.\n * For example, a 'selectAll()' function would likely want to select the set of filtered data\n * shown to the user rather than all the data.\n */\n filteredData: T[];\n\n /** Array of data that should be rendered by the table, where each object represents one row. */\n get data() { return this._data.value; }\n set data(data: T[]) { this._data.next(data); }\n\n /**\n * Filter term that should be used to filter out objects from the data array. To override how\n * data objects match to this filter string, provide a custom function for filterPredicate.\n */\n get filter(): string { return this._filter.value; }\n set filter(filter: string) { this._filter.next(filter); }\n\n /**\n * Instance of the MatSort directive used by the table to control its sorting. Sort changes\n * emitted by the MatSort will trigger an update to the table's rendered data.\n */\n get sort(): MatSort | null { return this._sort; }\n set sort(sort: MatSort|null) {\n this._sort = sort;\n this._updateChangeSubscription();\n }\n private _sort: MatSort|null;\n\n /**\n * Instance of the MatPaginator component used by the table to control what page of the data is\n * displayed. Page changes emitted by the MatPaginator will trigger an update to the\n * table's rendered data.\n *\n * Note that the data source uses the paginator's properties to calculate which page of data\n * should be displayed. If the paginator receives its properties as template inputs,\n * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the paginator's view has been\n * initialized before assigning it to this data source.\n */\n get paginator(): MatPaginator | null { return this._paginator; }\n set paginator(paginator: MatPaginator|null) {\n this._paginator = paginator;\n this._updateChangeSubscription();\n }\n private _paginator: MatPaginator|null;\n\n /**\n * Data accessor function that is used for accessing data properties for sorting through\n * the default sortData function.\n * This default function assumes that the sort header IDs (which defaults to the column name)\n * matches the data's properties (e.g. column Xyz represents data['Xyz']).\n * May be set to a custom function for different behavior.\n * @param data Data object that is being accessed.\n * @param sortHeaderId The name of the column that represents the data.\n */\n sortingDataAccessor: ((data: T, sortHeaderId: string) => string|number) =\n (data: T, sortHeaderId: string): string|number => {\n const value = (data as {[key: string]: any})[sortHeaderId];\n\n if (_isNumberValue(value)) {\n const numberValue = Number(value);\n\n // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we\n // leave them as strings. For more info: https://goo.gl/y5vbSg\n return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n }\n\n return value;\n }\n\n /**\n * Gets a sorted copy of the data array based on the state of the MatSort. Called\n * after changes are made to the filtered data or when sort changes are emitted from MatSort.\n * By default, the function retrieves the active sort and its direction and compares data\n * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation\n * of data ordering.\n * @param data The array of data that should be sorted.\n * @param sort The connected MatSort that holds the current sort state.\n */\n sortData: ((data: T[], sort: MatSort) => T[]) = (data: T[], sort: MatSort): T[] => {\n const active = sort.active;\n const direction = sort.direction;\n if (!active || direction == '') { return data; }\n\n return data.sort((a, b) => {\n let valueA = this.sortingDataAccessor(a, active);\n let valueB = this.sortingDataAccessor(b, active);\n\n // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // one value exists while the other doesn't. In this case, existing value should come first.\n // This avoids inconsistent results when comparing values to undefined/null.\n // If neither value exists, return 0 (equal).\n let comparatorResult = 0;\n if (valueA != null && valueB != null) {\n // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n if (valueA > valueB) {\n comparatorResult = 1;\n } else if (valueA < valueB) {\n comparatorResult = -1;\n }\n } else if (valueA != null) {\n comparatorResult = 1;\n } else if (valueB != null) {\n comparatorResult = -1;\n }\n\n return comparatorResult * (direction == 'asc' ? 1 : -1);\n });\n }\n\n /**\n * Checks if a data object matches the data source's filter string. By default, each data object\n * is converted to a string of its properties and returns true if the filter has\n * at least one occurrence in that string. By default, the filter string has its whitespace\n * trimmed and the match is case-insensitive. May be overridden for a custom implementation of\n * filter matching.\n * @param data Data object used to check against the filter.\n * @param filter Filter string that has been set on the data source.\n * @returns Whether the filter matches against the data\n */\n filterPredicate: ((data: T, filter: string) => boolean) = (data: T, filter: string): boolean => {\n // Transform the data into a lowercase string of all property values.\n const dataStr = Object.keys(data).reduce((currentTerm: string, key: string) => {\n // Use an obscure Unicode character to delimit the words in the concatenated string.\n // This avoids matches where the values of two columns combined will match the user's query\n // (e.g. `Flute` and `Stop` will match `Test`). The character is intended to be something\n // that has a very low chance of being typed in by somebody in a text field. This one in\n // particular is \"White up-pointing triangle with dot\" from\n // https://en.wikipedia.org/wiki/List_of_Unicode_characters\n return currentTerm + (data as {[key: string]: any})[key] + '◬';\n }, '').toLowerCase();\n\n // Transform the filter by converting it to lowercase and removing whitespace.\n const transformedFilter = filter.trim().toLowerCase();\n\n return dataStr.indexOf(transformedFilter) != -1;\n }\n\n constructor(initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n this._updateChangeSubscription();\n }\n\n /**\n * Subscribe to changes that should trigger an update to the table's rendered rows. When the\n * changes occur, process the current state of the filter, sort, and pagination along with\n * the provided base data and send it to the table for rendering.\n */\n _updateChangeSubscription() {\n // Sorting and/or pagination should be watched if MatSort and/or MatPaginator are provided.\n // The events should emit whenever the component emits a change or initializes, or if no\n // component is provided, a stream with just a null event should be provided.\n // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the\n // pipeline can progress to the next step. Note that the value from these streams are not used,\n // they purely act as a signal to progress in the pipeline.\n const sortChange: Observable<Sort|null|void> = this._sort ?\n merge<Sort|void>(this._sort.sortChange, this._sort.initialized) :\n observableOf(null);\n const pageChange: Observable<PageEvent|null|void> = this._paginator ?\n merge<PageEvent|void>(this._paginator.page, this._paginator.initialized) :\n observableOf(null);\n\n const dataStream = this._data;\n // Watch for base data or filter changes to provide a filtered set of data.\n const filteredData = combineLatest(dataStream, this._filter)\n .pipe(map(([data]) => this._filterData(data)));\n // Watch for filtered data or sort changes to provide an ordered set of data.\n const orderedData = combineLatest(filteredData, sortChange)\n .pipe(map(([data]) => this._orderData(data)));\n // Watch for ordered data or page changes to provide a paged set of data.\n const paginatedData = combineLatest(orderedData, pageChange)\n .pipe(map(([data]) => this._pageData(data)));\n // Watched for paged data changes and send the result to the table to render.\n this._renderChangesSubscription.unsubscribe();\n this._renderChangesSubscription = paginatedData.subscribe(data => this._renderData.next(data));\n }\n\n /**\n * Returns a filtered data array where each filter object contains the filter string within\n * the result of the filterTermAccessor function. If no filter is set, returns the data array\n * as provided.\n */\n _filterData(data: T[]) {\n // If there is a filter string, filter out data that does not contain it.\n // Each data object is converted to a string using the function defined by filterTermAccessor.\n // May be overridden for customization.\n this.filteredData =\n !this.filter ? data : data.filter(obj => this.filterPredicate(obj, this.filter));\n\n if (this.paginator) { this._updatePaginator(this.filteredData.length); }\n\n return this.filteredData;\n }\n\n /**\n * Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the\n * data array as provided. Uses the default data accessor for data lookup, unless a\n * sortDataAccessor function is defined.\n */\n _orderData(data: T[]): T[] {\n // If there is no active sort or direction, return the data without trying to sort.\n if (!this.sort) { return data; }\n\n return this.sortData(data.slice(), this.sort);\n }\n\n /**\n * Returns a paged splice of the provided data array according to the provided MatPaginator's page\n * index and length. If there is no paginator provided, returns the data array as provided.\n */\n _pageData(data: T[]): T[] {\n if (!this.paginator) { return data; }\n\n const startIndex = this.paginator.pageIndex * this.paginator.pageSize;\n return data.slice().splice(startIndex, this.paginator.pageSize);\n }\n\n /**\n * Updates the paginator to reflect the length of the filtered data, and makes sure that the page\n * index does not exceed the paginator's last page. Values are changed in a resolved promise to\n * guard against making property changes within a round of change detection.\n */\n _updatePaginator(filteredDataLength: number) {\n Promise.resolve().then(() => {\n if (!this.paginator) { return; }\n\n this.paginator.length = filteredDataLength;\n\n // If the page index is set beyond the page, reduce it to the last page.\n if (this.paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(this.paginator.length / this.paginator.pageSize) - 1 || 0;\n this.paginator.pageIndex = Math.min(this.paginator.pageIndex, lastPageIndex);\n }\n });\n }\n\n /**\n * Used by the MatTable. Called when it connects to the data source.\n * @docs-private\n */\n connect() { return this._renderData; }\n\n /**\n * Used by the MatTable. Called when it is destroyed. No-op.\n * @docs-private\n */\n disconnect() { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatTable} from './table';\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {\n MatCell,\n MatCellDef,\n MatColumnDef,\n MatFooterCell,\n MatFooterCellDef,\n MatHeaderCell,\n MatHeaderCellDef\n} from './cell';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRow,\n MatHeaderRowDef,\n MatRow,\n MatRowDef\n} from './row';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\n\nconst EXPORTED_DECLARATIONS = [\n // Table\n MatTable,\n\n // Template defs\n MatHeaderCellDef,\n MatHeaderRowDef,\n MatColumnDef,\n MatCellDef,\n MatRowDef,\n MatFooterCellDef,\n MatFooterRowDef,\n\n // Cell directives\n MatHeaderCell,\n MatCell,\n MatFooterCell,\n\n // Row directions\n MatHeaderRow,\n MatRow,\n MatFooterRow,\n];\n\n@NgModule({\n imports: [CdkTableModule, CommonModule, MatCommonModule],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class MatTableModule {}\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 ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n CDK_ROW_TEMPLATE, CdkFooterRow, CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkRow,\n CdkRowDef,\n} from '@angular/cdk/table';\n\n/**\n * Header row definition for the mat-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[matHeaderRowDef]',\n providers: [{provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef}],\n inputs: ['columns: matHeaderRowDef', 'sticky: matHeaderRowDefSticky'],\n})\nexport class MatHeaderRowDef extends CdkHeaderRowDef {}\n\n/**\n * Footer row definition for the mat-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[matFooterRowDef]',\n providers: [{provide: CdkFooterRowDef, useExisting: MatFooterRowDef}],\n inputs: ['columns: matFooterRowDef', 'sticky: matFooterRowDefSticky'],\n})\nexport class MatFooterRowDef extends CdkFooterRowDef {}\n\n/**\n * Data row definition for the mat-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[matRowDef]',\n providers: [{provide: CdkRowDef, useExisting: MatRowDef}],\n inputs: ['columns: matRowDefColumns', 'when: matRowDefWhen'],\n})\nexport class MatRowDef<T> extends CdkRowDef<T> {}\n\n// TODO(devversion): workaround for https://github.com/angular/material2/issues/12760\n(MatHeaderRowDef as any)['ctorParameters'] = () => (CdkHeaderRowDef as any)['ctorParameters'];\n(MatFooterRowDef as any)['ctorParameters'] = () => (CdkFooterRowDef as any)['ctorParameters'];\n(MatRowDef as any)['ctorParameters'] = () => (CdkRowDef as any)['ctorParameters'];\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n moduleId: module.id,\n selector: 'mat-header-row, tr[mat-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-header-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matHeaderRow',\n providers: [{provide: CdkHeaderRow, useExisting: MatHeaderRow}],\n})\nexport class MatHeaderRow extends CdkHeaderRow { }\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n moduleId: module.id,\n selector: 'mat-footer-row, tr[mat-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-footer-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matFooterRow',\n providers: [{provide: CdkFooterRow, useExisting: MatFooterRow}],\n})\nexport class MatFooterRow extends CdkFooterRow { }\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n moduleId: module.id,\n selector: 'mat-row, tr[mat-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRow',\n providers: [{provide: CdkRow, useExisting: MatRow}],\n})\nexport class MatRow extends CdkRow { }\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 {Directive, ElementRef, Input} from '@angular/core';\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef, CdkFooterCell, CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\n\n/**\n * Cell definition for the mat-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[matCellDef]',\n providers: [{provide: CdkCellDef, useExisting: MatCellDef}]\n})\nexport class MatCellDef extends CdkCellDef {}\n\n/**\n * Header cell definition for the mat-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matHeaderCellDef]',\n providers: [{provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef}]\n})\nexport class MatHeaderCellDef extends CdkHeaderCellDef {}\n\n/**\n * Footer cell definition for the mat-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matFooterCellDef]',\n providers: [{provide: CdkFooterCellDef, useExisting: MatFooterCellDef}]\n})\nexport class MatFooterCellDef extends CdkFooterCellDef {}\n\n// TODO(devversion): workaround for https://github.com/angular/material2/issues/12760\n(MatCellDef as any)['ctorParameters'] = () => (CdkCellDef as any)['ctorParameters'];\n(MatHeaderCellDef as any)['ctorParameters'] = () => (CdkHeaderCellDef as any)['ctorParameters'];\n(MatFooterCellDef as any)['ctorParameters'] = () => (MatFooterCellDef as any)['ctorParameters'];\n\n/**\n * Column definition for the mat-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[matColumnDef]',\n providers: [\n {provide: CdkColumnDef, useExisting: MatColumnDef},\n {provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: MatColumnDef}\n ],\n})\nexport class MatColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('matColumnDef') name: string;\n\n /** Whether this column should be sticky positioned at the start of the row */\n @Input() sticky: boolean;\n\n /** Whether this column should be sticky positioned on the end of the row */\n @Input() stickyEnd: boolean;\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-header-cell, th[mat-header-cell]',\n host: {\n 'class': 'mat-header-cell',\n 'role': 'columnheader',\n },\n})\nexport class MatHeaderCell extends CdkHeaderCell {\n constructor(columnDef: CdkColumnDef,\n elementRef: ElementRef<HTMLElement>) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`mat-column-${columnDef.cssClassFriendlyName}`);\n }\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-footer-cell, td[mat-footer-cell]',\n host: {\n 'class': 'mat-footer-cell',\n 'role': 'gridcell',\n },\n})\nexport class MatFooterCell extends CdkFooterCell {\n constructor(columnDef: CdkColumnDef,\n elementRef: ElementRef) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`mat-column-${columnDef.cssClassFriendlyName}`);\n }\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-cell, td[mat-cell]',\n host: {\n 'class': 'mat-cell',\n 'role': 'gridcell',\n },\n})\nexport class MatCell extends CdkCell {\n constructor(columnDef: CdkColumnDef,\n elementRef: ElementRef<HTMLElement>) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`mat-column-${columnDef.cssClassFriendlyName}`);\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 {CDK_TABLE_TEMPLATE, CdkTable} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-table, table[mat-table]',\n exportAs: 'matTable',\n template: CDK_TABLE_TEMPLATE,\n styleUrls: ['table.css'],\n host: {\n 'class': 'mat-table',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatTable<T> extends CdkTable<T> {\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected stickyCssClass = 'mat-table-sticky';\n}\n\n// TODO(devversion): workaround for https://github.com/angular/material2/issues/12760\n(MatTable as any)['ctorParameters'] = () => (CdkTable as any)['ctorParameters'];\n"],"names":["observableOf"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/lib/table/table-data-source.ts","../../../src/lib/table/table-module.ts","../../../src/lib/table/row.ts","../../../src/lib/table/cell.ts","../../../src/lib/table/table.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 {_isNumberValue} from '@angular/cdk/coercion';\nimport {DataSource} from '@angular/cdk/table';\nimport {\n BehaviorSubject,\n combineLatest,\n merge,\n Observable,\n of as observableOf,\n Subscription\n} from 'rxjs';\nimport {MatPaginator, PageEvent} from '@angular/material/paginator';\nimport {MatSort, Sort} from '@angular/material/sort';\nimport {map} from 'rxjs/operators';\n\n/**\n * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to\n * flaky browser support and the value not being defined in Closure's typings.\n */\nconst MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Data source that accepts a client-side data array and includes native support of filtering,\n * sorting (using MatSort), and pagination (using MatPaginator).\n *\n * Allows for sort customization by overriding sortingDataAccessor, which defines how data\n * properties are accessed. Also allows for filter customization by overriding filterTermAccessor,\n * which defines how row data is converted to a string for filter matching.\n */\nexport class MatTableDataSource<T> extends DataSource<T> {\n /** Stream that emits when a new data array is set on the data source. */\n private readonly _data: BehaviorSubject<T[]>;\n\n /** Stream emitting render data to the table (depends on ordered data changes). */\n private readonly _renderData = new BehaviorSubject<T[]>([]);\n\n /** Stream that emits when a new filter string is set on the data source. */\n private readonly _filter = new BehaviorSubject<string>('');\n\n /**\n * Subscription to the changes that should trigger an update to the table's rendered rows, such\n * as filtering, sorting, pagination, or base data changes.\n */\n _renderChangesSubscription = Subscription.EMPTY;\n\n /**\n * The filtered set of data that has been matched by the filter string, or all the data if there\n * is no filter. Useful for knowing the set of data the table represents.\n * For example, a 'selectAll()' function would likely want to select the set of filtered data\n * shown to the user rather than all the data.\n */\n filteredData: T[];\n\n /** Array of data that should be rendered by the table, where each object represents one row. */\n get data() { return this._data.value; }\n set data(data: T[]) { this._data.next(data); }\n\n /**\n * Filter term that should be used to filter out objects from the data array. To override how\n * data objects match to this filter string, provide a custom function for filterPredicate.\n */\n get filter(): string { return this._filter.value; }\n set filter(filter: string) { this._filter.next(filter); }\n\n /**\n * Instance of the MatSort directive used by the table to control its sorting. Sort changes\n * emitted by the MatSort will trigger an update to the table's rendered data.\n */\n get sort(): MatSort | null { return this._sort; }\n set sort(sort: MatSort|null) {\n this._sort = sort;\n this._updateChangeSubscription();\n }\n private _sort: MatSort|null;\n\n /**\n * Instance of the MatPaginator component used by the table to control what page of the data is\n * displayed. Page changes emitted by the MatPaginator will trigger an update to the\n * table's rendered data.\n *\n * Note that the data source uses the paginator's properties to calculate which page of data\n * should be displayed. If the paginator receives its properties as template inputs,\n * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the paginator's view has been\n * initialized before assigning it to this data source.\n */\n get paginator(): MatPaginator | null { return this._paginator; }\n set paginator(paginator: MatPaginator|null) {\n this._paginator = paginator;\n this._updateChangeSubscription();\n }\n private _paginator: MatPaginator|null;\n\n /**\n * Data accessor function that is used for accessing data properties for sorting through\n * the default sortData function.\n * This default function assumes that the sort header IDs (which defaults to the column name)\n * matches the data's properties (e.g. column Xyz represents data['Xyz']).\n * May be set to a custom function for different behavior.\n * @param data Data object that is being accessed.\n * @param sortHeaderId The name of the column that represents the data.\n */\n sortingDataAccessor: ((data: T, sortHeaderId: string) => string|number) =\n (data: T, sortHeaderId: string): string|number => {\n const value = (data as {[key: string]: any})[sortHeaderId];\n\n if (_isNumberValue(value)) {\n const numberValue = Number(value);\n\n // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we\n // leave them as strings. For more info: https://goo.gl/y5vbSg\n return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n }\n\n return value;\n }\n\n /**\n * Gets a sorted copy of the data array based on the state of the MatSort. Called\n * after changes are made to the filtered data or when sort changes are emitted from MatSort.\n * By default, the function retrieves the active sort and its direction and compares data\n * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation\n * of data ordering.\n * @param data The array of data that should be sorted.\n * @param sort The connected MatSort that holds the current sort state.\n */\n sortData: ((data: T[], sort: MatSort) => T[]) = (data: T[], sort: MatSort): T[] => {\n const active = sort.active;\n const direction = sort.direction;\n if (!active || direction == '') { return data; }\n\n return data.sort((a, b) => {\n let valueA = this.sortingDataAccessor(a, active);\n let valueB = this.sortingDataAccessor(b, active);\n\n // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // one value exists while the other doesn't. In this case, existing value should come first.\n // This avoids inconsistent results when comparing values to undefined/null.\n // If neither value exists, return 0 (equal).\n let comparatorResult = 0;\n if (valueA != null && valueB != null) {\n // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n if (valueA > valueB) {\n comparatorResult = 1;\n } else if (valueA < valueB) {\n comparatorResult = -1;\n }\n } else if (valueA != null) {\n comparatorResult = 1;\n } else if (valueB != null) {\n comparatorResult = -1;\n }\n\n return comparatorResult * (direction == 'asc' ? 1 : -1);\n });\n }\n\n /**\n * Checks if a data object matches the data source's filter string. By default, each data object\n * is converted to a string of its properties and returns true if the filter has\n * at least one occurrence in that string. By default, the filter string has its whitespace\n * trimmed and the match is case-insensitive. May be overridden for a custom implementation of\n * filter matching.\n * @param data Data object used to check against the filter.\n * @param filter Filter string that has been set on the data source.\n * @returns Whether the filter matches against the data\n */\n filterPredicate: ((data: T, filter: string) => boolean) = (data: T, filter: string): boolean => {\n // Transform the data into a lowercase string of all property values.\n const dataStr = Object.keys(data).reduce((currentTerm: string, key: string) => {\n // Use an obscure Unicode character to delimit the words in the concatenated string.\n // This avoids matches where the values of two columns combined will match the user's query\n // (e.g. `Flute` and `Stop` will match `Test`). The character is intended to be something\n // that has a very low chance of being typed in by somebody in a text field. This one in\n // particular is \"White up-pointing triangle with dot\" from\n // https://en.wikipedia.org/wiki/List_of_Unicode_characters\n return currentTerm + (data as {[key: string]: any})[key] + '◬';\n }, '').toLowerCase();\n\n // Transform the filter by converting it to lowercase and removing whitespace.\n const transformedFilter = filter.trim().toLowerCase();\n\n return dataStr.indexOf(transformedFilter) != -1;\n }\n\n constructor(initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n this._updateChangeSubscription();\n }\n\n /**\n * Subscribe to changes that should trigger an update to the table's rendered rows. When the\n * changes occur, process the current state of the filter, sort, and pagination along with\n * the provided base data and send it to the table for rendering.\n */\n _updateChangeSubscription() {\n // Sorting and/or pagination should be watched if MatSort and/or MatPaginator are provided.\n // The events should emit whenever the component emits a change or initializes, or if no\n // component is provided, a stream with just a null event should be provided.\n // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the\n // pipeline can progress to the next step. Note that the value from these streams are not used,\n // they purely act as a signal to progress in the pipeline.\n const sortChange: Observable<Sort|null|void> = this._sort ?\n merge<Sort|void>(this._sort.sortChange, this._sort.initialized) :\n observableOf(null);\n const pageChange: Observable<PageEvent|null|void> = this._paginator ?\n merge<PageEvent|void>(this._paginator.page, this._paginator.initialized) :\n observableOf(null);\n\n const dataStream = this._data;\n // Watch for base data or filter changes to provide a filtered set of data.\n const filteredData = combineLatest(dataStream, this._filter)\n .pipe(map(([data]) => this._filterData(data)));\n // Watch for filtered data or sort changes to provide an ordered set of data.\n const orderedData = combineLatest(filteredData, sortChange)\n .pipe(map(([data]) => this._orderData(data)));\n // Watch for ordered data or page changes to provide a paged set of data.\n const paginatedData = combineLatest(orderedData, pageChange)\n .pipe(map(([data]) => this._pageData(data)));\n // Watched for paged data changes and send the result to the table to render.\n this._renderChangesSubscription.unsubscribe();\n this._renderChangesSubscription = paginatedData.subscribe(data => this._renderData.next(data));\n }\n\n /**\n * Returns a filtered data array where each filter object contains the filter string within\n * the result of the filterTermAccessor function. If no filter is set, returns the data array\n * as provided.\n */\n _filterData(data: T[]) {\n // If there is a filter string, filter out data that does not contain it.\n // Each data object is converted to a string using the function defined by filterTermAccessor.\n // May be overridden for customization.\n this.filteredData =\n !this.filter ? data : data.filter(obj => this.filterPredicate(obj, this.filter));\n\n if (this.paginator) { this._updatePaginator(this.filteredData.length); }\n\n return this.filteredData;\n }\n\n /**\n * Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the\n * data array as provided. Uses the default data accessor for data lookup, unless a\n * sortDataAccessor function is defined.\n */\n _orderData(data: T[]): T[] {\n // If there is no active sort or direction, return the data without trying to sort.\n if (!this.sort) { return data; }\n\n return this.sortData(data.slice(), this.sort);\n }\n\n /**\n * Returns a paged splice of the provided data array according to the provided MatPaginator's page\n * index and length. If there is no paginator provided, returns the data array as provided.\n */\n _pageData(data: T[]): T[] {\n if (!this.paginator) { return data; }\n\n const startIndex = this.paginator.pageIndex * this.paginator.pageSize;\n return data.slice().splice(startIndex, this.paginator.pageSize);\n }\n\n /**\n * Updates the paginator to reflect the length of the filtered data, and makes sure that the page\n * index does not exceed the paginator's last page. Values are changed in a resolved promise to\n * guard against making property changes within a round of change detection.\n */\n _updatePaginator(filteredDataLength: number) {\n Promise.resolve().then(() => {\n if (!this.paginator) { return; }\n\n this.paginator.length = filteredDataLength;\n\n // If the page index is set beyond the page, reduce it to the last page.\n if (this.paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(this.paginator.length / this.paginator.pageSize) - 1 || 0;\n this.paginator.pageIndex = Math.min(this.paginator.pageIndex, lastPageIndex);\n }\n });\n }\n\n /**\n * Used by the MatTable. Called when it connects to the data source.\n * @docs-private\n */\n connect() { return this._renderData; }\n\n /**\n * Used by the MatTable. Called when it is destroyed. No-op.\n * @docs-private\n */\n disconnect() { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatTable} from './table';\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {\n MatCell,\n MatCellDef,\n MatColumnDef,\n MatFooterCell,\n MatFooterCellDef,\n MatHeaderCell,\n MatHeaderCellDef\n} from './cell';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRow,\n MatHeaderRowDef,\n MatRow,\n MatRowDef\n} from './row';\nimport {CommonModule} from '@angular/common';\nimport {MatCommonModule} from '@angular/material/core';\n\nconst EXPORTED_DECLARATIONS = [\n // Table\n MatTable,\n\n // Template defs\n MatHeaderCellDef,\n MatHeaderRowDef,\n MatColumnDef,\n MatCellDef,\n MatRowDef,\n MatFooterCellDef,\n MatFooterRowDef,\n\n // Cell directives\n MatHeaderCell,\n MatCell,\n MatFooterCell,\n\n // Row directions\n MatHeaderRow,\n MatRow,\n MatFooterRow,\n];\n\n@NgModule({\n imports: [CdkTableModule, CommonModule, MatCommonModule],\n exports: EXPORTED_DECLARATIONS,\n declarations: EXPORTED_DECLARATIONS,\n})\nexport class MatTableModule {}\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 ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n CDK_ROW_TEMPLATE, CdkFooterRow, CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkRow,\n CdkRowDef,\n} from '@angular/cdk/table';\n\n/**\n * Header row definition for the mat-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[matHeaderRowDef]',\n providers: [{provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef}],\n inputs: ['columns: matHeaderRowDef', 'sticky: matHeaderRowDefSticky'],\n})\nexport class MatHeaderRowDef extends CdkHeaderRowDef {}\n\n/**\n * Footer row definition for the mat-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[matFooterRowDef]',\n providers: [{provide: CdkFooterRowDef, useExisting: MatFooterRowDef}],\n inputs: ['columns: matFooterRowDef', 'sticky: matFooterRowDefSticky'],\n})\nexport class MatFooterRowDef extends CdkFooterRowDef {}\n\n/**\n * Data row definition for the mat-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[matRowDef]',\n providers: [{provide: CdkRowDef, useExisting: MatRowDef}],\n inputs: ['columns: matRowDefColumns', 'when: matRowDefWhen'],\n})\nexport class MatRowDef<T> extends CdkRowDef<T> {}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n moduleId: module.id,\n selector: 'mat-header-row, tr[mat-header-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-header-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matHeaderRow',\n providers: [{provide: CdkHeaderRow, useExisting: MatHeaderRow}],\n})\nexport class MatHeaderRow extends CdkHeaderRow { }\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n moduleId: module.id,\n selector: 'mat-footer-row, tr[mat-footer-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-footer-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matFooterRow',\n providers: [{provide: CdkFooterRow, useExisting: MatFooterRow}],\n})\nexport class MatFooterRow extends CdkFooterRow { }\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n moduleId: module.id,\n selector: 'mat-row, tr[mat-row]',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'mat-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRow',\n providers: [{provide: CdkRow, useExisting: MatRow}],\n})\nexport class MatRow extends CdkRow { }\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 {Directive, ElementRef, Input} from '@angular/core';\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef, CdkFooterCell, CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\n\n/**\n * Cell definition for the mat-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[matCellDef]',\n providers: [{provide: CdkCellDef, useExisting: MatCellDef}]\n})\nexport class MatCellDef extends CdkCellDef {}\n\n/**\n * Header cell definition for the mat-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matHeaderCellDef]',\n providers: [{provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef}]\n})\nexport class MatHeaderCellDef extends CdkHeaderCellDef {}\n\n/**\n * Footer cell definition for the mat-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matFooterCellDef]',\n providers: [{provide: CdkFooterCellDef, useExisting: MatFooterCellDef}]\n})\nexport class MatFooterCellDef extends CdkFooterCellDef {}\n\n/**\n * Column definition for the mat-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[matColumnDef]',\n providers: [\n {provide: CdkColumnDef, useExisting: MatColumnDef},\n {provide: 'MAT_SORT_HEADER_COLUMN_DEF', useExisting: MatColumnDef}\n ],\n})\nexport class MatColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('matColumnDef') name: string;\n\n /** Whether this column should be sticky positioned at the start of the row */\n @Input() sticky: boolean;\n\n /** Whether this column should be sticky positioned on the end of the row */\n @Input() stickyEnd: boolean;\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-header-cell, th[mat-header-cell]',\n host: {\n 'class': 'mat-header-cell',\n 'role': 'columnheader',\n },\n})\nexport class MatHeaderCell extends CdkHeaderCell {\n constructor(columnDef: CdkColumnDef,\n elementRef: ElementRef<HTMLElement>) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`mat-column-${columnDef.cssClassFriendlyName}`);\n }\n}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-footer-cell, td[mat-footer-cell]',\n host: {\n 'class': 'mat-footer-cell',\n 'role': 'gridcell',\n },\n})\nexport class MatFooterCell extends CdkFooterCell {\n constructor(columnDef: CdkColumnDef,\n elementRef: ElementRef) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`mat-column-${columnDef.cssClassFriendlyName}`);\n }\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-cell, td[mat-cell]',\n host: {\n 'class': 'mat-cell',\n 'role': 'gridcell',\n },\n})\nexport class MatCell extends CdkCell {\n constructor(columnDef: CdkColumnDef,\n elementRef: ElementRef<HTMLElement>) {\n super(columnDef, elementRef);\n elementRef.nativeElement.classList.add(`mat-column-${columnDef.cssClassFriendlyName}`);\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 {CDK_TABLE_TEMPLATE, CdkTable} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\n@Component({\n moduleId: module.id,\n selector: 'mat-table, table[mat-table]',\n exportAs: 'matTable',\n template: CDK_TABLE_TEMPLATE,\n styleUrls: ['table.css'],\n host: {\n 'class': 'mat-table',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatTable<T> extends CdkTable<T> {\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected stickyCssClass = 'mat-table-sticky';\n}\n"],"names":["observableOf"],"mappings":"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"}
|
package/esm2015/tabs.js
CHANGED
|
@@ -22,11 +22,12 @@ import { CommonModule } from '@angular/common';
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* @fileoverview added by tsickle
|
|
25
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
25
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
26
26
|
*/
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
28
|
* Injection token for the MatInkBar's Positioner.
|
|
29
|
-
|
|
29
|
+
* @type {?}
|
|
30
|
+
*/
|
|
30
31
|
const _MAT_INK_BAR_POSITIONER = new InjectionToken('MatInkBarPositioner', {
|
|
31
32
|
providedIn: 'root',
|
|
32
33
|
factory: _MAT_INK_BAR_POSITIONER_FACTORY
|
|
@@ -92,6 +93,7 @@ class MatInkBar {
|
|
|
92
93
|
}
|
|
93
94
|
/**
|
|
94
95
|
* Sets the proper styles to the ink bar element.
|
|
96
|
+
* @private
|
|
95
97
|
* @param {?} element
|
|
96
98
|
* @return {?}
|
|
97
99
|
*/
|
|
@@ -121,7 +123,7 @@ MatInkBar.ctorParameters = () => [
|
|
|
121
123
|
|
|
122
124
|
/**
|
|
123
125
|
* @fileoverview added by tsickle
|
|
124
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
126
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
125
127
|
*/
|
|
126
128
|
/**
|
|
127
129
|
* Decorates the `ng-template` tags and reads out the template from it.
|
|
@@ -144,7 +146,7 @@ MatTabContent.ctorParameters = () => [
|
|
|
144
146
|
|
|
145
147
|
/**
|
|
146
148
|
* @fileoverview added by tsickle
|
|
147
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
149
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
148
150
|
*/
|
|
149
151
|
/**
|
|
150
152
|
* Used to flag tab labels for use with the portal directive
|
|
@@ -156,13 +158,12 @@ MatTabLabel.decorators = [
|
|
|
156
158
|
selector: '[mat-tab-label], [matTabLabel]',
|
|
157
159
|
},] },
|
|
158
160
|
];
|
|
159
|
-
// TODO(devversion): workaround for https://github.com/angular/material2/issues/12760
|
|
160
|
-
(/** @type {?} */ (MatTabLabel))['ctorParameters'] = () => (/** @type {?} */ (CdkPortal))['ctorParameters'];
|
|
161
161
|
|
|
162
162
|
/**
|
|
163
163
|
* @fileoverview added by tsickle
|
|
164
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
164
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
165
165
|
*/
|
|
166
|
+
// Boilerplate for applying mixins to MatTab.
|
|
166
167
|
/**
|
|
167
168
|
* \@docs-private
|
|
168
169
|
*/
|
|
@@ -257,14 +258,17 @@ MatTab.propDecorators = {
|
|
|
257
258
|
|
|
258
259
|
/**
|
|
259
260
|
* @fileoverview added by tsickle
|
|
260
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
261
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
261
262
|
*/
|
|
262
|
-
/**
|
|
263
|
+
/**
|
|
263
264
|
* Animations used by the Material tabs.
|
|
264
265
|
* \@docs-private
|
|
265
|
-
|
|
266
|
+
* @type {?}
|
|
267
|
+
*/
|
|
266
268
|
const matTabsAnimations = {
|
|
267
|
-
/**
|
|
269
|
+
/**
|
|
270
|
+
* Animation translates a tab along the X axis.
|
|
271
|
+
*/
|
|
268
272
|
translateTab: trigger('translateTab', [
|
|
269
273
|
// Note: transitions to `none` instead of 0, because some browsers might blur the content.
|
|
270
274
|
state('center, void, left-origin-center, right-origin-center', style({ transform: 'none' })),
|
|
@@ -274,21 +278,21 @@ const matTabsAnimations = {
|
|
|
274
278
|
// not have a static height and is not rendered. See related issue: #9465
|
|
275
279
|
state('left', style({ transform: 'translate3d(-100%, 0, 0)', minHeight: '1px' })),
|
|
276
280
|
state('right', style({ transform: 'translate3d(100%, 0, 0)', minHeight: '1px' })),
|
|
277
|
-
transition('* => left, * => right, left => center, right => center', animate('
|
|
281
|
+
transition('* => left, * => right, left => center, right => center', animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')),
|
|
278
282
|
transition('void => left-origin-center', [
|
|
279
283
|
style({ transform: 'translate3d(-100%, 0, 0)' }),
|
|
280
|
-
animate('
|
|
284
|
+
animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
|
|
281
285
|
]),
|
|
282
286
|
transition('void => right-origin-center', [
|
|
283
287
|
style({ transform: 'translate3d(100%, 0, 0)' }),
|
|
284
|
-
animate('
|
|
288
|
+
animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)')
|
|
285
289
|
])
|
|
286
290
|
])
|
|
287
291
|
};
|
|
288
292
|
|
|
289
293
|
/**
|
|
290
294
|
* @fileoverview added by tsickle
|
|
291
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
295
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
292
296
|
*/
|
|
293
297
|
/**
|
|
294
298
|
* The portal host directive for the contents of the tab.
|
|
@@ -360,9 +364,10 @@ class MatTabBody {
|
|
|
360
364
|
* @param {?} _dir
|
|
361
365
|
* @param {?=} changeDetectorRef
|
|
362
366
|
*/
|
|
363
|
-
constructor(_elementRef, _dir,
|
|
364
|
-
|
|
365
|
-
|
|
367
|
+
constructor(_elementRef, _dir,
|
|
368
|
+
/**
|
|
369
|
+
* @breaking-change 8.0.0 changeDetectorRef to be made required.
|
|
370
|
+
*/
|
|
366
371
|
changeDetectorRef) {
|
|
367
372
|
this._elementRef = _elementRef;
|
|
368
373
|
this._dir = _dir;
|
|
@@ -390,6 +395,12 @@ class MatTabBody {
|
|
|
390
395
|
* Event emitted when the tab completes its animation towards the center.
|
|
391
396
|
*/
|
|
392
397
|
this._onCentered = new EventEmitter(true);
|
|
398
|
+
// Note that the default value will always be overwritten by `MatTabBody`, but we need one
|
|
399
|
+
// anyway to prevent the animations module from throwing an error if the body is used on its own.
|
|
400
|
+
/**
|
|
401
|
+
* Duration for the tab's animation.
|
|
402
|
+
*/
|
|
403
|
+
this.animationDuration = '500ms';
|
|
393
404
|
if (this._dir && changeDetectorRef) {
|
|
394
405
|
this._dirChangeSubscription = this._dir.change.subscribe((dir) => {
|
|
395
406
|
this._computePositionAnimationState(dir);
|
|
@@ -467,6 +478,7 @@ class MatTabBody {
|
|
|
467
478
|
}
|
|
468
479
|
/**
|
|
469
480
|
* Computes the position state that will be used for the tab-body animation trigger.
|
|
481
|
+
* @private
|
|
470
482
|
* @param {?=} dir
|
|
471
483
|
* @return {?}
|
|
472
484
|
*/
|
|
@@ -484,6 +496,7 @@ class MatTabBody {
|
|
|
484
496
|
/**
|
|
485
497
|
* Computes the position state based on the specified origin position. This is used if the
|
|
486
498
|
* tab is becoming visible immediately after creation.
|
|
499
|
+
* @private
|
|
487
500
|
* @return {?}
|
|
488
501
|
*/
|
|
489
502
|
_computePositionFromOrigin() {
|
|
@@ -497,7 +510,7 @@ class MatTabBody {
|
|
|
497
510
|
}
|
|
498
511
|
MatTabBody.decorators = [
|
|
499
512
|
{ type: Component, args: [{selector: 'mat-tab-body',
|
|
500
|
-
template: "<div class=\"mat-tab-body-content\" #content [@translateTab]=\"_position\" (@translateTab.start)=\"_onTranslateTabStarted($event)\" (@translateTab.done)=\"_translateTabComplete.next($event)\"><ng-template matTabBodyHost></ng-template></div>",
|
|
513
|
+
template: "<div class=\"mat-tab-body-content\" #content [@translateTab]=\"{ value: _position, params: {animationDuration: animationDuration} }\" (@translateTab.start)=\"_onTranslateTabStarted($event)\" (@translateTab.done)=\"_translateTabComplete.next($event)\"><ng-template matTabBodyHost></ng-template></div>",
|
|
501
514
|
styles: [".mat-tab-body-content{height:100%;overflow:auto}.mat-tab-group-dynamic-height .mat-tab-body-content{overflow:hidden}"],
|
|
502
515
|
encapsulation: ViewEncapsulation.None,
|
|
503
516
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -521,13 +534,15 @@ MatTabBody.propDecorators = {
|
|
|
521
534
|
_portalHost: [{ type: ViewChild, args: [PortalHostDirective,] }],
|
|
522
535
|
_content: [{ type: Input, args: ['content',] }],
|
|
523
536
|
origin: [{ type: Input }],
|
|
537
|
+
animationDuration: [{ type: Input }],
|
|
524
538
|
position: [{ type: Input }]
|
|
525
539
|
};
|
|
526
540
|
|
|
527
541
|
/**
|
|
528
542
|
* @fileoverview added by tsickle
|
|
529
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
543
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
530
544
|
*/
|
|
545
|
+
// Boilerplate for applying mixins to MatTabLabelWrapper.
|
|
531
546
|
/**
|
|
532
547
|
* \@docs-private
|
|
533
548
|
*/
|
|
@@ -584,13 +599,15 @@ MatTabLabelWrapper.ctorParameters = () => [
|
|
|
584
599
|
|
|
585
600
|
/**
|
|
586
601
|
* @fileoverview added by tsickle
|
|
587
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
602
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
588
603
|
*/
|
|
589
|
-
/**
|
|
604
|
+
/**
|
|
590
605
|
* The distance in pixels that will be overshot when scrolling a tab label into view. This helps
|
|
591
606
|
* provide a small affordance to the label next to it.
|
|
592
|
-
|
|
607
|
+
* @type {?}
|
|
608
|
+
*/
|
|
593
609
|
const EXAGGERATED_OVERSCROLL = 60;
|
|
610
|
+
// Boilerplate for applying mixins to MatTabHeader.
|
|
594
611
|
/**
|
|
595
612
|
* \@docs-private
|
|
596
613
|
*/
|
|
@@ -677,7 +694,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
677
694
|
ngAfterContentChecked() {
|
|
678
695
|
// If the number of tab labels have changed, check if scrolling should be enabled
|
|
679
696
|
if (this._tabLabelCount != this._labelWrappers.length) {
|
|
680
|
-
this.
|
|
697
|
+
this.updatePagination();
|
|
681
698
|
this._tabLabelCount = this._labelWrappers.length;
|
|
682
699
|
this._changeDetectorRef.markForCheck();
|
|
683
700
|
}
|
|
@@ -732,7 +749,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
732
749
|
const resize = this._viewportRuler.change(150);
|
|
733
750
|
/** @type {?} */
|
|
734
751
|
const realign = () => {
|
|
735
|
-
this.
|
|
752
|
+
this.updatePagination();
|
|
736
753
|
this._alignInkBarToSelectedTab();
|
|
737
754
|
};
|
|
738
755
|
this._keyManager = new FocusKeyManager(this._labelWrappers)
|
|
@@ -769,21 +786,33 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
769
786
|
*/
|
|
770
787
|
_onContentChanges() {
|
|
771
788
|
/** @type {?} */
|
|
772
|
-
const
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
789
|
+
const textContent = this._elementRef.nativeElement.textContent;
|
|
790
|
+
// We need to diff the text content of the header, because the MutationObserver callback
|
|
791
|
+
// will fire even if the text content didn't change which is inefficient and is prone
|
|
792
|
+
// to infinite loops if a poorly constructed expression is passed in (see #14249).
|
|
793
|
+
if (textContent !== this._currentTextContent) {
|
|
794
|
+
this._currentTextContent = textContent;
|
|
795
|
+
/** @type {?} */
|
|
796
|
+
const zoneCallback = () => {
|
|
797
|
+
this.updatePagination();
|
|
798
|
+
this._alignInkBarToSelectedTab();
|
|
799
|
+
this._changeDetectorRef.markForCheck();
|
|
800
|
+
};
|
|
801
|
+
// The content observer runs outside the `NgZone` by default, which
|
|
802
|
+
// means that we need to bring the callback back in ourselves.
|
|
803
|
+
// @breaking-change 8.0.0 Remove null check for `_ngZone` once it's a required parameter.
|
|
804
|
+
this._ngZone ? this._ngZone.run(zoneCallback) : zoneCallback();
|
|
805
|
+
}
|
|
781
806
|
}
|
|
782
807
|
/**
|
|
783
|
-
*
|
|
808
|
+
* Updates the view whether pagination should be enabled or not.
|
|
809
|
+
*
|
|
810
|
+
* WARNING: Calling this method can be very costly in terms of performance. It should be called
|
|
811
|
+
* as infrequently as possible from outside of the Tabs component as it causes a reflow of the
|
|
812
|
+
* page.
|
|
784
813
|
* @return {?}
|
|
785
814
|
*/
|
|
786
|
-
|
|
815
|
+
updatePagination() {
|
|
787
816
|
this._checkPaginationEnabled();
|
|
788
817
|
this._checkScrollingControls();
|
|
789
818
|
this._updateTabScrollPosition();
|
|
@@ -793,7 +822,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
793
822
|
* @return {?}
|
|
794
823
|
*/
|
|
795
824
|
get focusIndex() {
|
|
796
|
-
return this._keyManager ? /** @type {?} */ (
|
|
825
|
+
return this._keyManager ? (/** @type {?} */ (this._keyManager.activeItemIndex)) : 0;
|
|
797
826
|
}
|
|
798
827
|
/**
|
|
799
828
|
* When the focus index is set, we must manually send focus to the correct label
|
|
@@ -832,6 +861,9 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
832
861
|
}
|
|
833
862
|
if (this._labelWrappers && this._labelWrappers.length) {
|
|
834
863
|
this._labelWrappers.toArray()[tabIndex].focus();
|
|
864
|
+
// Do not let the browser manage scrolling to focus the element, this will be handled
|
|
865
|
+
// by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
|
|
866
|
+
// should be the full width minus the offset width.
|
|
835
867
|
/** @type {?} */
|
|
836
868
|
const containerEl = this._tabListContainer.nativeElement;
|
|
837
869
|
/** @type {?} */
|
|
@@ -864,7 +896,13 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
864
896
|
// seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
|
|
865
897
|
// and ripples will exceed the boundaries of the visible tab bar.
|
|
866
898
|
// See: https://github.com/angular/material2/issues/10276
|
|
867
|
-
|
|
899
|
+
// We round the `transform` here, because transforms with sub-pixel precision cause some
|
|
900
|
+
// browsers to blur the content of the element.
|
|
901
|
+
this._tabList.nativeElement.style.transform = `translateX(${Math.round(translateX)}px)`;
|
|
902
|
+
// Setting the `transform` on IE will change the scroll offset of the parent, causing the
|
|
903
|
+
// position to be thrown off in some cases. We have to reset it ourselves to ensure that
|
|
904
|
+
// it doesn't get thrown off.
|
|
905
|
+
this._tabListContainer.nativeElement.scrollLeft = 0;
|
|
868
906
|
}
|
|
869
907
|
/**
|
|
870
908
|
* Sets the distance in pixels that the tab header should be transformed in the X-axis.
|
|
@@ -912,6 +950,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
912
950
|
if (!selectedLabel) {
|
|
913
951
|
return;
|
|
914
952
|
}
|
|
953
|
+
// The view length is the visible width of the tab labels.
|
|
915
954
|
/** @type {?} */
|
|
916
955
|
const viewLength = this._tabListContainer.nativeElement.offsetWidth;
|
|
917
956
|
/** @type {?} */
|
|
@@ -999,7 +1038,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
999
1038
|
const selectedLabelWrapper = this._labelWrappers && this._labelWrappers.length ?
|
|
1000
1039
|
this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement :
|
|
1001
1040
|
null;
|
|
1002
|
-
this._inkBar.alignToElement(/** @type {?} */ (
|
|
1041
|
+
this._inkBar.alignToElement((/** @type {?} */ (selectedLabelWrapper)));
|
|
1003
1042
|
}
|
|
1004
1043
|
}
|
|
1005
1044
|
MatTabHeader.decorators = [
|
|
@@ -1036,17 +1075,24 @@ MatTabHeader.propDecorators = {
|
|
|
1036
1075
|
|
|
1037
1076
|
/**
|
|
1038
1077
|
* @fileoverview added by tsickle
|
|
1039
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1078
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1040
1079
|
*/
|
|
1041
|
-
/**
|
|
1080
|
+
/**
|
|
1042
1081
|
* Used to generate unique ID's for each tab component
|
|
1043
|
-
|
|
1082
|
+
* @type {?}
|
|
1083
|
+
*/
|
|
1044
1084
|
let nextId = 0;
|
|
1045
1085
|
/**
|
|
1046
1086
|
* A simple change event emitted on focus or selection changes.
|
|
1047
1087
|
*/
|
|
1048
1088
|
class MatTabChangeEvent {
|
|
1049
1089
|
}
|
|
1090
|
+
/**
|
|
1091
|
+
* Injection token that can be used to provide the default options the tabs module.
|
|
1092
|
+
* @type {?}
|
|
1093
|
+
*/
|
|
1094
|
+
const MAT_TABS_CONFIG = new InjectionToken('MAT_TABS_CONFIG');
|
|
1095
|
+
// Boilerplate for applying mixins to MatTabGroup.
|
|
1050
1096
|
/**
|
|
1051
1097
|
* \@docs-private
|
|
1052
1098
|
*/
|
|
@@ -1069,8 +1115,9 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1069
1115
|
/**
|
|
1070
1116
|
* @param {?} elementRef
|
|
1071
1117
|
* @param {?} _changeDetectorRef
|
|
1118
|
+
* @param {?=} defaultConfig
|
|
1072
1119
|
*/
|
|
1073
|
-
constructor(elementRef, _changeDetectorRef) {
|
|
1120
|
+
constructor(elementRef, _changeDetectorRef, defaultConfig) {
|
|
1074
1121
|
super(elementRef);
|
|
1075
1122
|
this._changeDetectorRef = _changeDetectorRef;
|
|
1076
1123
|
/**
|
|
@@ -1112,6 +1159,8 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1112
1159
|
*/
|
|
1113
1160
|
this.selectedTabChange = new EventEmitter(true);
|
|
1114
1161
|
this._groupId = nextId++;
|
|
1162
|
+
this.animationDuration = defaultConfig && defaultConfig.animationDuration ?
|
|
1163
|
+
defaultConfig.animationDuration : '500ms';
|
|
1115
1164
|
}
|
|
1116
1165
|
/**
|
|
1117
1166
|
* Whether the tab group should grow to the size of the active tab.
|
|
@@ -1161,6 +1210,8 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1161
1210
|
* @return {?}
|
|
1162
1211
|
*/
|
|
1163
1212
|
ngAfterContentChecked() {
|
|
1213
|
+
// Don't clamp the `indexToSelect` immediately in the setter because it can happen that
|
|
1214
|
+
// the amount of tabs changes before the actual change detection runs.
|
|
1164
1215
|
/** @type {?} */
|
|
1165
1216
|
const indexToSelect = this._indexToSelect = this._clampTabIndex(this._indexToSelect);
|
|
1166
1217
|
// If there is a change in selected index, emit a change event. Should not trigger if
|
|
@@ -1247,6 +1298,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1247
1298
|
this.focusChange.emit(this._createChangeEvent(index));
|
|
1248
1299
|
}
|
|
1249
1300
|
/**
|
|
1301
|
+
* @private
|
|
1250
1302
|
* @param {?} index
|
|
1251
1303
|
* @return {?}
|
|
1252
1304
|
*/
|
|
@@ -1264,6 +1316,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1264
1316
|
* on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
|
|
1265
1317
|
* binding to be updated, we need to subscribe to changes in it and trigger change detection
|
|
1266
1318
|
* manually.
|
|
1319
|
+
* @private
|
|
1267
1320
|
* @return {?}
|
|
1268
1321
|
*/
|
|
1269
1322
|
_subscribeToTabLabels() {
|
|
@@ -1275,6 +1328,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1275
1328
|
}
|
|
1276
1329
|
/**
|
|
1277
1330
|
* Clamps the given index to the bounds of 0 and the tabs length.
|
|
1331
|
+
* @private
|
|
1278
1332
|
* @param {?} index
|
|
1279
1333
|
* @return {?}
|
|
1280
1334
|
*/
|
|
@@ -1358,7 +1412,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1358
1412
|
MatTabGroup.decorators = [
|
|
1359
1413
|
{ type: Component, args: [{selector: 'mat-tab-group',
|
|
1360
1414
|
exportAs: 'matTabGroup',
|
|
1361
|
-
template: "<mat-tab-header #tabHeader [selectedIndex]=\"selectedIndex\" [disableRipple]=\"disableRipple\" (indexFocused)=\"_focusChanged($event)\" (selectFocusedIndex)=\"selectedIndex = $event\"><div class=\"mat-tab-label\" role=\"tab\" matTabLabelWrapper mat-ripple cdkMonitorElementFocus *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabLabelId(i)\" [attr.tabIndex]=\"_getTabIndex(tab, i)\" [attr.aria-posinset]=\"i + 1\" [attr.aria-setsize]=\"_tabs.length\" [attr.aria-controls]=\"_getTabContentId(i)\" [attr.aria-selected]=\"selectedIndex == i\" [attr.aria-label]=\"tab.ariaLabel || null\" [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\" [class.mat-tab-label-active]=\"selectedIndex == i\" [disabled]=\"tab.disabled\" [matRippleDisabled]=\"tab.disabled || disableRipple\" (click)=\"_handleClick(tab, tabHeader, i)\"><div class=\"mat-tab-label-content\"><ng-template [ngIf]=\"tab.templateLabel\"><ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template></ng-template><ng-template [ngIf]=\"!tab.templateLabel\">{{tab.textLabel}}</ng-template></div></div></mat-tab-header><div class=\"mat-tab-body-wrapper\" #tabBodyWrapper><mat-tab-body role=\"tabpanel\" *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabContentId(i)\" [attr.aria-labelledby]=\"_getTabLabelId(i)\" [class.mat-tab-body-active]=\"selectedIndex == i\" [content]=\"tab.content\" [position]=\"tab.position\" [origin]=\"tab.origin\" (_onCentered)=\"_removeTabBodyWrapperHeight()\" (_onCentering)=\"_setTabBodyWrapperHeight($event)\"></mat-tab-body></div>",
|
|
1415
|
+
template: "<mat-tab-header #tabHeader [selectedIndex]=\"selectedIndex\" [disableRipple]=\"disableRipple\" (indexFocused)=\"_focusChanged($event)\" (selectFocusedIndex)=\"selectedIndex = $event\"><div class=\"mat-tab-label\" role=\"tab\" matTabLabelWrapper mat-ripple cdkMonitorElementFocus *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabLabelId(i)\" [attr.tabIndex]=\"_getTabIndex(tab, i)\" [attr.aria-posinset]=\"i + 1\" [attr.aria-setsize]=\"_tabs.length\" [attr.aria-controls]=\"_getTabContentId(i)\" [attr.aria-selected]=\"selectedIndex == i\" [attr.aria-label]=\"tab.ariaLabel || null\" [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\" [class.mat-tab-label-active]=\"selectedIndex == i\" [disabled]=\"tab.disabled\" [matRippleDisabled]=\"tab.disabled || disableRipple\" (click)=\"_handleClick(tab, tabHeader, i)\"><div class=\"mat-tab-label-content\"><ng-template [ngIf]=\"tab.templateLabel\"><ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template></ng-template><ng-template [ngIf]=\"!tab.templateLabel\">{{tab.textLabel}}</ng-template></div></div></mat-tab-header><div class=\"mat-tab-body-wrapper\" #tabBodyWrapper><mat-tab-body role=\"tabpanel\" *ngFor=\"let tab of _tabs; let i = index\" [id]=\"_getTabContentId(i)\" [attr.aria-labelledby]=\"_getTabLabelId(i)\" [class.mat-tab-body-active]=\"selectedIndex == i\" [content]=\"tab.content\" [position]=\"tab.position\" [origin]=\"tab.origin\" [animationDuration]=\"animationDuration\" (_onCentered)=\"_removeTabBodyWrapperHeight()\" (_onCentering)=\"_setTabBodyWrapperHeight($event)\"></mat-tab-body></div>",
|
|
1362
1416
|
styles: [".mat-tab-group{display:flex;flex-direction:column}.mat-tab-group.mat-tab-group-inverted-header{flex-direction:column-reverse}.mat-tab-label{height:48px;padding:0 24px;cursor:pointer;box-sizing:border-box;opacity:.6;min-width:160px;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;position:relative}.mat-tab-label:focus{outline:0}.mat-tab-label:focus:not(.mat-tab-disabled){opacity:1}@media screen and (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media screen and (-ms-high-contrast:active){.mat-tab-label.mat-tab-disabled{opacity:.5}}.mat-tab-label .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media screen and (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{padding:0 12px}}@media (max-width:959px){.mat-tab-label{padding:0 12px}}.mat-tab-group[mat-stretch-tabs]>.mat-tab-header .mat-tab-label{flex-basis:0;flex-grow:1}.mat-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height .5s cubic-bezier(.35,0,.25,1)}.mat-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;flex-basis:100%}.mat-tab-body.mat-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-tab-group.mat-tab-group-dynamic-height .mat-tab-body.mat-tab-body-active{overflow-y:hidden}"],
|
|
1363
1417
|
encapsulation: ViewEncapsulation.None,
|
|
1364
1418
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -1373,7 +1427,8 @@ MatTabGroup.decorators = [
|
|
|
1373
1427
|
/** @nocollapse */
|
|
1374
1428
|
MatTabGroup.ctorParameters = () => [
|
|
1375
1429
|
{ type: ElementRef },
|
|
1376
|
-
{ type: ChangeDetectorRef }
|
|
1430
|
+
{ type: ChangeDetectorRef },
|
|
1431
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_TABS_CONFIG,] }, { type: Optional }] }
|
|
1377
1432
|
];
|
|
1378
1433
|
MatTabGroup.propDecorators = {
|
|
1379
1434
|
_tabs: [{ type: ContentChildren, args: [MatTab,] }],
|
|
@@ -1382,6 +1437,7 @@ MatTabGroup.propDecorators = {
|
|
|
1382
1437
|
dynamicHeight: [{ type: Input }],
|
|
1383
1438
|
selectedIndex: [{ type: Input }],
|
|
1384
1439
|
headerPosition: [{ type: Input }],
|
|
1440
|
+
animationDuration: [{ type: Input }],
|
|
1385
1441
|
backgroundColor: [{ type: Input }],
|
|
1386
1442
|
selectedIndexChange: [{ type: Output }],
|
|
1387
1443
|
focusChange: [{ type: Output }],
|
|
@@ -1391,8 +1447,9 @@ MatTabGroup.propDecorators = {
|
|
|
1391
1447
|
|
|
1392
1448
|
/**
|
|
1393
1449
|
* @fileoverview added by tsickle
|
|
1394
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1450
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1395
1451
|
*/
|
|
1452
|
+
// Boilerplate for applying mixins to MatTabNav.
|
|
1396
1453
|
/**
|
|
1397
1454
|
* \@docs-private
|
|
1398
1455
|
*/
|
|
@@ -1529,6 +1586,7 @@ MatTabNav.propDecorators = {
|
|
|
1529
1586
|
_tabLinks: [{ type: ContentChildren, args: [forwardRef(() => MatTabLink), { descendants: true },] }],
|
|
1530
1587
|
backgroundColor: [{ type: Input }]
|
|
1531
1588
|
};
|
|
1589
|
+
// Boilerplate for applying mixins to MatTabLink.
|
|
1532
1590
|
class MatTabLinkBase {
|
|
1533
1591
|
}
|
|
1534
1592
|
/** @type {?} */
|
|
@@ -1644,7 +1702,7 @@ MatTabLink.propDecorators = {
|
|
|
1644
1702
|
|
|
1645
1703
|
/**
|
|
1646
1704
|
* @fileoverview added by tsickle
|
|
1647
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1705
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1648
1706
|
*/
|
|
1649
1707
|
class MatTabsModule {
|
|
1650
1708
|
}
|
|
@@ -1686,18 +1744,18 @@ MatTabsModule.decorators = [
|
|
|
1686
1744
|
|
|
1687
1745
|
/**
|
|
1688
1746
|
* @fileoverview added by tsickle
|
|
1689
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1747
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1690
1748
|
*/
|
|
1691
1749
|
|
|
1692
1750
|
/**
|
|
1693
1751
|
* @fileoverview added by tsickle
|
|
1694
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1752
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1695
1753
|
*/
|
|
1696
1754
|
|
|
1697
1755
|
/**
|
|
1698
1756
|
* @fileoverview added by tsickle
|
|
1699
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1757
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1700
1758
|
*/
|
|
1701
1759
|
|
|
1702
|
-
export { MatInkBar, _MAT_INK_BAR_POSITIONER, MatTabBody, MatTabBodyPortal, MatTabHeader, MatTabLabelWrapper, MatTab, MatTabLabel, MatTabNav, MatTabLink, MatTabContent, MatTabsModule, MatTabChangeEvent, MatTabGroupBase, _MatTabGroupMixinBase, MatTabGroup, matTabsAnimations, _MAT_INK_BAR_POSITIONER_FACTORY as ɵa23, MatTabBase as ɵf23, _MatTabMixinBase as ɵg23, MatTabHeaderBase as ɵb23, _MatTabHeaderMixinBase as ɵc23, MatTabLabelWrapperBase as ɵd23, _MatTabLabelWrapperMixinBase as ɵe23, MatTabLinkBase as ɵj23, MatTabNavBase as ɵh23, _MatTabLinkMixinBase as ɵk23, _MatTabNavMixinBase as ɵi23 };
|
|
1760
|
+
export { MatInkBar, _MAT_INK_BAR_POSITIONER, MatTabBody, MatTabBodyPortal, MatTabHeader, MatTabLabelWrapper, MatTab, MatTabLabel, MatTabNav, MatTabLink, MatTabContent, MatTabsModule, MatTabChangeEvent, MAT_TABS_CONFIG, MatTabGroupBase, _MatTabGroupMixinBase, MatTabGroup, matTabsAnimations, _MAT_INK_BAR_POSITIONER_FACTORY as ɵa23, MatTabBase as ɵf23, _MatTabMixinBase as ɵg23, MatTabHeaderBase as ɵb23, _MatTabHeaderMixinBase as ɵc23, MatTabLabelWrapperBase as ɵd23, _MatTabLabelWrapperMixinBase as ɵe23, MatTabLinkBase as ɵj23, MatTabNavBase as ɵh23, _MatTabLinkMixinBase as ɵk23, _MatTabNavMixinBase as ɵi23 };
|
|
1703
1761
|
//# sourceMappingURL=tabs.js.map
|