blob: 3fa6ec5954bbf2e2b57d82d5a745a6cdd23a7df8 [file] [log] [blame]
{"version":3,"file":"stepper.js","sources":["../../../src/material/stepper/stepper-module.ts","../../../src/material/stepper/stepper-button.ts","../../../src/material/stepper/stepper.ts","../../../src/material/stepper/stepper-icon.ts","../../../src/material/stepper/stepper-animations.ts","../../../src/material/stepper/step-header.ts","../../../src/material/stepper/stepper-intl.ts","../../../src/material/stepper/step-label.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 {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';\n\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 MatHorizontalStepper,\n MatVerticalStepper,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n ],\n declarations: [\n MatHorizontalStepper,\n MatVerticalStepper,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\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\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 '[type]': 'type',\n },\n inputs: ['type']\n})\nexport class MatStepperNext extends CdkStepperNext {\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperPrevious]',\n host: {\n '[type]': 'type',\n },\n inputs: ['type']\n})\nexport class MatStepperPrevious extends CdkStepperPrevious {\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 Optional,\n Output,\n QueryList,\n SkipSelf,\n TemplateRef,\n ViewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport {FormControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {ErrorStateMatcher} from '@angular/material/core';\nimport {Subject} from 'rxjs';\nimport {takeUntil, distinctUntilChanged} 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';\n\n@Component({\n moduleId: module.id,\n selector: 'mat-step',\n templateUrl: 'step.html',\n providers: [{provide: ErrorStateMatcher, useExisting: MatStep}],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matStep',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStep extends CdkStep implements ErrorStateMatcher {\n /** Content for step label given by `<ng-template matStepLabel>`. */\n @ContentChild(MatStepLabel, {static: false}) stepLabel: MatStepLabel;\n\n /** @breaking-change 8.0.0 remove the `?` after `stepperOptions` */\n constructor(@Inject(forwardRef(() => MatStepper)) stepper: MatStepper,\n @SkipSelf() private _errorStateMatcher: ErrorStateMatcher,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions) {\n super(stepper, stepperOptions);\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@Directive({selector: '[matStepper]', providers: [{provide: CdkStepper, useExisting: MatStepper}]})\nexport class MatStepper extends CdkStepper implements AfterContentInit {\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(MatStepHeader) _stepHeader: QueryList<MatStepHeader>;\n\n /** Steps that the stepper holds. */\n @ContentChildren(MatStep) _steps: QueryList<MatStep>;\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(MatStepperIcon) _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 /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: {[key: string]: TemplateRef<MatStepperIconContext>} = {};\n\n /** Stream of animation `done` events when the body expands/collapses. */\n _animationDone = new Subject<AnimationEvent>();\n\n 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 this._animationDone.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 ).subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n}\n\n@Component({\n moduleId: module.id,\n selector: 'mat-horizontal-stepper',\n exportAs: 'matHorizontalStepper',\n templateUrl: 'stepper-horizontal.html',\n styleUrls: ['stepper.css'],\n inputs: ['selectedIndex'],\n host: {\n 'class': 'mat-stepper-horizontal',\n '[class.mat-stepper-label-position-end]': 'labelPosition == \"end\"',\n '[class.mat-stepper-label-position-bottom]': 'labelPosition == \"bottom\"',\n 'aria-orientation': 'horizontal',\n 'role': 'tablist',\n },\n animations: [matStepperAnimations.horizontalStepTransition],\n providers: [\n {provide: MatStepper, useExisting: MatHorizontalStepper},\n {provide: CdkStepper, useExisting: MatHorizontalStepper}\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatHorizontalStepper extends MatStepper {\n /** Whether the label should display in bottom or end position. */\n @Input()\n labelPosition: 'bottom' | 'end' = 'end';\n}\n\n@Component({\n moduleId: module.id,\n selector: 'mat-vertical-stepper',\n exportAs: 'matVerticalStepper',\n templateUrl: 'stepper-vertical.html',\n styleUrls: ['stepper.css'],\n inputs: ['selectedIndex'],\n host: {\n 'class': 'mat-stepper-vertical',\n 'aria-orientation': 'vertical',\n 'role': 'tablist',\n },\n animations: [matStepperAnimations.verticalStepTransition],\n providers: [\n {provide: MatStepper, useExisting: MatVerticalStepper},\n {provide: CdkStepper, useExisting: MatVerticalStepper}\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatVerticalStepper extends MatStepper {\n constructor(\n @Optional() dir: Directionality,\n changeDetectorRef: ChangeDetectorRef,\n // @breaking-change 8.0.0 `elementRef` and `_document` parameters to become required.\n elementRef?: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) _document?: any) {\n super(dir, changeDetectorRef, elementRef, _document);\n this._orientation = 'vertical';\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 */\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('stepTransition', [\n state('previous', style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'})),\n state('current', style({transform: 'none', visibility: 'visible'})),\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('stepTransition', [\n state('previous', style({height: '0px', visibility: 'hidden'})),\n state('next', style({height: '0px', visibility: 'hidden'})),\n state('current', style({height: '*', visibility: 'visible'})),\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 {FocusMonitor} from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n ViewEncapsulation,\n TemplateRef,\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';\n\n\n@Component({\n moduleId: module.id,\n selector: 'mat-step-header',\n templateUrl: 'step-header.html',\n styleUrls: ['step-header.css'],\n host: {\n 'class': 'mat-step-header',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatStepHeader extends CdkStepHeader implements OnDestroy {\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 super(_elementRef);\n _focusMonitor.monitor(_elementRef, true);\n this._intlSubscription = _intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n }\n\n ngOnDestroy() {\n this._intlSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n focus() {\n this._focusMonitor.focusVia(this._elementRef, 'program');\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","/**\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\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\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 {Directive} from '@angular/core';\nimport {CdkStepLabel} from '@angular/cdk/stepper';\n\n@Directive({\n selector: '[matStepLabel]',\n})\nexport class MatStepLabel extends CdkStepLabel {}\n"],"names":["state"],"mappings":"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"}