@angular/material 7.1.0 → 7.2.2
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/LICENSE +1 -1
- package/_theming.scss +50 -19
- package/autocomplete/typings/index.d.ts +0 -1
- package/autocomplete/typings/index.metadata.json +1 -1
- package/autocomplete/typings/public-api.d.ts +1 -0
- package/badge/typings/index.metadata.json +1 -1
- package/bottom-sheet/typings/bottom-sheet-ref.d.ts +2 -0
- package/bottom-sheet/typings/index.metadata.json +1 -1
- package/bundles/material-autocomplete.umd.js +139 -39
- 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 +67 -22
- 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 +45 -14
- 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 +21 -14
- 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 +3 -3
- package/bundles/material-card.umd.js.map +1 -1
- package/bundles/material-card.umd.min.js +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 +126 -38
- 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 +190 -127
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +1 -2
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +205 -42
- 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 +138 -40
- 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 +52 -26
- 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 +123 -34
- 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 +67 -16
- 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 +288 -78
- 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 +50 -22
- 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 +159 -26
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +2 -2
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +176 -70
- 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 +25 -8
- package/bundles/material-paginator.umd.js.map +1 -1
- package/bundles/material-paginator.umd.min.js.map +1 -1
- package/bundles/material-progress-bar.umd.js +32 -13
- 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 +30 -14
- package/bundles/material-progress-spinner.umd.js.map +1 -1
- package/bundles/material-progress-spinner.umd.min.js +1 -1
- package/bundles/material-progress-spinner.umd.min.js.map +1 -1
- package/bundles/material-radio.umd.js +38 -40
- package/bundles/material-radio.umd.js.map +1 -1
- package/bundles/material-radio.umd.min.js +1 -1
- package/bundles/material-radio.umd.min.js.map +1 -1
- package/bundles/material-select.umd.js +186 -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 +104 -25
- 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 +31 -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 +88 -20
- 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 +69 -20
- 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 +46 -24
- package/bundles/material-sort.umd.js.map +1 -1
- package/bundles/material-sort.umd.min.js +1 -1
- package/bundles/material-sort.umd.min.js.map +1 -1
- package/bundles/material-stepper.umd.js +29 -20
- 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 +48 -15
- package/bundles/material-table.umd.js.map +1 -1
- package/bundles/material-table.umd.min.js +1 -1
- package/bundles/material-table.umd.min.js.map +1 -1
- package/bundles/material-tabs.umd.js +162 -61
- 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 +14 -4
- package/bundles/material-toolbar.umd.js.map +1 -1
- package/bundles/material-toolbar.umd.min.js +1 -1
- package/bundles/material-toolbar.umd.min.js.map +1 -1
- package/bundles/material-tooltip.umd.js +62 -26
- package/bundles/material-tooltip.umd.js.map +1 -1
- package/bundles/material-tooltip.umd.min.js +1 -1
- package/bundles/material-tooltip.umd.min.js.map +1 -1
- package/bundles/material-tree.umd.js +25 -16
- 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 +2927 -995
- package/bundles/material.umd.js.map +1 -1
- package/bundles/material.umd.min.js +18 -18
- 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/card/typings/index.metadata.json +1 -1
- package/checkbox/typings/index.metadata.json +1 -1
- package/chips/typings/chip-list.d.ts +2 -2
- 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/core/typings/ripple/ripple.d.ts +1 -1
- package/datepicker/typings/calendar.d.ts +2 -2
- package/datepicker/typings/index.metadata.json +1 -1
- package/dialog/typings/index.metadata.json +1 -1
- package/esm2015/autocomplete.js +73 -36
- 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 +44 -23
- package/esm2015/bottom-sheet.js.map +1 -1
- package/esm2015/button-toggle.js +27 -11
- package/esm2015/button-toggle.js.map +1 -1
- package/esm2015/button.js +20 -15
- package/esm2015/button.js.map +1 -1
- package/esm2015/card.js +5 -5
- 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 -30
- package/esm2015/chips.js.map +1 -1
- package/esm2015/core.js +147 -128
- package/esm2015/core.js.map +1 -1
- package/esm2015/datepicker.js +103 -37
- package/esm2015/datepicker.js.map +1 -1
- package/esm2015/dialog.js +77 -40
- package/esm2015/dialog.js.map +1 -1
- package/esm2015/divider.js +4 -4
- package/esm2015/divider.js.map +1 -1
- package/esm2015/expansion.js +56 -29
- package/esm2015/expansion.js.map +1 -1
- package/esm2015/form-field.js +95 -35
- 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 +144 -67
- package/esm2015/icon.js.map +1 -1
- package/esm2015/input.js +44 -23
- package/esm2015/input.js.map +1 -1
- package/esm2015/list.js +118 -24
- package/esm2015/list.js.map +1 -1
- package/esm2015/material.js +13 -12
- package/esm2015/material.js.map +1 -1
- package/esm2015/menu.js +114 -67
- package/esm2015/menu.js.map +1 -1
- package/esm2015/paginator.js +17 -9
- package/esm2015/paginator.js.map +1 -1
- package/esm2015/progress-bar.js +26 -13
- 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 +22 -21
- package/esm2015/radio.js.map +1 -1
- package/esm2015/select.js +112 -50
- package/esm2015/select.js.map +1 -1
- package/esm2015/sidenav.js +75 -28
- package/esm2015/sidenav.js.map +1 -1
- package/esm2015/slide-toggle.js +23 -15
- package/esm2015/slide-toggle.js.map +1 -1
- package/esm2015/slider.js +51 -23
- package/esm2015/slider.js.map +1 -1
- package/esm2015/snack-bar.js +38 -21
- package/esm2015/snack-bar.js.map +1 -1
- package/esm2015/sort.js +47 -24
- package/esm2015/sort.js.map +1 -1
- package/esm2015/stepper.js +32 -23
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/table.js +51 -18
- package/esm2015/table.js.map +1 -1
- package/esm2015/tabs.js +112 -49
- package/esm2015/tabs.js.map +1 -1
- package/esm2015/toolbar.js +9 -5
- package/esm2015/toolbar.js.map +1 -1
- package/esm2015/tooltip.js +49 -28
- package/esm2015/tooltip.js.map +1 -1
- package/esm2015/tree.js +22 -17
- package/esm2015/tree.js.map +1 -1
- package/esm5/autocomplete.es5.js +141 -41
- 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 +68 -23
- package/esm5/bottom-sheet.es5.js.map +1 -1
- package/esm5/button-toggle.es5.js +46 -15
- package/esm5/button-toggle.es5.js.map +1 -1
- package/esm5/button.es5.js +23 -16
- package/esm5/button.es5.js.map +1 -1
- package/esm5/card.es5.js +5 -5
- 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 +129 -41
- package/esm5/chips.es5.js.map +1 -1
- package/esm5/core.es5.js +192 -129
- package/esm5/core.es5.js.map +1 -1
- package/esm5/datepicker.es5.js +207 -44
- package/esm5/datepicker.es5.js.map +1 -1
- package/esm5/dialog.es5.js +140 -42
- 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 +54 -29
- package/esm5/expansion.es5.js.map +1 -1
- package/esm5/form-field.es5.js +126 -37
- 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 +290 -80
- package/esm5/icon.es5.js.map +1 -1
- package/esm5/input.es5.js +52 -24
- package/esm5/input.es5.js.map +1 -1
- package/esm5/list.es5.js +161 -27
- package/esm5/list.es5.js.map +1 -1
- package/esm5/material.es5.js +13 -12
- package/esm5/material.es5.js.map +1 -1
- package/esm5/menu.es5.js +175 -69
- package/esm5/menu.es5.js.map +1 -1
- package/esm5/paginator.es5.js +27 -10
- package/esm5/paginator.es5.js.map +1 -1
- package/esm5/progress-bar.es5.js +33 -14
- 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 +42 -42
- package/esm5/radio.es5.js.map +1 -1
- package/esm5/select.es5.js +189 -52
- package/esm5/select.es5.js.map +1 -1
- package/esm5/sidenav.es5.js +107 -28
- package/esm5/sidenav.es5.js.map +1 -1
- package/esm5/slide-toggle.es5.js +32 -16
- package/esm5/slide-toggle.es5.js.map +1 -1
- package/esm5/slider.es5.js +91 -23
- package/esm5/slider.es5.js.map +1 -1
- package/esm5/snack-bar.es5.js +70 -21
- package/esm5/snack-bar.es5.js.map +1 -1
- package/esm5/sort.es5.js +53 -26
- package/esm5/sort.es5.js.map +1 -1
- package/esm5/stepper.es5.js +32 -23
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/table.es5.js +51 -18
- package/esm5/table.es5.js.map +1 -1
- package/esm5/tabs.es5.js +156 -55
- package/esm5/tabs.es5.js.map +1 -1
- package/esm5/toolbar.es5.js +16 -6
- package/esm5/toolbar.es5.js.map +1 -1
- package/esm5/tooltip.es5.js +64 -28
- package/esm5/tooltip.es5.js.map +1 -1
- package/esm5/tree.es5.js +27 -18
- package/esm5/tree.es5.js.map +1 -1
- package/expansion/typings/expansion-panel-header.d.ts +2 -2
- package/expansion/typings/expansion-panel.d.ts +19 -2
- package/expansion/typings/index.metadata.json +1 -1
- package/form-field/typings/form-field.d.ts +15 -4
- package/form-field/typings/index.metadata.json +1 -1
- package/form-field/typings/prefix.d.ts +1 -1
- package/grid-list/typings/index.d.ts +1 -1
- package/grid-list/typings/index.metadata.json +1 -1
- package/icon/typings/icon-registry.d.ts +3 -2
- package/icon/typings/index.metadata.json +1 -1
- package/list/typings/index.metadata.json +1 -1
- package/list/typings/list.d.ts +16 -5
- package/list/typings/selection-list.d.ts +1 -0
- package/material.d.ts +1 -1
- package/material.metadata.json +3 -3
- package/menu/typings/index.d.ts +4 -4
- package/menu/typings/index.metadata.json +1 -1
- package/menu/typings/menu-directive.d.ts +1 -0
- package/menu/typings/menu-item.d.ts +2 -0
- package/menu/typings/menu-trigger.d.ts +1 -1
- package/package.json +5 -5
- 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/radio/typings/index.metadata.json +1 -1
- package/radio/typings/radio.d.ts +2 -6
- 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/select/typings/select.d.ts +12 -2
- 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/slider/typings/index.metadata.json +1 -1
- package/snack-bar/typings/index.metadata.json +1 -1
- package/sort/typings/index.metadata.json +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/table/typings/index.metadata.json +1 -1
- package/table/typings/table-data-source.d.ts +2 -0
- package/tabs/typings/index.d.ts +5 -5
- package/tabs/typings/index.metadata.json +1 -1
- package/tabs/typings/tab-group.d.ts +2 -1
- package/tabs/typings/tab-header.d.ts +8 -4
- package/toolbar/typings/index.metadata.json +1 -1
- package/tooltip/typings/index.metadata.json +1 -1
- package/tooltip/typings/tooltip.d.ts +2 -1
- 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 +0 -1
- package/typings/autocomplete/index.metadata.json +1 -1
- package/typings/autocomplete/public-api.d.ts +1 -0
- package/typings/badge/index.metadata.json +1 -1
- package/typings/bottom-sheet/bottom-sheet-ref.d.ts +2 -0
- 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/card/index.metadata.json +1 -1
- package/typings/checkbox/index.metadata.json +1 -1
- package/typings/chips/chip-list.d.ts +2 -2
- 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/core/ripple/ripple.d.ts +1 -1
- package/typings/datepicker/calendar.d.ts +2 -2
- package/typings/datepicker/index.metadata.json +1 -1
- package/typings/dialog/index.metadata.json +1 -1
- package/typings/esm5/autocomplete/index.d.ts +0 -1
- package/typings/esm5/autocomplete/index.metadata.json +1 -1
- package/typings/esm5/autocomplete/public-api.d.ts +1 -0
- package/typings/esm5/badge/index.metadata.json +1 -1
- package/typings/esm5/bottom-sheet/bottom-sheet-ref.d.ts +2 -0
- 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/card/index.metadata.json +1 -1
- package/typings/esm5/checkbox/index.metadata.json +1 -1
- package/typings/esm5/chips/chip-list.d.ts +2 -2
- 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/core/ripple/ripple.d.ts +1 -1
- package/typings/esm5/datepicker/calendar.d.ts +2 -2
- package/typings/esm5/datepicker/index.metadata.json +1 -1
- package/typings/esm5/dialog/index.metadata.json +1 -1
- package/typings/esm5/expansion/expansion-panel-header.d.ts +2 -2
- package/typings/esm5/expansion/expansion-panel.d.ts +19 -2
- package/typings/esm5/expansion/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/form-field/prefix.d.ts +1 -1
- package/typings/esm5/grid-list/index.d.ts +1 -1
- package/typings/esm5/grid-list/index.metadata.json +1 -1
- package/typings/esm5/icon/icon-registry.d.ts +3 -2
- 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/list/list.d.ts +16 -5
- package/typings/esm5/list/selection-list.d.ts +1 -0
- package/typings/esm5/menu/index.d.ts +4 -4
- package/typings/esm5/menu/index.metadata.json +1 -1
- package/typings/esm5/menu/menu-directive.d.ts +1 -0
- package/typings/esm5/menu/menu-item.d.ts +2 -0
- package/typings/esm5/menu/menu-trigger.d.ts +1 -1
- package/typings/esm5/progress-bar/index.metadata.json +1 -1
- package/typings/esm5/radio/index.metadata.json +1 -1
- package/typings/esm5/radio/radio.d.ts +2 -6
- package/typings/esm5/select/index.metadata.json +1 -1
- package/typings/esm5/select/select.d.ts +12 -2
- 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/slider/index.metadata.json +1 -1
- package/typings/esm5/snack-bar/index.metadata.json +1 -1
- package/typings/esm5/sort/index.metadata.json +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/table/index.metadata.json +1 -1
- package/typings/esm5/table/table-data-source.d.ts +2 -0
- package/typings/esm5/tabs/index.d.ts +5 -5
- package/typings/esm5/tabs/index.metadata.json +1 -1
- package/typings/esm5/tabs/tab-group.d.ts +2 -1
- package/typings/esm5/tabs/tab-header.d.ts +8 -4
- package/typings/esm5/toolbar/index.metadata.json +1 -1
- package/typings/esm5/tooltip/index.metadata.json +1 -1
- package/typings/esm5/tooltip/tooltip.d.ts +2 -1
- package/typings/esm5/tree/data-source/flat-data-source.d.ts +2 -2
- package/typings/esm5/tree/index.metadata.json +1 -1
- package/typings/expansion/expansion-panel-header.d.ts +2 -2
- package/typings/expansion/expansion-panel.d.ts +19 -2
- package/typings/expansion/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/form-field/prefix.d.ts +1 -1
- package/typings/grid-list/index.d.ts +1 -1
- package/typings/grid-list/index.metadata.json +1 -1
- package/typings/icon/icon-registry.d.ts +3 -2
- 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/list/list.d.ts +16 -5
- package/typings/list/selection-list.d.ts +1 -0
- package/typings/menu/index.d.ts +4 -4
- package/typings/menu/index.metadata.json +1 -1
- package/typings/menu/menu-directive.d.ts +1 -0
- package/typings/menu/menu-item.d.ts +2 -0
- package/typings/menu/menu-trigger.d.ts +1 -1
- package/typings/progress-bar/index.metadata.json +1 -1
- package/typings/radio/index.metadata.json +1 -1
- package/typings/radio/radio.d.ts +2 -6
- 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/select/select.d.ts +12 -2
- 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/slider/index.metadata.json +1 -1
- package/typings/snack-bar/index.metadata.json +1 -1
- package/typings/sort/index.metadata.json +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/table/index.metadata.json +1 -1
- package/typings/table/table-data-source.d.ts +2 -0
- package/typings/tabs/index.d.ts +5 -5
- package/typings/tabs/index.metadata.json +1 -1
- package/typings/tabs/tab-group.d.ts +2 -1
- package/typings/tabs/tab-header.d.ts +8 -4
- package/typings/toolbar/index.metadata.json +1 -1
- package/typings/tooltip/index.metadata.json +1 -1
- package/typings/tooltip/tooltip.d.ts +2 -1
- 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/** 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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"}
|
|
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 Subject,\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 /** Used to react to internal changes of the paginator that are made by the data source itself. */\n private readonly _internalPageChanges = new Subject<void>();\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>(\n this._paginator.page, this._internalPageChanges, this._paginator.initialized) :\n observableOf(null);\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 const paginator = this.paginator;\n\n if (!paginator) { return; }\n\n paginator.length = filteredDataLength;\n\n // If the page index is set beyond the page, reduce it to the last page.\n if (paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;\n const newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);\n\n if (newPageIndex !== paginator.pageIndex) {\n paginator.pageIndex = newPageIndex;\n\n // Since the paginator only emits after user-generated changes,\n // we need our own stream so we know to should re-render the data.\n this._internalPageChanges.next();\n }\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":";;;;;;;;;;;;;;;;;;;;;;;AI0BA,AAAA,MAAa,QAAY,SAAQ,QAAW,CAA5C;IAZA,WAAA,GAAA;;;;;QAcY,IAAZ,CAAA,cAA0B,GAAG,kBAAkB,CAAC;KAC/C;;;IAfD,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,6BAAA;gBACE,QAAQ,EAAE,UAAZ;gBACE,QAAQ,EAAE,kBAAZ;gBACE,MAAF,EAAU,CAAV,6wDAAA,CAAA;gBACE,IAAF,EAAA;oBACA,OAAa,EAAb,WAA0B;iBAC1B;gBACA,aAAa,EAAb,iBAAA,CAAA,IAAA;gBACA,eAAA,EAAA,uBAAA,CAAA,MAAA;aACA,EAAA,EAAA;CACA,CAAA;;;;;;;;;;ADCA,AAAA,MAAa,UAAW,SAAQ,UAAU,CAA1C;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAC,CAAC;aAC5D,EAAD,EAAA;;;;;;AAWA,AAAA,MAAa,gBAAiB,SAAQ,gBAAgB,CAAtD;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC;aACxE,EAAD,EAAA;;;;;;AAWA,AAAA,MAAa,gBAAiB,SAAQ,gBAAgB,CAAtD;;;IAJA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC;aACxE,EAAD,EAAA;;;;;;AAcA,AAAA,MAAa,YAAa,SAAQ,YAAY,CAA9C;;;IAPA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE;oBACT,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAC;oBAClD,EAAC,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,YAAY,EAAC;iBACnE;aACF,EAAD,EAAA;;;IAGA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,IAAA,EAAA,CAAS,cAAc,EAAvB,EAAA,CAAA;IAGA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,CAAA;IAGA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,CAAA;;;;;AAWA,AAAA,MAAa,aAAc,SAAQ,aAAa,CAAhD;;;;;IACE,WAAF,CAAc,SAAuB,EACvB,UAAmC,EADjD;QAEI,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7B,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAA3C,WAAA,EAAyD,SAAS,CAAC,oBAAoB,CAAvF,CAAyF,CAAC,CAAC;KACxF;;;IAZH,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,sCAAsC;gBAChD,IAAI,EAAE;oBACJ,OAAO,EAAE,iBAAiB;oBAC1B,MAAM,EAAE,cAAc;iBACvB;aACF,EAAD,EAAA;;;;IAhEA,EAAA,IAAA,EAAE,YAAY,EAAd;IAJA,EAAA,IAAA,EAAmB,UAAU,EAA7B;;;;;AAqFA,AAAA,MAAa,aAAc,SAAQ,aAAa,CAAhD;;;;;IACE,WAAF,CAAc,SAAuB,EACvB,UAAsB,EADpC;QAEI,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7B,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAA3C,WAAA,EAAyD,SAAS,CAAC,oBAAoB,CAAvF,CAAyF,CAAC,CAAC;KACxF;;;IAZH,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,sCAAsC;gBAChD,IAAI,EAAE;oBACJ,OAAO,EAAE,iBAAiB;oBAC1B,MAAM,EAAE,UAAU;iBACnB;aACF,EAAD,EAAA;;;;IAhFA,EAAA,IAAA,EAAE,YAAY,EAAd;IAJA,EAAA,IAAA,EAAmB,UAAU,EAA7B;;;;;AAqGA,AAAA,MAAa,OAAQ,SAAQ,OAAO,CAApC;;;;;IACE,WAAF,CAAc,SAAuB,EACvB,UAAmC,EADjD;QAEI,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7B,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAA3C,WAAA,EAAyD,SAAS,CAAC,oBAAoB,CAAvF,CAAyF,CAAC,CAAC;KACxF;;;IAZH,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,IAAI,EAAE;oBACJ,OAAO,EAAE,UAAU;oBACnB,MAAM,EAAE,UAAU;iBACnB;aACF,EAAD,EAAA;;;;IAhGA,EAAA,IAAA,EAAE,YAAY,EAAd;IAJA,EAAA,IAAA,EAAmB,UAAU,EAA7B;;;;;;;;;;;ADuBA,AAAA,MAAa,eAAgB,SAAQ,eAAe,CAApD;;;IALA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAC,CAAC;gBACrE,MAAM,EAAE,CAAC,0BAA0B,EAAE,+BAA+B,CAAC;aACtE,EAAD,EAAA;;;;;;AAYA,AAAA,MAAa,eAAgB,SAAQ,eAAe,CAApD;;;IALA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAC,CAAC;gBACrE,MAAM,EAAE,CAAC,0BAA0B,EAAE,+BAA+B,CAAC;aACtE,EAAD,EAAA;;;;;;;;AAaA,AAAA,MAAa,SAAa,SAAQ,SAAY,CAA9C;;;IALA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;gBACT,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC;gBACzD,MAAM,EAAE,CAAC,2BAA2B,EAAE,qBAAqB,CAAC;aAC7D,EAAD,EAAA;;;;;AAiBA,AAAA,MAAa,YAAa,SAAQ,YAAY,CAA9C;;;IAbA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,oCAAA;gBACE,QAAQ,EAAE,gBAAZ;gBACE,IAAF,EAAA;oBACA,OAAA,EAAA,gBAAA;oBACM,MAAN,EAAA,KAAA;iBACA;gBACA,eAAA,EAAiB,uBAAjB,CAAA,MAAA;gBACA,aAAA,EAAA,iBAAA,CAAA,IAAA;gBACE,QAAF,EAAA,cAAA;gBACE,SAAF,EAAA,CAAA,EAAA,OAAA,EAAA,YAAA,EAAuC,WAAvC,EAAA,YAAA,EAAA,CAAA;aACA,EAAA,EAAA;CACA,CAAA;;;;;;AAkBA,YAAA,CAAa,UAAb,GAAA;;;gBAbA,IAAA,EAAA;oBACA,OAAA,EAAA,gBAAA;oBACA,MAAY,EAAZ,KAAA;iBACA;gBACE,eAAF,EAAA,uBAAA,CAAA,MAAA;gBACA,aAAa,EAAb,iBAAA,CAAA,IAAA;gBACA,QAAA,EAAU,cAAV;gBACA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,CAAA;aACA,EAAA,EAAA;CACA,CAAA;;;;;;;;gBAoBA,QAAA,EAAA,gBAAA;;;oBAbA,MAAA,EAAA,KAAA;iBACA;gBACE,eAAF,EAAA,uBAAA,CAAA,MAAA;gBACE,aAAF,EAAA,iBAAA,CAAA,IAAA;gBACE,QAAF,EAAA,QAAA;gBACA,SAAA,EAAW,CAAX,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA;aACA,EAAA,EAAA;CACA,CAAA;;;;;;;ADjEA,MAAM,qBAAqB,GAAG;;IAE5B,QAAQ;;IAGR,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,eAAe;;IAGf,aAAa;IACb,OAAO;IACP,aAAa;;IAGb,YAAY;IACZ,MAAM;IACN,YAAY;CACb,CAAD;AAOA,AAAA,MAAa,cAAc,CAA3B;;;IALA,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;gBACR,OAAO,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,eAAe,CAAC;gBACxD,OAAO,EAAE,qBAAqB;gBAC9B,YAAY,EAAE,qBAAqB;aACpC,EAAD,EAAA;;;;;;;;;;;;ADhCA,MAAM,gBAAgB,GAAG,gBAAgB,CAAzC;;;;;;;;;;AAUA,AAAA,MAAa,kBAAsB,SAAQ,UAAa,CAAxD;;;;IA8JE,WAAF,CAAc,WAAd,GAAiC,EAAE,EAAnC;QACI,KAAK,EAAE,CAAC;;;;QA1JO,IAAnB,CAAA,WAA8B,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC,CAAC;;;;QAG3C,IAAnB,CAAA,OAA0B,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;;;;QAG1C,IAAnB,CAAA,oBAAuC,GAAG,IAAI,OAAO,EAAQ,CAAC;;;;;QAM5D,IAAF,CAAA,0BAA4B,GAAG,YAAY,CAAC,KAAK,CAAC;;;;;;;;;;QA0DhD,IAAF,CAAA,mBAAqB,GACf,CAAC,IAAO,EAAE,YAAoB,KADpC;;YAEA,MAAU,KAAK,GAAG,oBAAC,IAAI,IAA0B,YAAY,CAAC,CAA9D;YAEI,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;;gBAC/B,MAAY,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAvC;;;gBAIM,OAAO,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,KAAK,CAAC;aAC7D;YAED,OAAO,KAAK,CAAC;SACd,CAAA;;;;;;;;;;QAWD,IAAF,CAAA,QAAU,GAAwC,CAAC,IAAS,EAAE,IAAa,KAA3E;;YACA,MAAU,MAAM,GAAG,IAAI,CAAC,MAAM,CAA9B;;YACA,MAAU,SAAS,GAAG,IAAI,CAAC,SAAS,CAApC;YACI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,EAAE,EAAE;gBAAE,OAAO,IAAI,CAAC;aAAE;YAEhD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAA1B;;gBACA,IAAU,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAtD;;gBACA,IAAU,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAtD;;;;;;gBAMA,IAAU,gBAAgB,GAAG,CAAC,CAA9B;gBACM,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;;oBAEpC,IAAI,MAAM,GAAG,MAAM,EAAE;wBACnB,gBAAgB,GAAG,CAAC,CAAC;qBACtB;yBAAM,IAAI,MAAM,GAAG,MAAM,EAAE;wBAC1B,gBAAgB,GAAG,CAAC,CAAC,CAAC;qBACvB;iBACF;qBAAM,IAAI,MAAM,IAAI,IAAI,EAAE;oBACzB,gBAAgB,GAAG,CAAC,CAAC;iBACtB;qBAAM,IAAI,MAAM,IAAI,IAAI,EAAE;oBACzB,gBAAgB,GAAG,CAAC,CAAC,CAAC;iBACvB;gBAED,OAAO,gBAAgB,IAAI,SAAS,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACzD,CAAC,CAAC;SACJ,CAAA;;;;;;;;;;;QAYD,IAAF,CAAA,eAAiB,GAA2C,CAAC,IAAO,EAAE,MAAc,KAApF;;;YAEA,MAAU,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,WAAmB,EAAE,GAAW,KAA9E;;;;;;;gBAOM,OAAO,WAAW,GAAG,oBAAC,IAAI,IAA0B,GAAG,CAAC,GAAG,GAAG,CAAC;aAChE,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAxB;;;YAGA,MAAU,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAzD;YAEI,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;SACjD,CAAA;QAIC,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAM,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC;;;;;IAtID,IAAI,IAAI,GAAV,EAAe,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;;;;;IACvC,IAAI,IAAI,CAAC,IAAS,EAApB,EAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;;;;;;IAM9C,IAAI,MAAM,GAAZ,EAAyB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;;;;IACnD,IAAI,MAAM,CAAC,MAAc,EAA3B,EAA+B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;;;;;;IAMzD,IAAI,IAAI,GAAV,EAA+B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;;;;;IACjD,IAAI,IAAI,CAAC,IAAkB,EAA7B;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC;;;;;;;;;;;;IAaD,IAAI,SAAS,GAAf,EAAyC,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;;;;;IAChE,IAAI,SAAS,CAAC,SAA4B,EAA5C;QACI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC;;;;;;;IA0GD,yBAAyB,GAA3B;;;;;;;;QAOA,MAAU,UAAU,GAA+B,IAAI,CAAC,KAAK;YACrD,KAAK,CAAY,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAC/DA,EAAY,CAAC,IAAI,CAAC,CAA1B;;QACA,MAAU,UAAU,GAAoC,IAAI,CAAC,UAAU;YAC/D,KAAK,CACH,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/EA,EAAY,CAAC,IAAI,CAAC,CAA1B;;QACA,MAAU,UAAU,GAAG,IAAI,CAAC,KAAK,CAAjC;;;QAEA,MAAU,YAAY,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC;aACzD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAApD;;;QAEA,MAAU,WAAW,GAAG,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAnD;;;QAEA,MAAU,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC;aACzD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAlD;;QAEI,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,0BAA0B,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAChG;;;;;;;;IAOD,WAAW,CAAC,IAAS,EAAvB;;;;QAII,IAAI,CAAC,YAAY;YACb,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAErF,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAAE;QAExE,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;;;;;;;;IAOD,UAAU,CAAC,IAAS,EAAtB;;QAEI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;SAAE;QAEhC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/C;;;;;;;IAMD,SAAS,CAAC,IAAS,EAArB;QACI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,IAAI,CAAC;SAAE;;QAEzC,MAAU,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAzE;QACI,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KACjE;;;;;;;;IAOD,gBAAgB,CAAC,kBAA0B,EAA7C;QACI,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAA3B;;YACA,MAAY,SAAS,GAAG,IAAI,CAAC,SAAS,CAAtC;YAEM,IAAI,CAAC,SAAS,EAAE;gBAAE,OAAO;aAAE;YAE3B,SAAS,CAAC,MAAM,GAAG,kBAAkB,CAAC;;YAGtC,IAAI,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE;;gBACnC,MAAc,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAvF;;gBACA,MAAc,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,CAAzE;gBAEQ,IAAI,YAAY,KAAK,SAAS,CAAC,SAAS,EAAE;oBACxC,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC;;;oBAInC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;iBAClC;aACF;SACF,CAAC,CAAC;KACJ;;;;;;IAMD,OAAO,GAAT,EAAc,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE;;;;;;IAMtC,UAAU,GAAZ,GAAkB;CACjB;;;;;;;;;;;;;;"}
|
package/esm2015/tabs.js
CHANGED
|
@@ -13,7 +13,7 @@ import { animate, state, style, transition, trigger } from '@angular/animations'
|
|
|
13
13
|
import { Directionality } from '@angular/cdk/bidi';
|
|
14
14
|
import { startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
15
15
|
import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
16
|
-
import { END, ENTER, HOME, SPACE } from '@angular/cdk/keycodes';
|
|
16
|
+
import { END, ENTER, HOME, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
17
17
|
import { ViewportRuler } from '@angular/cdk/scrolling';
|
|
18
18
|
import { FocusKeyManager, FocusMonitor, A11yModule } from '@angular/cdk/a11y';
|
|
19
19
|
import { Platform } from '@angular/cdk/platform';
|
|
@@ -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
|
|
@@ -159,8 +161,9 @@ MatTabLabel.decorators = [
|
|
|
159
161
|
|
|
160
162
|
/**
|
|
161
163
|
* @fileoverview added by tsickle
|
|
162
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
164
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
163
165
|
*/
|
|
166
|
+
// Boilerplate for applying mixins to MatTab.
|
|
164
167
|
/**
|
|
165
168
|
* \@docs-private
|
|
166
169
|
*/
|
|
@@ -255,14 +258,17 @@ MatTab.propDecorators = {
|
|
|
255
258
|
|
|
256
259
|
/**
|
|
257
260
|
* @fileoverview added by tsickle
|
|
258
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
261
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
259
262
|
*/
|
|
260
|
-
/**
|
|
263
|
+
/**
|
|
261
264
|
* Animations used by the Material tabs.
|
|
262
265
|
* \@docs-private
|
|
263
|
-
|
|
266
|
+
* @type {?}
|
|
267
|
+
*/
|
|
264
268
|
const matTabsAnimations = {
|
|
265
|
-
/**
|
|
269
|
+
/**
|
|
270
|
+
* Animation translates a tab along the X axis.
|
|
271
|
+
*/
|
|
266
272
|
translateTab: trigger('translateTab', [
|
|
267
273
|
// Note: transitions to `none` instead of 0, because some browsers might blur the content.
|
|
268
274
|
state('center, void, left-origin-center, right-origin-center', style({ transform: 'none' })),
|
|
@@ -286,7 +292,7 @@ const matTabsAnimations = {
|
|
|
286
292
|
|
|
287
293
|
/**
|
|
288
294
|
* @fileoverview added by tsickle
|
|
289
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
295
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
290
296
|
*/
|
|
291
297
|
/**
|
|
292
298
|
* The portal host directive for the contents of the tab.
|
|
@@ -358,9 +364,10 @@ class MatTabBody {
|
|
|
358
364
|
* @param {?} _dir
|
|
359
365
|
* @param {?=} changeDetectorRef
|
|
360
366
|
*/
|
|
361
|
-
constructor(_elementRef, _dir,
|
|
362
|
-
|
|
363
|
-
|
|
367
|
+
constructor(_elementRef, _dir,
|
|
368
|
+
/**
|
|
369
|
+
* @breaking-change 8.0.0 changeDetectorRef to be made required.
|
|
370
|
+
*/
|
|
364
371
|
changeDetectorRef) {
|
|
365
372
|
this._elementRef = _elementRef;
|
|
366
373
|
this._dir = _dir;
|
|
@@ -388,6 +395,8 @@ class MatTabBody {
|
|
|
388
395
|
* Event emitted when the tab completes its animation towards the center.
|
|
389
396
|
*/
|
|
390
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.
|
|
391
400
|
/**
|
|
392
401
|
* Duration for the tab's animation.
|
|
393
402
|
*/
|
|
@@ -469,6 +478,7 @@ class MatTabBody {
|
|
|
469
478
|
}
|
|
470
479
|
/**
|
|
471
480
|
* Computes the position state that will be used for the tab-body animation trigger.
|
|
481
|
+
* @private
|
|
472
482
|
* @param {?=} dir
|
|
473
483
|
* @return {?}
|
|
474
484
|
*/
|
|
@@ -486,6 +496,7 @@ class MatTabBody {
|
|
|
486
496
|
/**
|
|
487
497
|
* Computes the position state based on the specified origin position. This is used if the
|
|
488
498
|
* tab is becoming visible immediately after creation.
|
|
499
|
+
* @private
|
|
489
500
|
* @return {?}
|
|
490
501
|
*/
|
|
491
502
|
_computePositionFromOrigin() {
|
|
@@ -529,8 +540,9 @@ MatTabBody.propDecorators = {
|
|
|
529
540
|
|
|
530
541
|
/**
|
|
531
542
|
* @fileoverview added by tsickle
|
|
532
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
543
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
533
544
|
*/
|
|
545
|
+
// Boilerplate for applying mixins to MatTabLabelWrapper.
|
|
534
546
|
/**
|
|
535
547
|
* \@docs-private
|
|
536
548
|
*/
|
|
@@ -587,13 +599,15 @@ MatTabLabelWrapper.ctorParameters = () => [
|
|
|
587
599
|
|
|
588
600
|
/**
|
|
589
601
|
* @fileoverview added by tsickle
|
|
590
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
602
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
591
603
|
*/
|
|
592
|
-
/**
|
|
604
|
+
/**
|
|
593
605
|
* The distance in pixels that will be overshot when scrolling a tab label into view. This helps
|
|
594
606
|
* provide a small affordance to the label next to it.
|
|
595
|
-
|
|
607
|
+
* @type {?}
|
|
608
|
+
*/
|
|
596
609
|
const EXAGGERATED_OVERSCROLL = 60;
|
|
610
|
+
// Boilerplate for applying mixins to MatTabHeader.
|
|
597
611
|
/**
|
|
598
612
|
* \@docs-private
|
|
599
613
|
*/
|
|
@@ -615,14 +629,16 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
615
629
|
* @param {?} _viewportRuler
|
|
616
630
|
* @param {?} _dir
|
|
617
631
|
* @param {?=} _ngZone
|
|
632
|
+
* @param {?=} _platform
|
|
618
633
|
*/
|
|
619
|
-
constructor(_elementRef, _changeDetectorRef, _viewportRuler, _dir, _ngZone) {
|
|
634
|
+
constructor(_elementRef, _changeDetectorRef, _viewportRuler, _dir, _ngZone, _platform) {
|
|
620
635
|
super();
|
|
621
636
|
this._elementRef = _elementRef;
|
|
622
637
|
this._changeDetectorRef = _changeDetectorRef;
|
|
623
638
|
this._viewportRuler = _viewportRuler;
|
|
624
639
|
this._dir = _dir;
|
|
625
640
|
this._ngZone = _ngZone;
|
|
641
|
+
this._platform = _platform;
|
|
626
642
|
/**
|
|
627
643
|
* The distance in pixels that the tab labels should be translated to the left.
|
|
628
644
|
*/
|
|
@@ -706,6 +722,10 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
706
722
|
* @return {?}
|
|
707
723
|
*/
|
|
708
724
|
_handleKeydown(event) {
|
|
725
|
+
// We don't handle any key bindings with a modifier key.
|
|
726
|
+
if (hasModifierKey(event)) {
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
709
729
|
switch (event.keyCode) {
|
|
710
730
|
case HOME:
|
|
711
731
|
this._keyManager.setFirstItemActive();
|
|
@@ -772,15 +792,23 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
772
792
|
*/
|
|
773
793
|
_onContentChanges() {
|
|
774
794
|
/** @type {?} */
|
|
775
|
-
const
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
795
|
+
const textContent = this._elementRef.nativeElement.textContent;
|
|
796
|
+
// We need to diff the text content of the header, because the MutationObserver callback
|
|
797
|
+
// will fire even if the text content didn't change which is inefficient and is prone
|
|
798
|
+
// to infinite loops if a poorly constructed expression is passed in (see #14249).
|
|
799
|
+
if (textContent !== this._currentTextContent) {
|
|
800
|
+
this._currentTextContent = textContent;
|
|
801
|
+
/** @type {?} */
|
|
802
|
+
const zoneCallback = () => {
|
|
803
|
+
this.updatePagination();
|
|
804
|
+
this._alignInkBarToSelectedTab();
|
|
805
|
+
this._changeDetectorRef.markForCheck();
|
|
806
|
+
};
|
|
807
|
+
// The content observer runs outside the `NgZone` by default, which
|
|
808
|
+
// means that we need to bring the callback back in ourselves.
|
|
809
|
+
// @breaking-change 8.0.0 Remove null check for `_ngZone` once it's a required parameter.
|
|
810
|
+
this._ngZone ? this._ngZone.run(zoneCallback) : zoneCallback();
|
|
811
|
+
}
|
|
784
812
|
}
|
|
785
813
|
/**
|
|
786
814
|
* Updates the view whether pagination should be enabled or not.
|
|
@@ -800,7 +828,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
800
828
|
* @return {?}
|
|
801
829
|
*/
|
|
802
830
|
get focusIndex() {
|
|
803
|
-
return this._keyManager ? /** @type {?} */ (
|
|
831
|
+
return this._keyManager ? (/** @type {?} */ (this._keyManager.activeItemIndex)) : 0;
|
|
804
832
|
}
|
|
805
833
|
/**
|
|
806
834
|
* When the focus index is set, we must manually send focus to the correct label
|
|
@@ -839,6 +867,9 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
839
867
|
}
|
|
840
868
|
if (this._labelWrappers && this._labelWrappers.length) {
|
|
841
869
|
this._labelWrappers.toArray()[tabIndex].focus();
|
|
870
|
+
// Do not let the browser manage scrolling to focus the element, this will be handled
|
|
871
|
+
// by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
|
|
872
|
+
// should be the full width minus the offset width.
|
|
842
873
|
/** @type {?} */
|
|
843
874
|
const containerEl = this._tabListContainer.nativeElement;
|
|
844
875
|
/** @type {?} */
|
|
@@ -866,16 +897,24 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
866
897
|
/** @type {?} */
|
|
867
898
|
const scrollDistance = this.scrollDistance;
|
|
868
899
|
/** @type {?} */
|
|
900
|
+
const platform = this._platform;
|
|
901
|
+
/** @type {?} */
|
|
869
902
|
const translateX = this._getLayoutDirection() === 'ltr' ? -scrollDistance : scrollDistance;
|
|
870
903
|
// Don't use `translate3d` here because we don't want to create a new layer. A new layer
|
|
871
904
|
// seems to cause flickering and overflow in Internet Explorer. For example, the ink bar
|
|
872
905
|
// and ripples will exceed the boundaries of the visible tab bar.
|
|
873
906
|
// See: https://github.com/angular/material2/issues/10276
|
|
874
|
-
|
|
907
|
+
// We round the `transform` here, because transforms with sub-pixel precision cause some
|
|
908
|
+
// browsers to blur the content of the element.
|
|
909
|
+
this._tabList.nativeElement.style.transform = `translateX(${Math.round(translateX)}px)`;
|
|
875
910
|
// Setting the `transform` on IE will change the scroll offset of the parent, causing the
|
|
876
911
|
// position to be thrown off in some cases. We have to reset it ourselves to ensure that
|
|
877
|
-
// it doesn't get thrown off.
|
|
878
|
-
|
|
912
|
+
// it doesn't get thrown off. Note that we scope it only to IE and Edge, because messing
|
|
913
|
+
// with the scroll position throws off Chrome 71+ in RTL mode (see #14689).
|
|
914
|
+
// @breaking-change 8.0.0 Remove null check for `platform`.
|
|
915
|
+
if (platform && (platform.TRIDENT || platform.EDGE)) {
|
|
916
|
+
this._tabListContainer.nativeElement.scrollLeft = 0;
|
|
917
|
+
}
|
|
879
918
|
}
|
|
880
919
|
/**
|
|
881
920
|
* Sets the distance in pixels that the tab header should be transformed in the X-axis.
|
|
@@ -923,6 +962,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
923
962
|
if (!selectedLabel) {
|
|
924
963
|
return;
|
|
925
964
|
}
|
|
965
|
+
// The view length is the visible width of the tab labels.
|
|
926
966
|
/** @type {?} */
|
|
927
967
|
const viewLength = this._tabListContainer.nativeElement.offsetWidth;
|
|
928
968
|
/** @type {?} */
|
|
@@ -1010,13 +1050,13 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
1010
1050
|
const selectedLabelWrapper = this._labelWrappers && this._labelWrappers.length ?
|
|
1011
1051
|
this._labelWrappers.toArray()[this.selectedIndex].elementRef.nativeElement :
|
|
1012
1052
|
null;
|
|
1013
|
-
this._inkBar.alignToElement(/** @type {?} */ (
|
|
1053
|
+
this._inkBar.alignToElement((/** @type {?} */ (selectedLabelWrapper)));
|
|
1014
1054
|
}
|
|
1015
1055
|
}
|
|
1016
1056
|
MatTabHeader.decorators = [
|
|
1017
1057
|
{ type: Component, args: [{selector: 'mat-tab-header',
|
|
1018
1058
|
template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\" aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\" (click)=\"_scrollHeader('before')\"><div class=\"mat-tab-header-pagination-chevron\"></div></div><div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\"><div class=\"mat-tab-list\" #tabList role=\"tablist\" (cdkObserveContent)=\"_onContentChanges()\"><div class=\"mat-tab-labels\"><ng-content></ng-content></div><mat-ink-bar></mat-ink-bar></div></div><div class=\"mat-tab-header-pagination mat-tab-header-pagination-after mat-elevation-z4\" aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\" (click)=\"_scrollHeader('after')\"><div class=\"mat-tab-header-pagination-chevron\"></div></div>",
|
|
1019
|
-
styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.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
|
|
1059
|
+
styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.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 (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-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 (-ms-high-contrast:active){.mat-tab-label{opacity:1}}@media (max-width:599px){.mat-tab-label{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}.mat-tab-header-pagination{position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2}.mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination{display:flex}.mat-tab-header-pagination-before,.mat-tab-header-rtl .mat-tab-header-pagination-after{padding-left:4px}.mat-tab-header-pagination-before .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-after .mat-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-tab-header-pagination-after,.mat-tab-header-rtl .mat-tab-header-pagination-before{padding-right:4px}.mat-tab-header-pagination-after .mat-tab-header-pagination-chevron,.mat-tab-header-rtl .mat-tab-header-pagination-before .mat-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;content:'';height:8px;width:8px}.mat-tab-header-pagination-disabled{box-shadow:none;cursor:default}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-tab-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mat-tab-labels{display:flex}[mat-align-tabs=center] .mat-tab-labels{justify-content:center}[mat-align-tabs=end] .mat-tab-labels{justify-content:flex-end}"],
|
|
1020
1060
|
inputs: ['disableRipple'],
|
|
1021
1061
|
encapsulation: ViewEncapsulation.None,
|
|
1022
1062
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -1033,7 +1073,8 @@ MatTabHeader.ctorParameters = () => [
|
|
|
1033
1073
|
{ type: ChangeDetectorRef },
|
|
1034
1074
|
{ type: ViewportRuler },
|
|
1035
1075
|
{ type: Directionality, decorators: [{ type: Optional }] },
|
|
1036
|
-
{ type: NgZone }
|
|
1076
|
+
{ type: NgZone },
|
|
1077
|
+
{ type: Platform }
|
|
1037
1078
|
];
|
|
1038
1079
|
MatTabHeader.propDecorators = {
|
|
1039
1080
|
_labelWrappers: [{ type: ContentChildren, args: [MatTabLabelWrapper,] }],
|
|
@@ -1047,21 +1088,24 @@ MatTabHeader.propDecorators = {
|
|
|
1047
1088
|
|
|
1048
1089
|
/**
|
|
1049
1090
|
* @fileoverview added by tsickle
|
|
1050
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1091
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1051
1092
|
*/
|
|
1052
|
-
/**
|
|
1093
|
+
/**
|
|
1053
1094
|
* Used to generate unique ID's for each tab component
|
|
1054
|
-
|
|
1095
|
+
* @type {?}
|
|
1096
|
+
*/
|
|
1055
1097
|
let nextId = 0;
|
|
1056
1098
|
/**
|
|
1057
1099
|
* A simple change event emitted on focus or selection changes.
|
|
1058
1100
|
*/
|
|
1059
1101
|
class MatTabChangeEvent {
|
|
1060
1102
|
}
|
|
1061
|
-
/**
|
|
1103
|
+
/**
|
|
1062
1104
|
* Injection token that can be used to provide the default options the tabs module.
|
|
1063
|
-
|
|
1105
|
+
* @type {?}
|
|
1106
|
+
*/
|
|
1064
1107
|
const MAT_TABS_CONFIG = new InjectionToken('MAT_TABS_CONFIG');
|
|
1108
|
+
// Boilerplate for applying mixins to MatTabGroup.
|
|
1065
1109
|
/**
|
|
1066
1110
|
* \@docs-private
|
|
1067
1111
|
*/
|
|
@@ -1153,6 +1197,18 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1153
1197
|
set selectedIndex(value) {
|
|
1154
1198
|
this._indexToSelect = coerceNumberProperty(value, null);
|
|
1155
1199
|
}
|
|
1200
|
+
/**
|
|
1201
|
+
* Duration for the tab animation. Will be normalized to milliseconds if no units are set.
|
|
1202
|
+
* @return {?}
|
|
1203
|
+
*/
|
|
1204
|
+
get animationDuration() { return this._animationDuration; }
|
|
1205
|
+
/**
|
|
1206
|
+
* @param {?} value
|
|
1207
|
+
* @return {?}
|
|
1208
|
+
*/
|
|
1209
|
+
set animationDuration(value) {
|
|
1210
|
+
this._animationDuration = /^\d+$/.test(value) ? value + 'ms' : value;
|
|
1211
|
+
}
|
|
1156
1212
|
/**
|
|
1157
1213
|
* Background color of the tab group.
|
|
1158
1214
|
* @return {?}
|
|
@@ -1179,6 +1235,8 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1179
1235
|
* @return {?}
|
|
1180
1236
|
*/
|
|
1181
1237
|
ngAfterContentChecked() {
|
|
1238
|
+
// Don't clamp the `indexToSelect` immediately in the setter because it can happen that
|
|
1239
|
+
// the amount of tabs changes before the actual change detection runs.
|
|
1182
1240
|
/** @type {?} */
|
|
1183
1241
|
const indexToSelect = this._indexToSelect = this._clampTabIndex(this._indexToSelect);
|
|
1184
1242
|
// If there is a change in selected index, emit a change event. Should not trigger if
|
|
@@ -1265,6 +1323,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1265
1323
|
this.focusChange.emit(this._createChangeEvent(index));
|
|
1266
1324
|
}
|
|
1267
1325
|
/**
|
|
1326
|
+
* @private
|
|
1268
1327
|
* @param {?} index
|
|
1269
1328
|
* @return {?}
|
|
1270
1329
|
*/
|
|
@@ -1282,6 +1341,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1282
1341
|
* on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
|
|
1283
1342
|
* binding to be updated, we need to subscribe to changes in it and trigger change detection
|
|
1284
1343
|
* manually.
|
|
1344
|
+
* @private
|
|
1285
1345
|
* @return {?}
|
|
1286
1346
|
*/
|
|
1287
1347
|
_subscribeToTabLabels() {
|
|
@@ -1293,6 +1353,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1293
1353
|
}
|
|
1294
1354
|
/**
|
|
1295
1355
|
* Clamps the given index to the bounds of 0 and the tabs length.
|
|
1356
|
+
* @private
|
|
1296
1357
|
* @param {?} index
|
|
1297
1358
|
* @return {?}
|
|
1298
1359
|
*/
|
|
@@ -1377,7 +1438,7 @@ MatTabGroup.decorators = [
|
|
|
1377
1438
|
{ type: Component, args: [{selector: 'mat-tab-group',
|
|
1378
1439
|
exportAs: 'matTabGroup',
|
|
1379
1440
|
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>",
|
|
1380
|
-
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
|
|
1441
|
+
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 (-ms-high-contrast:active){.mat-tab-label:focus{outline:dotted 2px}}.mat-tab-label.mat-tab-disabled{cursor:default}@media (-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 (-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}"],
|
|
1381
1442
|
encapsulation: ViewEncapsulation.None,
|
|
1382
1443
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1383
1444
|
inputs: ['color', 'disableRipple'],
|
|
@@ -1411,8 +1472,9 @@ MatTabGroup.propDecorators = {
|
|
|
1411
1472
|
|
|
1412
1473
|
/**
|
|
1413
1474
|
* @fileoverview added by tsickle
|
|
1414
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1475
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1415
1476
|
*/
|
|
1477
|
+
// Boilerplate for applying mixins to MatTabNav.
|
|
1416
1478
|
/**
|
|
1417
1479
|
* \@docs-private
|
|
1418
1480
|
*/
|
|
@@ -1530,7 +1592,7 @@ MatTabNav.decorators = [
|
|
|
1530
1592
|
exportAs: 'matTabNavBar, matTabNav',
|
|
1531
1593
|
inputs: ['color', 'disableRipple'],
|
|
1532
1594
|
template: "<div class=\"mat-tab-links\" (cdkObserveContent)=\"_alignInkBar()\"><ng-content></ng-content><mat-ink-bar></mat-ink-bar></div>",
|
|
1533
|
-
styles: [".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative;display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.mat-tab-link{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;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:0}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}@media
|
|
1595
|
+
styles: [".mat-tab-nav-bar{overflow:hidden;position:relative;flex-shrink:0}.mat-tab-links{position:relative;display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.mat-tab-link{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;vertical-align:top;text-decoration:none;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.mat-tab-link:focus{outline:0}.mat-tab-link:focus:not(.mat-tab-disabled){opacity:1}@media (-ms-high-contrast:active){.mat-tab-link:focus{outline:dotted 2px}}.mat-tab-link.mat-tab-disabled{cursor:default}@media (-ms-high-contrast:active){.mat-tab-link.mat-tab-disabled{opacity:.5}}.mat-tab-link .mat-tab-label-content{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap}@media (-ms-high-contrast:active){.mat-tab-link{opacity:1}}[mat-stretch-tabs] .mat-tab-link{flex-basis:0;flex-grow:1}.mat-tab-link.mat-tab-disabled{pointer-events:none}@media (max-width:599px){.mat-tab-link{min-width:72px}}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}.mat-tab-group-inverted-header .mat-ink-bar{bottom:auto;top:0}@media (-ms-high-contrast:active){.mat-ink-bar{outline:solid 2px;height:0}}"],
|
|
1534
1596
|
host: { 'class': 'mat-tab-nav-bar' },
|
|
1535
1597
|
encapsulation: ViewEncapsulation.None,
|
|
1536
1598
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -1549,6 +1611,7 @@ MatTabNav.propDecorators = {
|
|
|
1549
1611
|
_tabLinks: [{ type: ContentChildren, args: [forwardRef(() => MatTabLink), { descendants: true },] }],
|
|
1550
1612
|
backgroundColor: [{ type: Input }]
|
|
1551
1613
|
};
|
|
1614
|
+
// Boilerplate for applying mixins to MatTabLink.
|
|
1552
1615
|
class MatTabLinkBase {
|
|
1553
1616
|
}
|
|
1554
1617
|
/** @type {?} */
|
|
@@ -1664,7 +1727,7 @@ MatTabLink.propDecorators = {
|
|
|
1664
1727
|
|
|
1665
1728
|
/**
|
|
1666
1729
|
* @fileoverview added by tsickle
|
|
1667
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1730
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1668
1731
|
*/
|
|
1669
1732
|
class MatTabsModule {
|
|
1670
1733
|
}
|
|
@@ -1706,18 +1769,18 @@ MatTabsModule.decorators = [
|
|
|
1706
1769
|
|
|
1707
1770
|
/**
|
|
1708
1771
|
* @fileoverview added by tsickle
|
|
1709
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1772
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1710
1773
|
*/
|
|
1711
1774
|
|
|
1712
1775
|
/**
|
|
1713
1776
|
* @fileoverview added by tsickle
|
|
1714
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1777
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1715
1778
|
*/
|
|
1716
1779
|
|
|
1717
1780
|
/**
|
|
1718
1781
|
* @fileoverview added by tsickle
|
|
1719
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
1782
|
+
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1720
1783
|
*/
|
|
1721
1784
|
|
|
1722
|
-
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 ɵ
|
|
1785
|
+
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 ɵa24, MatTabBase as ɵf24, _MatTabMixinBase as ɵg24, MatTabHeaderBase as ɵb24, _MatTabHeaderMixinBase as ɵc24, MatTabLabelWrapperBase as ɵd24, _MatTabLabelWrapperMixinBase as ɵe24, MatTabLinkBase as ɵj24, MatTabNavBase as ɵh24, _MatTabLinkMixinBase as ɵk24, _MatTabNavMixinBase as ɵi24 };
|
|
1723
1786
|
//# sourceMappingURL=tabs.js.map
|