{"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 {Service} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Stepper data that is required for internationalization. */\n@Service()\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  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  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 = false;\n\n  /** Whether the given step label is active. */\n  @Input() active: boolean = false;\n\n  /** Whether the given step is optional. */\n  @Input() optional: boolean = false;\n\n  /** Whether the ripple should be disabled. */\n  @Input() disableRipple: boolean = false;\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() {\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","/**\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<C = unknown> {\n  _template = inject<TemplateRef<C>>(TemplateRef);\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  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  inject,\n  Input,\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';\nimport type {Field} from '@angular/forms/signals';\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  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  isSignalErrorState(field: Field<unknown> | null): boolean {\n    const originalErrorState = this._errorStateMatcher.isSignalErrorState?.(field) ?? false;\n    const customErrorState = !!(field && field().invalid() && this.interacted);\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  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 = false;\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  /**\n   * ARIA label for the stepper.\n   */\n  @Input('aria-label')\n  ariaLabel: string | null = null;\n\n  /** The content prefix to use in the stepper header. */\n  readonly headerPrefix = input<TemplateRef<unknown> | null>(null);\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    if (/^[0-9]+(?:\\.[0-9]+)?$/.test(value)) {\n      this._animationDuration = value + 'ms';\n    } else if (/^[0-9]+(?:\\.[0-9]+)?(?:ms|s)$/.test(value)) {\n      this._animationDuration = value;\n    } else {\n      this._animationDuration = '';\n    }\n  }\n  private _animationDuration = '';\n\n  /** Whether the stepper is rendering on the server. */\n  protected _isServer: boolean = !inject(Platform).isBrowser;\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      @if (headerPrefix()) {\n        <div class=\"mat-horizontal-stepper-header-wrapper\">\n          <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n          <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n            [ngTemplateOutletContext]=\"{steps}\"/>\n        </div>\n      } @else {\n        <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n          [ngTemplateOutletContext]=\"{steps}\"/>\n      }\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      @if (headerPrefix()) {\n        <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n      }\n\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            [attr.aria-label]=\"ariaLabel\">\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<ng-template #horizontalStepsTemplate let-steps=\"steps\">\n  <div\n    aria-orientation=\"horizontal\"\n    class=\"mat-horizontal-stepper-header-container\"\n    role=\"tablist\"\n    [attr.aria-label]=\"ariaLabel\">\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</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":[],"mappings":"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"}