@angular/material
Version:
Angular Material
1 lines • 50.1 kB
Source Map (JSON)
{"version":3,"file":"stepper.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/step-label.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/stepper-intl.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/step-header.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/step-header.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/stepper-icon.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/step-content.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/stepper.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/step.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/stepper.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/stepper-button.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/stepper/stepper-module.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.dev/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.dev/license\n */\n\nimport {Injectable} 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 * @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.dev/license\n */\n\nimport {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n ViewEncapsulation,\n TemplateRef,\n AfterViewInit,\n inject,\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 {_StructuralStylesLoader, MatRipple, ThemePalette} from '../core';\nimport {MatIcon} from '../icon';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n@Component({\n selector: 'mat-step-header',\n templateUrl: 'step-header.html',\n styleUrl: 'step-header.css',\n host: {\n 'class': 'mat-step-header',\n '[class.mat-step-header-empty-label]': '_hasEmptyLabel()',\n '[class]': '\"mat-\" + (color || \"primary\")',\n 'role': '', // ignore cdk role in favor of setting appropriately in html\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatRipple, NgTemplateOutlet, MatIcon],\n})\nexport class MatStepHeader extends CdkStepHeader implements AfterViewInit, OnDestroy {\n _intl = inject(MatStepperIntl);\n private _focusMonitor = inject(FocusMonitor);\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 /**\n * Theme color of the step header. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n const changeDetectorRef = inject(ChangeDetectorRef);\n this._intlSubscription = this._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 _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 protected _hasEmptyLabel() {\n return (\n !this._stringLabel() &&\n !this._templateLabel() &&\n !this._hasOptionalLabel() &&\n !this._hasErrorLabel()\n );\n }\n\n protected _hasOptionalLabel() {\n return this.optional && this.state !== 'error';\n }\n\n protected _hasErrorLabel() {\n return this.state === 'error';\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\">\n @if (iconOverrides && iconOverrides[state]) {\n <ng-container\n [ngTemplateOutlet]=\"iconOverrides[state]\"\n [ngTemplateOutletContext]=\"{index, active, optional}\"></ng-container>\n } @else {\n @switch (state) {\n @case ('number') {\n <span aria-hidden=\"true\">{{_getDefaultTextForState(state)}}</span>\n }\n\n @default {\n @if (state === 'done') {\n <span class=\"cdk-visually-hidden\">{{_intl.completedLabel}}</span>\n } @else if (state === 'edit') {\n <span class=\"cdk-visually-hidden\">{{_intl.editableLabel}}</span>\n }\n\n <mat-icon aria-hidden=\"true\">{{_getDefaultTextForState(state)}}</mat-icon>\n }\n }\n }\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 (_templateLabel(); as templateLabel) {\n <!-- If there is a label template, use it. -->\n <div class=\"mat-step-text-label\">\n <ng-container [ngTemplateOutlet]=\"templateLabel.template\"></ng-container>\n </div>\n } @else if (_stringLabel()) {\n <!-- If there is no label template, fall back to the text label. -->\n <div class=\"mat-step-text-label\">{{label}}</div>\n }\n\n @if (_hasOptionalLabel()) {\n <div class=\"mat-step-optional\">{{_intl.optionalLabel}}</div>\n }\n\n @if (_hasErrorLabel()) {\n <div class=\"mat-step-sub-label-error\">{{errorMessage}}</div>\n }\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.dev/license\n */\n\nimport {Directive, Input, TemplateRef, inject} 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 templateRef = inject<TemplateRef<MatStepperIconContext>>(TemplateRef);\n\n /** Name of the icon to be overridden. */\n @Input('matStepperIcon') name: StepState;\n\n constructor(...args: unknown[]);\n constructor() {}\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.dev/license\n */\n\nimport {Directive, TemplateRef, inject} 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 _template = inject<TemplateRef<any>>(TemplateRef);\n\n constructor(...args: unknown[]);\n constructor() {}\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.dev/license\n */\n\nimport {CdkStep, CdkStepper} from '@angular/cdk/stepper';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n signal,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {AbstractControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {_animationsDisabled, ErrorStateMatcher, ThemePalette} from '../core';\nimport {Platform} from '@angular/cdk/platform';\nimport {CdkPortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {Subscription} from 'rxjs';\nimport {takeUntil, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\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 imports: [CdkPortalOutlet],\n host: {\n 'hidden': '', // Hide the steps so they don't affect the layout.\n },\n})\nexport class MatStep extends CdkStep implements ErrorStateMatcher, AfterContentInit, OnDestroy {\n private _errorStateMatcher = inject(ErrorStateMatcher, {skipSelf: true});\n private _viewContainerRef = inject(ViewContainerRef);\n private _isSelected = Subscription.EMPTY;\n\n /** Content for step label given by `<ng-template matStepLabel>`. */\n // We need an initializer here to avoid a TS error.\n @ContentChild(MatStepLabel) override stepLabel: MatStepLabel = undefined!;\n\n /**\n * Theme color for the particular step. This API is supported in M2 themes\n * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\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 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: AbstractControl | 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@Component({\n selector: 'mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]',\n exportAs: 'matStepper, matVerticalStepper, matHorizontalStepper',\n templateUrl: 'stepper.html',\n styleUrl: 'stepper.css',\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 '[class.mat-stepper-header-position-bottom]': 'headerPosition === \"bottom\"',\n '[class.mat-stepper-animating]': '_isAnimating()',\n '[style.--mat-stepper-animation-duration]': '_getAnimationDuration()',\n },\n providers: [{provide: CdkStepper, useExisting: MatStepper}],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet, MatStepHeader],\n})\nexport class MatStepper extends CdkStepper implements AfterViewInit, AfterContentInit, OnDestroy {\n private _ngZone = inject(NgZone);\n private _renderer = inject(Renderer2);\n private _animationsDisabled = _animationsDisabled();\n private _cleanupTransition: (() => void) | undefined;\n protected _isAnimating = signal(false);\n\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader> = undefined!;\n\n /** Elements hosting the step animations. */\n @ViewChildren('animatedContainer') _animatedContainers: QueryList<ElementRef>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep> = undefined!;\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 /**\n * Theme color for all of the steps in stepper. This API is supported in M2\n * themes only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\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 /**\n * Position of the stepper's header.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n headerPosition: 'top' | 'bottom' = 'top';\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n /** Duration for the animation. Will be normalized to milliseconds if no units are set. */\n @Input()\n get animationDuration(): string {\n return this._animationDuration;\n }\n set animationDuration(value: string) {\n this._animationDuration = /^\\d+$/.test(value) ? value + 'ms' : value;\n }\n private _animationDuration = '';\n\n /** Whether the stepper is rendering on the server. */\n protected _isServer: boolean = !inject(Platform).isBrowser;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\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(() => this._stateChanged());\n\n // Transition events won't fire if animations are disabled so we simulate them.\n this.selectedIndexChange.pipe(takeUntil(this._destroyed)).subscribe(() => {\n const duration = this._getAnimationDuration();\n if (duration === '0ms' || duration === '0s') {\n this._onAnimationDone();\n } else {\n this._isAnimating.set(true);\n }\n });\n\n this._ngZone.runOutsideAngular(() => {\n if (!this._animationsDisabled) {\n setTimeout(() => {\n // Delay enabling the animations so we don't animate the initial state.\n this._elementRef.nativeElement.classList.add('mat-stepper-animations-enabled');\n\n // Bind this outside the zone since it fires for all transitions inside the stepper.\n this._cleanupTransition = this._renderer.listen(\n this._elementRef.nativeElement,\n 'transitionend',\n this._handleTransitionend,\n );\n }, 200);\n }\n });\n }\n\n override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n\n // Prior to #30314 the stepper had animation `done` events bound to each animated container.\n // The animations module was firing them on initialization and for each subsequent animation.\n // Since the events were bound in the template, it had the unintended side-effect of triggering\n // change detection as well. It appears that this side-effect ended up being load-bearing,\n // because it was ensuring that the content elements (e.g. `matStepLabel`) that are defined\n // in sub-components actually get picked up in a timely fashion. This subscription simulates\n // the same change detection by using `queueMicrotask` similarly to the animations module.\n if (typeof queueMicrotask === 'function') {\n let hasEmittedInitial = false;\n this._animatedContainers.changes\n .pipe(startWith(null), takeUntil(this._destroyed))\n .subscribe(() =>\n queueMicrotask(() => {\n // Simulate the initial `animationDone` event\n // that gets emitted by the animations module.\n if (!hasEmittedInitial) {\n hasEmittedInitial = true;\n this.animationDone.emit();\n }\n\n this._stateChanged();\n }),\n );\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._cleanupTransition?.();\n }\n\n _getAnimationDuration() {\n if (this._animationsDisabled) {\n return '0ms';\n }\n\n if (this.animationDuration) {\n return this.animationDuration;\n }\n\n return this.orientation === 'horizontal' ? '500ms' : '225ms';\n }\n\n private _handleTransitionend = (event: TransitionEvent) => {\n const target = event.target as HTMLElement | null;\n\n if (!target) {\n return;\n }\n\n // Because we bind a single `transitionend` handler on the host node and because transition\n // events bubble, we have to filter down to only the active step so don't emit events too\n // often. We check the orientation and `property` name first to reduce the amount of times\n // we need to check the DOM.\n const isHorizontalActiveElement =\n this.orientation === 'horizontal' &&\n event.propertyName === 'transform' &&\n target.classList.contains('mat-horizontal-stepper-content-current');\n const isVerticalActiveElement =\n this.orientation === 'vertical' &&\n event.propertyName === 'grid-template-rows' &&\n target.classList.contains('mat-vertical-content-container-active');\n\n // Finally we need to ensure that the animated element is a direct descendant,\n // rather than one coming from a nested stepper.\n const shouldEmit =\n (isHorizontalActiveElement || isVerticalActiveElement) &&\n this._animatedContainers.find(ref => ref.nativeElement === target);\n\n if (shouldEmit) {\n this._onAnimationDone();\n }\n };\n\n private _onAnimationDone() {\n this._isAnimating.set(false);\n this.animationDone.emit();\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n</ng-template>\n","<!--\n We need to project the content somewhere to avoid hydration errors. Some observations:\n 1. This is only necessary on the server.\n 2. We get a hydration error if there aren't any nodes after the `ng-content`.\n 3. We get a hydration error if `ng-content` is wrapped in another element.\n-->\n@if (_isServer) {\n <ng-content/>\n}\n\n@switch (orientation) {\n @case ('horizontal') {\n <div class=\"mat-horizontal-stepper-wrapper\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #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() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\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.dev/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})\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})\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.dev/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {NgModule} from '@angular/core';\nimport {ErrorStateMatcher, MatRippleModule} from '../core';\nimport {MatIconModule} from '../icon';\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatStep, MatStepper} from './stepper';\nimport {MatStepperNext, MatStepperPrevious} from './stepper-button';\nimport {MatStepperIcon} from './stepper-icon';\nimport {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\n PortalModule,\n CdkStepperModule,\n MatIconModule,\n MatRippleModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n exports: [\n BidiModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [ErrorStateMatcher],\n})\nexport class MatStepperModule {}\n"],"names":["MatStepLabel","CdkStepLabel","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","usesInheritance","ngImport","decorators","args","MatStepperIntl","changes","Subject","optionalLabel","completedLabel","editableLabel","Injectable","ɵprov","ɵɵngDeclareInjectable","minVersion","version","type","providedIn","MatStepHeader","CdkStepHeader","_intl","inject","_focusMonitor","FocusMonitor","_intlSubscription","state","label","errorMessage","iconOverrides","index","selected","active","optional","disableRipple","color","constructor","styleLoader","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","_VisuallyHiddenLoader","changeDetectorRef","ChangeDetectorRef","subscribe","markForCheck","ngAfterViewInit","monitor","_elementRef","ngOnDestroy","unsubscribe","stopMonitoring","focus","origin","options","focusVia","nativeElement","_stringLabel","_templateLabel","_getHostElement","_getDefaultTextForState","_hasEmptyLabel","_hasOptionalLabel","_hasErrorLabel","Component","ɵcmp","ɵɵngDeclareComponent","styles","dependencies","kind","MatRipple","inputs","exportAs","NgTemplateOutlet","MatIcon","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","host","imports","template","Input","MatStepperIcon","templateRef","TemplateRef","name","MatStepContent","_template","MatStep","CdkStep","_errorStateMatcher","ErrorStateMatcher","skipSelf","_viewContainerRef","ViewContainerRef","_isSelected","Subscription","EMPTY","stepLabel","undefined","_lazyContent","_portal","ngAfterContentInit","_stepper","steps","pipe","switchMap","selectionChange","map","event","selectedStep","startWith","isSelected","TemplatePortal","isErrorState","control","form","originalErrorState","customErrorState","invalid","interacted","attributes","providers","provide","useExisting","queries","propertyName","first","predicate","descendants","CdkPortalOutlet","outputs","ContentChild","static","MatStepper","CdkStepper","_ngZone","NgZone","_renderer","Renderer2","_animationsDisabled","_cleanupTransition","_isAnimating","signal","_stepHeader","_animatedContainers","_steps","QueryList","_icons","animationDone","EventEmitter","labelPosition","headerPosition","_iconOverrides","animationDuration","_animationDuration","value","test","_isServer","Platform","isBrowser","elementRef","ElementRef","nodeName","toLowerCase","orientation","forEach","takeUntil","_destroyed","_stateChanged","selectedIndexChange","duration","_getAnimationDuration","_onAnimationDone","set","runOutsideAngular","setTimeout","classList","add","listen","_handleTransitionend","queueMicrotask","hasEmittedInitial","emit","isHorizontalActiveElement","contains","isVerticalActiveElement","shouldEmit","find","ref","properties","viewQueries","ViewChildren","ContentChildren","Output","MatStepperNext","CdkStepperNext","classAttribute","MatStepperPrevious","CdkStepperPrevious","MatStepperModule","NgModule","ɵmod","ɵɵngDeclareNgModule","PortalModule","CdkStepperModule","MatIconModule","MatRippleModule","BidiModule","ɵinj","ɵɵngDeclareInjector","exports"],"mappings":"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