UNPKG

@angular/material

Version:
1 lines 37.6 kB
{"version":3,"file":"stepper.mjs","sources":["../../../../../../src/material/stepper/step-label.ts","../../../../../../src/material/stepper/stepper-intl.ts","../../../../../../src/material/stepper/step-header.ts","../../../../../../src/material/stepper/step-header.html","../../../../../../src/material/stepper/stepper-animations.ts","../../../../../../src/material/stepper/stepper-icon.ts","../../../../../../src/material/stepper/step-content.ts","../../../../../../src/material/stepper/stepper.ts","../../../../../../src/material/stepper/step.html","../../../../../../src/material/stepper/stepper.html","../../../../../../src/material/stepper/stepper-button.ts","../../../../../../src/material/stepper/stepper-module.ts","../../../../../../src/material/stepper/public-api.ts","../../../../../../src/material/stepper/index.ts","../../../../../../src/material/stepper/stepper_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\nimport {CdkStepLabel} from '@angular/cdk/stepper';\n\n@Directive({\n selector: '[matStepLabel]',\n})\nexport class MatStepLabel extends CdkStepLabel {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Stepper data that is required for internationalization. */\n@Injectable({providedIn: 'root'})\nexport class MatStepperIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** Label that is rendered below optional steps. */\n optionalLabel: string = 'Optional';\n\n /** Label that is used to indicate step as completed to screen readers. */\n completedLabel: string = 'Completed';\n\n /** Label that is used to indicate step as editable to screen readers. */\n editableLabel: string = 'Editable';\n}\n\n/** @docs-private */\nexport function MAT_STEPPER_INTL_PROVIDER_FACTORY(parentIntl: MatStepperIntl) {\n return parentIntl || new MatStepperIntl();\n}\n\n/** @docs-private */\nexport const MAT_STEPPER_INTL_PROVIDER = {\n provide: MatStepperIntl,\n deps: [[new Optional(), new SkipSelf(), MatStepperIntl]],\n useFactory: MAT_STEPPER_INTL_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n TemplateRef,\n AfterViewInit,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {MatStepLabel} from './step-label';\nimport {MatStepperIntl} from './stepper-intl';\nimport {MatStepperIconContext} from './stepper-icon';\nimport {CdkStepHeader, StepState} from '@angular/cdk/stepper';\nimport {mixinColor, CanColor} from '@angular/material/core';\n\n// Boilerplate for applying mixins to MatStepHeader.\n/** @docs-private */\nconst _MatStepHeaderBase = mixinColor(\n class MatStepHeaderBase extends CdkStepHeader {\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n },\n 'primary',\n);\n\n@Component({\n selector: 'mat-step-header',\n templateUrl: 'step-header.html',\n styleUrls: ['step-header.css'],\n inputs: ['color'],\n host: {\n 'class': 'mat-step-header',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStepHeader\n extends _MatStepHeaderBase\n implements AfterViewInit, OnDestroy, CanColor\n{\n private _intlSubscription: Subscription;\n\n /** State of the given step. */\n @Input() state: StepState;\n\n /** Label of the given step. */\n @Input() label: MatStepLabel | string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Overrides for the header icons, passed in via the stepper. */\n @Input() iconOverrides: {[key: string]: TemplateRef<MatStepperIconContext>};\n\n /** Index of the given step. */\n @Input() index: number;\n\n /** Whether the given step is selected. */\n @Input() selected: boolean;\n\n /** Whether the given step label is active. */\n @Input() active: boolean;\n\n /** Whether the given step is optional. */\n @Input() optional: boolean;\n\n /** Whether the ripple should be disabled. */\n @Input() disableRipple: boolean;\n\n constructor(\n public _intl: MatStepperIntl,\n private _focusMonitor: FocusMonitor,\n _elementRef: ElementRef<HTMLElement>,\n changeDetectorRef: ChangeDetectorRef,\n ) {\n super(_elementRef);\n this._intlSubscription = _intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._intlSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n override focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n /** Returns string label of given step if it is a text label. */\n _stringLabel(): string | null {\n return this.label instanceof MatStepLabel ? null : this.label;\n }\n\n /** Returns MatStepLabel if the label of given step is a template label. */\n _templateLabel(): MatStepLabel | null {\n return this.label instanceof MatStepLabel ? this.label : null;\n }\n\n /** Returns the host HTML element. */\n _getHostElement() {\n return this._elementRef.nativeElement;\n }\n\n /** Template context variables that are exposed to the `matStepperIcon` instances. */\n _getIconContext(): MatStepperIconContext {\n return {\n index: this.index,\n active: this.active,\n optional: this.optional,\n };\n }\n\n _getDefaultTextForState(state: StepState): string {\n if (state == 'number') {\n return `${this.index + 1}`;\n }\n if (state == 'edit') {\n return 'create';\n }\n if (state == 'error') {\n return 'warning';\n }\n return state;\n }\n}\n","<div class=\"mat-step-header-ripple mat-focus-indicator\" matRipple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disableRipple\"></div>\n\n<div class=\"mat-step-icon-state-{{state}} mat-step-icon\" [class.mat-step-icon-selected]=\"selected\">\n <div class=\"mat-step-icon-content\" [ngSwitch]=\"!!(iconOverrides && iconOverrides[state])\">\n <ng-container\n *ngSwitchCase=\"true\"\n [ngTemplateOutlet]=\"iconOverrides[state]\"\n [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container>\n <ng-container *ngSwitchDefault [ngSwitch]=\"state\">\n <span aria-hidden=\"true\" *ngSwitchCase=\"'number'\">{{_getDefaultTextForState(state)}}</span>\n <span class=\"cdk-visually-hidden\" *ngIf=\"state === 'done'\">{{_intl.completedLabel}}</span>\n <span class=\"cdk-visually-hidden\" *ngIf=\"state === 'edit'\">{{_intl.editableLabel}}</span>\n <mat-icon aria-hidden=\"true\" *ngSwitchDefault>{{_getDefaultTextForState(state)}}</mat-icon>\n </ng-container>\n </div>\n</div>\n<div class=\"mat-step-label\"\n [class.mat-step-label-active]=\"active\"\n [class.mat-step-label-selected]=\"selected\"\n [class.mat-step-label-error]=\"state == 'error'\">\n <!-- If there is a label template, use it. -->\n <div class=\"mat-step-text-label\" *ngIf=\"_templateLabel()\">\n <ng-container [ngTemplateOutlet]=\"_templateLabel()!.template\"></ng-container>\n </div>\n <!-- If there is no label template, fall back to the text label. -->\n <div class=\"mat-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n\n <div class=\"mat-step-optional\" *ngIf=\"optional && state != 'error'\">{{_intl.optionalLabel}}</div>\n <div class=\"mat-step-sub-label-error\" *ngIf=\"state == 'error'\">{{errorMessage}}</div>\n</div>\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the Material steppers.\n * @docs-private\n */\nexport const matStepperAnimations: {\n readonly horizontalStepTransition: AnimationTriggerMetadata;\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions the step along the X axis in a horizontal stepper. */\n horizontalStepTransition: trigger('horizontalStepTransition', [\n state('previous', style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({transform: 'none', visibility: 'inherit'})),\n state('next', style({transform: 'translate3d(100%, 0, 0)', visibility: 'hidden'})),\n transition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)')),\n ]),\n\n /** Animation that transitions the step along the Y axis in a vertical stepper. */\n verticalStepTransition: trigger('verticalStepTransition', [\n state('previous', style({height: '0px', visibility: 'hidden'})),\n state('next', style({height: '0px', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({height: '*', visibility: 'inherit'})),\n transition('* <=> current', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input, TemplateRef} from '@angular/core';\nimport {StepState} from '@angular/cdk/stepper';\n\n/** Template context available to an attached `matStepperIcon`. */\nexport interface MatStepperIconContext {\n /** Index of the step. */\n index: number;\n /** Whether the step is currently active. */\n active: boolean;\n /** Whether the step is optional. */\n optional: boolean;\n}\n\n/**\n * Template to be used to override the icons inside the step header.\n */\n@Directive({\n selector: 'ng-template[matStepperIcon]',\n})\nexport class MatStepperIcon {\n /** Name of the icon to be overridden. */\n @Input('matStepperIcon') name: StepState;\n\n constructor(public templateRef: TemplateRef<MatStepperIconContext>) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n/**\n * Content for a `mat-step` that will be rendered lazily.\n */\n@Directive({\n selector: 'ng-template[matStepContent]',\n})\nexport class MatStepContent {\n constructor(public _template: TemplateRef<any>) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {\n CdkStep,\n CdkStepper,\n StepContentPositionState,\n STEPPER_GLOBAL_OPTIONS,\n StepperOptions,\n} from '@angular/cdk/stepper';\nimport {AnimationEvent} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SkipSelf,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {FormControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {ErrorStateMatcher, ThemePalette} from '@angular/material/core';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {Subject, Subscription} from 'rxjs';\nimport {takeUntil, distinctUntilChanged, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {matStepperAnimations} from './stepper-animations';\nimport {MatStepperIcon, MatStepperIconContext} from './stepper-icon';\nimport {MatStepContent} from './step-content';\n\n@Component({\n selector: 'mat-step',\n templateUrl: 'step.html',\n providers: [\n {provide: ErrorStateMatcher, useExisting: MatStep},\n {provide: CdkStep, useExisting: MatStep},\n ],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matStep',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStep extends CdkStep implements ErrorStateMatcher, AfterContentInit, OnDestroy {\n private _isSelected = Subscription.EMPTY;\n\n /** Content for step label given by `<ng-template matStepLabel>`. */\n @ContentChild(MatStepLabel) override stepLabel: MatStepLabel;\n\n /** Theme color for the particular step. */\n @Input() color: ThemePalette;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatStepContent, {static: false}) _lazyContent: MatStepContent;\n\n /** Currently-attached portal containing the lazy content. */\n _portal: TemplatePortal;\n\n constructor(\n @Inject(forwardRef(() => MatStepper)) stepper: MatStepper,\n @SkipSelf() private _errorStateMatcher: ErrorStateMatcher,\n private _viewContainerRef: ViewContainerRef,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions,\n ) {\n super(stepper, stepperOptions);\n }\n\n ngAfterContentInit() {\n this._isSelected = this._stepper.steps.changes\n .pipe(\n switchMap(() => {\n return this._stepper.selectionChange.pipe(\n map(event => event.selectedStep === this),\n startWith(this._stepper.selected === this),\n );\n }),\n )\n .subscribe(isSelected => {\n if (isSelected && this._lazyContent && !this._portal) {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef!);\n }\n });\n }\n\n ngOnDestroy() {\n this._isSelected.unsubscribe();\n }\n\n /** Custom error state matcher that additionally checks for validity of interacted form. */\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const originalErrorState = this._errorStateMatcher.isErrorState(control, form);\n\n // Custom error state checks for the validity of form that is not submitted or touched\n // since user can trigger a form change by calling for another step without directly\n // interacting with the current form.\n const customErrorState = !!(control && control.invalid && this.interacted);\n\n return originalErrorState || customErrorState;\n }\n}\n\n/**\n * Proxies the public APIs from `MatStepper` to the deprecated `MatHorizontalStepper` and\n * `MatVerticalStepper`.\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n * @docs-private\n */\n@Directive()\nabstract class _MatProxyStepperBase extends CdkStepper {\n override readonly steps: QueryList<MatStep>;\n readonly animationDone: EventEmitter<void>;\n disableRipple: boolean;\n color: ThemePalette;\n labelPosition: 'bottom' | 'end';\n}\n\n/**\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n */\n@Directive({selector: 'mat-horizontal-stepper'})\nexport class MatHorizontalStepper extends _MatProxyStepperBase {}\n\n/**\n * @deprecated Use `MatStepper` instead.\n * @breaking-change 13.0.0\n */\n@Directive({selector: 'mat-vertical-stepper'})\nexport class MatVerticalStepper extends _MatProxyStepperBase {}\n\n@Component({\n selector: 'mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]',\n exportAs: 'matStepper, matVerticalStepper, matHorizontalStepper',\n templateUrl: 'stepper.html',\n styleUrls: ['stepper.css'],\n inputs: ['selectedIndex'],\n host: {\n '[class.mat-stepper-horizontal]': 'orientation === \"horizontal\"',\n '[class.mat-stepper-vertical]': 'orientation === \"vertical\"',\n '[class.mat-stepper-label-position-end]':\n 'orientation === \"horizontal\" && labelPosition == \"end\"',\n '[class.mat-stepper-label-position-bottom]':\n 'orientation === \"horizontal\" && labelPosition == \"bottom\"',\n '[attr.aria-orientation]': 'orientation',\n 'role': 'tablist',\n },\n animations: [\n matStepperAnimations.horizontalStepTransition,\n matStepperAnimations.verticalStepTransition,\n ],\n providers: [\n {provide: CdkStepper, useExisting: MatStepper},\n {provide: MatHorizontalStepper, useExisting: MatStepper},\n {provide: MatVerticalStepper, useExisting: MatStepper},\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStepper extends CdkStepper implements AfterContentInit {\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n override readonly steps: QueryList<MatStep> = new QueryList<MatStep>();\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(MatStepperIcon, {descendants: true}) _icons: QueryList<MatStepperIcon>;\n\n /** Event emitted when the current step is done transitioning in. */\n @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n /** Whether ripples should be disabled for the step headers. */\n @Input() disableRipple: boolean;\n\n /** Theme color for all of the steps in stepper. */\n @Input() color: ThemePalette;\n\n /**\n * Whether the label should display in bottom or end position.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n labelPosition: 'bottom' | 'end' = 'end';\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n /** Stream of animation `done` events when the body expands/collapses. */\n readonly _animationDone = new Subject<AnimationEvent>();\n\n constructor(\n @Optional() dir: Directionality,\n changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) _document: any,\n ) {\n super(dir, changeDetectorRef, elementRef, _document);\n const nodeName = elementRef.nativeElement.nodeName.toLowerCase();\n this.orientation = nodeName === 'mat-vertical-stepper' ? 'vertical' : 'horizontal';\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n this._icons.forEach(({name, templateRef}) => (this._iconOverrides[name] = templateRef));\n\n // Mark the component for change detection whenever the content children query changes\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._stateChanged();\n });\n\n this._animationDone\n .pipe(\n // This needs a `distinctUntilChanged` in order to avoid emitting the same event twice due\n // to a bug in animations where the `.done` callback gets invoked twice on some browsers.\n // See https://github.com/angular/angular/issues/24084\n distinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n takeUntil(this._destroyed),\n )\n .subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n\n _stepIsNavigable(index: number, step: MatStep): boolean {\n return step.completed || this.selectedIndex === index || !this.linear;\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n</ng-template>\n","<ng-container [ngSwitch]=\"orientation\">\n <!-- Horizontal stepper -->\n <ng-container *ngSwitchCase=\"'horizontal'\">\n <div class=\"mat-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let step of steps; let i = index; let isLast = last\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div *ngIf=\"!isLast\" class=\"mat-stepper-horizontal-line\"></div>\n </ng-container>\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n <div *ngFor=\"let step of steps; let i = index\"\n class=\"mat-horizontal-stepper-content\" role=\"tabpanel\"\n [@horizontalStepTransition]=\"_getAnimationDirection(i)\"\n (@horizontalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Vertical stepper -->\n <ng-container *ngSwitchCase=\"'vertical'\">\n <div class=\"mat-step\" *ngFor=\"let step of steps; let i = index; let isLast = last\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div class=\"mat-vertical-content-container\" [class.mat-stepper-vertical-line]=\"!isLast\">\n <div class=\"mat-vertical-stepper-content\" role=\"tabpanel\"\n [@verticalStepTransition]=\"_getAnimationDirection(i)\"\n (@verticalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [attr.aria-expanded]=\"selectedIndex === i\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n\n</ng-container>\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"steps.length\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n [index]=\"i\"\n [state]=\"_getIndicatorType(i, step.state)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"_stepIsNavigable(i, step)\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n [color]=\"step.color || color\"></mat-step-header>\n</ng-template>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CdkStepperNext, CdkStepperPrevious} from '@angular/cdk/stepper';\nimport {Directive} from '@angular/core';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperNext]',\n host: {\n 'class': 'mat-stepper-next',\n '[type]': 'type',\n },\n inputs: ['type'],\n})\nexport class MatStepperNext extends CdkStepperNext {}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperPrevious]',\n host: {\n 'class': 'mat-stepper-previous',\n '[type]': 'type',\n },\n inputs: ['type'],\n})\nexport class MatStepperPrevious extends CdkStepperPrevious {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material/button';\nimport {ErrorStateMatcher, MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatHorizontalStepper, MatStep, MatStepper, MatVerticalStepper} from './stepper';\nimport {MatStepperNext, MatStepperPrevious} from './stepper-button';\nimport {MatStepperIcon} from './stepper-icon';\nimport {MAT_STEPPER_INTL_PROVIDER} from './stepper-intl';\nimport {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\n MatCommonModule,\n CommonModule,\n PortalModule,\n MatButtonModule,\n CdkStepperModule,\n MatIconModule,\n MatRippleModule,\n ],\n exports: [\n MatCommonModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n declarations: [\n MatHorizontalStepper,\n MatVerticalStepper,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [MAT_STEPPER_INTL_PROVIDER, ErrorStateMatcher],\n})\nexport class MatStepperModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {StepperOrientation, StepState} from '@angular/cdk/stepper';\nexport * from './stepper-module';\nexport * from './step-label';\nexport * from './stepper';\nexport * from './stepper-button';\nexport * from './step-header';\nexport * from './stepper-intl';\nexport * from './stepper-animations';\nexport * from './stepper-icon';\nexport * from './step-content';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}