@depup/angular__material 21.2.2-depup.19
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 +21 -0
- package/README.md +31 -0
- package/_index.scss +145 -0
- package/autocomplete/_autocomplete-theme.scss +76 -0
- package/autocomplete/_m2-autocomplete.scss +19 -0
- package/autocomplete/_m3-autocomplete.scss +26 -0
- package/badge/_badge-theme.scss +106 -0
- package/badge/_m2-badge.scss +73 -0
- package/badge/_m3-badge.scss +52 -0
- package/bottom-sheet/_bottom-sheet-theme.scss +76 -0
- package/bottom-sheet/_m2-bottom-sheet.scss +24 -0
- package/bottom-sheet/_m3-bottom-sheet.scss +25 -0
- package/button/_button-theme.scss +113 -0
- package/button/_fab-theme.scss +111 -0
- package/button/_icon-button-theme.scss +136 -0
- package/button/_m2-button.scss +194 -0
- package/button/_m2-fab.scss +101 -0
- package/button/_m2-icon-button.scss +59 -0
- package/button/_m3-button.scss +170 -0
- package/button/_m3-fab.scss +92 -0
- package/button/_m3-icon-button.scss +54 -0
- package/button-toggle/_button-toggle-theme.scss +93 -0
- package/button-toggle/_m2-button-toggle.scss +68 -0
- package/button-toggle/_m3-button-toggle.scss +72 -0
- package/card/_card-theme.scss +76 -0
- package/card/_m2-card.scss +39 -0
- package/card/_m3-card.scss +44 -0
- package/changes.json +10 -0
- package/checkbox/_checkbox-theme.scss +105 -0
- package/checkbox/_m2-checkbox.scss +78 -0
- package/checkbox/_m3-checkbox.scss +68 -0
- package/chips/_chips-theme.scss +115 -0
- package/chips/_m2-chip.scss +85 -0
- package/chips/_m3-chip.scss +81 -0
- package/core/_core-theme.scss +125 -0
- package/core/_core.scss +50 -0
- package/core/_m2-app.scss +24 -0
- package/core/_m3-app.scss +44 -0
- package/core/color/_all-color.scss +17 -0
- package/core/density/private/_all-density.scss +78 -0
- package/core/focus-indicators/_private.scss +126 -0
- package/core/m2/_index.scss +52 -0
- package/core/m2/_palette.scss +748 -0
- package/core/m2/_theming.scss +340 -0
- package/core/m2/_typography-utils.scss +81 -0
- package/core/m2/_typography.scss +388 -0
- package/core/option/_m2-optgroup.scss +21 -0
- package/core/option/_m2-option.scss +38 -0
- package/core/option/_m3-optgroup.scss +25 -0
- package/core/option/_m3-option.scss +37 -0
- package/core/option/_optgroup-theme.scss +76 -0
- package/core/option/_option-theme.scss +103 -0
- package/core/ripple/_m2-ripple.scss +17 -0
- package/core/ripple/_m3-ripple.scss +17 -0
- package/core/ripple/_ripple-theme.scss +75 -0
- package/core/ripple/_ripple.scss +56 -0
- package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +32 -0
- package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +34 -0
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +86 -0
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +110 -0
- package/core/style/_checkbox-common.scss +11 -0
- package/core/style/_elevation.scss +208 -0
- package/core/style/_layout-common.scss +8 -0
- package/core/style/_private.scss +27 -0
- package/core/style/_sass-utils.scss +57 -0
- package/core/style/_validation.scss +52 -0
- package/core/style/_variables.scss +44 -0
- package/core/style/_vendor-prefixes.scss +56 -0
- package/core/theming/_all-theme.scss +168 -0
- package/core/theming/_color-api-backwards-compatibility.scss +159 -0
- package/core/theming/_config-validation.scss +174 -0
- package/core/theming/_definition.scss +141 -0
- package/core/theming/_inspection.scss +289 -0
- package/core/theming/_m2-inspection.scss +243 -0
- package/core/theming/_palettes.scss +1036 -0
- package/core/theming/_theming.scss +193 -0
- package/core/theming/_validation.scss +5 -0
- package/core/tokens/_classes.scss +398 -0
- package/core/tokens/_m2-utils.scss +25 -0
- package/core/tokens/_m3-tokens.scss +126 -0
- package/core/tokens/_m3-utils.scss +36 -0
- package/core/tokens/_system.scss +398 -0
- package/core/tokens/_token-utils.scss +119 -0
- package/core/tokens/m2/_index.scss +6 -0
- package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
- package/core/tokens/m2/_md-sys-color.scss +123 -0
- package/core/tokens/m2/_md-sys-elevation.scss +10 -0
- package/core/tokens/m2/_md-sys-motion.scss +30 -0
- package/core/tokens/m2/_md-sys-shape.scss +16 -0
- package/core/tokens/m2/_md-sys-state.scss +8 -0
- package/core/tokens/m2/_md-sys-typescale.scss +68 -0
- package/core/tokens/m3/_index.scss +7 -0
- package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
- package/core/tokens/m3/_md-sys-color.scss +118 -0
- package/core/tokens/m3/_md-sys-elevation.scss +15 -0
- package/core/tokens/m3/_md-sys-motion.scss +35 -0
- package/core/tokens/m3/_md-sys-shape.scss +21 -0
- package/core/tokens/m3/_md-sys-state.scss +13 -0
- package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
- package/core/tokens/m3/_md-sys-typescale.scss +114 -0
- package/core/tokens/m3/_theme.scss +35 -0
- package/core/typography/_all-typography.scss +104 -0
- package/core/typography/_typography-utils.scss +31 -0
- package/core/typography/_typography.scss +269 -0
- package/core/typography/_versioning.scss +90 -0
- package/datepicker/_datepicker-theme.scss +132 -0
- package/datepicker/_m2-datepicker.scss +81 -0
- package/datepicker/_m3-datepicker.scss +74 -0
- package/dialog/_dialog-legacy-padding.scss +31 -0
- package/dialog/_dialog-theme.scss +76 -0
- package/dialog/_m2-dialog.scss +43 -0
- package/dialog/_m3-dialog.scss +47 -0
- package/divider/_divider-theme.scss +75 -0
- package/divider/_m2-divider.scss +17 -0
- package/divider/_m3-divider.scss +19 -0
- package/expansion/_expansion-theme.scss +76 -0
- package/expansion/_m2-expansion.scss +64 -0
- package/expansion/_m3-expansion.scss +61 -0
- package/fesm2022/_animation-chunk.mjs +22 -0
- package/fesm2022/_animation-chunk.mjs.map +1 -0
- package/fesm2022/_date-formats-chunk.mjs +86 -0
- package/fesm2022/_date-formats-chunk.mjs.map +1 -0
- package/fesm2022/_date-range-input-harness-chunk.mjs +322 -0
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
- package/fesm2022/_error-options-chunk.mjs +66 -0
- package/fesm2022/_error-options-chunk.mjs.map +1 -0
- package/fesm2022/_error-state-chunk.mjs +30 -0
- package/fesm2022/_error-state-chunk.mjs.map +1 -0
- package/fesm2022/_form-field-chunk.mjs +1351 -0
- package/fesm2022/_form-field-chunk.mjs.map +1 -0
- package/fesm2022/_icon-button-chunk.mjs +268 -0
- package/fesm2022/_icon-button-chunk.mjs.map +1 -0
- package/fesm2022/_icon-registry-chunk.mjs +368 -0
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
- package/fesm2022/_input-harness-chunk.mjs +67 -0
- package/fesm2022/_input-harness-chunk.mjs.map +1 -0
- package/fesm2022/_input-value-accessor-chunk.mjs +6 -0
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
- package/fesm2022/_internal-form-field-chunk.mjs +67 -0
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
- package/fesm2022/_line-chunk.mjs +99 -0
- package/fesm2022/_line-chunk.mjs.map +1 -0
- package/fesm2022/_option-chunk.mjs +385 -0
- package/fesm2022/_option-chunk.mjs.map +1 -0
- package/fesm2022/_option-harness-chunk.mjs +30 -0
- package/fesm2022/_option-harness-chunk.mjs.map +1 -0
- package/fesm2022/_option-module-chunk.mjs +48 -0
- package/fesm2022/_option-module-chunk.mjs.map +1 -0
- package/fesm2022/_pseudo-checkbox-chunk.mjs +88 -0
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs +46 -0
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
- package/fesm2022/_public-api-chunk.mjs +84 -0
- package/fesm2022/_public-api-chunk.mjs.map +1 -0
- package/fesm2022/_ripple-chunk.mjs +544 -0
- package/fesm2022/_ripple-chunk.mjs.map +1 -0
- package/fesm2022/_ripple-loader-chunk.mjs +144 -0
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
- package/fesm2022/_ripple-module-chunk.mjs +46 -0
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
- package/fesm2022/_structural-styles-chunk.mjs +45 -0
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
- package/fesm2022/_tooltip-chunk.mjs +848 -0
- package/fesm2022/_tooltip-chunk.mjs.map +1 -0
- package/fesm2022/autocomplete-testing.mjs +75 -0
- package/fesm2022/autocomplete-testing.mjs.map +1 -0
- package/fesm2022/autocomplete.mjs +1068 -0
- package/fesm2022/autocomplete.mjs.map +1 -0
- package/fesm2022/badge-testing.mjs +48 -0
- package/fesm2022/badge-testing.mjs.map +1 -0
- package/fesm2022/badge.mjs +357 -0
- package/fesm2022/badge.mjs.map +1 -0
- package/fesm2022/bottom-sheet-testing.mjs +17 -0
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
- package/fesm2022/bottom-sheet.mjs +390 -0
- package/fesm2022/bottom-sheet.mjs.map +1 -0
- package/fesm2022/button-testing.mjs +81 -0
- package/fesm2022/button-testing.mjs.map +1 -0
- package/fesm2022/button-toggle-testing.mjs +87 -0
- package/fesm2022/button-toggle-testing.mjs.map +1 -0
- package/fesm2022/button-toggle.mjs +789 -0
- package/fesm2022/button-toggle.mjs.map +1 -0
- package/fesm2022/button.mjs +308 -0
- package/fesm2022/button.mjs.map +1 -0
- package/fesm2022/card-testing.mjs +29 -0
- package/fesm2022/card-testing.mjs.map +1 -0
- package/fesm2022/card.mjs +615 -0
- package/fesm2022/card.mjs.map +1 -0
- package/fesm2022/checkbox-testing.mjs +79 -0
- package/fesm2022/checkbox-testing.mjs.map +1 -0
- package/fesm2022/checkbox.mjs +551 -0
- package/fesm2022/checkbox.mjs.map +1 -0
- package/fesm2022/chips-testing.mjs +239 -0
- package/fesm2022/chips-testing.mjs.map +1 -0
- package/fesm2022/chips.mjs +2663 -0
- package/fesm2022/chips.mjs.map +1 -0
- package/fesm2022/core-testing.mjs +22 -0
- package/fesm2022/core-testing.mjs.map +1 -0
- package/fesm2022/core.mjs +408 -0
- package/fesm2022/core.mjs.map +1 -0
- package/fesm2022/datepicker-testing.mjs +26 -0
- package/fesm2022/datepicker-testing.mjs.map +1 -0
- package/fesm2022/datepicker.mjs +5015 -0
- package/fesm2022/datepicker.mjs.map +1 -0
- package/fesm2022/dialog-testing.mjs +123 -0
- package/fesm2022/dialog-testing.mjs.map +1 -0
- package/fesm2022/dialog.mjs +873 -0
- package/fesm2022/dialog.mjs.map +1 -0
- package/fesm2022/divider-testing.mjs +17 -0
- package/fesm2022/divider-testing.mjs.map +1 -0
- package/fesm2022/divider.mjs +132 -0
- package/fesm2022/divider.mjs.map +1 -0
- package/fesm2022/expansion-testing.mjs +87 -0
- package/fesm2022/expansion-testing.mjs.map +1 -0
- package/fesm2022/expansion.mjs +749 -0
- package/fesm2022/expansion.mjs.map +1 -0
- package/fesm2022/form-field-testing-control.mjs +24 -0
- package/fesm2022/form-field-testing-control.mjs.map +1 -0
- package/fesm2022/form-field-testing.mjs +135 -0
- package/fesm2022/form-field-testing.mjs.map +1 -0
- package/fesm2022/form-field.mjs +57 -0
- package/fesm2022/form-field.mjs.map +1 -0
- package/fesm2022/grid-list-testing.mjs +80 -0
- package/fesm2022/grid-list-testing.mjs.map +1 -0
- package/fesm2022/grid-list.mjs +604 -0
- package/fesm2022/grid-list.mjs.map +1 -0
- package/fesm2022/icon-testing.mjs +172 -0
- package/fesm2022/icon-testing.mjs.map +1 -0
- package/fesm2022/icon.mjs +366 -0
- package/fesm2022/icon.mjs.map +1 -0
- package/fesm2022/input-testing.mjs +73 -0
- package/fesm2022/input-testing.mjs.map +1 -0
- package/fesm2022/input.mjs +495 -0
- package/fesm2022/input.mjs.map +1 -0
- package/fesm2022/list-testing.mjs +295 -0
- package/fesm2022/list-testing.mjs.map +1 -0
- package/fesm2022/list.mjs +1604 -0
- package/fesm2022/list.mjs.map +1 -0
- package/fesm2022/material.mjs +4 -0
- package/fesm2022/material.mjs.map +1 -0
- package/fesm2022/menu-testing.mjs +174 -0
- package/fesm2022/menu-testing.mjs.map +1 -0
- package/fesm2022/menu.mjs +1421 -0
- package/fesm2022/menu.mjs.map +1 -0
- package/fesm2022/paginator-testing.mjs +69 -0
- package/fesm2022/paginator-testing.mjs.map +1 -0
- package/fesm2022/paginator.mjs +445 -0
- package/fesm2022/paginator.mjs.map +1 -0
- package/fesm2022/progress-bar-testing.mjs +20 -0
- package/fesm2022/progress-bar-testing.mjs.map +1 -0
- package/fesm2022/progress-bar.mjs +247 -0
- package/fesm2022/progress-bar.mjs.map +1 -0
- package/fesm2022/progress-spinner-testing.mjs +21 -0
- package/fesm2022/progress-spinner-testing.mjs.map +1 -0
- package/fesm2022/progress-spinner.mjs +258 -0
- package/fesm2022/progress-spinner.mjs.map +1 -0
- package/fesm2022/radio-testing.mjs +143 -0
- package/fesm2022/radio-testing.mjs.map +1 -0
- package/fesm2022/radio.mjs +751 -0
- package/fesm2022/radio.mjs.map +1 -0
- package/fesm2022/select-testing.mjs +92 -0
- package/fesm2022/select-testing.mjs.map +1 -0
- package/fesm2022/select.mjs +1181 -0
- package/fesm2022/select.mjs.map +1 -0
- package/fesm2022/sidenav-testing.mjs +80 -0
- package/fesm2022/sidenav-testing.mjs.map +1 -0
- package/fesm2022/sidenav.mjs +1151 -0
- package/fesm2022/sidenav.mjs.map +1 -0
- package/fesm2022/slide-toggle-testing.mjs +68 -0
- package/fesm2022/slide-toggle-testing.mjs.map +1 -0
- package/fesm2022/slide-toggle.mjs +403 -0
- package/fesm2022/slide-toggle.mjs.map +1 -0
- package/fesm2022/slider-testing.mjs +105 -0
- package/fesm2022/slider-testing.mjs.map +1 -0
- package/fesm2022/slider.mjs +1720 -0
- package/fesm2022/slider.mjs.map +1 -0
- package/fesm2022/snack-bar-testing.mjs +47 -0
- package/fesm2022/snack-bar-testing.mjs.map +1 -0
- package/fesm2022/snack-bar.mjs +820 -0
- package/fesm2022/snack-bar.mjs.map +1 -0
- package/fesm2022/sort-testing.mjs +55 -0
- package/fesm2022/sort-testing.mjs.map +1 -0
- package/fesm2022/sort.mjs +470 -0
- package/fesm2022/sort.mjs.map +1 -0
- package/fesm2022/stepper-testing.mjs +99 -0
- package/fesm2022/stepper-testing.mjs.map +1 -0
- package/fesm2022/stepper.mjs +900 -0
- package/fesm2022/stepper.mjs.map +1 -0
- package/fesm2022/table-testing.mjs +152 -0
- package/fesm2022/table-testing.mjs.map +1 -0
- package/fesm2022/table.mjs +1151 -0
- package/fesm2022/table.mjs.map +1 -0
- package/fesm2022/tabs-testing.mjs +144 -0
- package/fesm2022/tabs-testing.mjs.map +1 -0
- package/fesm2022/tabs.mjs +2435 -0
- package/fesm2022/tabs.mjs.map +1 -0
- package/fesm2022/timepicker-testing.mjs +128 -0
- package/fesm2022/timepicker-testing.mjs.map +1 -0
- package/fesm2022/timepicker.mjs +1284 -0
- package/fesm2022/timepicker.mjs.map +1 -0
- package/fesm2022/toolbar-testing.mjs +26 -0
- package/fesm2022/toolbar-testing.mjs.map +1 -0
- package/fesm2022/toolbar.mjs +182 -0
- package/fesm2022/toolbar.mjs.map +1 -0
- package/fesm2022/tooltip-testing.mjs +48 -0
- package/fesm2022/tooltip-testing.mjs.map +1 -0
- package/fesm2022/tooltip.mjs +58 -0
- package/fesm2022/tooltip.mjs.map +1 -0
- package/fesm2022/tree-testing.mjs +104 -0
- package/fesm2022/tree-testing.mjs.map +1 -0
- package/fesm2022/tree.mjs +681 -0
- package/fesm2022/tree.mjs.map +1 -0
- package/form-field/_form-field-theme.scss +96 -0
- package/form-field/_m2-form-field.scss +226 -0
- package/form-field/_m3-form-field.scss +137 -0
- package/grid-list/_grid-list-theme.scss +76 -0
- package/grid-list/_m2-grid-list.scss +21 -0
- package/grid-list/_m3-grid-list.scss +20 -0
- package/icon/_icon-theme.scss +109 -0
- package/icon/_m2-icon.scss +15 -0
- package/icon/_m3-icon.scss +21 -0
- package/input/_input-theme.scss +36 -0
- package/list/_list-theme.scss +201 -0
- package/list/_m2-list.scss +92 -0
- package/list/_m3-list.scss +93 -0
- package/menu/_m2-menu.scss +44 -0
- package/menu/_m3-menu.scss +42 -0
- package/menu/_menu-theme.scss +76 -0
- package/package.json +404 -0
- package/paginator/_m2-paginator.scss +69 -0
- package/paginator/_m3-paginator.scss +46 -0
- package/paginator/_paginator-theme.scss +76 -0
- package/prebuilt-themes/azure-blue.css +1 -0
- package/prebuilt-themes/cyan-orange.css +1 -0
- package/prebuilt-themes/deeppurple-amber.css +1 -0
- package/prebuilt-themes/indigo-pink.css +1 -0
- package/prebuilt-themes/magenta-violet.css +1 -0
- package/prebuilt-themes/pink-bluegrey.css +1 -0
- package/prebuilt-themes/purple-green.css +1 -0
- package/prebuilt-themes/rose-red.css +1 -0
- package/progress-bar/_m2-progress-bar.scss +36 -0
- package/progress-bar/_m3-progress-bar.scss +29 -0
- package/progress-bar/_progress-bar-theme.scss +93 -0
- package/progress-spinner/_m2-progress-spinner.scss +25 -0
- package/progress-spinner/_m3-progress-spinner.scss +27 -0
- package/progress-spinner/_progress-spinner-theme.scss +95 -0
- package/radio/_m2-radio.scss +67 -0
- package/radio/_m3-radio.scss +65 -0
- package/radio/_radio-theme.scss +102 -0
- package/schematics/collection.json +55 -0
- package/schematics/migration.json +15 -0
- package/schematics/ng-add/fonts/material-fonts.d.ts +11 -0
- package/schematics/ng-add/fonts/material-fonts.js +41 -0
- package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
- package/schematics/ng-add/index.d.ts +17 -0
- package/schematics/ng-add/index.js +54 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/package-config.d.ts +12 -0
- package/schematics/ng-add/package-config.js +51 -0
- package/schematics/ng-add/package-config.js.map +1 -0
- package/schematics/ng-add/schema.d.ts +15 -0
- package/schematics/ng-add/schema.js +10 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +43 -0
- package/schematics/ng-add/setup-project.d.ts +15 -0
- package/schematics/ng-add/setup-project.js +36 -0
- package/schematics/ng-add/setup-project.js.map +1 -0
- package/schematics/ng-add/theming/create-theme.d.ts +9 -0
- package/schematics/ng-add/theming/create-theme.js +58 -0
- package/schematics/ng-add/theming/create-theme.js.map +1 -0
- package/schematics/ng-add/theming/theming.d.ts +11 -0
- package/schematics/ng-add/theming/theming.js +133 -0
- package/schematics/ng-add/theming/theming.js.map +1 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +27 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +99 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +38 -0
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +118 -0
- package/schematics/ng-generate/address-form/index.d.ts +14 -0
- package/schematics/ng-generate/address-form/index.js +43 -0
- package/schematics/ng-generate/address-form/index.js.map +1 -0
- package/schematics/ng-generate/address-form/schema.d.ts +10 -0
- package/schematics/ng-generate/address-form/schema.js +10 -0
- package/schematics/ng-generate/address-form/schema.js.map +1 -0
- package/schematics/ng-generate/address-form/schema.json +100 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +21 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +56 -0
- package/schematics/ng-generate/dashboard/index.d.ts +14 -0
- package/schematics/ng-generate/dashboard/index.js +42 -0
- package/schematics/ng-generate/dashboard/index.js.map +1 -0
- package/schematics/ng-generate/dashboard/schema.d.ts +10 -0
- package/schematics/ng-generate/dashboard/schema.js +10 -0
- package/schematics/ng-generate/dashboard/schema.js.map +1 -0
- package/schematics/ng-generate/dashboard/schema.json +100 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +17 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +42 -0
- package/schematics/ng-generate/navigation/index.d.ts +14 -0
- package/schematics/ng-generate/navigation/index.js +42 -0
- package/schematics/ng-generate/navigation/index.js.map +1 -0
- package/schematics/ng-generate/navigation/schema.d.ts +10 -0
- package/schematics/ng-generate/navigation/schema.js +10 -0
- package/schematics/ng-generate/navigation/schema.js.map +1 -0
- package/schematics/ng-generate/navigation/schema.json +105 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts.template +111 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +3 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
- package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +36 -0
- package/schematics/ng-generate/table/index.d.ts +14 -0
- package/schematics/ng-generate/table/index.js +40 -0
- package/schematics/ng-generate/table/index.js.map +1 -0
- package/schematics/ng-generate/table/schema.d.ts +10 -0
- package/schematics/ng-generate/table/schema.js +10 -0
- package/schematics/ng-generate/table/schema.js.map +1 -0
- package/schematics/ng-generate/table/schema.json +100 -0
- package/schematics/ng-generate/theme-color/index_bundled.js +6561 -0
- package/schematics/ng-generate/theme-color/index_bundled.js.map +6 -0
- package/schematics/ng-generate/theme-color/schema.json +55 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +4 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +22 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +93 -0
- package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts.template +47 -0
- package/schematics/ng-generate/tree/index.d.ts +14 -0
- package/schematics/ng-generate/tree/index.js +40 -0
- package/schematics/ng-generate/tree/index.js.map +1 -0
- package/schematics/ng-generate/tree/schema.d.ts +10 -0
- package/schematics/ng-generate/tree/schema.js +10 -0
- package/schematics/ng-generate/tree/schema.js.map +1 -0
- package/schematics/ng-generate/tree/schema.json +100 -0
- package/schematics/ng-update/index_bundled.js +204 -0
- package/schematics/ng-update/index_bundled.js.map +6 -0
- package/schematics/package.json +3 -0
- package/select/_m2-select.scss +49 -0
- package/select/_m3-select.scss +54 -0
- package/select/_select-theme.scss +99 -0
- package/sidenav/_m2-sidenav.scss +48 -0
- package/sidenav/_m3-sidenav.scss +26 -0
- package/sidenav/_sidenav-theme.scss +75 -0
- package/slide-toggle/_m2-slide-toggle.scss +134 -0
- package/slide-toggle/_m3-slide-toggle.scss +133 -0
- package/slide-toggle/_slide-toggle-theme.scss +119 -0
- package/slider/_m2-slider.scss +73 -0
- package/slider/_m3-slider.scss +69 -0
- package/slider/_slider-theme.scss +103 -0
- package/snack-bar/_m2-snack-bar.scss +24 -0
- package/snack-bar/_m3-snack-bar.scss +26 -0
- package/snack-bar/_snack-bar-theme.scss +77 -0
- package/sort/_m2-sort.scss +16 -0
- package/sort/_m3-sort.scss +20 -0
- package/sort/_sort-theme.scss +76 -0
- package/stepper/_m2-stepper.scss +65 -0
- package/stepper/_m3-stepper.scss +66 -0
- package/stepper/_stepper-theme.scss +102 -0
- package/table/_m2-table.scss +63 -0
- package/table/_m3-table.scss +52 -0
- package/table/_table-theme.scss +76 -0
- package/tabs/_m2-tabs.scss +68 -0
- package/tabs/_m3-tabs.scss +58 -0
- package/tabs/_tabs-theme.scss +131 -0
- package/timepicker/_m2-timepicker.scss +19 -0
- package/timepicker/_m3-timepicker.scss +21 -0
- package/timepicker/_timepicker-theme.scss +81 -0
- package/toolbar/_m2-toolbar.scss +43 -0
- package/toolbar/_m3-toolbar.scss +41 -0
- package/toolbar/_toolbar-theme.scss +114 -0
- package/tooltip/_m2-tooltip.scss +24 -0
- package/tooltip/_m3-tooltip.scss +25 -0
- package/tooltip/_tooltip-theme.scss +76 -0
- package/tree/_m2-tree.scss +30 -0
- package/tree/_m3-tree.scss +37 -0
- package/tree/_tree-theme.scss +76 -0
- package/types/_badge-chunk.d.ts +100 -0
- package/types/_button-toggle-chunk.d.ts +252 -0
- package/types/_date-adapter-chunk.d.ts +261 -0
- package/types/_date-range-input-harness-chunk.d.ts +284 -0
- package/types/_dialog-chunk.d.ts +336 -0
- package/types/_error-options-chunk.d.ts +17 -0
- package/types/_form-field-chunk.d.ts +375 -0
- package/types/_form-field-control-chunk.d.ts +64 -0
- package/types/_form-field-control-harness-chunk.d.ts +20 -0
- package/types/_form-field-module-chunk.d.ts +18 -0
- package/types/_icon-module-chunk.d.ts +162 -0
- package/types/_icon-registry-chunk.d.ts +271 -0
- package/types/_input-harness-chunk.d.ts +61 -0
- package/types/_line-chunk.d.ts +25 -0
- package/types/_list-option-types-chunk.d.ts +15 -0
- package/types/_option-chunk.d.ts +146 -0
- package/types/_option-harness-chunk.d.ts +35 -0
- package/types/_option-module-chunk.d.ts +13 -0
- package/types/_option-parent-chunk.d.ts +20 -0
- package/types/_paginator-chunk.d.ts +184 -0
- package/types/_palette-chunk.d.ts +4 -0
- package/types/_progress-spinner-chunk.d.ts +91 -0
- package/types/_pseudo-checkbox-module-chunk.d.ts +45 -0
- package/types/_ripple-chunk.d.ts +256 -0
- package/types/_ripple-loader-chunk.d.ts +48 -0
- package/types/_ripple-module-chunk.d.ts +11 -0
- package/types/_sort-chunk.d.ts +88 -0
- package/types/_sort-direction-chunk.d.ts +3 -0
- package/types/_tooltip-chunk.d.ts +315 -0
- package/types/autocomplete-testing.d.ts +53 -0
- package/types/autocomplete.d.ts +420 -0
- package/types/badge-testing.d.ts +36 -0
- package/types/badge.d.ts +14 -0
- package/types/bottom-sheet-testing.d.ts +26 -0
- package/types/bottom-sheet.d.ts +192 -0
- package/types/button-testing.d.ts +70 -0
- package/types/button-toggle-testing.d.ts +97 -0
- package/types/button-toggle.d.ts +16 -0
- package/types/button.d.ts +210 -0
- package/types/card-testing.d.ts +41 -0
- package/types/card.d.ts +156 -0
- package/types/checkbox-testing.d.ts +86 -0
- package/types/checkbox.d.ts +216 -0
- package/types/chips-testing.d.ts +270 -0
- package/types/chips.d.ts +993 -0
- package/types/core-testing.d.ts +32 -0
- package/types/core.d.ts +185 -0
- package/types/datepicker-testing.d.ts +25 -0
- package/types/datepicker.d.ts +1746 -0
- package/types/dialog-testing.d.ts +83 -0
- package/types/dialog.d.ts +84 -0
- package/types/divider-testing.d.ts +15 -0
- package/types/divider.d.ts +24 -0
- package/types/expansion-testing.d.ts +101 -0
- package/types/expansion.d.ts +258 -0
- package/types/form-field-testing-control.d.ts +13 -0
- package/types/form-field-testing.d.ts +127 -0
- package/types/form-field.d.ts +19 -0
- package/types/grid-list-testing.d.ts +82 -0
- package/types/grid-list.d.ts +207 -0
- package/types/icon-testing.d.ts +81 -0
- package/types/icon.d.ts +8 -0
- package/types/input-testing.d.ts +73 -0
- package/types/input.d.ts +208 -0
- package/types/list-testing.d.ts +354 -0
- package/types/list.d.ts +516 -0
- package/types/material.d.ts +3 -0
- package/types/menu-testing.d.ts +141 -0
- package/types/menu.d.ts +547 -0
- package/types/paginator-testing.d.ts +51 -0
- package/types/paginator.d.ts +36 -0
- package/types/progress-bar-testing.d.ts +24 -0
- package/types/progress-bar.d.ts +106 -0
- package/types/progress-spinner-testing.d.ts +28 -0
- package/types/progress-spinner.d.ts +13 -0
- package/types/radio-testing.d.ts +109 -0
- package/types/radio.d.ts +295 -0
- package/types/select-testing.d.ts +63 -0
- package/types/select.d.ts +448 -0
- package/types/sidenav-testing.d.ts +122 -0
- package/types/sidenav.d.ts +335 -0
- package/types/slide-toggle-testing.d.ts +66 -0
- package/types/slide-toggle.d.ts +151 -0
- package/types/slider-testing.d.ts +90 -0
- package/types/slider.d.ts +662 -0
- package/types/snack-bar-testing.d.ts +64 -0
- package/types/snack-bar.d.ts +328 -0
- package/types/sort-testing.d.ts +48 -0
- package/types/sort.d.ts +126 -0
- package/types/stepper-testing.d.ts +136 -0
- package/types/stepper.d.ts +225 -0
- package/types/table-testing.d.ts +174 -0
- package/types/table.d.ts +302 -0
- package/types/tabs-testing.d.ts +145 -0
- package/types/tabs.d.ts +890 -0
- package/types/timepicker-testing.d.ts +108 -0
- package/types/timepicker.d.ts +318 -0
- package/types/toolbar-testing.d.ts +33 -0
- package/types/toolbar.d.ts +44 -0
- package/types/tooltip-testing.d.ts +35 -0
- package/types/tooltip.d.ts +17 -0
- package/types/tree-testing.d.ts +119 -0
- package/types/tree.d.ts +233 -0
package/types/tabs.d.ts
ADDED
|
@@ -0,0 +1,890 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, TemplateRef, OnInit, OnChanges, OnDestroy, SimpleChanges, QueryList, ElementRef, AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, EventEmitter } from '@angular/core';
|
|
3
|
+
import { CdkPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
|
|
4
|
+
import { Subject, BehaviorSubject } from 'rxjs';
|
|
5
|
+
import { FocusKeyManager, FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
|
|
6
|
+
import * as i2 from '@angular/cdk/bidi';
|
|
7
|
+
import { Direction } from '@angular/cdk/bidi';
|
|
8
|
+
import { ThemePalette } from './_palette-chunk.js';
|
|
9
|
+
import { RippleTarget, RippleConfig, RippleGlobalOptions } from './_ripple-chunk.js';
|
|
10
|
+
import '@angular/cdk/platform';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Injection token that can be used to reference instances of `MatTabContent`. It serves as
|
|
14
|
+
* alternative token to the actual `MatTabContent` class which could cause unnecessary
|
|
15
|
+
* retention of the class and its directive metadata.
|
|
16
|
+
*/
|
|
17
|
+
declare const MAT_TAB_CONTENT: InjectionToken<MatTabContent>;
|
|
18
|
+
/** Decorates the `ng-template` tags and reads out the template from it. */
|
|
19
|
+
declare class MatTabContent {
|
|
20
|
+
template: TemplateRef<any>;
|
|
21
|
+
constructor(...args: unknown[]);
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabContent, never>;
|
|
23
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTabContent, "[matTabContent]", never, {}, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Injection token that can be used to reference instances of `MatTabLabel`. It serves as
|
|
28
|
+
* alternative token to the actual `MatTabLabel` class which could cause unnecessary
|
|
29
|
+
* retention of the class and its directive metadata.
|
|
30
|
+
*/
|
|
31
|
+
declare const MAT_TAB_LABEL: InjectionToken<MatTabLabel>;
|
|
32
|
+
/**
|
|
33
|
+
* Used to provide a tab label to a tab without causing a circular dependency.
|
|
34
|
+
* @docs-private
|
|
35
|
+
*/
|
|
36
|
+
declare const MAT_TAB: InjectionToken<any>;
|
|
37
|
+
/** Used to flag tab labels for use with the portal directive */
|
|
38
|
+
declare class MatTabLabel extends CdkPortal {
|
|
39
|
+
_closestTab: any;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabLabel, never>;
|
|
41
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTabLabel, "[mat-tab-label], [matTabLabel]", never, {}, {}, never, never, true, never>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Used to provide a tab group to a tab without causing a circular dependency.
|
|
46
|
+
* @docs-private
|
|
47
|
+
*/
|
|
48
|
+
declare const MAT_TAB_GROUP: InjectionToken<any>;
|
|
49
|
+
declare class MatTab implements OnInit, OnChanges, OnDestroy {
|
|
50
|
+
private _viewContainerRef;
|
|
51
|
+
_closestTabGroup: any;
|
|
52
|
+
/** whether the tab is disabled. */
|
|
53
|
+
disabled: boolean;
|
|
54
|
+
/** Content for the tab label given by `<ng-template mat-tab-label>`. */
|
|
55
|
+
get templateLabel(): MatTabLabel;
|
|
56
|
+
set templateLabel(value: MatTabLabel);
|
|
57
|
+
private _templateLabel;
|
|
58
|
+
/**
|
|
59
|
+
* Template provided in the tab content that will be used if present, used to enable lazy-loading
|
|
60
|
+
*/
|
|
61
|
+
private _explicitContent;
|
|
62
|
+
/** Template inside the MatTab view that contains an `<ng-content>`. */
|
|
63
|
+
_implicitContent: TemplateRef<any>;
|
|
64
|
+
/** Plain text label for the tab, used when there is no template label. */
|
|
65
|
+
textLabel: string;
|
|
66
|
+
/** Aria label for the tab. */
|
|
67
|
+
ariaLabel: string;
|
|
68
|
+
/**
|
|
69
|
+
* Reference to the element that the tab is labelled by.
|
|
70
|
+
* Will be cleared if `aria-label` is set at the same time.
|
|
71
|
+
*/
|
|
72
|
+
ariaLabelledby: string;
|
|
73
|
+
/** Classes to be passed to the tab label inside the mat-tab-header container. */
|
|
74
|
+
labelClass: string | string[];
|
|
75
|
+
/** Classes to be passed to the tab mat-tab-body container. */
|
|
76
|
+
bodyClass: string | string[];
|
|
77
|
+
/**
|
|
78
|
+
* Custom ID for the tab, overriding the auto-generated one by Material.
|
|
79
|
+
* Note that when using this input, it's your responsibility to ensure that the ID is unique.
|
|
80
|
+
*/
|
|
81
|
+
id: string | null;
|
|
82
|
+
/** Portal that will be the hosted content of the tab */
|
|
83
|
+
private _contentPortal;
|
|
84
|
+
/** @docs-private */
|
|
85
|
+
get content(): TemplatePortal | null;
|
|
86
|
+
/** Emits whenever the internal state of the tab changes. */
|
|
87
|
+
readonly _stateChanges: Subject<void>;
|
|
88
|
+
/**
|
|
89
|
+
* The relatively indexed position where 0 represents the center, negative is left, and positive
|
|
90
|
+
* represents the right.
|
|
91
|
+
*/
|
|
92
|
+
position: number | null;
|
|
93
|
+
/**
|
|
94
|
+
* The initial relatively index origin of the tab if it was created and selected after there
|
|
95
|
+
* was already a selected tab. Provides context of what position the tab should originate from.
|
|
96
|
+
*/
|
|
97
|
+
origin: number | null;
|
|
98
|
+
/**
|
|
99
|
+
* Whether the tab is currently active.
|
|
100
|
+
*/
|
|
101
|
+
isActive: boolean;
|
|
102
|
+
constructor(...args: unknown[]);
|
|
103
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
104
|
+
ngOnDestroy(): void;
|
|
105
|
+
ngOnInit(): void;
|
|
106
|
+
/**
|
|
107
|
+
* This has been extracted to a util because of TS 4 and VE.
|
|
108
|
+
* View Engine doesn't support property rename inheritance.
|
|
109
|
+
* TS 4.0 doesn't allow properties to override accessors or vice-versa.
|
|
110
|
+
* @docs-private
|
|
111
|
+
*/
|
|
112
|
+
private _setTemplateLabelInput;
|
|
113
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTab, never>;
|
|
114
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatTab, "mat-tab", ["matTab"], { "disabled": { "alias": "disabled"; "required": false; }; "textLabel": { "alias": "label"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "labelClass": { "alias": "labelClass"; "required": false; }; "bodyClass": { "alias": "bodyClass"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, {}, ["templateLabel", "_explicitContent"], ["*"], true, never>;
|
|
115
|
+
static ngAcceptInputType_disabled: unknown;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Item inside a tab header relative to which the ink bar can be aligned.
|
|
120
|
+
* @docs-private
|
|
121
|
+
*/
|
|
122
|
+
interface MatInkBarItem extends OnInit, OnDestroy {
|
|
123
|
+
elementRef: ElementRef<HTMLElement>;
|
|
124
|
+
activateInkBar(previousIndicatorClientRect?: DOMRect): void;
|
|
125
|
+
deactivateInkBar(): void;
|
|
126
|
+
fitInkBarToContent: boolean;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Abstraction around the MDC tab indicator that acts as the tab header's ink bar.
|
|
130
|
+
* @docs-private
|
|
131
|
+
*/
|
|
132
|
+
declare class MatInkBar {
|
|
133
|
+
private _items;
|
|
134
|
+
/** Item to which the ink bar is aligned currently. */
|
|
135
|
+
private _currentItem;
|
|
136
|
+
constructor(_items: QueryList<MatInkBarItem>);
|
|
137
|
+
/** Hides the ink bar. */
|
|
138
|
+
hide(): void;
|
|
139
|
+
/** Aligns the ink bar to a DOM node. */
|
|
140
|
+
alignToElement(element: HTMLElement): void;
|
|
141
|
+
}
|
|
142
|
+
declare abstract class InkBarItem implements OnInit, OnDestroy {
|
|
143
|
+
private _elementRef;
|
|
144
|
+
private _inkBarElement;
|
|
145
|
+
private _inkBarContentElement;
|
|
146
|
+
private _fitToContent;
|
|
147
|
+
/** Whether the ink bar should fit to the entire tab or just its content. */
|
|
148
|
+
get fitInkBarToContent(): boolean;
|
|
149
|
+
set fitInkBarToContent(newValue: boolean);
|
|
150
|
+
/** Aligns the ink bar to the current item. */
|
|
151
|
+
activateInkBar(previousIndicatorClientRect?: DOMRect): void;
|
|
152
|
+
/** Removes the ink bar from the current item. */
|
|
153
|
+
deactivateInkBar(): void;
|
|
154
|
+
/** Initializes the foundation. */
|
|
155
|
+
ngOnInit(): void;
|
|
156
|
+
/** Destroys the foundation. */
|
|
157
|
+
ngOnDestroy(): void;
|
|
158
|
+
/** Creates and appends the ink bar element. */
|
|
159
|
+
private _createInkBarElement;
|
|
160
|
+
/**
|
|
161
|
+
* Appends the ink bar to the tab host element or content, depending on whether
|
|
162
|
+
* the ink bar should fit to content.
|
|
163
|
+
*/
|
|
164
|
+
private _appendInkBarElement;
|
|
165
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InkBarItem, never>;
|
|
166
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<InkBarItem, never, never, { "fitInkBarToContent": { "alias": "fitInkBarToContent"; "required": false; }; }, {}, never, never, true, never>;
|
|
167
|
+
static ngAcceptInputType_fitInkBarToContent: unknown;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Interface for a MatInkBar positioner method, defining the positioning and width of the ink
|
|
171
|
+
* bar in a set of tabs.
|
|
172
|
+
*/
|
|
173
|
+
interface _MatInkBarPositioner {
|
|
174
|
+
(element: HTMLElement): {
|
|
175
|
+
left: string;
|
|
176
|
+
width: string;
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/** Injection token for the MatInkBar's Positioner. */
|
|
180
|
+
declare const _MAT_INK_BAR_POSITIONER: InjectionToken<_MatInkBarPositioner>;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Used in the `mat-tab-group` view to display tab labels.
|
|
184
|
+
* @docs-private
|
|
185
|
+
*/
|
|
186
|
+
declare class MatTabLabelWrapper extends InkBarItem {
|
|
187
|
+
elementRef: ElementRef<any>;
|
|
188
|
+
/** Whether the tab is disabled. */
|
|
189
|
+
disabled: boolean;
|
|
190
|
+
/** Sets focus on the wrapper element */
|
|
191
|
+
focus(): void;
|
|
192
|
+
getOffsetLeft(): number;
|
|
193
|
+
getOffsetWidth(): number;
|
|
194
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabLabelWrapper, never>;
|
|
195
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTabLabelWrapper, "[matTabLabelWrapper]", never, { "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
|
|
196
|
+
static ngAcceptInputType_disabled: unknown;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* The directions that scrolling can go in when the header's tabs exceed the header width. 'After'
|
|
201
|
+
* will scroll the header towards the end of the tabs list and 'before' will scroll towards the
|
|
202
|
+
* beginning of the list.
|
|
203
|
+
*/
|
|
204
|
+
type ScrollDirection = 'after' | 'before';
|
|
205
|
+
/** Item inside a paginated tab header. */
|
|
206
|
+
type MatPaginatedTabHeaderItem = FocusableOption & {
|
|
207
|
+
elementRef: ElementRef;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Base class for a tab header that supported pagination.
|
|
211
|
+
* @docs-private
|
|
212
|
+
*/
|
|
213
|
+
declare abstract class MatPaginatedTabHeader implements AfterContentChecked, AfterContentInit, AfterViewInit, OnDestroy {
|
|
214
|
+
protected _elementRef: ElementRef<HTMLElement>;
|
|
215
|
+
protected _changeDetectorRef: ChangeDetectorRef;
|
|
216
|
+
private _viewportRuler;
|
|
217
|
+
private _dir;
|
|
218
|
+
private _ngZone;
|
|
219
|
+
private _platform;
|
|
220
|
+
private _sharedResizeObserver;
|
|
221
|
+
private _injector;
|
|
222
|
+
private _renderer;
|
|
223
|
+
_animationsDisabled: boolean;
|
|
224
|
+
private _eventCleanups;
|
|
225
|
+
abstract _items: QueryList<MatPaginatedTabHeaderItem>;
|
|
226
|
+
abstract _inkBar: {
|
|
227
|
+
hide: () => void;
|
|
228
|
+
alignToElement: (element: HTMLElement) => void;
|
|
229
|
+
};
|
|
230
|
+
abstract _tabListContainer: ElementRef<HTMLElement>;
|
|
231
|
+
abstract _tabList: ElementRef<HTMLElement>;
|
|
232
|
+
abstract _tabListInner: ElementRef<HTMLElement>;
|
|
233
|
+
abstract _nextPaginator: ElementRef<HTMLElement>;
|
|
234
|
+
abstract _previousPaginator: ElementRef<HTMLElement>;
|
|
235
|
+
/** The distance in pixels that the tab labels should be translated to the left. */
|
|
236
|
+
private _scrollDistance;
|
|
237
|
+
/** Whether the header should scroll to the selected index after the view has been checked. */
|
|
238
|
+
private _selectedIndexChanged;
|
|
239
|
+
/** Emits when the component is destroyed. */
|
|
240
|
+
protected readonly _destroyed: Subject<void>;
|
|
241
|
+
/** Whether the controls for pagination should be displayed */
|
|
242
|
+
_showPaginationControls: boolean;
|
|
243
|
+
/** Whether the tab list can be scrolled more towards the end of the tab label list. */
|
|
244
|
+
_disableScrollAfter: boolean;
|
|
245
|
+
/** Whether the tab list can be scrolled more towards the beginning of the tab label list. */
|
|
246
|
+
_disableScrollBefore: boolean;
|
|
247
|
+
/**
|
|
248
|
+
* The number of tab labels that are displayed on the header. When this changes, the header
|
|
249
|
+
* should re-evaluate the scroll position.
|
|
250
|
+
*/
|
|
251
|
+
private _tabLabelCount;
|
|
252
|
+
/** Whether the scroll distance has changed and should be applied after the view is checked. */
|
|
253
|
+
private _scrollDistanceChanged;
|
|
254
|
+
/** Used to manage focus between the tabs. */
|
|
255
|
+
protected _keyManager: FocusKeyManager<MatPaginatedTabHeaderItem> | undefined;
|
|
256
|
+
/** Cached text content of the header. */
|
|
257
|
+
private _currentTextContent;
|
|
258
|
+
/** Stream that will stop the automated scrolling. */
|
|
259
|
+
private _stopScrolling;
|
|
260
|
+
/**
|
|
261
|
+
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
262
|
+
* layout recalculations if it's known that pagination won't be required.
|
|
263
|
+
*/
|
|
264
|
+
disablePagination: boolean;
|
|
265
|
+
/** The index of the active tab. */
|
|
266
|
+
get selectedIndex(): number;
|
|
267
|
+
set selectedIndex(v: number);
|
|
268
|
+
private _selectedIndex;
|
|
269
|
+
/** Event emitted when the option is selected. */
|
|
270
|
+
readonly selectFocusedIndex: EventEmitter<number>;
|
|
271
|
+
/** Event emitted when a label is focused. */
|
|
272
|
+
readonly indexFocused: EventEmitter<number>;
|
|
273
|
+
constructor(...args: unknown[]);
|
|
274
|
+
/** Called when the user has selected an item via the keyboard. */
|
|
275
|
+
protected abstract _itemSelected(event: KeyboardEvent): void;
|
|
276
|
+
ngAfterViewInit(): void;
|
|
277
|
+
ngAfterContentInit(): void;
|
|
278
|
+
/** Sends any changes that could affect the layout of the items. */
|
|
279
|
+
private _itemsResized;
|
|
280
|
+
ngAfterContentChecked(): void;
|
|
281
|
+
ngOnDestroy(): void;
|
|
282
|
+
/** Handles keyboard events on the header. */
|
|
283
|
+
_handleKeydown(event: KeyboardEvent): void;
|
|
284
|
+
/**
|
|
285
|
+
* Callback for when the MutationObserver detects that the content has changed.
|
|
286
|
+
*/
|
|
287
|
+
_onContentChanges(): void;
|
|
288
|
+
/**
|
|
289
|
+
* Updates the view whether pagination should be enabled or not.
|
|
290
|
+
*
|
|
291
|
+
* WARNING: Calling this method can be very costly in terms of performance. It should be called
|
|
292
|
+
* as infrequently as possible from outside of the Tabs component as it causes a reflow of the
|
|
293
|
+
* page.
|
|
294
|
+
*/
|
|
295
|
+
updatePagination(): void;
|
|
296
|
+
/** Tracks which element has focus; used for keyboard navigation */
|
|
297
|
+
get focusIndex(): number;
|
|
298
|
+
/** When the focus index is set, we must manually send focus to the correct label */
|
|
299
|
+
set focusIndex(value: number);
|
|
300
|
+
/**
|
|
301
|
+
* Determines if an index is valid. If the tabs are not ready yet, we assume that the user is
|
|
302
|
+
* providing a valid index and return true.
|
|
303
|
+
*/
|
|
304
|
+
_isValidIndex(index: number): boolean;
|
|
305
|
+
/**
|
|
306
|
+
* Sets focus on the HTML element for the label wrapper and scrolls it into the view if
|
|
307
|
+
* scrolling is enabled.
|
|
308
|
+
*/
|
|
309
|
+
_setTabFocus(tabIndex: number): void;
|
|
310
|
+
/** The layout direction of the containing app. */
|
|
311
|
+
_getLayoutDirection(): Direction;
|
|
312
|
+
/** Performs the CSS transformation on the tab list that will cause the list to scroll. */
|
|
313
|
+
_updateTabScrollPosition(): void;
|
|
314
|
+
/** Sets the distance in pixels that the tab header should be transformed in the X-axis. */
|
|
315
|
+
get scrollDistance(): number;
|
|
316
|
+
set scrollDistance(value: number);
|
|
317
|
+
/**
|
|
318
|
+
* Moves the tab list in the 'before' or 'after' direction (towards the beginning of the list or
|
|
319
|
+
* the end of the list, respectively). The distance to scroll is computed to be a third of the
|
|
320
|
+
* length of the tab list view window.
|
|
321
|
+
*
|
|
322
|
+
* This is an expensive call that forces a layout reflow to compute box and scroll metrics and
|
|
323
|
+
* should be called sparingly.
|
|
324
|
+
*/
|
|
325
|
+
_scrollHeader(direction: ScrollDirection): {
|
|
326
|
+
maxScrollDistance: number;
|
|
327
|
+
distance: number;
|
|
328
|
+
};
|
|
329
|
+
/** Handles click events on the pagination arrows. */
|
|
330
|
+
_handlePaginatorClick(direction: ScrollDirection): void;
|
|
331
|
+
/**
|
|
332
|
+
* Moves the tab list such that the desired tab label (marked by index) is moved into view.
|
|
333
|
+
*
|
|
334
|
+
* This is an expensive call that forces a layout reflow to compute box and scroll metrics and
|
|
335
|
+
* should be called sparingly.
|
|
336
|
+
*/
|
|
337
|
+
_scrollToLabel(labelIndex: number): void;
|
|
338
|
+
/**
|
|
339
|
+
* Evaluate whether the pagination controls should be displayed. If the scroll width of the
|
|
340
|
+
* tab list is wider than the size of the header container, then the pagination controls should
|
|
341
|
+
* be shown.
|
|
342
|
+
*
|
|
343
|
+
* This is an expensive call that forces a layout reflow to compute box and scroll metrics and
|
|
344
|
+
* should be called sparingly.
|
|
345
|
+
*/
|
|
346
|
+
_checkPaginationEnabled(): void;
|
|
347
|
+
/**
|
|
348
|
+
* Evaluate whether the before and after controls should be enabled or disabled.
|
|
349
|
+
* If the header is at the beginning of the list (scroll distance is equal to 0) then disable the
|
|
350
|
+
* before button. If the header is at the end of the list (scroll distance is equal to the
|
|
351
|
+
* maximum distance we can scroll), then disable the after button.
|
|
352
|
+
*
|
|
353
|
+
* This is an expensive call that forces a layout reflow to compute box and scroll metrics and
|
|
354
|
+
* should be called sparingly.
|
|
355
|
+
*/
|
|
356
|
+
_checkScrollingControls(): void;
|
|
357
|
+
/**
|
|
358
|
+
* Determines what is the maximum length in pixels that can be set for the scroll distance. This
|
|
359
|
+
* is equal to the difference in width between the tab list container and tab header container.
|
|
360
|
+
*
|
|
361
|
+
* This is an expensive call that forces a layout reflow to compute box and scroll metrics and
|
|
362
|
+
* should be called sparingly.
|
|
363
|
+
*/
|
|
364
|
+
_getMaxScrollDistance(): number;
|
|
365
|
+
/** Tells the ink-bar to align itself to the current label wrapper */
|
|
366
|
+
_alignInkBarToSelectedTab(): void;
|
|
367
|
+
/** Stops the currently-running paginator interval. */
|
|
368
|
+
_stopInterval(): void;
|
|
369
|
+
/**
|
|
370
|
+
* Handles the user pressing down on one of the paginators.
|
|
371
|
+
* Starts scrolling the header after a certain amount of time.
|
|
372
|
+
* @param direction In which direction the paginator should be scrolled.
|
|
373
|
+
*/
|
|
374
|
+
_handlePaginatorPress(direction: ScrollDirection, mouseEvent?: MouseEvent): void;
|
|
375
|
+
/**
|
|
376
|
+
* Scrolls the header to a given position.
|
|
377
|
+
* @param position Position to which to scroll.
|
|
378
|
+
* @returns Information on the current scroll distance and the maximum.
|
|
379
|
+
*/
|
|
380
|
+
private _scrollTo;
|
|
381
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatPaginatedTabHeader, never>;
|
|
382
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatPaginatedTabHeader, never, never, { "disablePagination": { "alias": "disablePagination"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; }, { "selectFocusedIndex": "selectFocusedIndex"; "indexFocused": "indexFocused"; }, never, never, true, never>;
|
|
383
|
+
static ngAcceptInputType_disablePagination: unknown;
|
|
384
|
+
static ngAcceptInputType_selectedIndex: unknown;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* The header of the tab group which displays a list of all the tabs in the tab group. Includes
|
|
389
|
+
* an ink bar that follows the currently selected tab. When the tabs list's width exceeds the
|
|
390
|
+
* width of the header container, then arrows will be displayed to allow the user to scroll
|
|
391
|
+
* left and right across the header.
|
|
392
|
+
* @docs-private
|
|
393
|
+
*/
|
|
394
|
+
declare class MatTabHeader extends MatPaginatedTabHeader implements AfterContentChecked, AfterContentInit, AfterViewInit, OnDestroy {
|
|
395
|
+
_items: QueryList<MatTabLabelWrapper>;
|
|
396
|
+
_tabListContainer: ElementRef;
|
|
397
|
+
_tabList: ElementRef;
|
|
398
|
+
_tabListInner: ElementRef;
|
|
399
|
+
_nextPaginator: ElementRef<HTMLElement>;
|
|
400
|
+
_previousPaginator: ElementRef<HTMLElement>;
|
|
401
|
+
_inkBar: MatInkBar;
|
|
402
|
+
/** Aria label of the header. */
|
|
403
|
+
ariaLabel: string;
|
|
404
|
+
/** Sets the `aria-labelledby` of the header. */
|
|
405
|
+
ariaLabelledby: string;
|
|
406
|
+
/** Whether the ripple effect is disabled or not. */
|
|
407
|
+
disableRipple: boolean;
|
|
408
|
+
ngAfterContentInit(): void;
|
|
409
|
+
protected _itemSelected(event: KeyboardEvent): void;
|
|
410
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabHeader, never>;
|
|
411
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatTabHeader, "mat-tab-header", never, { "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; }, {}, ["_items"], ["*"], true, never>;
|
|
412
|
+
static ngAcceptInputType_disableRipple: unknown;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* The portal host directive for the contents of the tab.
|
|
417
|
+
* @docs-private
|
|
418
|
+
*/
|
|
419
|
+
declare class MatTabBodyPortal extends CdkPortalOutlet implements OnInit, OnDestroy {
|
|
420
|
+
private _host;
|
|
421
|
+
private _ngZone;
|
|
422
|
+
/** Subscription to events for when the tab body begins centering. */
|
|
423
|
+
private _centeringSub;
|
|
424
|
+
/** Subscription to events for when the tab body finishes leaving from center position. */
|
|
425
|
+
private _leavingSub;
|
|
426
|
+
constructor(...args: unknown[]);
|
|
427
|
+
/** Set initial visibility or set up subscription for changing visibility. */
|
|
428
|
+
ngOnInit(): void;
|
|
429
|
+
/** Clean up centering subscription. */
|
|
430
|
+
ngOnDestroy(): void;
|
|
431
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabBodyPortal, never>;
|
|
432
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTabBodyPortal, "[matTabBodyHost]", never, {}, {}, never, never, true, never>;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* These position states are used internally as animation states for the tab body. Setting the
|
|
436
|
+
* position state to left, right, or center will transition the tab body from its current
|
|
437
|
+
* position to its respective state. If there is not current position (void, in the case of a new
|
|
438
|
+
* tab body), then there will be no transition animation to its state.
|
|
439
|
+
*
|
|
440
|
+
* In the case of a new tab body that should immediately be centered with an animating transition,
|
|
441
|
+
* then left-origin-center or right-origin-center can be used, which will use left or right as its
|
|
442
|
+
* pseudo-prior state.
|
|
443
|
+
*
|
|
444
|
+
* @deprecated Will stop being exported.
|
|
445
|
+
* @breaking-change 21.0.0
|
|
446
|
+
*/
|
|
447
|
+
type MatTabBodyPositionState = 'left' | 'center' | 'right';
|
|
448
|
+
/**
|
|
449
|
+
* The origin state is an internally used state that is set on a new tab body indicating if it
|
|
450
|
+
* began to the left or right of the prior selected index. For example, if the selected index was
|
|
451
|
+
* set to 1, and a new tab is created and selected at index 2, then the tab body would have an
|
|
452
|
+
* origin of right because its index was greater than the prior selected index.
|
|
453
|
+
*
|
|
454
|
+
* @deprecated No longer being used. Will be removed.
|
|
455
|
+
* @breaking-change 21.0.0
|
|
456
|
+
*/
|
|
457
|
+
type MatTabBodyOriginState = 'left' | 'right';
|
|
458
|
+
/**
|
|
459
|
+
* Wrapper for the contents of a tab.
|
|
460
|
+
* @docs-private
|
|
461
|
+
*/
|
|
462
|
+
declare class MatTabBody implements OnInit, OnDestroy {
|
|
463
|
+
private _elementRef;
|
|
464
|
+
private _dir;
|
|
465
|
+
private _ngZone;
|
|
466
|
+
private _injector;
|
|
467
|
+
private _renderer;
|
|
468
|
+
private _diAnimationsDisabled;
|
|
469
|
+
private _eventCleanups?;
|
|
470
|
+
private _initialized;
|
|
471
|
+
private _fallbackTimer;
|
|
472
|
+
/** Current position of the tab-body in the tab-group. Zero means that the tab is visible. */
|
|
473
|
+
private _positionIndex;
|
|
474
|
+
/** Subscription to the directionality change observable. */
|
|
475
|
+
private _dirChangeSubscription;
|
|
476
|
+
/** Current position of the body within the tab group. */
|
|
477
|
+
_position: MatTabBodyPositionState;
|
|
478
|
+
/** Previous position of the body. */
|
|
479
|
+
protected _previousPosition: MatTabBodyPositionState | undefined;
|
|
480
|
+
/** Event emitted when the tab begins to animate towards the center as the active tab. */
|
|
481
|
+
readonly _onCentering: EventEmitter<number>;
|
|
482
|
+
/** Event emitted before the centering of the tab begins. */
|
|
483
|
+
readonly _beforeCentering: EventEmitter<boolean>;
|
|
484
|
+
/** Event emitted before the centering of the tab begins. */
|
|
485
|
+
readonly _afterLeavingCenter: EventEmitter<void>;
|
|
486
|
+
/** Event emitted when the tab completes its animation towards the center. */
|
|
487
|
+
readonly _onCentered: EventEmitter<void>;
|
|
488
|
+
/** The portal host inside of this container into which the tab body content will be loaded. */
|
|
489
|
+
_portalHost: MatTabBodyPortal;
|
|
490
|
+
/** Element in which the content is rendered. */
|
|
491
|
+
_contentElement: ElementRef<HTMLElement> | undefined;
|
|
492
|
+
/** The tab body content to display. */
|
|
493
|
+
_content: TemplatePortal;
|
|
494
|
+
/** Duration for the tab's animation. */
|
|
495
|
+
animationDuration: string;
|
|
496
|
+
/** Whether the tab's content should be kept in the DOM while it's off-screen. */
|
|
497
|
+
preserveContent: boolean;
|
|
498
|
+
/** The shifted index position of the tab body, where zero represents the active center tab. */
|
|
499
|
+
set position(position: number);
|
|
500
|
+
constructor(...args: unknown[]);
|
|
501
|
+
ngOnInit(): void;
|
|
502
|
+
ngOnDestroy(): void;
|
|
503
|
+
/** Sets up the transition events. */
|
|
504
|
+
private _bindTransitionEvents;
|
|
505
|
+
/** Called when a transition has started. */
|
|
506
|
+
private _transitionStarted;
|
|
507
|
+
/** Called when a transition is done. */
|
|
508
|
+
private _transitionDone;
|
|
509
|
+
/** Sets the active styling on the tab body based on its current position. */
|
|
510
|
+
_setActiveClass(isActive: boolean): void;
|
|
511
|
+
/** The text direction of the containing app. */
|
|
512
|
+
_getLayoutDirection(): Direction;
|
|
513
|
+
/** Whether the provided position state is considered center, regardless of origin. */
|
|
514
|
+
_isCenterPosition(): boolean;
|
|
515
|
+
/** Computes the position state that will be used for the tab-body animation trigger. */
|
|
516
|
+
private _computePositionAnimationState;
|
|
517
|
+
/** Simulates the body's transition events in an environment where they might not fire. */
|
|
518
|
+
private _simulateTransitionEvents;
|
|
519
|
+
/** Whether animations are disabled for the tab group. */
|
|
520
|
+
private _animationsDisabled;
|
|
521
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabBody, never>;
|
|
522
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatTabBody, "mat-tab-body", never, { "_content": { "alias": "content"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; "preserveContent": { "alias": "preserveContent"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, { "_onCentering": "_onCentering"; "_beforeCentering": "_beforeCentering"; "_onCentered": "_onCentered"; }, never, never, true, never>;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
/** @docs-private */
|
|
526
|
+
interface MatTabGroupBaseHeader {
|
|
527
|
+
_alignInkBarToSelectedTab(): void;
|
|
528
|
+
updatePagination(): void;
|
|
529
|
+
focusIndex: number;
|
|
530
|
+
}
|
|
531
|
+
/** Possible positions for the tab header. */
|
|
532
|
+
type MatTabHeaderPosition = 'above' | 'below';
|
|
533
|
+
/**
|
|
534
|
+
* Material design tab-group component. Supports basic tab pairs (label + content) and includes
|
|
535
|
+
* animated ink-bar, keyboard navigation, and screen reader.
|
|
536
|
+
* See: https://material.io/design/components/tabs.html
|
|
537
|
+
*/
|
|
538
|
+
declare class MatTabGroup implements AfterViewInit, AfterContentInit, AfterContentChecked, OnDestroy {
|
|
539
|
+
readonly _elementRef: ElementRef<any>;
|
|
540
|
+
private _changeDetectorRef;
|
|
541
|
+
private _ngZone;
|
|
542
|
+
private _tabsSubscription;
|
|
543
|
+
private _tabLabelSubscription;
|
|
544
|
+
private _tabBodySubscription;
|
|
545
|
+
private _diAnimationsDisabled;
|
|
546
|
+
/**
|
|
547
|
+
* All tabs inside the tab group. This includes tabs that belong to groups that are nested
|
|
548
|
+
* inside the current one. We filter out only the tabs that belong to this group in `_tabs`.
|
|
549
|
+
*/
|
|
550
|
+
_allTabs: QueryList<MatTab>;
|
|
551
|
+
_tabBodies: QueryList<MatTabBody> | undefined;
|
|
552
|
+
_tabBodyWrapper: ElementRef;
|
|
553
|
+
_tabHeader: MatTabHeader;
|
|
554
|
+
/** All of the tabs that belong to the group. */
|
|
555
|
+
_tabs: QueryList<MatTab>;
|
|
556
|
+
/** The tab index that should be selected after the content has been checked. */
|
|
557
|
+
private _indexToSelect;
|
|
558
|
+
/** Index of the tab that was focused last. */
|
|
559
|
+
private _lastFocusedTabIndex;
|
|
560
|
+
/** Snapshot of the height of the tab body wrapper before another tab is activated. */
|
|
561
|
+
private _tabBodyWrapperHeight;
|
|
562
|
+
/**
|
|
563
|
+
* Theme color of the tab group. This API is supported in M2 themes only, it
|
|
564
|
+
* has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.
|
|
565
|
+
*
|
|
566
|
+
* For information on applying color variants in M3, see
|
|
567
|
+
* https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
568
|
+
*/
|
|
569
|
+
color: ThemePalette;
|
|
570
|
+
/** Whether the ink bar should fit its width to the size of the tab label content. */
|
|
571
|
+
get fitInkBarToContent(): boolean;
|
|
572
|
+
set fitInkBarToContent(value: boolean);
|
|
573
|
+
private _fitInkBarToContent;
|
|
574
|
+
/** Whether tabs should be stretched to fill the header. */
|
|
575
|
+
stretchTabs: boolean;
|
|
576
|
+
/** Alignment for tabs label. */
|
|
577
|
+
alignTabs: string | null;
|
|
578
|
+
/** Whether the tab group should grow to the size of the active tab. */
|
|
579
|
+
dynamicHeight: boolean;
|
|
580
|
+
/** The index of the active tab. */
|
|
581
|
+
get selectedIndex(): number | null;
|
|
582
|
+
set selectedIndex(value: number);
|
|
583
|
+
private _selectedIndex;
|
|
584
|
+
/** Position of the tab header. */
|
|
585
|
+
headerPosition: MatTabHeaderPosition;
|
|
586
|
+
/** Duration for the tab animation. Will be normalized to milliseconds if no units are set. */
|
|
587
|
+
get animationDuration(): string;
|
|
588
|
+
set animationDuration(value: string | number);
|
|
589
|
+
private _animationDuration;
|
|
590
|
+
/**
|
|
591
|
+
* `tabindex` to be set on the inner element that wraps the tab content. Can be used for improved
|
|
592
|
+
* accessibility when the tab does not have focusable elements or if it has scrollable content.
|
|
593
|
+
* The `tabindex` will be removed automatically for inactive tabs.
|
|
594
|
+
* Read more at https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-2/tabs.html
|
|
595
|
+
*/
|
|
596
|
+
get contentTabIndex(): number | null;
|
|
597
|
+
set contentTabIndex(value: number);
|
|
598
|
+
private _contentTabIndex;
|
|
599
|
+
/**
|
|
600
|
+
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
601
|
+
* layout recalculations if it's known that pagination won't be required.
|
|
602
|
+
*/
|
|
603
|
+
disablePagination: boolean;
|
|
604
|
+
/** Whether ripples in the tab group are disabled. */
|
|
605
|
+
disableRipple: boolean;
|
|
606
|
+
/**
|
|
607
|
+
* By default tabs remove their content from the DOM while it's off-screen.
|
|
608
|
+
* Setting this to `true` will keep it in the DOM which will prevent elements
|
|
609
|
+
* like iframes and videos from reloading next time it comes back into the view.
|
|
610
|
+
*/
|
|
611
|
+
preserveContent: boolean;
|
|
612
|
+
/**
|
|
613
|
+
* Theme color of the background of the tab group. This API is supported in M2 themes only, it
|
|
614
|
+
* has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.
|
|
615
|
+
*
|
|
616
|
+
* For information on applying color variants in M3, see
|
|
617
|
+
* https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
618
|
+
*
|
|
619
|
+
* @deprecated The background color should be customized through Sass theming APIs.
|
|
620
|
+
* @breaking-change 20.0.0 Remove this input
|
|
621
|
+
*/
|
|
622
|
+
get backgroundColor(): ThemePalette;
|
|
623
|
+
set backgroundColor(value: ThemePalette);
|
|
624
|
+
private _backgroundColor;
|
|
625
|
+
/** Aria label of the inner `tablist` of the group. */
|
|
626
|
+
ariaLabel: string;
|
|
627
|
+
/** Sets the `aria-labelledby` of the inner `tablist` of the group. */
|
|
628
|
+
ariaLabelledby: string;
|
|
629
|
+
/** Output to enable support for two-way binding on `[(selectedIndex)]` */
|
|
630
|
+
readonly selectedIndexChange: EventEmitter<number>;
|
|
631
|
+
/** Event emitted when focus has changed within a tab group. */
|
|
632
|
+
readonly focusChange: EventEmitter<MatTabChangeEvent>;
|
|
633
|
+
/** Event emitted when the body animation has completed */
|
|
634
|
+
readonly animationDone: EventEmitter<void>;
|
|
635
|
+
/** Event emitted when the tab selection has changed. */
|
|
636
|
+
readonly selectedTabChange: EventEmitter<MatTabChangeEvent>;
|
|
637
|
+
private _groupId;
|
|
638
|
+
/** Whether the tab group is rendered on the server. */
|
|
639
|
+
protected _isServer: boolean;
|
|
640
|
+
constructor(...args: unknown[]);
|
|
641
|
+
/**
|
|
642
|
+
* After the content is checked, this component knows what tabs have been defined
|
|
643
|
+
* and what the selected index should be. This is where we can know exactly what position
|
|
644
|
+
* each tab should be in according to the new selected index, and additionally we know how
|
|
645
|
+
* a new selected tab should transition in (from the left or right).
|
|
646
|
+
*/
|
|
647
|
+
ngAfterContentChecked(): void;
|
|
648
|
+
ngAfterContentInit(): void;
|
|
649
|
+
ngAfterViewInit(): void;
|
|
650
|
+
/** Listens to changes in all of the tabs. */
|
|
651
|
+
private _subscribeToAllTabChanges;
|
|
652
|
+
ngOnDestroy(): void;
|
|
653
|
+
/** Re-aligns the ink bar to the selected tab element. */
|
|
654
|
+
realignInkBar(): void;
|
|
655
|
+
/**
|
|
656
|
+
* Recalculates the tab group's pagination dimensions.
|
|
657
|
+
*
|
|
658
|
+
* WARNING: Calling this method can be very costly in terms of performance. It should be called
|
|
659
|
+
* as infrequently as possible from outside of the Tabs component as it causes a reflow of the
|
|
660
|
+
* page.
|
|
661
|
+
*/
|
|
662
|
+
updatePagination(): void;
|
|
663
|
+
/**
|
|
664
|
+
* Sets focus to a particular tab.
|
|
665
|
+
* @param index Index of the tab to be focused.
|
|
666
|
+
*/
|
|
667
|
+
focusTab(index: number): void;
|
|
668
|
+
_focusChanged(index: number): void;
|
|
669
|
+
private _createChangeEvent;
|
|
670
|
+
/**
|
|
671
|
+
* Subscribes to changes in the tab labels. This is needed, because the @Input for the label is
|
|
672
|
+
* on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the
|
|
673
|
+
* binding to be updated, we need to subscribe to changes in it and trigger change detection
|
|
674
|
+
* manually.
|
|
675
|
+
*/
|
|
676
|
+
private _subscribeToTabLabels;
|
|
677
|
+
/** Clamps the given index to the bounds of 0 and the tabs length. */
|
|
678
|
+
private _clampTabIndex;
|
|
679
|
+
/** Returns a unique id for each tab label element */
|
|
680
|
+
_getTabLabelId(tab: MatTab, index: number): string;
|
|
681
|
+
/** Returns a unique id for each tab content element */
|
|
682
|
+
_getTabContentId(index: number): string;
|
|
683
|
+
/**
|
|
684
|
+
* Sets the height of the body wrapper to the height of the activating tab if dynamic
|
|
685
|
+
* height property is true.
|
|
686
|
+
*/
|
|
687
|
+
_setTabBodyWrapperHeight(tabHeight: number): void;
|
|
688
|
+
/** Removes the height of the tab body wrapper. */
|
|
689
|
+
_removeTabBodyWrapperHeight(): void;
|
|
690
|
+
/** Handle click events, setting new selected index if appropriate. */
|
|
691
|
+
_handleClick(tab: MatTab, tabHeader: MatTabGroupBaseHeader, index: number): void;
|
|
692
|
+
/** Retrieves the tabindex for the tab. */
|
|
693
|
+
_getTabIndex(index: number): number;
|
|
694
|
+
/** Callback for when the focused state of a tab has changed. */
|
|
695
|
+
_tabFocusChanged(focusOrigin: FocusOrigin, index: number): void;
|
|
696
|
+
/**
|
|
697
|
+
* Callback invoked when the centered state of a tab body changes.
|
|
698
|
+
* @param isCenter Whether the tab will be in the center.
|
|
699
|
+
*/
|
|
700
|
+
protected _bodyCentered(isCenter: boolean): void;
|
|
701
|
+
protected _animationsDisabled(): boolean;
|
|
702
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabGroup, never>;
|
|
703
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatTabGroup, "mat-tab-group", ["matTabGroup"], { "color": { "alias": "color"; "required": false; }; "fitInkBarToContent": { "alias": "fitInkBarToContent"; "required": false; }; "stretchTabs": { "alias": "mat-stretch-tabs"; "required": false; }; "alignTabs": { "alias": "mat-align-tabs"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; "contentTabIndex": { "alias": "contentTabIndex"; "required": false; }; "disablePagination": { "alias": "disablePagination"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "preserveContent": { "alias": "preserveContent"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "focusChange": "focusChange"; "animationDone": "animationDone"; "selectedTabChange": "selectedTabChange"; }, ["_allTabs"], ["*"], true, never>;
|
|
704
|
+
static ngAcceptInputType_fitInkBarToContent: unknown;
|
|
705
|
+
static ngAcceptInputType_stretchTabs: unknown;
|
|
706
|
+
static ngAcceptInputType_dynamicHeight: unknown;
|
|
707
|
+
static ngAcceptInputType_selectedIndex: unknown;
|
|
708
|
+
static ngAcceptInputType_contentTabIndex: unknown;
|
|
709
|
+
static ngAcceptInputType_disablePagination: unknown;
|
|
710
|
+
static ngAcceptInputType_disableRipple: unknown;
|
|
711
|
+
static ngAcceptInputType_preserveContent: unknown;
|
|
712
|
+
}
|
|
713
|
+
/** A simple change event emitted on focus or selection changes. */
|
|
714
|
+
declare class MatTabChangeEvent {
|
|
715
|
+
/** Index of the currently-selected tab. */
|
|
716
|
+
index: number;
|
|
717
|
+
/** Reference to the currently-selected tab. */
|
|
718
|
+
tab: MatTab;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
/**
|
|
722
|
+
* Navigation component matching the styles of the tab group header.
|
|
723
|
+
* Provides anchored navigation with animated ink bar.
|
|
724
|
+
*/
|
|
725
|
+
declare class MatTabNav extends MatPaginatedTabHeader implements AfterContentInit, AfterViewInit {
|
|
726
|
+
_focusedItem: i0.WritableSignal<MatPaginatedTabHeaderItem | null>;
|
|
727
|
+
/** Whether the ink bar should fit its width to the size of the tab label content. */
|
|
728
|
+
get fitInkBarToContent(): boolean;
|
|
729
|
+
set fitInkBarToContent(value: boolean);
|
|
730
|
+
_fitInkBarToContent: BehaviorSubject<boolean>;
|
|
731
|
+
/** Whether tabs should be stretched to fill the header. */
|
|
732
|
+
stretchTabs: boolean;
|
|
733
|
+
get animationDuration(): string;
|
|
734
|
+
set animationDuration(value: string | number);
|
|
735
|
+
private _animationDuration;
|
|
736
|
+
/** Query list of all tab links of the tab navigation. */
|
|
737
|
+
_items: QueryList<MatTabLink>;
|
|
738
|
+
/**
|
|
739
|
+
* Theme color of the background of the tab nav. This API is supported in M2 themes only, it
|
|
740
|
+
* has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.
|
|
741
|
+
*
|
|
742
|
+
* For information on applying color variants in M3, see
|
|
743
|
+
* https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
744
|
+
*/
|
|
745
|
+
get backgroundColor(): ThemePalette;
|
|
746
|
+
set backgroundColor(value: ThemePalette);
|
|
747
|
+
private _backgroundColor;
|
|
748
|
+
/** Whether the ripple effect is disabled or not. */
|
|
749
|
+
get disableRipple(): boolean;
|
|
750
|
+
set disableRipple(value: boolean);
|
|
751
|
+
private _disableRipple;
|
|
752
|
+
/**
|
|
753
|
+
* Theme color of the nav bar. This API is supported in M2 themes only, it has
|
|
754
|
+
* no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/tabs/styling.
|
|
755
|
+
*
|
|
756
|
+
* For information on applying color variants in M3, see
|
|
757
|
+
* https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
758
|
+
*/
|
|
759
|
+
color: ThemePalette;
|
|
760
|
+
/**
|
|
761
|
+
* Associated tab panel controlled by the nav bar. If not provided, then the nav bar
|
|
762
|
+
* follows the ARIA link / navigation landmark pattern. If provided, it follows the
|
|
763
|
+
* ARIA tabs design pattern.
|
|
764
|
+
*/
|
|
765
|
+
tabPanel?: MatTabNavPanel;
|
|
766
|
+
_tabListContainer: ElementRef;
|
|
767
|
+
_tabList: ElementRef;
|
|
768
|
+
_tabListInner: ElementRef;
|
|
769
|
+
_nextPaginator: ElementRef<HTMLElement>;
|
|
770
|
+
_previousPaginator: ElementRef<HTMLElement>;
|
|
771
|
+
_inkBar: MatInkBar;
|
|
772
|
+
constructor(...args: unknown[]);
|
|
773
|
+
protected _itemSelected(): void;
|
|
774
|
+
ngAfterContentInit(): void;
|
|
775
|
+
ngAfterViewInit(): void;
|
|
776
|
+
/** Notifies the component that the active link has been changed. */
|
|
777
|
+
updateActiveLink(): void;
|
|
778
|
+
_getRole(): string | null;
|
|
779
|
+
_hasFocus(link: MatTabLink): boolean;
|
|
780
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabNav, never>;
|
|
781
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatTabNav, "[mat-tab-nav-bar]", ["matTabNavBar", "matTabNav"], { "fitInkBarToContent": { "alias": "fitInkBarToContent"; "required": false; }; "stretchTabs": { "alias": "mat-stretch-tabs"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "color": { "alias": "color"; "required": false; }; "tabPanel": { "alias": "tabPanel"; "required": false; }; }, {}, ["_items"], ["*"], true, never>;
|
|
782
|
+
static ngAcceptInputType_fitInkBarToContent: unknown;
|
|
783
|
+
static ngAcceptInputType_stretchTabs: unknown;
|
|
784
|
+
static ngAcceptInputType_disableRipple: unknown;
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* Link inside a `mat-tab-nav-bar`.
|
|
788
|
+
*/
|
|
789
|
+
declare class MatTabLink extends InkBarItem implements AfterViewInit, OnDestroy, RippleTarget, FocusableOption {
|
|
790
|
+
private _tabNavBar;
|
|
791
|
+
elementRef: ElementRef<any>;
|
|
792
|
+
private _focusMonitor;
|
|
793
|
+
private readonly _destroyed;
|
|
794
|
+
/** Whether the tab link is active or not. */
|
|
795
|
+
protected _isActive: boolean;
|
|
796
|
+
protected _tabIndex: i0.Signal<number>;
|
|
797
|
+
/** Whether the link is active. */
|
|
798
|
+
get active(): boolean;
|
|
799
|
+
set active(value: boolean);
|
|
800
|
+
/** Whether the tab link is disabled. */
|
|
801
|
+
disabled: boolean;
|
|
802
|
+
/** Whether ripples are disabled on the tab link. */
|
|
803
|
+
get disableRipple(): boolean;
|
|
804
|
+
set disableRipple(value: boolean);
|
|
805
|
+
private _disableRipple;
|
|
806
|
+
tabIndex: number;
|
|
807
|
+
/**
|
|
808
|
+
* Ripple configuration for ripples that are launched on pointer down. The ripple config
|
|
809
|
+
* is set to the global ripple options since we don't have any configurable options for
|
|
810
|
+
* the tab link ripples.
|
|
811
|
+
* @docs-private
|
|
812
|
+
*/
|
|
813
|
+
rippleConfig: RippleConfig & RippleGlobalOptions;
|
|
814
|
+
/**
|
|
815
|
+
* Whether ripples are disabled on interaction.
|
|
816
|
+
* @docs-private
|
|
817
|
+
*/
|
|
818
|
+
get rippleDisabled(): boolean;
|
|
819
|
+
/** Unique id for the tab. */
|
|
820
|
+
id: string;
|
|
821
|
+
constructor(...args: unknown[]);
|
|
822
|
+
/** Focuses the tab link. */
|
|
823
|
+
focus(): void;
|
|
824
|
+
ngAfterViewInit(): void;
|
|
825
|
+
ngOnDestroy(): void;
|
|
826
|
+
_handleFocus(): void;
|
|
827
|
+
_handleKeydown(event: KeyboardEvent): void;
|
|
828
|
+
_getAriaControls(): string | null;
|
|
829
|
+
_getAriaSelected(): string | null;
|
|
830
|
+
_getAriaCurrent(): string | null;
|
|
831
|
+
_getRole(): string | null;
|
|
832
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabLink, never>;
|
|
833
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatTabLink, "[mat-tab-link], [matTabLink]", ["matTabLink"], { "active": { "alias": "active"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
834
|
+
static ngAcceptInputType_active: unknown;
|
|
835
|
+
static ngAcceptInputType_disabled: unknown;
|
|
836
|
+
static ngAcceptInputType_disableRipple: unknown;
|
|
837
|
+
static ngAcceptInputType_tabIndex: unknown;
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Tab panel component associated with MatTabNav.
|
|
841
|
+
*/
|
|
842
|
+
declare class MatTabNavPanel {
|
|
843
|
+
/** Unique id for the tab panel. */
|
|
844
|
+
id: string;
|
|
845
|
+
/** Id of the active tab in the nav bar. */
|
|
846
|
+
_activeTabId?: string;
|
|
847
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabNavPanel, never>;
|
|
848
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatTabNavPanel, "mat-tab-nav-panel", ["matTabNavPanel"], { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
declare class MatTabsModule {
|
|
852
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatTabsModule, never>;
|
|
853
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MatTabsModule, never, [typeof MatTabContent, typeof MatTabLabel, typeof MatTab, typeof MatTabGroup, typeof MatTabNav, typeof MatTabNavPanel, typeof MatTabLink], [typeof i2.BidiModule, typeof MatTabContent, typeof MatTabLabel, typeof MatTab, typeof MatTabGroup, typeof MatTabNav, typeof MatTabNavPanel, typeof MatTabLink]>;
|
|
854
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<MatTabsModule>;
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
/** Object that can be used to configure the default options for the tabs module. */
|
|
858
|
+
interface MatTabsConfig {
|
|
859
|
+
/** Duration for the tab animation. Must be a valid CSS value (e.g. 600ms). */
|
|
860
|
+
animationDuration?: string;
|
|
861
|
+
/**
|
|
862
|
+
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
863
|
+
* layout recalculations if it's known that pagination won't be required.
|
|
864
|
+
*/
|
|
865
|
+
disablePagination?: boolean;
|
|
866
|
+
/**
|
|
867
|
+
* Whether the ink bar should fit its width to the size of the tab label content.
|
|
868
|
+
* This only applies to the MDC-based tabs.
|
|
869
|
+
*/
|
|
870
|
+
fitInkBarToContent?: boolean;
|
|
871
|
+
/** Whether the tab group should grow to the size of the active tab. */
|
|
872
|
+
dynamicHeight?: boolean;
|
|
873
|
+
/** `tabindex` to be set on the inner element that wraps the tab content. */
|
|
874
|
+
contentTabIndex?: number;
|
|
875
|
+
/**
|
|
876
|
+
* By default tabs remove their content from the DOM while it's off-screen.
|
|
877
|
+
* Setting this to `true` will keep it in the DOM which will prevent elements
|
|
878
|
+
* like iframes and videos from reloading next time it comes back into the view.
|
|
879
|
+
*/
|
|
880
|
+
preserveContent?: boolean;
|
|
881
|
+
/** Whether tabs should be stretched to fill the header. */
|
|
882
|
+
stretchTabs?: boolean;
|
|
883
|
+
/** Alignment for the tabs label. */
|
|
884
|
+
alignTabs?: 'start' | 'center' | 'end';
|
|
885
|
+
}
|
|
886
|
+
/** Injection token that can be used to provide the default options the tabs module. */
|
|
887
|
+
declare const MAT_TABS_CONFIG: InjectionToken<MatTabsConfig>;
|
|
888
|
+
|
|
889
|
+
export { MAT_TAB, MAT_TABS_CONFIG, MAT_TAB_CONTENT, MAT_TAB_GROUP, MAT_TAB_LABEL, MatInkBar, MatPaginatedTabHeader, MatTab, MatTabBody, MatTabBodyPortal, MatTabChangeEvent, MatTabContent, MatTabGroup, MatTabHeader, MatTabLabel, MatTabLabelWrapper, MatTabLink, MatTabNav, MatTabNavPanel, MatTabsModule, _MAT_INK_BAR_POSITIONER };
|
|
890
|
+
export type { MatTabBodyOriginState, MatTabBodyPositionState, MatTabGroupBaseHeader, MatTabHeaderPosition, MatTabsConfig, ScrollDirection, _MatInkBarPositioner };
|