@angular/material 17.0.0 → 17.1.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/index.d.ts +0 -2
- package/button/_button-theme.scss +4 -0
- package/button/_icon-button-theme.scss +5 -1
- package/card/testing/index.d.ts +1 -1
- package/checkbox/index.d.ts +1 -1
- package/chips/index.d.ts +71 -67
- package/core/index.d.ts +1 -1
- package/core/ripple/_ripple-theme.scss +51 -19
- package/core/tokens/m2/_index.scss +29 -8
- package/datepicker/index.d.ts +21 -23
- package/datepicker/testing/index.d.ts +1 -1
- package/dialog/index.d.ts +1 -1
- package/dialog/testing/index.d.ts +1 -1
- package/esm2022/autocomplete/autocomplete-trigger.mjs +7 -7
- package/esm2022/button/icon-button.mjs +4 -4
- package/esm2022/card/testing/card-harness.mjs +9 -1
- package/esm2022/checkbox/checkbox.mjs +29 -14
- package/esm2022/chips/chip-action.mjs +14 -13
- package/esm2022/chips/chip-grid.mjs +29 -16
- package/esm2022/chips/chip-input.mjs +14 -17
- package/esm2022/chips/chip-listbox.mjs +19 -22
- package/esm2022/chips/chip-option.mjs +11 -10
- package/esm2022/chips/chip-row.mjs +4 -4
- package/esm2022/chips/chip-set.mjs +19 -18
- package/esm2022/chips/chip.mjs +49 -42
- package/esm2022/core/ripple/ripple-ref.mjs +10 -2
- package/esm2022/core/ripple/ripple-renderer.mjs +11 -11
- package/esm2022/core/version.mjs +1 -1
- package/esm2022/datepicker/calendar-body.mjs +2 -2
- package/esm2022/datepicker/date-range-input.mjs +10 -10
- package/esm2022/datepicker/datepicker-base.mjs +41 -49
- package/esm2022/datepicker/datepicker-input-base.mjs +6 -6
- package/esm2022/datepicker/datepicker-toggle.mjs +6 -6
- package/esm2022/datepicker/testing/calendar-harness.mjs +11 -4
- package/esm2022/dialog/dialog-ref.mjs +10 -4
- package/esm2022/dialog/testing/dialog-harness.mjs +11 -4
- package/esm2022/dialog/testing/public-api.mjs +2 -2
- package/esm2022/expansion/accordion.mjs +7 -13
- package/esm2022/expansion/expansion-panel-header.mjs +13 -13
- package/esm2022/expansion/expansion-panel.mjs +6 -6
- package/esm2022/expansion/testing/expansion-harness.mjs +14 -6
- package/esm2022/grid-list/testing/grid-tile-harness.mjs +9 -3
- package/esm2022/icon/icon.mjs +24 -28
- package/esm2022/icon/testing/icon-harness-filters.mjs +7 -2
- package/esm2022/icon/testing/icon-harness.mjs +4 -3
- package/esm2022/list/list-base.mjs +6 -6
- package/esm2022/list/testing/list-item-harness-base.mjs +18 -6
- package/esm2022/list/testing/public-api.mjs +2 -2
- package/esm2022/paginator/paginator.mjs +32 -35
- package/esm2022/progress-bar/progress-bar.mjs +25 -20
- package/esm2022/progress-spinner/progress-spinner.mjs +34 -33
- package/esm2022/radio/radio.mjs +40 -34
- package/esm2022/select/select.mjs +45 -37
- package/esm2022/slider/slider-input.mjs +23 -22
- package/esm2022/slider/slider-interface.mjs +16 -1
- package/esm2022/slider/slider-thumb.mjs +6 -6
- package/esm2022/slider/slider.mjs +73 -72
- package/esm2022/slider/testing/slider-harness-filters.mjs +7 -2
- package/esm2022/slider/testing/slider-harness.mjs +4 -3
- package/esm2022/slider/testing/slider-thumb-harness.mjs +3 -2
- package/esm2022/sort/sort-header.mjs +16 -24
- package/esm2022/sort/sort.mjs +12 -19
- package/esm2022/stepper/step-header.mjs +7 -12
- package/esm2022/stepper/stepper.mjs +1 -1
- package/esm2022/stepper/testing/step-harness-filters.mjs +7 -2
- package/esm2022/stepper/testing/stepper-harness.mjs +4 -3
- package/esm2022/tabs/paginated-tab-header.mjs +12 -18
- package/esm2022/tabs/tab-group.mjs +54 -70
- package/esm2022/tabs/tab-header.mjs +7 -13
- package/esm2022/tabs/tab-label-wrapper.mjs +12 -8
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +43 -37
- package/esm2022/tabs/tab.mjs +12 -12
- package/esm2022/toolbar/testing/toolbar-harness.mjs +7 -2
- package/esm2022/toolbar/toolbar.mjs +11 -16
- package/esm2022/tree/node.mjs +20 -20
- package/esm2022/tree/padding.mjs +11 -4
- package/expansion/index.d.ts +11 -19
- package/expansion/testing/index.d.ts +1 -1
- package/fesm2022/autocomplete.mjs +6 -6
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/button.mjs +4 -4
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card/testing.mjs +9 -1
- package/fesm2022/card/testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +29 -14
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips.mjs +144 -119
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +20 -12
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker/testing.mjs +11 -4
- package/fesm2022/datepicker/testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +57 -62
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog/testing.mjs +11 -4
- package/fesm2022/dialog/testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +10 -4
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/expansion/testing.mjs +14 -6
- package/fesm2022/expansion/testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +22 -26
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/grid-list/testing.mjs +9 -3
- package/fesm2022/grid-list/testing.mjs.map +1 -1
- package/fesm2022/icon/testing.mjs +10 -3
- package/fesm2022/icon/testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +24 -27
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/list/testing.mjs +18 -6
- package/fesm2022/list/testing.mjs.map +1 -1
- package/fesm2022/list.mjs +5 -5
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/paginator.mjs +31 -34
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +25 -19
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +34 -32
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio.mjs +41 -34
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select.mjs +44 -36
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/slider/testing.mjs +11 -4
- package/fesm2022/slider/testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +109 -91
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/sort.mjs +25 -38
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper/testing.mjs +10 -3
- package/fesm2022/stepper/testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +8 -12
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/tabs.mjs +130 -141
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar/testing.mjs +7 -2
- package/fesm2022/toolbar/testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +11 -15
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tree.mjs +22 -21
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +85 -49
- package/grid-list/_grid-list-theme.scss +47 -14
- package/grid-list/testing/index.d.ts +1 -1
- package/icon/index.d.ts +10 -16
- package/icon/testing/index.d.ts +1 -1
- package/input/_input-theme.scss +39 -12
- package/list/_list-theme.scss +115 -83
- package/list/testing/index.d.ts +2 -2
- package/package.json +7 -7
- package/paginator/index.d.ts +16 -17
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-bar/index.d.ts +12 -15
- package/progress-spinner/index.d.ts +14 -15
- package/radio/index.d.ts +20 -22
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-add/index.mjs +2 -2
- package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -29
- package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +21 -19
- package/schematics/ng-generate/mdc-migration/index_bundled.js +55 -48
- package/schematics/ng-generate/mdc-migration/index_bundled.js.map +3 -3
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +9 -8
- package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +1 -2
- package/schematics/ng-update/index_bundled.js +31 -31
- package/select/index.d.ts +22 -17
- package/slide-toggle/_slide-toggle-theme.scss +78 -44
- package/slider/index.d.ts +30 -30
- package/slider/testing/index.d.ts +1 -1
- package/sort/_sort-theme.scss +51 -20
- package/sort/index.d.ts +15 -20
- package/stepper/_stepper-theme.scss +58 -25
- package/stepper/index.d.ts +5 -15
- package/stepper/testing/index.d.ts +1 -1
- package/table/_table-theme.scss +53 -20
- package/tabs/_tabs-theme.scss +87 -51
- package/tabs/index.d.ts +61 -64
- package/toolbar/index.d.ts +5 -12
- package/toolbar/testing/index.d.ts +1 -1
- package/tree/_tree-theme.scss +53 -21
- package/tree/index.d.ts +13 -15
package/fesm2022/tabs.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i1$1 from '@angular/common';
|
|
2
2
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { forwardRef, Directive, Inject, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Output, ViewChild, Input, InjectionToken, TemplateRef, ContentChild, ContentChildren, QueryList, Attribute, NgModule } from '@angular/core';
|
|
4
|
+
import { forwardRef, Directive, Inject, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Optional, Output, ViewChild, Input, InjectionToken, booleanAttribute, TemplateRef, ContentChild, numberAttribute, ContentChildren, QueryList, Attribute, NgModule } from '@angular/core';
|
|
5
5
|
import * as i4 from '@angular/material/core';
|
|
6
|
-
import {
|
|
6
|
+
import { MAT_RIPPLE_GLOBAL_OPTIONS, MatCommonModule, MatRippleModule } from '@angular/material/core';
|
|
7
7
|
import * as i2$1 from '@angular/cdk/portal';
|
|
8
8
|
import { CdkPortalOutlet, CdkPortal, TemplatePortal, PortalModule } from '@angular/cdk/portal';
|
|
9
9
|
import * as i5 from '@angular/cdk/observers';
|
|
@@ -14,7 +14,7 @@ import * as i2 from '@angular/cdk/bidi';
|
|
|
14
14
|
import { Subscription, Subject, fromEvent, of, merge, EMPTY, Observable, timer, BehaviorSubject } from 'rxjs';
|
|
15
15
|
import { startWith, distinctUntilChanged, takeUntil, take, switchMap, skip, filter } from 'rxjs/operators';
|
|
16
16
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
17
|
-
import { coerceBooleanProperty
|
|
17
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
18
18
|
import * as i1 from '@angular/cdk/scrolling';
|
|
19
19
|
import * as i3 from '@angular/cdk/platform';
|
|
20
20
|
import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
|
|
@@ -444,8 +444,8 @@ const _MAT_INK_BAR_POSITIONER = new InjectionToken('MatInkBarPositioner', {
|
|
|
444
444
|
|
|
445
445
|
// Boilerplate for applying mixins to MatTabLabelWrapper.
|
|
446
446
|
/** @docs-private */
|
|
447
|
-
const _MatTabLabelWrapperMixinBase = mixinInkBarItem(
|
|
448
|
-
})
|
|
447
|
+
const _MatTabLabelWrapperMixinBase = mixinInkBarItem(class {
|
|
448
|
+
});
|
|
449
449
|
/**
|
|
450
450
|
* Used in the `mat-tab-group` view to display tab labels.
|
|
451
451
|
* @docs-private
|
|
@@ -454,6 +454,8 @@ class MatTabLabelWrapper extends _MatTabLabelWrapperMixinBase {
|
|
|
454
454
|
constructor(elementRef) {
|
|
455
455
|
super();
|
|
456
456
|
this.elementRef = elementRef;
|
|
457
|
+
/** Whether the tab is disabled. */
|
|
458
|
+
this.disabled = false;
|
|
457
459
|
}
|
|
458
460
|
/** Sets focus on the wrapper element */
|
|
459
461
|
focus() {
|
|
@@ -466,30 +468,30 @@ class MatTabLabelWrapper extends _MatTabLabelWrapperMixinBase {
|
|
|
466
468
|
return this.elementRef.nativeElement.offsetWidth;
|
|
467
469
|
}
|
|
468
470
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabLabelWrapper, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
469
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
471
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: { fitInkBarToContent: "fitInkBarToContent", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class.mat-mdc-tab-disabled": "disabled", "attr.aria-disabled": "!!disabled" } }, usesInheritance: true, ngImport: i0 }); }
|
|
470
472
|
}
|
|
471
473
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabLabelWrapper, decorators: [{
|
|
472
474
|
type: Directive,
|
|
473
475
|
args: [{
|
|
474
476
|
selector: '[matTabLabelWrapper]',
|
|
475
|
-
inputs: ['
|
|
477
|
+
inputs: ['fitInkBarToContent'],
|
|
476
478
|
host: {
|
|
477
479
|
'[class.mat-mdc-tab-disabled]': 'disabled',
|
|
478
480
|
'[attr.aria-disabled]': '!!disabled',
|
|
479
481
|
},
|
|
480
482
|
}]
|
|
481
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }]
|
|
483
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{
|
|
484
|
+
type: Input,
|
|
485
|
+
args: [{ transform: booleanAttribute }]
|
|
486
|
+
}] } });
|
|
482
487
|
|
|
483
|
-
// Boilerplate for applying mixins to MatTab.
|
|
484
|
-
/** @docs-private */
|
|
485
|
-
const _MatTabMixinBase = mixinDisabled(class {
|
|
486
|
-
});
|
|
487
488
|
/**
|
|
488
489
|
* Used to provide a tab group to a tab without causing a circular dependency.
|
|
489
490
|
* @docs-private
|
|
490
491
|
*/
|
|
491
492
|
const MAT_TAB_GROUP = new InjectionToken('MAT_TAB_GROUP');
|
|
492
|
-
class MatTab
|
|
493
|
+
class MatTab {
|
|
494
|
+
/** Content for the tab label given by `<ng-template mat-tab-label>`. */
|
|
493
495
|
get templateLabel() {
|
|
494
496
|
return this._templateLabel;
|
|
495
497
|
}
|
|
@@ -501,9 +503,10 @@ class MatTab extends _MatTabMixinBase {
|
|
|
501
503
|
return this._contentPortal;
|
|
502
504
|
}
|
|
503
505
|
constructor(_viewContainerRef, _closestTabGroup) {
|
|
504
|
-
super();
|
|
505
506
|
this._viewContainerRef = _viewContainerRef;
|
|
506
507
|
this._closestTabGroup = _closestTabGroup;
|
|
508
|
+
/** whether the tab is disabled. */
|
|
509
|
+
this.disabled = false;
|
|
507
510
|
/**
|
|
508
511
|
* Template provided in the tab content that will be used if present, used to enable lazy-loading
|
|
509
512
|
*/
|
|
@@ -556,17 +559,20 @@ class MatTab extends _MatTabMixinBase {
|
|
|
556
559
|
}
|
|
557
560
|
}
|
|
558
561
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTab, deps: [{ token: i0.ViewContainerRef }, { token: MAT_TAB_GROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
559
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
562
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0", type: MatTab, selector: "mat-tab", inputs: { disabled: ["disabled", "disabled", booleanAttribute], textLabel: ["label", "textLabel"], ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], labelClass: "labelClass", bodyClass: "bodyClass" }, providers: [{ provide: MAT_TAB, useExisting: MatTab }], queries: [{ propertyName: "templateLabel", first: true, predicate: MatTabLabel, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: MatTabContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["matTab"], usesOnChanges: true, ngImport: i0, template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
560
563
|
}
|
|
561
564
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTab, decorators: [{
|
|
562
565
|
type: Component,
|
|
563
|
-
args: [{ selector: 'mat-tab',
|
|
566
|
+
args: [{ selector: 'mat-tab', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, exportAs: 'matTab', providers: [{ provide: MAT_TAB, useExisting: MatTab }], template: "<!-- Create a template for the content of the <mat-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group. -->\n<ng-template><ng-content></ng-content></ng-template>\n" }]
|
|
564
567
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
|
565
568
|
type: Inject,
|
|
566
569
|
args: [MAT_TAB_GROUP]
|
|
567
570
|
}, {
|
|
568
571
|
type: Optional
|
|
569
|
-
}] }], propDecorators: {
|
|
572
|
+
}] }], propDecorators: { disabled: [{
|
|
573
|
+
type: Input,
|
|
574
|
+
args: [{ transform: booleanAttribute }]
|
|
575
|
+
}], templateLabel: [{
|
|
570
576
|
type: ContentChild,
|
|
571
577
|
args: [MatTabLabel]
|
|
572
578
|
}], _explicitContent: [{
|
|
@@ -609,22 +615,12 @@ const HEADER_SCROLL_INTERVAL = 100;
|
|
|
609
615
|
* @docs-private
|
|
610
616
|
*/
|
|
611
617
|
class MatPaginatedTabHeader {
|
|
612
|
-
/**
|
|
613
|
-
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
614
|
-
* layout recalculations if it's known that pagination won't be required.
|
|
615
|
-
*/
|
|
616
|
-
get disablePagination() {
|
|
617
|
-
return this._disablePagination;
|
|
618
|
-
}
|
|
619
|
-
set disablePagination(value) {
|
|
620
|
-
this._disablePagination = coerceBooleanProperty(value);
|
|
621
|
-
}
|
|
622
618
|
/** The index of the active tab. */
|
|
623
619
|
get selectedIndex() {
|
|
624
620
|
return this._selectedIndex;
|
|
625
621
|
}
|
|
626
|
-
set selectedIndex(
|
|
627
|
-
value =
|
|
622
|
+
set selectedIndex(v) {
|
|
623
|
+
const value = numberAttribute(v, 0);
|
|
628
624
|
if (this._selectedIndex != value) {
|
|
629
625
|
this._selectedIndexChanged = true;
|
|
630
626
|
this._selectedIndex = value;
|
|
@@ -655,7 +651,11 @@ class MatPaginatedTabHeader {
|
|
|
655
651
|
this._disableScrollBefore = true;
|
|
656
652
|
/** Stream that will stop the automated scrolling. */
|
|
657
653
|
this._stopScrolling = new Subject();
|
|
658
|
-
|
|
654
|
+
/**
|
|
655
|
+
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
656
|
+
* layout recalculations if it's known that pagination won't be required.
|
|
657
|
+
*/
|
|
658
|
+
this.disablePagination = false;
|
|
659
659
|
this._selectedIndex = 0;
|
|
660
660
|
/** Event emitted when the option is selected. */
|
|
661
661
|
this.selectFocusedIndex = new EventEmitter();
|
|
@@ -1071,7 +1071,7 @@ class MatPaginatedTabHeader {
|
|
|
1071
1071
|
return { maxScrollDistance, distance: this._scrollDistance };
|
|
1072
1072
|
}
|
|
1073
1073
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatPaginatedTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: i2.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1074
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
1074
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0", type: MatPaginatedTabHeader, inputs: { disablePagination: ["disablePagination", "disablePagination", booleanAttribute] }, ngImport: i0 }); }
|
|
1075
1075
|
}
|
|
1076
1076
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatPaginatedTabHeader, decorators: [{
|
|
1077
1077
|
type: Directive
|
|
@@ -1083,7 +1083,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1083
1083
|
type: Inject,
|
|
1084
1084
|
args: [ANIMATION_MODULE_TYPE]
|
|
1085
1085
|
}] }], propDecorators: { disablePagination: [{
|
|
1086
|
-
type: Input
|
|
1086
|
+
type: Input,
|
|
1087
|
+
args: [{ transform: booleanAttribute }]
|
|
1087
1088
|
}] } });
|
|
1088
1089
|
|
|
1089
1090
|
/**
|
|
@@ -1094,16 +1095,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1094
1095
|
* @docs-private
|
|
1095
1096
|
*/
|
|
1096
1097
|
class MatTabHeader extends MatPaginatedTabHeader {
|
|
1097
|
-
/** Whether the ripple effect is disabled or not. */
|
|
1098
|
-
get disableRipple() {
|
|
1099
|
-
return this._disableRipple;
|
|
1100
|
-
}
|
|
1101
|
-
set disableRipple(value) {
|
|
1102
|
-
this._disableRipple = coerceBooleanProperty(value);
|
|
1103
|
-
}
|
|
1104
1098
|
constructor(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode) {
|
|
1105
1099
|
super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
|
|
1106
|
-
|
|
1100
|
+
/** Whether the ripple effect is disabled or not. */
|
|
1101
|
+
this.disableRipple = false;
|
|
1107
1102
|
}
|
|
1108
1103
|
ngAfterContentInit() {
|
|
1109
1104
|
this._inkBar = new MatInkBar(this._items);
|
|
@@ -1113,7 +1108,7 @@ class MatTabHeader extends MatPaginatedTabHeader {
|
|
|
1113
1108
|
event.preventDefault();
|
|
1114
1109
|
}
|
|
1115
1110
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabHeader, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: i2.Directionality, optional: true }, { token: i0.NgZone }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0", type: MatTabHeader, selector: "mat-tab-header", inputs: { selectedIndex: "selectedIndex", disableRipple: ["disableRipple", "disableRipple", booleanAttribute] }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, host: { properties: { "class.mat-mdc-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-mdc-tab-header-rtl": "_getLayoutDirection() == 'rtl'" }, classAttribute: "mat-mdc-tab-header" }, queries: [{ propertyName: "_items", predicate: MatTabLabelWrapper }], viewQueries: [{ propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- TODO: this also had `mat-elevation-z4`. Figure out what we should do with it. -->\n<button class=\"mat-mdc-tab-header-pagination mat-mdc-tab-header-pagination-before\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-mdc-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-mdc-tab-header-pagination-chevron\"></div>\n</button>\n\n<div\n class=\"mat-mdc-tab-label-container\"\n #tabListContainer\n (keydown)=\"_handleKeydown($event)\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\">\n <div\n #tabList\n class=\"mat-mdc-tab-list\"\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-mdc-tab-labels\" #tabListInner>\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<!-- TODO: this also had `mat-elevation-z4`. Figure out what we should do with it. -->\n<button class=\"mat-mdc-tab-header-pagination mat-mdc-tab-header-pagination-after\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-mdc-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-mdc-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-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:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color)}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.mat-mdc-tab::before{margin:5px}.cdk-high-contrast-active .mat-mdc-tab[aria-disabled=true]{color:GrayText}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1117
1112
|
}
|
|
1118
1113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabHeader, decorators: [{
|
|
1119
1114
|
type: Component,
|
|
@@ -1148,7 +1143,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1148
1143
|
type: ViewChild,
|
|
1149
1144
|
args: ['previousPaginator']
|
|
1150
1145
|
}], disableRipple: [{
|
|
1151
|
-
type: Input
|
|
1146
|
+
type: Input,
|
|
1147
|
+
args: [{ transform: booleanAttribute }]
|
|
1152
1148
|
}] } });
|
|
1153
1149
|
|
|
1154
1150
|
/** Injection token that can be used to provide the default options the tabs module. */
|
|
@@ -1156,54 +1152,34 @@ const MAT_TABS_CONFIG = new InjectionToken('MAT_TABS_CONFIG');
|
|
|
1156
1152
|
|
|
1157
1153
|
/** Used to generate unique ID's for each tab component */
|
|
1158
1154
|
let nextId = 0;
|
|
1159
|
-
// Boilerplate for applying mixins to MatTabGroup.
|
|
1160
|
-
/** @docs-private */
|
|
1161
|
-
const _MatTabGroupMixinBase = mixinColor(mixinDisableRipple(class {
|
|
1162
|
-
constructor(_elementRef) {
|
|
1163
|
-
this._elementRef = _elementRef;
|
|
1164
|
-
}
|
|
1165
|
-
}), 'primary');
|
|
1166
1155
|
/**
|
|
1167
1156
|
* Material design tab-group component. Supports basic tab pairs (label + content) and includes
|
|
1168
1157
|
* animated ink-bar, keyboard navigation, and screen reader.
|
|
1169
1158
|
* See: https://material.io/design/components/tabs.html
|
|
1170
1159
|
*/
|
|
1171
|
-
class MatTabGroup
|
|
1160
|
+
class MatTabGroup {
|
|
1172
1161
|
/** Whether the ink bar should fit its width to the size of the tab label content. */
|
|
1173
1162
|
get fitInkBarToContent() {
|
|
1174
1163
|
return this._fitInkBarToContent;
|
|
1175
1164
|
}
|
|
1176
|
-
set fitInkBarToContent(
|
|
1177
|
-
this._fitInkBarToContent =
|
|
1165
|
+
set fitInkBarToContent(value) {
|
|
1166
|
+
this._fitInkBarToContent = value;
|
|
1178
1167
|
this._changeDetectorRef.markForCheck();
|
|
1179
1168
|
}
|
|
1180
|
-
/** Whether tabs should be stretched to fill the header. */
|
|
1181
|
-
get stretchTabs() {
|
|
1182
|
-
return this._stretchTabs;
|
|
1183
|
-
}
|
|
1184
|
-
set stretchTabs(v) {
|
|
1185
|
-
this._stretchTabs = coerceBooleanProperty(v);
|
|
1186
|
-
}
|
|
1187
|
-
/** Whether the tab group should grow to the size of the active tab. */
|
|
1188
|
-
get dynamicHeight() {
|
|
1189
|
-
return this._dynamicHeight;
|
|
1190
|
-
}
|
|
1191
|
-
set dynamicHeight(value) {
|
|
1192
|
-
this._dynamicHeight = coerceBooleanProperty(value);
|
|
1193
|
-
}
|
|
1194
1169
|
/** The index of the active tab. */
|
|
1195
1170
|
get selectedIndex() {
|
|
1196
1171
|
return this._selectedIndex;
|
|
1197
1172
|
}
|
|
1198
1173
|
set selectedIndex(value) {
|
|
1199
|
-
this._indexToSelect =
|
|
1174
|
+
this._indexToSelect = isNaN(value) ? null : value;
|
|
1200
1175
|
}
|
|
1201
1176
|
/** Duration for the tab animation. Will be normalized to milliseconds if no units are set. */
|
|
1202
1177
|
get animationDuration() {
|
|
1203
1178
|
return this._animationDuration;
|
|
1204
1179
|
}
|
|
1205
1180
|
set animationDuration(value) {
|
|
1206
|
-
|
|
1181
|
+
const stringValue = value + '';
|
|
1182
|
+
this._animationDuration = /^\d+$/.test(stringValue) ? value + 'ms' : stringValue;
|
|
1207
1183
|
}
|
|
1208
1184
|
/**
|
|
1209
1185
|
* `tabindex` to be set on the inner element that wraps the tab content. Can be used for improved
|
|
@@ -1215,28 +1191,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1215
1191
|
return this._contentTabIndex;
|
|
1216
1192
|
}
|
|
1217
1193
|
set contentTabIndex(value) {
|
|
1218
|
-
this._contentTabIndex =
|
|
1219
|
-
}
|
|
1220
|
-
/**
|
|
1221
|
-
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
1222
|
-
* layout recalculations if it's known that pagination won't be required.
|
|
1223
|
-
*/
|
|
1224
|
-
get disablePagination() {
|
|
1225
|
-
return this._disablePagination;
|
|
1226
|
-
}
|
|
1227
|
-
set disablePagination(value) {
|
|
1228
|
-
this._disablePagination = coerceBooleanProperty(value);
|
|
1229
|
-
}
|
|
1230
|
-
/**
|
|
1231
|
-
* By default tabs remove their content from the DOM while it's off-screen.
|
|
1232
|
-
* Setting this to `true` will keep it in the DOM which will prevent elements
|
|
1233
|
-
* like iframes and videos from reloading next time it comes back into the view.
|
|
1234
|
-
*/
|
|
1235
|
-
get preserveContent() {
|
|
1236
|
-
return this._preserveContent;
|
|
1237
|
-
}
|
|
1238
|
-
set preserveContent(value) {
|
|
1239
|
-
this._preserveContent = coerceBooleanProperty(value);
|
|
1194
|
+
this._contentTabIndex = isNaN(value) ? null : value;
|
|
1240
1195
|
}
|
|
1241
1196
|
/** Background color of the tab group. */
|
|
1242
1197
|
get backgroundColor() {
|
|
@@ -1250,8 +1205,8 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1250
1205
|
}
|
|
1251
1206
|
this._backgroundColor = value;
|
|
1252
1207
|
}
|
|
1253
|
-
constructor(
|
|
1254
|
-
|
|
1208
|
+
constructor(_elementRef, _changeDetectorRef, defaultConfig, _animationMode) {
|
|
1209
|
+
this._elementRef = _elementRef;
|
|
1255
1210
|
this._changeDetectorRef = _changeDetectorRef;
|
|
1256
1211
|
this._animationMode = _animationMode;
|
|
1257
1212
|
/** All of the tabs that belong to the group. */
|
|
@@ -1267,13 +1222,26 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1267
1222
|
/** Subscription to changes in the tab labels. */
|
|
1268
1223
|
this._tabLabelSubscription = Subscription.EMPTY;
|
|
1269
1224
|
this._fitInkBarToContent = false;
|
|
1270
|
-
|
|
1271
|
-
this.
|
|
1225
|
+
/** Whether tabs should be stretched to fill the header. */
|
|
1226
|
+
this.stretchTabs = true;
|
|
1227
|
+
/** Whether the tab group should grow to the size of the active tab. */
|
|
1228
|
+
this.dynamicHeight = false;
|
|
1272
1229
|
this._selectedIndex = null;
|
|
1273
1230
|
/** Position of the tab header. */
|
|
1274
1231
|
this.headerPosition = 'above';
|
|
1275
|
-
|
|
1276
|
-
|
|
1232
|
+
/**
|
|
1233
|
+
* Whether pagination should be disabled. This can be used to avoid unnecessary
|
|
1234
|
+
* layout recalculations if it's known that pagination won't be required.
|
|
1235
|
+
*/
|
|
1236
|
+
this.disablePagination = false;
|
|
1237
|
+
/** Whether ripples in the tab group are disabled. */
|
|
1238
|
+
this.disableRipple = false;
|
|
1239
|
+
/**
|
|
1240
|
+
* By default tabs remove their content from the DOM while it's off-screen.
|
|
1241
|
+
* Setting this to `true` will keep it in the DOM which will prevent elements
|
|
1242
|
+
* like iframes and videos from reloading next time it comes back into the view.
|
|
1243
|
+
*/
|
|
1244
|
+
this.preserveContent = false;
|
|
1277
1245
|
/** Output to enable support for two-way binding on `[(selectedIndex)]` */
|
|
1278
1246
|
this.selectedIndexChange = new EventEmitter();
|
|
1279
1247
|
/** Event emitted when focus has changed within a tab group. */
|
|
@@ -1291,7 +1259,9 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1291
1259
|
: false;
|
|
1292
1260
|
this.dynamicHeight =
|
|
1293
1261
|
defaultConfig && defaultConfig.dynamicHeight != null ? defaultConfig.dynamicHeight : false;
|
|
1294
|
-
|
|
1262
|
+
if (defaultConfig?.contentTabIndex != null) {
|
|
1263
|
+
this.contentTabIndex = defaultConfig.contentTabIndex;
|
|
1264
|
+
}
|
|
1295
1265
|
this.preserveContent = !!defaultConfig?.preserveContent;
|
|
1296
1266
|
this.fitInkBarToContent =
|
|
1297
1267
|
defaultConfig && defaultConfig.fitInkBarToContent != null
|
|
@@ -1473,7 +1443,7 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1473
1443
|
* height property is true.
|
|
1474
1444
|
*/
|
|
1475
1445
|
_setTabBodyWrapperHeight(tabHeight) {
|
|
1476
|
-
if (!this.
|
|
1446
|
+
if (!this.dynamicHeight || !this._tabBodyWrapperHeight) {
|
|
1477
1447
|
return;
|
|
1478
1448
|
}
|
|
1479
1449
|
const wrapper = this._tabBodyWrapper.nativeElement;
|
|
@@ -1514,16 +1484,16 @@ class MatTabGroup extends _MatTabGroupMixinBase {
|
|
|
1514
1484
|
}
|
|
1515
1485
|
}
|
|
1516
1486
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_TABS_CONFIG, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1517
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.0", type: MatTabGroup, selector: "mat-tab-group", inputs: { color: "color",
|
|
1487
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.0", type: MatTabGroup, selector: "mat-tab-group", inputs: { color: "color", fitInkBarToContent: ["fitInkBarToContent", "fitInkBarToContent", booleanAttribute], stretchTabs: ["mat-stretch-tabs", "stretchTabs", booleanAttribute], dynamicHeight: ["dynamicHeight", "dynamicHeight", booleanAttribute], selectedIndex: ["selectedIndex", "selectedIndex", numberAttribute], headerPosition: "headerPosition", animationDuration: "animationDuration", contentTabIndex: ["contentTabIndex", "contentTabIndex", numberAttribute], disablePagination: ["disablePagination", "disablePagination", booleanAttribute], disableRipple: ["disableRipple", "disableRipple", booleanAttribute], preserveContent: ["preserveContent", "preserveContent", booleanAttribute], backgroundColor: "backgroundColor" }, outputs: { selectedIndexChange: "selectedIndexChange", focusChange: "focusChange", animationDone: "animationDone", selectedTabChange: "selectedTabChange" }, host: { attributes: { "ngSkipHydration": "" }, properties: { "class": "\"mat-\" + (color || \"primary\")", "class.mat-mdc-tab-group-dynamic-height": "dynamicHeight", "class.mat-mdc-tab-group-inverted-header": "headerPosition === \"below\"", "class.mat-mdc-tab-group-stretch-tabs": "stretchTabs", "style.--mat-tab-animation-duration": "animationDuration" }, classAttribute: "mat-mdc-tab-group" }, providers: [
|
|
1518
1488
|
{
|
|
1519
1489
|
provide: MAT_TAB_GROUP,
|
|
1520
1490
|
useExisting: MatTabGroup,
|
|
1521
1491
|
},
|
|
1522
|
-
], queries: [{ propertyName: "_allTabs", predicate: MatTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["matTabGroup"], usesInheritance: true, ngImport: i0, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n\n @for (tab of _tabs; track tab; let i = $index) {\n <div class=\"mdc-tab mat-mdc-tab mat-mdc-focus-indicator\"\n #tabNode\n role=\"tab\"\n matTabLabelWrapper\n cdkMonitorElementFocus\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mdc-tab--active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [fitInkBarToContent]=\"fitInkBarToContent\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n <span class=\"mdc-tab__ripple\"></span>\n\n <!-- Needs to be a separate element, because we can't put\n `overflow: hidden` on tab due to the ink bar. -->\n <div\n class=\"mat-mdc-tab-ripple\"\n mat-ripple\n [matRippleTrigger]=\"tabNode\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"></div>\n\n <span class=\"mdc-tab__content\">\n <span class=\"mdc-tab__text-label\">\n <!--\n If there is a label template, use it, otherwise fall back to the text label.\n Note that we don't have indentation around the text label, because it adds\n whitespace around the text which breaks some internal tests.\n -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n } @else {{{tab.textLabel}}}\n </span>\n </span>\n </div>\n }\n</mat-tab-header>\n\n<div\n class=\"mat-mdc-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n @for (tab of _tabs; track tab; let i = $index) {\n <mat-tab-body role=\"tabpanel\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [attr.aria-hidden]=\"selectedIndex !== i\"\n [class.mat-mdc-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n }\n</div>\n", styles: [".mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;font-family:var(--mat-tab-header-label-text-font);font-size:var(--mat-tab-header-label-text-size);letter-spacing:var(--mat-tab-header-label-text-tracking);line-height:var(--mat-tab-header-label-text-line-height);font-weight:var(--mat-tab-header-label-text-weight)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-top-width:var(--mdc-tab-indicator-active-indicator-height)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-radius:var(--mdc-tab-indicator-active-indicator-shape)}.mat-mdc-tab:not(.mdc-tab--stacked){height:var(--mdc-secondary-navigation-tab-container-height)}.mat-mdc-tab:not(:disabled).mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color)}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color)}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab .mdc-tab__ripple::before{content:\"\";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color);display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i6.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: MatTabBody, selector: "mat-tab-body", inputs: ["content", "origin", "animationDuration", "preserveContent", "position"], outputs: ["_onCentering", "_beforeCentering", "_afterLeavingCenter", "_onCentered"] }, { kind: "directive", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: ["disabled", "fitInkBarToContent"] }, { kind: "component", type: MatTabHeader, selector: "mat-tab-header", inputs: ["selectedIndex", "disableRipple"], outputs: ["selectFocusedIndex", "indexFocused"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1492
|
+
], queries: [{ propertyName: "_allTabs", predicate: MatTab, descendants: true }], viewQueries: [{ propertyName: "_tabBodyWrapper", first: true, predicate: ["tabBodyWrapper"], descendants: true }, { propertyName: "_tabHeader", first: true, predicate: ["tabHeader"], descendants: true }], exportAs: ["matTabGroup"], ngImport: i0, template: "<mat-tab-header #tabHeader\n [selectedIndex]=\"selectedIndex || 0\"\n [disableRipple]=\"disableRipple\"\n [disablePagination]=\"disablePagination\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\">\n\n @for (tab of _tabs; track tab; let i = $index) {\n <div class=\"mdc-tab mat-mdc-tab mat-mdc-focus-indicator\"\n #tabNode\n role=\"tab\"\n matTabLabelWrapper\n cdkMonitorElementFocus\n [id]=\"_getTabLabelId(i)\"\n [attr.tabIndex]=\"_getTabIndex(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-controls]=\"_getTabContentId(i)\"\n [attr.aria-selected]=\"selectedIndex === i\"\n [attr.aria-label]=\"tab.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!tab.ariaLabel && tab.ariaLabelledby) ? tab.ariaLabelledby : null\"\n [class.mdc-tab--active]=\"selectedIndex === i\"\n [ngClass]=\"tab.labelClass\"\n [disabled]=\"tab.disabled\"\n [fitInkBarToContent]=\"fitInkBarToContent\"\n (click)=\"_handleClick(tab, tabHeader, i)\"\n (cdkFocusChange)=\"_tabFocusChanged($event, i)\">\n <span class=\"mdc-tab__ripple\"></span>\n\n <!-- Needs to be a separate element, because we can't put\n `overflow: hidden` on tab due to the ink bar. -->\n <div\n class=\"mat-mdc-tab-ripple\"\n mat-ripple\n [matRippleTrigger]=\"tabNode\"\n [matRippleDisabled]=\"tab.disabled || disableRipple\"></div>\n\n <span class=\"mdc-tab__content\">\n <span class=\"mdc-tab__text-label\">\n <!--\n If there is a label template, use it, otherwise fall back to the text label.\n Note that we don't have indentation around the text label, because it adds\n whitespace around the text which breaks some internal tests.\n -->\n @if (tab.templateLabel) {\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n } @else {{{tab.textLabel}}}\n </span>\n </span>\n </div>\n }\n</mat-tab-header>\n\n<div\n class=\"mat-mdc-tab-body-wrapper\"\n [class._mat-animation-noopable]=\"_animationMode === 'NoopAnimations'\"\n #tabBodyWrapper>\n @for (tab of _tabs; track tab; let i = $index) {\n <mat-tab-body role=\"tabpanel\"\n [id]=\"_getTabContentId(i)\"\n [attr.tabindex]=\"(contentTabIndex != null && selectedIndex === i) ? contentTabIndex : null\"\n [attr.aria-labelledby]=\"_getTabLabelId(i)\"\n [attr.aria-hidden]=\"selectedIndex !== i\"\n [class.mat-mdc-tab-body-active]=\"selectedIndex === i\"\n [ngClass]=\"tab.bodyClass\"\n [content]=\"tab.content!\"\n [position]=\"tab.position!\"\n [origin]=\"tab.origin\"\n [animationDuration]=\"animationDuration\"\n [preserveContent]=\"preserveContent\"\n (_onCentered)=\"_removeTabBodyWrapperHeight()\"\n (_onCentering)=\"_setTabBodyWrapperHeight($event)\">\n </mat-tab-body>\n }\n</div>\n", styles: [".mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;font-family:var(--mat-tab-header-label-text-font);font-size:var(--mat-tab-header-label-text-size);letter-spacing:var(--mat-tab-header-label-text-tracking);line-height:var(--mat-tab-header-label-text-line-height);font-weight:var(--mat-tab-header-label-text-weight)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-top-width:var(--mdc-tab-indicator-active-indicator-height)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-radius:var(--mdc-tab-indicator-active-indicator-shape)}.mat-mdc-tab:not(.mdc-tab--stacked){height:var(--mdc-secondary-navigation-tab-container-height)}.mat-mdc-tab:not(:disabled).mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color)}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color)}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab .mdc-tab__ripple::before{content:\"\";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color);display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i6.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: MatTabBody, selector: "mat-tab-body", inputs: ["content", "origin", "animationDuration", "preserveContent", "position"], outputs: ["_onCentering", "_beforeCentering", "_afterLeavingCenter", "_onCentered"] }, { kind: "directive", type: MatTabLabelWrapper, selector: "[matTabLabelWrapper]", inputs: ["fitInkBarToContent", "disabled"] }, { kind: "component", type: MatTabHeader, selector: "mat-tab-header", inputs: ["selectedIndex", "disableRipple"], outputs: ["selectFocusedIndex", "indexFocused"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1523
1493
|
}
|
|
1524
1494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabGroup, decorators: [{
|
|
1525
1495
|
type: Component,
|
|
1526
|
-
args: [{ selector: 'mat-tab-group', exportAs: 'matTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default,
|
|
1496
|
+
args: [{ selector: 'mat-tab-group', exportAs: 'matTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, providers: [
|
|
1527
1497
|
{
|
|
1528
1498
|
provide: MAT_TAB_GROUP,
|
|
1529
1499
|
useExisting: MatTabGroup,
|
|
@@ -1531,6 +1501,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1531
1501
|
], host: {
|
|
1532
1502
|
'ngSkipHydration': '',
|
|
1533
1503
|
'class': 'mat-mdc-tab-group',
|
|
1504
|
+
'[class]': '"mat-" + (color || "primary")',
|
|
1534
1505
|
'[class.mat-mdc-tab-group-dynamic-height]': 'dynamicHeight',
|
|
1535
1506
|
'[class.mat-mdc-tab-group-inverted-header]': 'headerPosition === "below"',
|
|
1536
1507
|
'[class.mat-mdc-tab-group-stretch-tabs]': 'stretchTabs',
|
|
@@ -1555,25 +1526,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1555
1526
|
}], _tabHeader: [{
|
|
1556
1527
|
type: ViewChild,
|
|
1557
1528
|
args: ['tabHeader']
|
|
1558
|
-
}],
|
|
1529
|
+
}], color: [{
|
|
1559
1530
|
type: Input
|
|
1531
|
+
}], fitInkBarToContent: [{
|
|
1532
|
+
type: Input,
|
|
1533
|
+
args: [{ transform: booleanAttribute }]
|
|
1560
1534
|
}], stretchTabs: [{
|
|
1561
1535
|
type: Input,
|
|
1562
|
-
args: ['mat-stretch-tabs']
|
|
1536
|
+
args: [{ alias: 'mat-stretch-tabs', transform: booleanAttribute }]
|
|
1563
1537
|
}], dynamicHeight: [{
|
|
1564
|
-
type: Input
|
|
1538
|
+
type: Input,
|
|
1539
|
+
args: [{ transform: booleanAttribute }]
|
|
1565
1540
|
}], selectedIndex: [{
|
|
1566
|
-
type: Input
|
|
1541
|
+
type: Input,
|
|
1542
|
+
args: [{ transform: numberAttribute }]
|
|
1567
1543
|
}], headerPosition: [{
|
|
1568
1544
|
type: Input
|
|
1569
1545
|
}], animationDuration: [{
|
|
1570
1546
|
type: Input
|
|
1571
1547
|
}], contentTabIndex: [{
|
|
1572
|
-
type: Input
|
|
1548
|
+
type: Input,
|
|
1549
|
+
args: [{ transform: numberAttribute }]
|
|
1573
1550
|
}], disablePagination: [{
|
|
1574
|
-
type: Input
|
|
1551
|
+
type: Input,
|
|
1552
|
+
args: [{ transform: booleanAttribute }]
|
|
1553
|
+
}], disableRipple: [{
|
|
1554
|
+
type: Input,
|
|
1555
|
+
args: [{ transform: booleanAttribute }]
|
|
1575
1556
|
}], preserveContent: [{
|
|
1576
|
-
type: Input
|
|
1557
|
+
type: Input,
|
|
1558
|
+
args: [{ transform: booleanAttribute }]
|
|
1577
1559
|
}], backgroundColor: [{
|
|
1578
1560
|
type: Input
|
|
1579
1561
|
}], selectedIndexChange: [{
|
|
@@ -1600,22 +1582,16 @@ class MatTabNav extends MatPaginatedTabHeader {
|
|
|
1600
1582
|
get fitInkBarToContent() {
|
|
1601
1583
|
return this._fitInkBarToContent.value;
|
|
1602
1584
|
}
|
|
1603
|
-
set fitInkBarToContent(
|
|
1604
|
-
this._fitInkBarToContent.next(
|
|
1585
|
+
set fitInkBarToContent(value) {
|
|
1586
|
+
this._fitInkBarToContent.next(value);
|
|
1605
1587
|
this._changeDetectorRef.markForCheck();
|
|
1606
1588
|
}
|
|
1607
|
-
/** Whether tabs should be stretched to fill the header. */
|
|
1608
|
-
get stretchTabs() {
|
|
1609
|
-
return this._stretchTabs;
|
|
1610
|
-
}
|
|
1611
|
-
set stretchTabs(v) {
|
|
1612
|
-
this._stretchTabs = coerceBooleanProperty(v);
|
|
1613
|
-
}
|
|
1614
1589
|
get animationDuration() {
|
|
1615
1590
|
return this._animationDuration;
|
|
1616
1591
|
}
|
|
1617
1592
|
set animationDuration(value) {
|
|
1618
|
-
|
|
1593
|
+
const stringValue = value + '';
|
|
1594
|
+
this._animationDuration = /^\d+$/.test(stringValue) ? value + 'ms' : stringValue;
|
|
1619
1595
|
}
|
|
1620
1596
|
/** Background color of the tab nav. */
|
|
1621
1597
|
get backgroundColor() {
|
|
@@ -1629,18 +1605,13 @@ class MatTabNav extends MatPaginatedTabHeader {
|
|
|
1629
1605
|
}
|
|
1630
1606
|
this._backgroundColor = value;
|
|
1631
1607
|
}
|
|
1632
|
-
/** Whether the ripple effect is disabled or not. */
|
|
1633
|
-
get disableRipple() {
|
|
1634
|
-
return this._disableRipple;
|
|
1635
|
-
}
|
|
1636
|
-
set disableRipple(value) {
|
|
1637
|
-
this._disableRipple = coerceBooleanProperty(value);
|
|
1638
|
-
}
|
|
1639
1608
|
constructor(elementRef, dir, ngZone, changeDetectorRef, viewportRuler, platform, animationMode, defaultConfig) {
|
|
1640
1609
|
super(elementRef, changeDetectorRef, viewportRuler, dir, ngZone, platform, animationMode);
|
|
1641
1610
|
this._fitInkBarToContent = new BehaviorSubject(false);
|
|
1642
|
-
|
|
1643
|
-
this.
|
|
1611
|
+
/** Whether tabs should be stretched to fill the header. */
|
|
1612
|
+
this.stretchTabs = true;
|
|
1613
|
+
/** Whether the ripple effect is disabled or not. */
|
|
1614
|
+
this.disableRipple = false;
|
|
1644
1615
|
/** Theme color of the nav bar. */
|
|
1645
1616
|
this.color = 'primary';
|
|
1646
1617
|
this.disablePagination =
|
|
@@ -1696,11 +1667,11 @@ class MatTabNav extends MatPaginatedTabHeader {
|
|
|
1696
1667
|
return this.tabPanel ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
|
|
1697
1668
|
}
|
|
1698
1669
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabNav, deps: [{ token: i0.ElementRef }, { token: i2.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: i3.Platform }, { token: ANIMATION_MODULE_TYPE, optional: true }, { token: MAT_TABS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1699
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: { color: "color", fitInkBarToContent: "fitInkBarToContent", stretchTabs: ["mat-stretch-tabs", "stretchTabs"], animationDuration: "animationDuration", backgroundColor: "backgroundColor", disableRipple: "disableRipple", tabPanel: "tabPanel" }, host: { properties: { "attr.role": "_getRole()", "class.mat-mdc-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-mdc-tab-header-rtl": "_getLayoutDirection() == 'rtl'", "class.mat-mdc-tab-nav-bar-stretch-tabs": "stretchTabs", "class.mat-primary": "color !== \"warn\" && color !== \"accent\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"", "class._mat-animation-noopable": "_animationMode === \"NoopAnimations\"", "style.--mat-tab-animation-duration": "animationDuration" }, classAttribute: "mat-mdc-tab-nav-bar mat-mdc-tab-header" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(() => MatTabLink), descendants: true }], viewQueries: [{ propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["matTabNavBar", "matTabNav"], usesInheritance: true, ngImport: i0, template: "<!-- TODO: this also had `mat-elevation-z4`. Figure out what we should do with it. -->\n<button class=\"mat-mdc-tab-header-pagination mat-mdc-tab-header-pagination-before\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-mdc-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-mdc-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-mdc-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div class=\"mat-mdc-tab-list\" #tabList (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-mdc-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<!-- TODO: this also had `mat-elevation-z4`. Figure out what we should do with it. -->\n<button class=\"mat-mdc-tab-header-pagination mat-mdc-tab-header-pagination-after\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-mdc-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-mdc-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-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:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color)}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-links{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-link-container .mat-mdc-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-link-container .mat-mdc-tab-links{justify-content:flex-end}.mat-mdc-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background.mat-primary>.mat-mdc-tab-link-container .mat-mdc-tab-link .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background.mat-primary>.mat-mdc-tab-link-container .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-link-container .mat-mdc-tab-link:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-link-container .mat-mdc-tab-link:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-focus-indicator::before,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-ripple-element,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mdc-tab__ripple::before,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1670
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: { fitInkBarToContent: ["fitInkBarToContent", "fitInkBarToContent", booleanAttribute], stretchTabs: ["mat-stretch-tabs", "stretchTabs", booleanAttribute], animationDuration: "animationDuration", backgroundColor: "backgroundColor", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], color: "color", tabPanel: "tabPanel" }, host: { properties: { "attr.role": "_getRole()", "class.mat-mdc-tab-header-pagination-controls-enabled": "_showPaginationControls", "class.mat-mdc-tab-header-rtl": "_getLayoutDirection() == 'rtl'", "class.mat-mdc-tab-nav-bar-stretch-tabs": "stretchTabs", "class.mat-primary": "color !== \"warn\" && color !== \"accent\"", "class.mat-accent": "color === \"accent\"", "class.mat-warn": "color === \"warn\"", "class._mat-animation-noopable": "_animationMode === \"NoopAnimations\"", "style.--mat-tab-animation-duration": "animationDuration" }, classAttribute: "mat-mdc-tab-nav-bar mat-mdc-tab-header" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(() => MatTabLink), descendants: true }], viewQueries: [{ propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_tabListInner", first: true, predicate: ["tabListInner"], descendants: true, static: true }, { propertyName: "_nextPaginator", first: true, predicate: ["nextPaginator"], descendants: true }, { propertyName: "_previousPaginator", first: true, predicate: ["previousPaginator"], descendants: true }], exportAs: ["matTabNavBar", "matTabNav"], usesInheritance: true, ngImport: i0, template: "<!-- TODO: this also had `mat-elevation-z4`. Figure out what we should do with it. -->\n<button class=\"mat-mdc-tab-header-pagination mat-mdc-tab-header-pagination-before\"\n #previousPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n tabindex=\"-1\"\n [matRippleDisabled]=\"_disableScrollBefore || disableRipple\"\n [class.mat-mdc-tab-header-pagination-disabled]=\"_disableScrollBefore\"\n [disabled]=\"_disableScrollBefore || null\"\n (click)=\"_handlePaginatorClick('before')\"\n (mousedown)=\"_handlePaginatorPress('before', $event)\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-mdc-tab-header-pagination-chevron\"></div>\n</button>\n\n<div class=\"mat-mdc-tab-link-container\" #tabListContainer (keydown)=\"_handleKeydown($event)\">\n <div class=\"mat-mdc-tab-list\" #tabList (cdkObserveContent)=\"_onContentChanges()\">\n <div class=\"mat-mdc-tab-links\" #tabListInner>\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n\n<!-- TODO: this also had `mat-elevation-z4`. Figure out what we should do with it. -->\n<button class=\"mat-mdc-tab-header-pagination mat-mdc-tab-header-pagination-after\"\n #nextPaginator\n aria-hidden=\"true\"\n type=\"button\"\n mat-ripple\n [matRippleDisabled]=\"_disableScrollAfter || disableRipple\"\n [class.mat-mdc-tab-header-pagination-disabled]=\"_disableScrollAfter\"\n [disabled]=\"_disableScrollAfter || null\"\n tabindex=\"-1\"\n (mousedown)=\"_handlePaginatorPress('after', $event)\"\n (click)=\"_handlePaginatorClick('after')\"\n (touchend)=\"_stopInterval()\">\n <div class=\"mat-mdc-tab-header-pagination-chevron\"></div>\n</button>\n", styles: [".mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-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:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color)}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-links{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-link-container .mat-mdc-tab-links{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-link-container .mat-mdc-tab-links{justify-content:flex-end}.mat-mdc-tab-link-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background.mat-primary>.mat-mdc-tab-link-container .mat-mdc-tab-link .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background.mat-primary>.mat-mdc-tab-link-container .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-link-container .mat-mdc-tab-link:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-link-container .mat-mdc-tab-link:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-focus-indicator::before,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-ripple-element,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mdc-tab__ripple::before,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-link-container .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-nav-bar.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i5.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1700
1671
|
}
|
|
1701
1672
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabNav, decorators: [{
|
|
1702
1673
|
type: Component,
|
|
1703
|
-
args: [{ selector: '[mat-tab-nav-bar]', exportAs: 'matTabNavBar, matTabNav',
|
|
1674
|
+
args: [{ selector: '[mat-tab-nav-bar]', exportAs: 'matTabNavBar, matTabNav', host: {
|
|
1704
1675
|
'[attr.role]': '_getRole()',
|
|
1705
1676
|
'class': 'mat-mdc-tab-nav-bar mat-mdc-tab-header',
|
|
1706
1677
|
'[class.mat-mdc-tab-header-pagination-controls-enabled]': '_showPaginationControls',
|
|
@@ -1725,10 +1696,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1725
1696
|
type: Inject,
|
|
1726
1697
|
args: [MAT_TABS_CONFIG]
|
|
1727
1698
|
}] }], propDecorators: { fitInkBarToContent: [{
|
|
1728
|
-
type: Input
|
|
1699
|
+
type: Input,
|
|
1700
|
+
args: [{ transform: booleanAttribute }]
|
|
1729
1701
|
}], stretchTabs: [{
|
|
1730
1702
|
type: Input,
|
|
1731
|
-
args: ['mat-stretch-tabs']
|
|
1703
|
+
args: [{ alias: 'mat-stretch-tabs', transform: booleanAttribute }]
|
|
1732
1704
|
}], animationDuration: [{
|
|
1733
1705
|
type: Input
|
|
1734
1706
|
}], _items: [{
|
|
@@ -1737,7 +1709,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1737
1709
|
}], backgroundColor: [{
|
|
1738
1710
|
type: Input
|
|
1739
1711
|
}], disableRipple: [{
|
|
1740
|
-
type: Input
|
|
1712
|
+
type: Input,
|
|
1713
|
+
args: [{ transform: booleanAttribute }]
|
|
1741
1714
|
}], color: [{
|
|
1742
1715
|
type: Input
|
|
1743
1716
|
}], tabPanel: [{
|
|
@@ -1759,8 +1732,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1759
1732
|
args: ['previousPaginator']
|
|
1760
1733
|
}] } });
|
|
1761
1734
|
// Boilerplate for applying mixins to MatTabLink.
|
|
1762
|
-
const _MatTabLinkMixinBase = mixinInkBarItem(
|
|
1763
|
-
})
|
|
1735
|
+
const _MatTabLinkMixinBase = mixinInkBarItem(class {
|
|
1736
|
+
});
|
|
1764
1737
|
/**
|
|
1765
1738
|
* Link inside a `mat-tab-nav-bar`.
|
|
1766
1739
|
*/
|
|
@@ -1770,9 +1743,8 @@ class MatTabLink extends _MatTabLinkMixinBase {
|
|
|
1770
1743
|
return this._isActive;
|
|
1771
1744
|
}
|
|
1772
1745
|
set active(value) {
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
this._isActive = newValue;
|
|
1746
|
+
if (value !== this._isActive) {
|
|
1747
|
+
this._isActive = value;
|
|
1776
1748
|
this._tabNavBar.updateActiveLink();
|
|
1777
1749
|
}
|
|
1778
1750
|
}
|
|
@@ -1795,6 +1767,11 @@ class MatTabLink extends _MatTabLinkMixinBase {
|
|
|
1795
1767
|
this._destroyed = new Subject();
|
|
1796
1768
|
/** Whether the tab link is active or not. */
|
|
1797
1769
|
this._isActive = false;
|
|
1770
|
+
/** Whether the tab link is disabled. */
|
|
1771
|
+
this.disabled = false;
|
|
1772
|
+
/** Whether ripples are disabled on the tab link. */
|
|
1773
|
+
this.disableRipple = false;
|
|
1774
|
+
this.tabIndex = 0;
|
|
1798
1775
|
/** Unique id for the tab. */
|
|
1799
1776
|
this.id = `mat-tab-link-${nextUniqueId++}`;
|
|
1800
1777
|
this.rippleConfig = globalRippleOptions || {};
|
|
@@ -1860,15 +1837,15 @@ class MatTabLink extends _MatTabLinkMixinBase {
|
|
|
1860
1837
|
return this._isActive && !this.disabled ? 0 : -1;
|
|
1861
1838
|
}
|
|
1862
1839
|
else {
|
|
1863
|
-
return this.tabIndex;
|
|
1840
|
+
return this.disabled ? -1 : this.tabIndex;
|
|
1864
1841
|
}
|
|
1865
1842
|
}
|
|
1866
1843
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabLink, deps: [{ token: MatTabNav }, { token: i0.ElementRef }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: 'tabindex', attribute: true }, { token: i6.FocusMonitor }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1867
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1844
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: { active: ["active", "active", booleanAttribute], id: "id", disabled: ["disabled", "disabled", booleanAttribute], disableRipple: ["disableRipple", "disableRipple", booleanAttribute], tabIndex: ["tabIndex", "tabIndex", (value) => (value == null ? 0 : numberAttribute(value))] }, host: { listeners: { "focus": "_handleFocus()", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-controls": "_getAriaControls()", "attr.aria-current": "_getAriaCurrent()", "attr.aria-disabled": "disabled", "attr.aria-selected": "_getAriaSelected()", "attr.id": "id", "attr.tabIndex": "_getTabIndex()", "attr.role": "_getRole()", "class.mat-mdc-tab-disabled": "disabled", "class.mdc-tab--active": "active" }, classAttribute: "mdc-tab mat-mdc-tab-link mat-mdc-focus-indicator" }, exportAs: ["matTabLink"], usesInheritance: true, ngImport: i0, template: "<span class=\"mdc-tab__ripple\"></span>\n\n<div\n class=\"mat-mdc-tab-ripple\"\n mat-ripple\n [matRippleTrigger]=\"elementRef.nativeElement\"\n [matRippleDisabled]=\"rippleDisabled\"></div>\n\n<span class=\"mdc-tab__content\">\n <span class=\"mdc-tab__text-label\">\n <ng-content></ng-content>\n </span>\n</span>\n\n", styles: [".mat-mdc-tab-link{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;font-family:var(--mat-tab-header-label-text-font);font-size:var(--mat-tab-header-label-text-size);letter-spacing:var(--mat-tab-header-label-text-tracking);line-height:var(--mat-tab-header-label-text-line-height);font-weight:var(--mat-tab-header-label-text-weight)}.mat-mdc-tab-link .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color)}.mat-mdc-tab-link .mdc-tab-indicator__content--underline{border-top-width:var(--mdc-tab-indicator-active-indicator-height)}.mat-mdc-tab-link .mdc-tab-indicator__content--underline{border-radius:var(--mdc-tab-indicator-active-indicator-shape)}.mat-mdc-tab-link:not(.mdc-tab--stacked){height:var(--mdc-secondary-navigation-tab-container-height)}.mat-mdc-tab-link:not(:disabled).mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:not(:disabled):hover.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:not(:disabled):focus.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:not(:disabled):active.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:disabled.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:not(:disabled):not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:not(:disabled):hover:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:not(:disabled):focus:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:not(:disabled):active:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link:disabled:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab-link.mdc-tab{flex-grow:0}.mat-mdc-tab-link:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color)}.mat-mdc-tab-link:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color)}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color)}.mat-mdc-tab-link.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab-link.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color)}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color)}.mat-mdc-tab-link.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color)}.mat-mdc-tab-link.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color)}.mat-mdc-tab-link.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color)}.mat-mdc-tab-link.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab-link.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab-link.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab-link.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab-link .mdc-tab__ripple::before{content:\"\";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-link .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color);display:inline-flex;align-items:center}.mat-mdc-tab-link .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab-link:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab-link.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab-link.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab-link .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header.mat-mdc-tab-nav-bar-stretch-tabs .mat-mdc-tab-link{flex-grow:1}.mat-mdc-tab-link::before{margin:5px}@media(max-width: 599px){.mat-mdc-tab-link{min-width:72px}}"], dependencies: [{ kind: "directive", type: i4.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1868
1845
|
}
|
|
1869
1846
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: MatTabLink, decorators: [{
|
|
1870
1847
|
type: Component,
|
|
1871
|
-
args: [{ selector: '[mat-tab-link], [matTabLink]', exportAs: 'matTabLink', inputs: ['
|
|
1848
|
+
args: [{ selector: '[mat-tab-link], [matTabLink]', exportAs: 'matTabLink', inputs: ['active', 'id'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
1872
1849
|
'class': 'mdc-tab mat-mdc-tab-link mat-mdc-focus-indicator',
|
|
1873
1850
|
'[attr.aria-controls]': '_getAriaControls()',
|
|
1874
1851
|
'[attr.aria-current]': '_getAriaCurrent()',
|
|
@@ -1896,7 +1873,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImpor
|
|
|
1896
1873
|
type: Inject,
|
|
1897
1874
|
args: [ANIMATION_MODULE_TYPE]
|
|
1898
1875
|
}] }], propDecorators: { active: [{
|
|
1899
|
-
type: Input
|
|
1876
|
+
type: Input,
|
|
1877
|
+
args: [{ transform: booleanAttribute }]
|
|
1878
|
+
}], disabled: [{
|
|
1879
|
+
type: Input,
|
|
1880
|
+
args: [{ transform: booleanAttribute }]
|
|
1881
|
+
}], disableRipple: [{
|
|
1882
|
+
type: Input,
|
|
1883
|
+
args: [{ transform: booleanAttribute }]
|
|
1884
|
+
}], tabIndex: [{
|
|
1885
|
+
type: Input,
|
|
1886
|
+
args: [{
|
|
1887
|
+
transform: (value) => (value == null ? 0 : numberAttribute(value)),
|
|
1888
|
+
}]
|
|
1900
1889
|
}], id: [{
|
|
1901
1890
|
type: Input
|
|
1902
1891
|
}] } });
|