@angular/material 8.0.0 → 8.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +29 -28
- package/bottom-sheet/typings/bottom-sheet-config.d.ts +4 -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 +4 -0
- 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-bottom-sheet.umd.js +23 -8
- 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.map +1 -1
- package/bundles/material-button-toggle.umd.min.js.map +1 -1
- package/bundles/material-button.umd.js +1 -1
- 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 +16 -7
- 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 +2 -2
- 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 +12 -7
- 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 +31 -6
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-core.umd.min.js +2 -2
- package/bundles/material-core.umd.min.js.map +1 -1
- package/bundles/material-datepicker.umd.js +94 -22
- 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 +41 -6
- 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-expansion.umd.js +70 -4
- 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 +1 -1
- 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 +1 -1
- package/bundles/material-grid-list.umd.min.js +1 -1
- package/bundles/material-list.umd.js +39 -21
- package/bundles/material-list.umd.js.map +1 -1
- package/bundles/material-list.umd.min.js +1 -1
- package/bundles/material-list.umd.min.js.map +1 -1
- package/bundles/material-menu.umd.js +123 -73
- 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-progress-spinner.umd.js +66 -22
- 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 +22 -3
- 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-sidenav.umd.js +4 -1
- 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-tabs.umd.js +354 -315
- 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-tooltip.umd.js +2 -1
- 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.umd.js +883 -478
- package/bundles/material.umd.js.map +1 -1
- package/bundles/material.umd.min.js +19 -19
- package/bundles/material.umd.min.js.map +1 -1
- package/button-toggle/typings/button-toggle.d.ts +1 -1
- package/card/typings/card.d.ts +2 -0
- package/card/typings/index.metadata.json +1 -1
- package/checkbox/typings/checkbox.d.ts +1 -1
- package/checkbox/typings/index.metadata.json +1 -1
- package/chips/typings/chip.d.ts +4 -2
- package/chips/typings/index.metadata.json +1 -1
- package/core/typings/common-behaviors/common-module.d.ts +2 -0
- package/core/typings/index.metadata.json +1 -1
- package/datepicker/typings/calendar.d.ts +1 -1
- package/datepicker/typings/index.metadata.json +1 -1
- package/datepicker/typings/multi-year-view.d.ts +7 -0
- package/datepicker/typings/public-api.d.ts +1 -1
- package/dialog/typings/dialog-ref.d.ts +2 -0
- package/dialog/typings/index.metadata.json +1 -1
- package/esm2015/autocomplete.js +4 -0
- package/esm2015/autocomplete.js.map +1 -1
- package/esm2015/bottom-sheet.js +24 -9
- package/esm2015/bottom-sheet.js.map +1 -1
- package/esm2015/button-toggle.js.map +1 -1
- package/esm2015/button.js +1 -1
- package/esm2015/button.js.map +1 -1
- package/esm2015/card.js +18 -3
- package/esm2015/card.js.map +1 -1
- package/esm2015/checkbox.js +2 -2
- package/esm2015/checkbox.js.map +1 -1
- package/esm2015/chips.js +10 -3
- package/esm2015/chips.js.map +1 -1
- package/esm2015/core.js +22 -2
- package/esm2015/core.js.map +1 -1
- package/esm2015/datepicker.js +93 -21
- package/esm2015/datepicker.js.map +1 -1
- package/esm2015/dialog.js +42 -7
- package/esm2015/dialog.js.map +1 -1
- package/esm2015/expansion.js +57 -4
- package/esm2015/expansion.js.map +1 -1
- package/esm2015/form-field.js +1 -1
- package/esm2015/form-field.js.map +1 -1
- package/esm2015/grid-list.js +1 -1
- package/esm2015/list.js +40 -22
- package/esm2015/list.js.map +1 -1
- package/esm2015/material.js +6 -6
- package/esm2015/menu.js +74 -52
- package/esm2015/menu.js.map +1 -1
- package/esm2015/progress-spinner.js +64 -20
- package/esm2015/progress-spinner.js.map +1 -1
- package/esm2015/radio.js +23 -5
- package/esm2015/radio.js.map +1 -1
- package/esm2015/sidenav.js +5 -2
- package/esm2015/sidenav.js.map +1 -1
- package/esm2015/tabs.js +281 -222
- package/esm2015/tabs.js.map +1 -1
- package/esm2015/tooltip.js +3 -2
- package/esm2015/tooltip.js.map +1 -1
- package/esm5/autocomplete.es5.js +4 -0
- package/esm5/autocomplete.es5.js.map +1 -1
- package/esm5/bottom-sheet.es5.js +24 -9
- package/esm5/bottom-sheet.es5.js.map +1 -1
- package/esm5/button-toggle.es5.js.map +1 -1
- package/esm5/button.es5.js +1 -1
- package/esm5/button.es5.js.map +1 -1
- package/esm5/card.es5.js +14 -4
- package/esm5/card.es5.js.map +1 -1
- package/esm5/checkbox.es5.js +2 -2
- package/esm5/checkbox.es5.js.map +1 -1
- package/esm5/chips.es5.js +9 -3
- package/esm5/chips.es5.js.map +1 -1
- package/esm5/core.es5.js +28 -2
- package/esm5/core.es5.js.map +1 -1
- package/esm5/datepicker.es5.js +92 -20
- package/esm5/datepicker.es5.js.map +1 -1
- package/esm5/dialog.es5.js +42 -7
- package/esm5/dialog.es5.js.map +1 -1
- package/esm5/expansion.es5.js +70 -4
- package/esm5/expansion.es5.js.map +1 -1
- package/esm5/form-field.es5.js +1 -1
- package/esm5/form-field.es5.js.map +1 -1
- package/esm5/grid-list.es5.js +1 -1
- package/esm5/list.es5.js +40 -22
- package/esm5/list.es5.js.map +1 -1
- package/esm5/material.es5.js +6 -6
- package/esm5/menu.es5.js +122 -72
- package/esm5/menu.es5.js.map +1 -1
- package/esm5/progress-spinner.es5.js +64 -20
- package/esm5/progress-spinner.es5.js.map +1 -1
- package/esm5/radio.es5.js +22 -5
- package/esm5/radio.es5.js.map +1 -1
- package/esm5/sidenav.es5.js +5 -2
- package/esm5/sidenav.es5.js.map +1 -1
- package/esm5/tabs.es5.js +342 -303
- package/esm5/tabs.es5.js.map +1 -1
- package/esm5/tooltip.es5.js +3 -2
- package/esm5/tooltip.es5.js.map +1 -1
- package/expansion/typings/accordion-base.d.ts +4 -0
- package/expansion/typings/accordion.d.ts +3 -1
- package/expansion/typings/expansion-panel-header.d.ts +6 -0
- package/expansion/typings/expansion-panel.d.ts +5 -2
- package/expansion/typings/index.metadata.json +1 -1
- package/form-field/typings/index.metadata.json +1 -1
- package/grid-list/typings/index.d.ts +1 -1
- package/grid-list/typings/index.metadata.json +1 -1
- package/list/typings/index.metadata.json +1 -1
- package/list/typings/selection-list.d.ts +5 -5
- package/menu/typings/index.d.ts +2 -2
- package/menu/typings/index.metadata.json +1 -1
- package/menu/typings/menu-item.d.ts +1 -1
- package/menu/typings/menu-panel.d.ts +8 -0
- package/menu/typings/menu.d.ts +21 -14
- package/package.json +4 -4
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-spinner/typings/index.metadata.json +1 -1
- package/progress-spinner/typings/progress-spinner.d.ts +14 -6
- package/progress-spinner/typings/public-api.d.ts +1 -1
- package/radio/typings/index.metadata.json +1 -1
- package/radio/typings/radio.d.ts +8 -2
- package/schematics/ng-add/fonts/material-fonts.js +1 -1
- package/schematics/ng-add/fonts/material-fonts.js.map +1 -1
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.__style__ → __name@dasherize__.component.__style__.template} +0 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.html → __name@dasherize__.component.html.template} +0 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.spec.ts → __name@dasherize__.component.spec.ts.template} +5 -7
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.ts → __name@dasherize__.component.ts.template} +0 -0
- package/schematics/ng-generate/address-form/index.js +7 -7
- package/schematics/ng-generate/address-form/index.js.map +1 -1
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.__style__ → __name@dasherize__.component.__style__.template} +0 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.html → __name@dasherize__.component.html.template} +0 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.spec.ts → __name@dasherize__.component.spec.ts.template} +5 -7
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.ts → __name@dasherize__.component.ts.template} +0 -0
- package/schematics/ng-generate/dashboard/index.js +7 -7
- package/schematics/ng-generate/dashboard/index.js.map +1 -1
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.__style__ → __name@dasherize__.component.__style__.template} +0 -0
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.html → __name@dasherize__.component.html.template} +0 -0
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.spec.ts → __name@dasherize__.component.spec.ts.template} +5 -7
- package/schematics/ng-generate/nav/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.ts → __name@dasherize__.component.ts.template} +3 -2
- package/schematics/ng-generate/nav/index.js +7 -7
- package/schematics/ng-generate/nav/index.js.map +1 -1
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__-datasource.ts → __name@dasherize__-datasource.ts.template} +2 -1
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.__style__ → __name@dasherize__.component.__style__.template} +0 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.html → __name@dasherize__.component.html.template} +0 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.spec.ts → __name@dasherize__.component.spec.ts.template} +3 -1
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.ts → __name@dasherize__.component.ts.template} +6 -4
- package/schematics/ng-generate/table/index.js +5 -5
- package/schematics/ng-generate/table/index.js.map +1 -1
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.__style__ → __name@dasherize__.component.__style__.template} +0 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.html → __name@dasherize__.component.html.template} +0 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.spec.ts → __name@dasherize__.component.spec.ts.template} +3 -1
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/{__name@dasherize__.component.ts → __name@dasherize__.component.ts.template} +0 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/{example-data.ts → example-data.ts.template} +1 -1
- package/schematics/ng-generate/tree/index.js +5 -5
- package/schematics/ng-generate/tree/index.js.map +1 -1
- package/schematics/ng-update/data/class-names.js +3 -12
- package/schematics/ng-update/data/class-names.js.map +1 -1
- package/schematics/ng-update/data/constructor-checks.js +7 -29
- package/schematics/ng-update/data/constructor-checks.js.map +1 -1
- package/schematics/ng-update/data/css-selectors.js +19 -68
- package/schematics/ng-update/data/css-selectors.js.map +1 -1
- package/schematics/ng-update/data/element-selectors.js +3 -10
- package/schematics/ng-update/data/element-selectors.js.map +1 -1
- package/schematics/ng-update/data/input-names.js +17 -55
- package/schematics/ng-update/data/input-names.js.map +1 -1
- package/schematics/ng-update/data/property-names.js +28 -100
- package/schematics/ng-update/data/property-names.js.map +1 -1
- package/schematics/ng-update/index.d.ts +0 -2
- package/schematics/ng-update/index.js +27 -34
- package/schematics/ng-update/index.js.map +1 -1
- package/schematics/ng-update/typescript/module-specifiers.js.map +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-inheritance-rule.d.ts +18 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-inheritance-rule.js +47 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-inheritance-rule.js.map +1 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-names-rule.d.ts +18 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-names-rule.js +42 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-class-names-rule.js.map +1 -0
- package/{typings/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts → schematics/ng-update/upgrade-rules/misc-checks/misc-imports-rule.d.ts} +7 -8
- package/schematics/ng-update/upgrade-rules/misc-checks/{checkImportsMiscRule.js → misc-imports-rule.js} +19 -16
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-imports-rule.js.map +1 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-property-names-rule.d.ts +18 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-property-names-rule.js +46 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-property-names-rule.js.map +1 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-template-rule.d.ts +16 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-template-rule.js +59 -0
- package/schematics/ng-update/upgrade-rules/misc-checks/misc-template-rule.js.map +1 -0
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/{rippleSpeedFactorAssignmentRule.d.ts → ripple-speed-factor-rule.d.ts} +11 -9
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/{rippleSpeedFactorAssignmentRule.js → ripple-speed-factor-rule.js} +57 -31
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/ripple-speed-factor-rule.js.map +1 -0
- package/schematics/ng-update/upgrade-rules/package-imports-v8/secondary-entry-points-rule.d.ts +18 -0
- package/schematics/ng-update/upgrade-rules/package-imports-v8/{updateAngularMaterialImportsRule.js → secondary-entry-points-rule.js} +40 -52
- package/schematics/ng-update/upgrade-rules/package-imports-v8/secondary-entry-points-rule.js.map +1 -0
- package/sidenav/typings/index.metadata.json +1 -1
- package/tabs/typings/index.d.ts +2 -1
- package/tabs/typings/index.metadata.json +1 -1
- package/tabs/typings/ink-bar.d.ts +2 -1
- package/tabs/typings/paginated-tab-header.d.ts +187 -0
- package/tabs/typings/public-api.d.ts +2 -1
- package/tabs/typings/tab-group.d.ts +2 -1
- package/tabs/typings/tab-header.d.ts +10 -159
- package/tabs/typings/tab-nav-bar/tab-nav-bar.d.ts +27 -30
- package/tooltip/typings/index.metadata.json +1 -1
- package/typings/bottom-sheet/bottom-sheet-config.d.ts +4 -1
- package/typings/bottom-sheet/bottom-sheet-ref.d.ts +2 -0
- package/typings/bottom-sheet/index.metadata.json +1 -1
- package/typings/button-toggle/button-toggle.d.ts +1 -1
- package/typings/card/card.d.ts +2 -0
- package/typings/card/index.metadata.json +1 -1
- package/typings/checkbox/checkbox.d.ts +1 -1
- package/typings/checkbox/index.metadata.json +1 -1
- package/typings/chips/chip.d.ts +4 -2
- package/typings/chips/index.metadata.json +1 -1
- package/typings/core/common-behaviors/common-module.d.ts +2 -0
- package/typings/core/index.metadata.json +1 -1
- package/typings/datepicker/calendar.d.ts +1 -1
- package/typings/datepicker/index.metadata.json +1 -1
- package/typings/datepicker/multi-year-view.d.ts +7 -0
- package/typings/datepicker/public-api.d.ts +1 -1
- package/typings/dialog/dialog-ref.d.ts +2 -0
- package/typings/dialog/index.metadata.json +1 -1
- package/typings/esm5/bottom-sheet/bottom-sheet-config.d.ts +4 -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-toggle/button-toggle.d.ts +1 -1
- package/typings/esm5/card/card.d.ts +2 -0
- package/typings/esm5/card/index.metadata.json +1 -1
- package/typings/esm5/checkbox/checkbox.d.ts +1 -1
- package/typings/esm5/checkbox/index.metadata.json +1 -1
- package/typings/esm5/chips/chip.d.ts +4 -2
- package/typings/esm5/chips/index.metadata.json +1 -1
- package/typings/esm5/core/common-behaviors/common-module.d.ts +2 -0
- package/typings/esm5/core/index.metadata.json +1 -1
- package/typings/esm5/datepicker/calendar.d.ts +1 -1
- package/typings/esm5/datepicker/index.metadata.json +1 -1
- package/typings/esm5/datepicker/multi-year-view.d.ts +7 -0
- package/typings/esm5/datepicker/public-api.d.ts +1 -1
- package/typings/esm5/dialog/dialog-ref.d.ts +2 -0
- package/typings/esm5/dialog/index.metadata.json +1 -1
- package/typings/esm5/expansion/accordion-base.d.ts +4 -0
- package/typings/esm5/expansion/accordion.d.ts +3 -1
- package/typings/esm5/expansion/expansion-panel-header.d.ts +6 -0
- package/typings/esm5/expansion/expansion-panel.d.ts +5 -2
- package/typings/esm5/expansion/index.metadata.json +1 -1
- package/typings/esm5/form-field/index.metadata.json +1 -1
- package/typings/esm5/grid-list/index.d.ts +1 -1
- package/typings/esm5/grid-list/index.metadata.json +1 -1
- package/typings/esm5/list/index.metadata.json +1 -1
- package/typings/esm5/list/selection-list.d.ts +5 -5
- package/typings/esm5/menu/index.d.ts +2 -2
- package/typings/esm5/menu/index.metadata.json +1 -1
- package/typings/esm5/menu/menu-item.d.ts +1 -1
- package/typings/esm5/menu/menu-panel.d.ts +8 -0
- package/typings/esm5/menu/menu.d.ts +21 -14
- package/typings/esm5/progress-spinner/index.metadata.json +1 -1
- package/typings/esm5/progress-spinner/progress-spinner.d.ts +14 -6
- package/typings/esm5/progress-spinner/public-api.d.ts +1 -1
- package/typings/esm5/radio/index.metadata.json +1 -1
- package/typings/esm5/radio/radio.d.ts +8 -2
- package/typings/esm5/sidenav/index.metadata.json +1 -1
- package/typings/esm5/tabs/index.d.ts +2 -1
- package/typings/esm5/tabs/index.metadata.json +1 -1
- package/typings/esm5/tabs/ink-bar.d.ts +2 -1
- package/typings/esm5/tabs/paginated-tab-header.d.ts +187 -0
- package/typings/esm5/tabs/public-api.d.ts +2 -1
- package/typings/esm5/tabs/tab-group.d.ts +2 -1
- package/typings/esm5/tabs/tab-header.d.ts +10 -159
- package/typings/esm5/tabs/tab-nav-bar/tab-nav-bar.d.ts +27 -30
- package/typings/esm5/tooltip/index.metadata.json +1 -1
- package/typings/expansion/accordion-base.d.ts +4 -0
- package/typings/expansion/accordion.d.ts +3 -1
- package/typings/expansion/expansion-panel-header.d.ts +6 -0
- package/typings/expansion/expansion-panel.d.ts +5 -2
- package/typings/expansion/index.metadata.json +1 -1
- package/typings/form-field/index.metadata.json +1 -1
- package/typings/grid-list/index.d.ts +1 -1
- package/typings/grid-list/index.metadata.json +1 -1
- package/typings/list/index.metadata.json +1 -1
- package/typings/list/selection-list.d.ts +5 -5
- package/typings/menu/index.d.ts +2 -2
- package/typings/menu/index.metadata.json +1 -1
- package/typings/menu/menu-item.d.ts +1 -1
- package/typings/menu/menu-panel.d.ts +8 -0
- package/typings/menu/menu.d.ts +21 -14
- package/typings/progress-spinner/index.metadata.json +1 -1
- package/typings/progress-spinner/progress-spinner.d.ts +14 -6
- package/typings/progress-spinner/public-api.d.ts +1 -1
- package/typings/radio/index.metadata.json +1 -1
- package/typings/radio/radio.d.ts +8 -2
- package/typings/schematics/ng-update/index.d.ts +0 -2
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/misc-class-inheritance-rule.d.ts +18 -0
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/misc-class-names-rule.d.ts +18 -0
- package/{schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.d.ts → typings/schematics/ng-update/upgrade-rules/misc-checks/misc-imports-rule.d.ts} +7 -8
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/misc-property-names-rule.d.ts +18 -0
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/misc-template-rule.d.ts +16 -0
- package/typings/schematics/ng-update/upgrade-rules/misc-ripples-v7/{rippleSpeedFactorAssignmentRule.d.ts → ripple-speed-factor-rule.d.ts} +11 -9
- package/typings/schematics/ng-update/upgrade-rules/package-imports-v8/secondary-entry-points-rule.d.ts +18 -0
- package/typings/sidenav/index.metadata.json +1 -1
- package/typings/tabs/index.d.ts +2 -1
- package/typings/tabs/index.metadata.json +1 -1
- package/typings/tabs/ink-bar.d.ts +2 -1
- package/typings/tabs/paginated-tab-header.d.ts +187 -0
- package/typings/tabs/public-api.d.ts +2 -1
- package/typings/tabs/tab-group.d.ts +2 -1
- package/typings/tabs/tab-header.d.ts +10 -159
- package/typings/tabs/tab-nav-bar/tab-nav-bar.d.ts +27 -30
- package/typings/tooltip/index.metadata.json +1 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassInheritanceMiscRule.d.ts +0 -19
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassInheritanceMiscRule.js +0 -43
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassInheritanceMiscRule.js.map +0 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassNamesMiscRule.d.ts +0 -19
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassNamesMiscRule.js +0 -35
- package/schematics/ng-update/upgrade-rules/misc-checks/checkClassNamesMiscRule.js.map +0 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkImportsMiscRule.js.map +0 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkPropertyNamesMiscRule.d.ts +0 -19
- package/schematics/ng-update/upgrade-rules/misc-checks/checkPropertyNamesMiscRule.js +0 -40
- package/schematics/ng-update/upgrade-rules/misc-checks/checkPropertyNamesMiscRule.js.map +0 -1
- package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.d.ts +0 -22
- package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js +0 -66
- package/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.js.map +0 -1
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorAssignmentRule.js.map +0 -1
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorTemplateRule.d.ts +0 -22
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorTemplateRule.js +0 -66
- package/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorTemplateRule.js.map +0 -1
- package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.d.ts +0 -22
- package/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.js.map +0 -1
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkClassInheritanceMiscRule.d.ts +0 -19
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkClassNamesMiscRule.d.ts +0 -19
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkPropertyNamesMiscRule.d.ts +0 -19
- package/typings/schematics/ng-update/upgrade-rules/misc-checks/checkTemplateMiscRule.d.ts +0 -22
- package/typings/schematics/ng-update/upgrade-rules/misc-ripples-v7/rippleSpeedFactorTemplateRule.d.ts +0 -22
- package/typings/schematics/ng-update/upgrade-rules/package-imports-v8/updateAngularMaterialImportsRule.d.ts +0 -22
package/esm2015/tabs.js
CHANGED
|
@@ -5,17 +5,18 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { Directive, ElementRef, Inject, InjectionToken, NgZone, TemplateRef, ChangeDetectionStrategy, Component, ContentChild, Input, ViewChild, ViewContainerRef, ViewEncapsulation, ChangeDetectorRef, Output, EventEmitter,
|
|
8
|
+
import { Directive, ElementRef, Inject, InjectionToken, NgZone, Optional, TemplateRef, ChangeDetectionStrategy, Component, ContentChild, Input, ViewChild, ViewContainerRef, ViewEncapsulation, ChangeDetectorRef, Output, EventEmitter, ComponentFactoryResolver, forwardRef, ContentChildren, Attribute, NgModule } from '@angular/core';
|
|
9
|
+
import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
|
|
9
10
|
import { CdkPortal, TemplatePortal, CdkPortalOutlet, PortalHostDirective, PortalModule } from '@angular/cdk/portal';
|
|
10
|
-
import { mixinDisabled,
|
|
11
|
+
import { mixinDisabled, mixinColor, mixinDisableRipple, MAT_RIPPLE_GLOBAL_OPTIONS, mixinTabIndex, RippleRenderer, MatCommonModule, MatRippleModule } from '@angular/material/core';
|
|
11
12
|
import { Subject, Subscription, merge, of, timer, fromEvent } from 'rxjs';
|
|
12
13
|
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
13
14
|
import { Directionality } from '@angular/cdk/bidi';
|
|
14
15
|
import { startWith, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
15
16
|
import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
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
|
+
import { END, ENTER, HOME, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
19
20
|
import { Platform, normalizePassiveListenerOptions } from '@angular/cdk/platform';
|
|
20
21
|
import { ObserversModule } from '@angular/cdk/observers';
|
|
21
22
|
import { CommonModule } from '@angular/common';
|
|
@@ -58,11 +59,13 @@ class MatInkBar {
|
|
|
58
59
|
* @param {?} _elementRef
|
|
59
60
|
* @param {?} _ngZone
|
|
60
61
|
* @param {?} _inkBarPositioner
|
|
62
|
+
* @param {?=} _animationMode
|
|
61
63
|
*/
|
|
62
|
-
constructor(_elementRef, _ngZone, _inkBarPositioner) {
|
|
64
|
+
constructor(_elementRef, _ngZone, _inkBarPositioner, _animationMode) {
|
|
63
65
|
this._elementRef = _elementRef;
|
|
64
66
|
this._ngZone = _ngZone;
|
|
65
67
|
this._inkBarPositioner = _inkBarPositioner;
|
|
68
|
+
this._animationMode = _animationMode;
|
|
66
69
|
}
|
|
67
70
|
/**
|
|
68
71
|
* Calculates the styles from the provided element in order to align the ink-bar to that element.
|
|
@@ -121,6 +124,7 @@ MatInkBar.decorators = [
|
|
|
121
124
|
selector: 'mat-ink-bar',
|
|
122
125
|
host: {
|
|
123
126
|
'class': 'mat-ink-bar',
|
|
127
|
+
'[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,
|
|
124
128
|
},
|
|
125
129
|
},] },
|
|
126
130
|
];
|
|
@@ -128,7 +132,8 @@ MatInkBar.decorators = [
|
|
|
128
132
|
MatInkBar.ctorParameters = () => [
|
|
129
133
|
{ type: ElementRef },
|
|
130
134
|
{ type: NgZone },
|
|
131
|
-
{ type: undefined, decorators: [{ type: Inject, args: [_MAT_INK_BAR_POSITIONER,] }] }
|
|
135
|
+
{ type: undefined, decorators: [{ type: Inject, args: [_MAT_INK_BAR_POSITIONER,] }] },
|
|
136
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
132
137
|
];
|
|
133
138
|
|
|
134
139
|
/**
|
|
@@ -653,38 +658,28 @@ const HEADER_SCROLL_DELAY = 650;
|
|
|
653
658
|
* @type {?}
|
|
654
659
|
*/
|
|
655
660
|
const HEADER_SCROLL_INTERVAL = 100;
|
|
656
|
-
// Boilerplate for applying mixins to MatTabHeader.
|
|
657
661
|
/**
|
|
658
|
-
*
|
|
659
|
-
|
|
660
|
-
class MatTabHeaderBase {
|
|
661
|
-
}
|
|
662
|
-
/** @type {?} */
|
|
663
|
-
const _MatTabHeaderMixinBase = mixinDisableRipple(MatTabHeaderBase);
|
|
664
|
-
/**
|
|
665
|
-
* The header of the tab group which displays a list of all the tabs in the tab group. Includes
|
|
666
|
-
* an ink bar that follows the currently selected tab. When the tabs list's width exceeds the
|
|
667
|
-
* width of the header container, then arrows will be displayed to allow the user to scroll
|
|
668
|
-
* left and right across the header.
|
|
669
|
-
* \@docs-private
|
|
662
|
+
* Base class for a tab header that supported pagination.
|
|
663
|
+
* @abstract
|
|
670
664
|
*/
|
|
671
|
-
class
|
|
665
|
+
class MatPaginatedTabHeader {
|
|
672
666
|
/**
|
|
673
667
|
* @param {?} _elementRef
|
|
674
668
|
* @param {?} _changeDetectorRef
|
|
675
669
|
* @param {?} _viewportRuler
|
|
676
670
|
* @param {?} _dir
|
|
677
671
|
* @param {?} _ngZone
|
|
678
|
-
* @param {
|
|
672
|
+
* @param {?=} _platform
|
|
673
|
+
* @param {?=} _animationMode
|
|
679
674
|
*/
|
|
680
|
-
constructor(_elementRef, _changeDetectorRef, _viewportRuler, _dir, _ngZone, _platform) {
|
|
681
|
-
super();
|
|
675
|
+
constructor(_elementRef, _changeDetectorRef, _viewportRuler, _dir, _ngZone, _platform, _animationMode) {
|
|
682
676
|
this._elementRef = _elementRef;
|
|
683
677
|
this._changeDetectorRef = _changeDetectorRef;
|
|
684
678
|
this._viewportRuler = _viewportRuler;
|
|
685
679
|
this._dir = _dir;
|
|
686
680
|
this._ngZone = _ngZone;
|
|
687
681
|
this._platform = _platform;
|
|
682
|
+
this._animationMode = _animationMode;
|
|
688
683
|
/**
|
|
689
684
|
* The distance in pixels that the tab labels should be translated to the left.
|
|
690
685
|
*/
|
|
@@ -748,69 +743,37 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
748
743
|
*/
|
|
749
744
|
set selectedIndex(value) {
|
|
750
745
|
value = coerceNumberProperty(value);
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
this._keyManager
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
/**
|
|
758
|
-
* @return {?}
|
|
759
|
-
*/
|
|
760
|
-
ngAfterContentChecked() {
|
|
761
|
-
// If the number of tab labels have changed, check if scrolling should be enabled
|
|
762
|
-
if (this._tabLabelCount != this._labelWrappers.length) {
|
|
763
|
-
this.updatePagination();
|
|
764
|
-
this._tabLabelCount = this._labelWrappers.length;
|
|
765
|
-
this._changeDetectorRef.markForCheck();
|
|
766
|
-
}
|
|
767
|
-
// If the selected index has changed, scroll to the label and check if the scrolling controls
|
|
768
|
-
// should be disabled.
|
|
769
|
-
if (this._selectedIndexChanged) {
|
|
770
|
-
this._scrollToLabel(this._selectedIndex);
|
|
771
|
-
this._checkScrollingControls();
|
|
772
|
-
this._alignInkBarToSelectedTab();
|
|
773
|
-
this._selectedIndexChanged = false;
|
|
774
|
-
this._changeDetectorRef.markForCheck();
|
|
775
|
-
}
|
|
776
|
-
// If the scroll distance has been changed (tab selected, focused, scroll controls activated),
|
|
777
|
-
// then translate the header to reflect this.
|
|
778
|
-
if (this._scrollDistanceChanged) {
|
|
779
|
-
this._updateTabScrollPosition();
|
|
780
|
-
this._scrollDistanceChanged = false;
|
|
781
|
-
this._changeDetectorRef.markForCheck();
|
|
746
|
+
if (this._selectedIndex != value) {
|
|
747
|
+
this._selectedIndexChanged = true;
|
|
748
|
+
this._selectedIndex = value;
|
|
749
|
+
if (this._keyManager) {
|
|
750
|
+
this._keyManager.updateActiveItemIndex(value);
|
|
751
|
+
}
|
|
782
752
|
}
|
|
783
753
|
}
|
|
784
754
|
/**
|
|
785
|
-
* Handles keyboard events on the header.
|
|
786
|
-
* @param {?} event
|
|
787
755
|
* @return {?}
|
|
788
756
|
*/
|
|
789
|
-
|
|
790
|
-
// We
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
break;
|
|
808
|
-
default:
|
|
809
|
-
this._keyManager.onKeydown(event);
|
|
810
|
-
}
|
|
757
|
+
ngAfterViewInit() {
|
|
758
|
+
// We need to handle these events manually, because we want to bind passive event listeners.
|
|
759
|
+
fromEvent(this._previousPaginator.nativeElement, 'touchstart', passiveEventListenerOptions)
|
|
760
|
+
.pipe(takeUntil(this._destroyed))
|
|
761
|
+
.subscribe((/**
|
|
762
|
+
* @return {?}
|
|
763
|
+
*/
|
|
764
|
+
() => {
|
|
765
|
+
this._handlePaginatorPress('before');
|
|
766
|
+
}));
|
|
767
|
+
fromEvent(this._nextPaginator.nativeElement, 'touchstart', passiveEventListenerOptions)
|
|
768
|
+
.pipe(takeUntil(this._destroyed))
|
|
769
|
+
.subscribe((/**
|
|
770
|
+
* @return {?}
|
|
771
|
+
*/
|
|
772
|
+
() => {
|
|
773
|
+
this._handlePaginatorPress('after');
|
|
774
|
+
}));
|
|
811
775
|
}
|
|
812
776
|
/**
|
|
813
|
-
* Aligns the ink bar to the selected tab on load.
|
|
814
777
|
* @return {?}
|
|
815
778
|
*/
|
|
816
779
|
ngAfterContentInit() {
|
|
@@ -826,7 +789,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
826
789
|
this.updatePagination();
|
|
827
790
|
this._alignInkBarToSelectedTab();
|
|
828
791
|
});
|
|
829
|
-
this._keyManager = new FocusKeyManager(this.
|
|
792
|
+
this._keyManager = new FocusKeyManager(this._items)
|
|
830
793
|
.withHorizontalOrientation(this._getLayoutDirection())
|
|
831
794
|
.withWrap();
|
|
832
795
|
this._keyManager.updateActiveItem(0);
|
|
@@ -835,7 +798,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
835
798
|
typeof requestAnimationFrame !== 'undefined' ? requestAnimationFrame(realign) : realign();
|
|
836
799
|
// On dir change or window resize, realign the ink bar and update the orientation of
|
|
837
800
|
// the key manager if the direction has changed.
|
|
838
|
-
merge(dirChange, resize).pipe(takeUntil(this._destroyed)).subscribe((/**
|
|
801
|
+
merge(dirChange, resize, this._items.changes).pipe(takeUntil(this._destroyed)).subscribe((/**
|
|
839
802
|
* @return {?}
|
|
840
803
|
*/
|
|
841
804
|
() => {
|
|
@@ -857,24 +820,29 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
857
820
|
/**
|
|
858
821
|
* @return {?}
|
|
859
822
|
*/
|
|
860
|
-
|
|
861
|
-
//
|
|
862
|
-
|
|
863
|
-
.
|
|
864
|
-
.
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
.
|
|
872
|
-
.
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
823
|
+
ngAfterContentChecked() {
|
|
824
|
+
// If the number of tab labels have changed, check if scrolling should be enabled
|
|
825
|
+
if (this._tabLabelCount != this._items.length) {
|
|
826
|
+
this.updatePagination();
|
|
827
|
+
this._tabLabelCount = this._items.length;
|
|
828
|
+
this._changeDetectorRef.markForCheck();
|
|
829
|
+
}
|
|
830
|
+
// If the selected index has changed, scroll to the label and check if the scrolling controls
|
|
831
|
+
// should be disabled.
|
|
832
|
+
if (this._selectedIndexChanged) {
|
|
833
|
+
this._scrollToLabel(this._selectedIndex);
|
|
834
|
+
this._checkScrollingControls();
|
|
835
|
+
this._alignInkBarToSelectedTab();
|
|
836
|
+
this._selectedIndexChanged = false;
|
|
837
|
+
this._changeDetectorRef.markForCheck();
|
|
838
|
+
}
|
|
839
|
+
// If the scroll distance has been changed (tab selected, focused, scroll controls activated),
|
|
840
|
+
// then translate the header to reflect this.
|
|
841
|
+
if (this._scrollDistanceChanged) {
|
|
842
|
+
this._updateTabScrollPosition();
|
|
843
|
+
this._scrollDistanceChanged = false;
|
|
844
|
+
this._changeDetectorRef.markForCheck();
|
|
845
|
+
}
|
|
878
846
|
}
|
|
879
847
|
/**
|
|
880
848
|
* @return {?}
|
|
@@ -884,6 +852,34 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
884
852
|
this._destroyed.complete();
|
|
885
853
|
this._stopScrolling.complete();
|
|
886
854
|
}
|
|
855
|
+
/**
|
|
856
|
+
* Handles keyboard events on the header.
|
|
857
|
+
* @param {?} event
|
|
858
|
+
* @return {?}
|
|
859
|
+
*/
|
|
860
|
+
_handleKeydown(event) {
|
|
861
|
+
// We don't handle any key bindings with a modifier key.
|
|
862
|
+
if (hasModifierKey(event)) {
|
|
863
|
+
return;
|
|
864
|
+
}
|
|
865
|
+
switch (event.keyCode) {
|
|
866
|
+
case HOME:
|
|
867
|
+
this._keyManager.setFirstItemActive();
|
|
868
|
+
event.preventDefault();
|
|
869
|
+
break;
|
|
870
|
+
case END:
|
|
871
|
+
this._keyManager.setLastItemActive();
|
|
872
|
+
event.preventDefault();
|
|
873
|
+
break;
|
|
874
|
+
case ENTER:
|
|
875
|
+
case SPACE:
|
|
876
|
+
this.selectFocusedIndex.emit(this.focusIndex);
|
|
877
|
+
this._itemSelected(event);
|
|
878
|
+
break;
|
|
879
|
+
default:
|
|
880
|
+
this._keyManager.onKeydown(event);
|
|
881
|
+
}
|
|
882
|
+
}
|
|
887
883
|
/**
|
|
888
884
|
* Callback for when the MutationObserver detects that the content has changed.
|
|
889
885
|
* @return {?}
|
|
@@ -895,7 +891,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
895
891
|
// will fire even if the text content didn't change which is inefficient and is prone
|
|
896
892
|
// to infinite loops if a poorly constructed expression is passed in (see #14249).
|
|
897
893
|
if (textContent !== this._currentTextContent) {
|
|
898
|
-
this._currentTextContent = textContent;
|
|
894
|
+
this._currentTextContent = textContent || '';
|
|
899
895
|
// The content observer runs outside the `NgZone` by default, which
|
|
900
896
|
// means that we need to bring the callback back in ourselves.
|
|
901
897
|
this._ngZone.run((/**
|
|
@@ -911,7 +907,7 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
911
907
|
/**
|
|
912
908
|
* Updates the view whether pagination should be enabled or not.
|
|
913
909
|
*
|
|
914
|
-
* WARNING: Calling this method can be very costly in terms of performance.
|
|
910
|
+
* WARNING: Calling this method can be very costly in terms of performance. It should be called
|
|
915
911
|
* as infrequently as possible from outside of the Tabs component as it causes a reflow of the
|
|
916
912
|
* page.
|
|
917
913
|
* @return {?}
|
|
@@ -946,11 +942,11 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
946
942
|
* @return {?}
|
|
947
943
|
*/
|
|
948
944
|
_isValidIndex(index) {
|
|
949
|
-
if (!this.
|
|
945
|
+
if (!this._items) {
|
|
950
946
|
return true;
|
|
951
947
|
}
|
|
952
948
|
/** @type {?} */
|
|
953
|
-
const tab = this.
|
|
949
|
+
const tab = this._items ? this._items.toArray()[index] : null;
|
|
954
950
|
return !!tab && !tab.disabled;
|
|
955
951
|
}
|
|
956
952
|
/**
|
|
@@ -963,8 +959,8 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
963
959
|
if (this._showPaginationControls) {
|
|
964
960
|
this._scrollToLabel(tabIndex);
|
|
965
961
|
}
|
|
966
|
-
if (this.
|
|
967
|
-
this.
|
|
962
|
+
if (this._items && this._items.length) {
|
|
963
|
+
this._items.toArray()[tabIndex].focus();
|
|
968
964
|
// Do not let the browser manage scrolling to focus the element, this will be handled
|
|
969
965
|
// by using translation. In LTR, the scroll left should be 0. In RTL, the scroll width
|
|
970
966
|
// should be the full width minus the offset width.
|
|
@@ -1009,7 +1005,8 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
1009
1005
|
// position to be thrown off in some cases. We have to reset it ourselves to ensure that
|
|
1010
1006
|
// it doesn't get thrown off. Note that we scope it only to IE and Edge, because messing
|
|
1011
1007
|
// with the scroll position throws off Chrome 71+ in RTL mode (see #14689).
|
|
1012
|
-
|
|
1008
|
+
// @breaking-change 9.0.0 Remove null check for `platform` after it can no longer be undefined.
|
|
1009
|
+
if (platform && (platform.TRIDENT || platform.EDGE)) {
|
|
1013
1010
|
this._tabListContainer.nativeElement.scrollLeft = 0;
|
|
1014
1011
|
}
|
|
1015
1012
|
}
|
|
@@ -1062,24 +1059,25 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
1062
1059
|
*/
|
|
1063
1060
|
_scrollToLabel(labelIndex) {
|
|
1064
1061
|
/** @type {?} */
|
|
1065
|
-
const selectedLabel = this.
|
|
1062
|
+
const selectedLabel = this._items ? this._items.toArray()[labelIndex] : null;
|
|
1066
1063
|
if (!selectedLabel) {
|
|
1067
1064
|
return;
|
|
1068
1065
|
}
|
|
1069
1066
|
// The view length is the visible width of the tab labels.
|
|
1070
1067
|
/** @type {?} */
|
|
1071
1068
|
const viewLength = this._tabListContainer.nativeElement.offsetWidth;
|
|
1069
|
+
const { offsetLeft, offsetWidth } = selectedLabel.elementRef.nativeElement;
|
|
1072
1070
|
/** @type {?} */
|
|
1073
1071
|
let labelBeforePos;
|
|
1074
1072
|
/** @type {?} */
|
|
1075
1073
|
let labelAfterPos;
|
|
1076
1074
|
if (this._getLayoutDirection() == 'ltr') {
|
|
1077
|
-
labelBeforePos =
|
|
1078
|
-
labelAfterPos = labelBeforePos +
|
|
1075
|
+
labelBeforePos = offsetLeft;
|
|
1076
|
+
labelAfterPos = labelBeforePos + offsetWidth;
|
|
1079
1077
|
}
|
|
1080
1078
|
else {
|
|
1081
|
-
labelAfterPos = this._tabList.nativeElement.offsetWidth -
|
|
1082
|
-
labelBeforePos = labelAfterPos -
|
|
1079
|
+
labelAfterPos = this._tabList.nativeElement.offsetWidth - offsetLeft;
|
|
1080
|
+
labelBeforePos = labelAfterPos - offsetWidth;
|
|
1083
1081
|
}
|
|
1084
1082
|
/** @type {?} */
|
|
1085
1083
|
const beforeVisiblePos = this.scrollDistance;
|
|
@@ -1151,10 +1149,16 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
1151
1149
|
*/
|
|
1152
1150
|
_alignInkBarToSelectedTab() {
|
|
1153
1151
|
/** @type {?} */
|
|
1154
|
-
const
|
|
1155
|
-
this.
|
|
1156
|
-
|
|
1157
|
-
|
|
1152
|
+
const selectedItem = this._items && this._items.length ?
|
|
1153
|
+
this._items.toArray()[this.selectedIndex] : null;
|
|
1154
|
+
/** @type {?} */
|
|
1155
|
+
const selectedLabelWrapper = selectedItem ? selectedItem.elementRef.nativeElement : null;
|
|
1156
|
+
if (selectedLabelWrapper) {
|
|
1157
|
+
this._inkBar.alignToElement(selectedLabelWrapper);
|
|
1158
|
+
}
|
|
1159
|
+
else {
|
|
1160
|
+
this._inkBar.hide();
|
|
1161
|
+
}
|
|
1158
1162
|
}
|
|
1159
1163
|
/**
|
|
1160
1164
|
* Stops the currently-running paginator interval.
|
|
@@ -1204,11 +1208,69 @@ class MatTabHeader extends _MatTabHeaderMixinBase {
|
|
|
1204
1208
|
return { maxScrollDistance, distance: this._scrollDistance };
|
|
1205
1209
|
}
|
|
1206
1210
|
}
|
|
1211
|
+
/** @nocollapse */
|
|
1212
|
+
MatPaginatedTabHeader.ctorParameters = () => [
|
|
1213
|
+
{ type: ElementRef },
|
|
1214
|
+
{ type: ChangeDetectorRef },
|
|
1215
|
+
{ type: ViewportRuler },
|
|
1216
|
+
{ type: Directionality, decorators: [{ type: Optional }] },
|
|
1217
|
+
{ type: NgZone },
|
|
1218
|
+
{ type: Platform },
|
|
1219
|
+
{ type: String }
|
|
1220
|
+
];
|
|
1221
|
+
|
|
1222
|
+
/**
|
|
1223
|
+
* @fileoverview added by tsickle
|
|
1224
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1225
|
+
*/
|
|
1226
|
+
/**
|
|
1227
|
+
* The header of the tab group which displays a list of all the tabs in the tab group. Includes
|
|
1228
|
+
* an ink bar that follows the currently selected tab. When the tabs list's width exceeds the
|
|
1229
|
+
* width of the header container, then arrows will be displayed to allow the user to scroll
|
|
1230
|
+
* left and right across the header.
|
|
1231
|
+
* \@docs-private
|
|
1232
|
+
*/
|
|
1233
|
+
class MatTabHeader extends MatPaginatedTabHeader {
|
|
1234
|
+
/**
|
|
1235
|
+
* @param {?} elementRef
|
|
1236
|
+
* @param {?} changeDetectorRef
|
|
1237
|
+
* @param {?} viewportRuler
|
|
1238
|
+
* @param {?} dir
|
|
1239
|
+
* @param {?} ngZone
|
|
1240
|
+
* @param {?} platform
|
|
1241
|
+
* @param {?=} animationMode
|
|
1242
|
+
*/
|
|
1243
|
+
constructor(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform,
|
|
1244
|
+
// @breaking-change 9.0.0 `_animationMode` parameter to be made required.
|
|
1245
|
+
animationMode) {
|
|
1246
|
+
super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
|
|
1247
|
+
this._disableRipple = false;
|
|
1248
|
+
}
|
|
1249
|
+
/**
|
|
1250
|
+
* Whether the ripple effect is disabled or not.
|
|
1251
|
+
* @return {?}
|
|
1252
|
+
*/
|
|
1253
|
+
get disableRipple() { return this._disableRipple; }
|
|
1254
|
+
/**
|
|
1255
|
+
* @param {?} value
|
|
1256
|
+
* @return {?}
|
|
1257
|
+
*/
|
|
1258
|
+
set disableRipple(value) { this._disableRipple = coerceBooleanProperty(value); }
|
|
1259
|
+
/**
|
|
1260
|
+
* @protected
|
|
1261
|
+
* @param {?} event
|
|
1262
|
+
* @return {?}
|
|
1263
|
+
*/
|
|
1264
|
+
_itemSelected(event) {
|
|
1265
|
+
event.preventDefault();
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1207
1268
|
MatTabHeader.decorators = [
|
|
1208
1269
|
{ type: Component, args: [{selector: 'mat-tab-header',
|
|
1209
|
-
template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\" #previousPaginator aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\" (click)=\"_handlePaginatorClick('before')\" (mousedown)=\"_handlePaginatorPress('before')\" (touchend)=\"_stopInterval()\"><div class=\"mat-tab-header-pagination-chevron\"></div></div><div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\"><div class=\"mat-tab-list\"
|
|
1210
|
-
styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-
|
|
1211
|
-
inputs: ['
|
|
1270
|
+
template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\" #previousPaginator aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\" (click)=\"_handlePaginatorClick('before')\" (mousedown)=\"_handlePaginatorPress('before')\" (touchend)=\"_stopInterval()\"><div class=\"mat-tab-header-pagination-chevron\"></div></div><div class=\"mat-tab-label-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\"><div #tabList class=\"mat-tab-list\" [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\" 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\" #nextPaginator aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\" (mousedown)=\"_handlePaginatorPress('after')\" (click)=\"_handlePaginatorClick('after')\" (touchend)=\"_stopInterval()\"><div class=\"mat-tab-header-pagination-chevron\"></div></div>",
|
|
1271
|
+
styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.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-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.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-labels{display:flex}[mat-align-tabs=center] .mat-tab-labels{justify-content:center}[mat-align-tabs=end] .mat-tab-labels{justify-content:flex-end}.mat-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}._mat-animation-noopable.mat-tab-list{transition:none;animation:none}.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}}"],
|
|
1272
|
+
inputs: ['selectedIndex'],
|
|
1273
|
+
outputs: ['selectFocusedIndex', 'indexFocused'],
|
|
1212
1274
|
encapsulation: ViewEncapsulation.None,
|
|
1213
1275
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1214
1276
|
host: {
|
|
@@ -1225,18 +1287,17 @@ MatTabHeader.ctorParameters = () => [
|
|
|
1225
1287
|
{ type: ViewportRuler },
|
|
1226
1288
|
{ type: Directionality, decorators: [{ type: Optional }] },
|
|
1227
1289
|
{ type: NgZone },
|
|
1228
|
-
{ type: Platform }
|
|
1290
|
+
{ type: Platform },
|
|
1291
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
1229
1292
|
];
|
|
1230
1293
|
MatTabHeader.propDecorators = {
|
|
1231
|
-
|
|
1294
|
+
_items: [{ type: ContentChildren, args: [MatTabLabelWrapper,] }],
|
|
1232
1295
|
_inkBar: [{ type: ViewChild, args: [MatInkBar, { static: true },] }],
|
|
1233
1296
|
_tabListContainer: [{ type: ViewChild, args: ['tabListContainer', { static: true },] }],
|
|
1234
1297
|
_tabList: [{ type: ViewChild, args: ['tabList', { static: true },] }],
|
|
1235
1298
|
_nextPaginator: [{ type: ViewChild, args: ['nextPaginator', { static: false },] }],
|
|
1236
1299
|
_previousPaginator: [{ type: ViewChild, args: ['previousPaginator', { static: false },] }],
|
|
1237
|
-
|
|
1238
|
-
selectFocusedIndex: [{ type: Output }],
|
|
1239
|
-
indexFocused: [{ type: Output }]
|
|
1300
|
+
disableRipple: [{ type: Input }]
|
|
1240
1301
|
};
|
|
1241
1302
|
|
|
1242
1303
|
/**
|
|
@@ -1282,10 +1343,12 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1282
1343
|
* @param {?} elementRef
|
|
1283
1344
|
* @param {?} _changeDetectorRef
|
|
1284
1345
|
* @param {?=} defaultConfig
|
|
1346
|
+
* @param {?=} _animationMode
|
|
1285
1347
|
*/
|
|
1286
|
-
constructor(elementRef, _changeDetectorRef, defaultConfig) {
|
|
1348
|
+
constructor(elementRef, _changeDetectorRef, defaultConfig, _animationMode) {
|
|
1287
1349
|
super(elementRef);
|
|
1288
1350
|
this._changeDetectorRef = _changeDetectorRef;
|
|
1351
|
+
this._animationMode = _animationMode;
|
|
1289
1352
|
/**
|
|
1290
1353
|
* The tab index that should be selected after the content has been checked.
|
|
1291
1354
|
*/
|
|
@@ -1613,8 +1676,8 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1613
1676
|
MatTabGroup.decorators = [
|
|
1614
1677
|
{ type: Component, args: [{selector: 'mat-tab-group',
|
|
1615
1678
|
exportAs: 'matTabGroup',
|
|
1616
|
-
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>",
|
|
1617
|
-
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}"],
|
|
1679
|
+
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\" [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\" #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>",
|
|
1680
|
+
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-animation-noopable.mat-tab-body-wrapper{transition:none;animation:none}.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}"],
|
|
1618
1681
|
encapsulation: ViewEncapsulation.None,
|
|
1619
1682
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1620
1683
|
inputs: ['color', 'disableRipple'],
|
|
@@ -1629,7 +1692,8 @@ MatTabGroup.decorators = [
|
|
|
1629
1692
|
MatTabGroup.ctorParameters = () => [
|
|
1630
1693
|
{ type: ElementRef },
|
|
1631
1694
|
{ type: ChangeDetectorRef },
|
|
1632
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MAT_TABS_CONFIG,] }, { type: Optional }] }
|
|
1695
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_TABS_CONFIG,] }, { type: Optional }] },
|
|
1696
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
1633
1697
|
];
|
|
1634
1698
|
MatTabGroup.propDecorators = {
|
|
1635
1699
|
_tabs: [{ type: ContentChildren, args: [MatTab,] }],
|
|
@@ -1650,42 +1714,31 @@ MatTabGroup.propDecorators = {
|
|
|
1650
1714
|
* @fileoverview added by tsickle
|
|
1651
1715
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1652
1716
|
*/
|
|
1653
|
-
// Boilerplate for applying mixins to MatTabNav.
|
|
1654
|
-
/**
|
|
1655
|
-
* \@docs-private
|
|
1656
|
-
*/
|
|
1657
|
-
class MatTabNavBase {
|
|
1658
|
-
/**
|
|
1659
|
-
* @param {?} _elementRef
|
|
1660
|
-
*/
|
|
1661
|
-
constructor(_elementRef) {
|
|
1662
|
-
this._elementRef = _elementRef;
|
|
1663
|
-
}
|
|
1664
|
-
}
|
|
1665
|
-
/** @type {?} */
|
|
1666
|
-
const _MatTabNavMixinBase = mixinDisableRipple(mixinColor(MatTabNavBase, 'primary'));
|
|
1667
1717
|
/**
|
|
1668
1718
|
* Navigation component matching the styles of the tab group header.
|
|
1669
1719
|
* Provides anchored navigation with animated ink bar.
|
|
1670
1720
|
*/
|
|
1671
|
-
class MatTabNav extends
|
|
1721
|
+
class MatTabNav extends MatPaginatedTabHeader {
|
|
1672
1722
|
/**
|
|
1673
1723
|
* @param {?} elementRef
|
|
1674
|
-
* @param {?}
|
|
1675
|
-
* @param {?}
|
|
1676
|
-
* @param {?}
|
|
1677
|
-
* @param {?}
|
|
1724
|
+
* @param {?} dir
|
|
1725
|
+
* @param {?} ngZone
|
|
1726
|
+
* @param {?} changeDetectorRef
|
|
1727
|
+
* @param {?} viewportRuler
|
|
1728
|
+
* @param {?=} platform
|
|
1729
|
+
* @param {?=} animationMode
|
|
1678
1730
|
*/
|
|
1679
|
-
constructor(elementRef,
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1731
|
+
constructor(elementRef, dir, ngZone, changeDetectorRef, viewportRuler,
|
|
1732
|
+
/**
|
|
1733
|
+
* @deprecated @breaking-change 9.0.0 `platform` parameter to become required.
|
|
1734
|
+
*/
|
|
1735
|
+
platform, animationMode) {
|
|
1736
|
+
super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
|
|
1737
|
+
this._disableRipple = false;
|
|
1685
1738
|
/**
|
|
1686
|
-
*
|
|
1739
|
+
* Theme color of the nav bar.
|
|
1687
1740
|
*/
|
|
1688
|
-
this.
|
|
1741
|
+
this.color = 'primary';
|
|
1689
1742
|
}
|
|
1690
1743
|
/**
|
|
1691
1744
|
* Background color of the tab nav.
|
|
@@ -1698,88 +1751,75 @@ class MatTabNav extends _MatTabNavMixinBase {
|
|
|
1698
1751
|
*/
|
|
1699
1752
|
set backgroundColor(value) {
|
|
1700
1753
|
/** @type {?} */
|
|
1701
|
-
const
|
|
1702
|
-
|
|
1754
|
+
const classList = this._elementRef.nativeElement.classList;
|
|
1755
|
+
classList.remove(`mat-background-${this.backgroundColor}`);
|
|
1703
1756
|
if (value) {
|
|
1704
|
-
|
|
1757
|
+
classList.add(`mat-background-${value}`);
|
|
1705
1758
|
}
|
|
1706
1759
|
this._backgroundColor = value;
|
|
1707
1760
|
}
|
|
1708
1761
|
/**
|
|
1709
|
-
*
|
|
1710
|
-
* \@breaking-change 8.0.0 `element` parameter to be removed.
|
|
1711
|
-
* @param {?} element
|
|
1762
|
+
* Whether the ripple effect is disabled or not.
|
|
1712
1763
|
* @return {?}
|
|
1713
1764
|
*/
|
|
1714
|
-
|
|
1715
|
-
// Note: keeping the `element` for backwards-compat, but isn't being used for anything.
|
|
1716
|
-
// @breaking-change 8.0.0
|
|
1717
|
-
this._activeLinkChanged = !!element;
|
|
1718
|
-
this._changeDetectorRef.markForCheck();
|
|
1719
|
-
}
|
|
1765
|
+
get disableRipple() { return this._disableRipple; }
|
|
1720
1766
|
/**
|
|
1767
|
+
* @param {?} value
|
|
1721
1768
|
* @return {?}
|
|
1722
1769
|
*/
|
|
1723
|
-
|
|
1724
|
-
this._ngZone.runOutsideAngular((/**
|
|
1725
|
-
* @return {?}
|
|
1726
|
-
*/
|
|
1727
|
-
() => {
|
|
1728
|
-
/** @type {?} */
|
|
1729
|
-
const dirChange = this._dir ? this._dir.change : of(null);
|
|
1730
|
-
return merge(dirChange, this._viewportRuler.change(10))
|
|
1731
|
-
.pipe(takeUntil(this._onDestroy))
|
|
1732
|
-
.subscribe((/**
|
|
1733
|
-
* @return {?}
|
|
1734
|
-
*/
|
|
1735
|
-
() => this._alignInkBar()));
|
|
1736
|
-
}));
|
|
1737
|
-
}
|
|
1770
|
+
set disableRipple(value) { this._disableRipple = coerceBooleanProperty(value); }
|
|
1738
1771
|
/**
|
|
1739
|
-
*
|
|
1772
|
+
* @protected
|
|
1740
1773
|
* @return {?}
|
|
1741
1774
|
*/
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
/** @type {?} */
|
|
1745
|
-
const activeTab = this._tabLinks.find((/**
|
|
1746
|
-
* @param {?} tab
|
|
1747
|
-
* @return {?}
|
|
1748
|
-
*/
|
|
1749
|
-
tab => tab.active));
|
|
1750
|
-
this._activeLinkElement = activeTab ? activeTab._elementRef : null;
|
|
1751
|
-
this._alignInkBar();
|
|
1752
|
-
this._activeLinkChanged = false;
|
|
1753
|
-
}
|
|
1775
|
+
_itemSelected() {
|
|
1776
|
+
// noop
|
|
1754
1777
|
}
|
|
1755
1778
|
/**
|
|
1756
1779
|
* @return {?}
|
|
1757
1780
|
*/
|
|
1758
|
-
|
|
1759
|
-
this.
|
|
1760
|
-
|
|
1781
|
+
ngAfterContentInit() {
|
|
1782
|
+
this.updateActiveLink();
|
|
1783
|
+
super.ngAfterContentInit();
|
|
1761
1784
|
}
|
|
1762
1785
|
/**
|
|
1763
|
-
*
|
|
1786
|
+
* Notifies the component that the active link has been changed.
|
|
1787
|
+
* \@breaking-change 8.0.0 `element` parameter to be removed.
|
|
1788
|
+
* @param {?=} _element
|
|
1764
1789
|
* @return {?}
|
|
1765
1790
|
*/
|
|
1766
|
-
|
|
1767
|
-
if (this.
|
|
1768
|
-
|
|
1769
|
-
this._inkBar.alignToElement(this._activeLinkElement.nativeElement);
|
|
1791
|
+
updateActiveLink(_element) {
|
|
1792
|
+
if (!this._items) {
|
|
1793
|
+
return;
|
|
1770
1794
|
}
|
|
1771
|
-
|
|
1772
|
-
|
|
1795
|
+
/** @type {?} */
|
|
1796
|
+
const items = this._items.toArray();
|
|
1797
|
+
for (let i = 0; i < items.length; i++) {
|
|
1798
|
+
if (items[i].active) {
|
|
1799
|
+
this.selectedIndex = i;
|
|
1800
|
+
this._changeDetectorRef.markForCheck();
|
|
1801
|
+
return;
|
|
1802
|
+
}
|
|
1773
1803
|
}
|
|
1804
|
+
// The ink bar should hide itself if no items are active.
|
|
1805
|
+
this.selectedIndex = -1;
|
|
1806
|
+
this._inkBar.hide();
|
|
1774
1807
|
}
|
|
1775
1808
|
}
|
|
1776
1809
|
MatTabNav.decorators = [
|
|
1777
1810
|
{ type: Component, args: [{selector: '[mat-tab-nav-bar]',
|
|
1778
1811
|
exportAs: 'matTabNavBar, matTabNav',
|
|
1779
|
-
inputs: ['color'
|
|
1780
|
-
template: "<div class=\"mat-tab-
|
|
1781
|
-
styles: [".mat-tab-
|
|
1782
|
-
host: {
|
|
1812
|
+
inputs: ['color'],
|
|
1813
|
+
template: "<div class=\"mat-tab-header-pagination mat-tab-header-pagination-before mat-elevation-z4\" #previousPaginator aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollBefore || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollBefore\" (click)=\"_handlePaginatorClick('before')\" (mousedown)=\"_handlePaginatorPress('before')\" (touchend)=\"_stopInterval()\"><div class=\"mat-tab-header-pagination-chevron\"></div></div><div class=\"mat-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\"><div class=\"mat-tab-list\" #tabList (cdkObserveContent)=\"_onContentChanges()\"><div class=\"mat-tab-links\"><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\" #nextPaginator aria-hidden=\"true\" mat-ripple [matRippleDisabled]=\"_disableScrollAfter || disableRipple\" [class.mat-tab-header-pagination-disabled]=\"_disableScrollAfter\" (mousedown)=\"_handlePaginatorPress('after')\" (click)=\"_handlePaginatorClick('after')\" (touchend)=\"_stopInterval()\"><div class=\"mat-tab-header-pagination-chevron\"></div></div>",
|
|
1814
|
+
styles: [".mat-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-tab-header-pagination{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:none}.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-list{flex-grow:1;position:relative;transition:transform .5s cubic-bezier(.35,0,.25,1)}.mat-tab-links{display:flex}[mat-align-tabs=center] .mat-tab-links{justify-content:center}[mat-align-tabs=end] .mat-tab-links{justify-content:flex-end}.mat-ink-bar{position:absolute;bottom:0;height:2px;transition:.5s cubic-bezier(.35,0,.25,1)}._mat-animation-noopable.mat-ink-bar{transition:none;animation:none}.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-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.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}}"],
|
|
1815
|
+
host: {
|
|
1816
|
+
'class': 'mat-tab-nav-bar mat-tab-header',
|
|
1817
|
+
'[class.mat-tab-header-pagination-controls-enabled]': '_showPaginationControls',
|
|
1818
|
+
'[class.mat-tab-header-rtl]': "_getLayoutDirection() == 'rtl'",
|
|
1819
|
+
'[class.mat-primary]': 'color !== "warn" && color !== "accent"',
|
|
1820
|
+
'[class.mat-accent]': 'color === "accent"',
|
|
1821
|
+
'[class.mat-warn]': 'color === "warn"',
|
|
1822
|
+
},
|
|
1783
1823
|
encapsulation: ViewEncapsulation.None,
|
|
1784
1824
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1785
1825
|
},] },
|
|
@@ -1790,15 +1830,23 @@ MatTabNav.ctorParameters = () => [
|
|
|
1790
1830
|
{ type: Directionality, decorators: [{ type: Optional }] },
|
|
1791
1831
|
{ type: NgZone },
|
|
1792
1832
|
{ type: ChangeDetectorRef },
|
|
1793
|
-
{ type: ViewportRuler }
|
|
1833
|
+
{ type: ViewportRuler },
|
|
1834
|
+
{ type: Platform, decorators: [{ type: Optional }] },
|
|
1835
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
1794
1836
|
];
|
|
1795
1837
|
MatTabNav.propDecorators = {
|
|
1796
|
-
|
|
1797
|
-
_tabLinks: [{ type: ContentChildren, args: [forwardRef((/**
|
|
1838
|
+
_items: [{ type: ContentChildren, args: [forwardRef((/**
|
|
1798
1839
|
* @return {?}
|
|
1799
1840
|
*/
|
|
1800
1841
|
() => MatTabLink)), { descendants: true },] }],
|
|
1801
|
-
|
|
1842
|
+
_inkBar: [{ type: ViewChild, args: [MatInkBar, { static: true },] }],
|
|
1843
|
+
_tabListContainer: [{ type: ViewChild, args: ['tabListContainer', { static: true },] }],
|
|
1844
|
+
_tabList: [{ type: ViewChild, args: ['tabList', { static: true },] }],
|
|
1845
|
+
_nextPaginator: [{ type: ViewChild, args: ['nextPaginator', { static: false },] }],
|
|
1846
|
+
_previousPaginator: [{ type: ViewChild, args: ['previousPaginator', { static: false },] }],
|
|
1847
|
+
backgroundColor: [{ type: Input }],
|
|
1848
|
+
disableRipple: [{ type: Input }],
|
|
1849
|
+
color: [{ type: Input }]
|
|
1802
1850
|
};
|
|
1803
1851
|
// Boilerplate for applying mixins to MatTabLink.
|
|
1804
1852
|
class MatTabLinkBase {
|
|
@@ -1811,27 +1859,31 @@ const _MatTabLinkMixinBase = mixinTabIndex(mixinDisableRipple(mixinDisabled(MatT
|
|
|
1811
1859
|
class MatTabLink extends _MatTabLinkMixinBase {
|
|
1812
1860
|
/**
|
|
1813
1861
|
* @param {?} _tabNavBar
|
|
1814
|
-
* @param {?}
|
|
1862
|
+
* @param {?} elementRef
|
|
1815
1863
|
* @param {?} ngZone
|
|
1816
1864
|
* @param {?} platform
|
|
1817
1865
|
* @param {?} globalRippleOptions
|
|
1818
1866
|
* @param {?} tabIndex
|
|
1819
1867
|
* @param {?} _focusMonitor
|
|
1868
|
+
* @param {?=} animationMode
|
|
1820
1869
|
*/
|
|
1821
|
-
constructor(_tabNavBar,
|
|
1870
|
+
constructor(_tabNavBar, elementRef, ngZone, platform, globalRippleOptions, tabIndex, _focusMonitor, animationMode) {
|
|
1822
1871
|
super();
|
|
1823
1872
|
this._tabNavBar = _tabNavBar;
|
|
1824
|
-
this.
|
|
1873
|
+
this.elementRef = elementRef;
|
|
1825
1874
|
this._focusMonitor = _focusMonitor;
|
|
1826
1875
|
/**
|
|
1827
1876
|
* Whether the tab link is active or not.
|
|
1828
1877
|
*/
|
|
1829
1878
|
this._isActive = false;
|
|
1830
|
-
this._tabLinkRipple = new RippleRenderer(this, ngZone,
|
|
1831
|
-
this._tabLinkRipple.setupTriggerEvents(
|
|
1879
|
+
this._tabLinkRipple = new RippleRenderer(this, ngZone, elementRef, platform);
|
|
1880
|
+
this._tabLinkRipple.setupTriggerEvents(elementRef.nativeElement);
|
|
1832
1881
|
this.rippleConfig = globalRippleOptions || {};
|
|
1833
1882
|
this.tabIndex = parseInt(tabIndex) || 0;
|
|
1834
|
-
|
|
1883
|
+
if (animationMode === 'NoopAnimations') {
|
|
1884
|
+
this.rippleConfig.animation = { enterDuration: 0, exitDuration: 0 };
|
|
1885
|
+
}
|
|
1886
|
+
_focusMonitor.monitor(elementRef);
|
|
1835
1887
|
}
|
|
1836
1888
|
/**
|
|
1837
1889
|
* Whether the link is active.
|
|
@@ -1845,7 +1897,7 @@ class MatTabLink extends _MatTabLinkMixinBase {
|
|
|
1845
1897
|
set active(value) {
|
|
1846
1898
|
if (value !== this._isActive) {
|
|
1847
1899
|
this._isActive = value;
|
|
1848
|
-
this._tabNavBar.updateActiveLink(this.
|
|
1900
|
+
this._tabNavBar.updateActiveLink(this.elementRef);
|
|
1849
1901
|
}
|
|
1850
1902
|
}
|
|
1851
1903
|
/**
|
|
@@ -1857,12 +1909,18 @@ class MatTabLink extends _MatTabLinkMixinBase {
|
|
|
1857
1909
|
return this.disabled || this.disableRipple || this._tabNavBar.disableRipple ||
|
|
1858
1910
|
!!this.rippleConfig.disabled;
|
|
1859
1911
|
}
|
|
1912
|
+
/**
|
|
1913
|
+
* @return {?}
|
|
1914
|
+
*/
|
|
1915
|
+
focus() {
|
|
1916
|
+
this.elementRef.nativeElement.focus();
|
|
1917
|
+
}
|
|
1860
1918
|
/**
|
|
1861
1919
|
* @return {?}
|
|
1862
1920
|
*/
|
|
1863
1921
|
ngOnDestroy() {
|
|
1864
1922
|
this._tabLinkRipple._removeTriggerEvents();
|
|
1865
|
-
this._focusMonitor.stopMonitoring(this.
|
|
1923
|
+
this._focusMonitor.stopMonitoring(this.elementRef);
|
|
1866
1924
|
}
|
|
1867
1925
|
}
|
|
1868
1926
|
MatTabLink.decorators = [
|
|
@@ -1873,7 +1931,7 @@ MatTabLink.decorators = [
|
|
|
1873
1931
|
host: {
|
|
1874
1932
|
'class': 'mat-tab-link',
|
|
1875
1933
|
'[attr.aria-current]': 'active',
|
|
1876
|
-
'[attr.aria-disabled]': 'disabled
|
|
1934
|
+
'[attr.aria-disabled]': 'disabled',
|
|
1877
1935
|
'[attr.tabIndex]': 'tabIndex',
|
|
1878
1936
|
'[class.mat-tab-disabled]': 'disabled',
|
|
1879
1937
|
'[class.mat-tab-label-active]': 'active',
|
|
@@ -1888,7 +1946,8 @@ MatTabLink.ctorParameters = () => [
|
|
|
1888
1946
|
{ type: Platform },
|
|
1889
1947
|
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_RIPPLE_GLOBAL_OPTIONS,] }] },
|
|
1890
1948
|
{ type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },
|
|
1891
|
-
{ type: FocusMonitor }
|
|
1949
|
+
{ type: FocusMonitor },
|
|
1950
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
|
1892
1951
|
];
|
|
1893
1952
|
MatTabLink.propDecorators = {
|
|
1894
1953
|
active: [{ type: Input }]
|
|
@@ -1951,5 +2010,5 @@ MatTabsModule.decorators = [
|
|
|
1951
2010
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
1952
2011
|
*/
|
|
1953
2012
|
|
|
1954
|
-
export { MatInkBar, _MAT_INK_BAR_POSITIONER, MatTabBody, MatTabBodyPortal, MatTabHeader, MatTabLabelWrapper, MatTab, MatTabLabel, MatTabNav, MatTabLink, MatTabContent, MatTabsModule, MatTabChangeEvent, MAT_TABS_CONFIG, MatTabGroup, matTabsAnimations, _MAT_INK_BAR_POSITIONER_FACTORY as ɵ
|
|
2013
|
+
export { MatInkBar, _MAT_INK_BAR_POSITIONER, MatTabBody, MatTabBodyPortal, MatTabHeader, MatTabLabelWrapper, MatTab, MatTabLabel, MatTabNav, MatTabLink, MatTabContent, MatTabsModule, MatTabChangeEvent, MAT_TABS_CONFIG, MatTabGroup, matTabsAnimations, _MAT_INK_BAR_POSITIONER_FACTORY as ɵa24, MatPaginatedTabHeader as ɵb24 };
|
|
1955
2014
|
//# sourceMappingURL=tabs.js.map
|