@angular/cdk 8.2.2 → 8.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/a11y/typings/index.metadata.json +1 -1
- package/bundles/cdk-a11y.umd.js +4 -1
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +1 -1
- package/bundles/cdk-a11y.umd.min.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.js +2 -1
- package/bundles/cdk-drag-drop.umd.js.map +1 -1
- package/bundles/cdk-drag-drop.umd.min.js +2 -2
- package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
- package/bundles/cdk-overlay.umd.js +4 -1
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +1 -1
- package/bundles/cdk-overlay.umd.min.js.map +1 -1
- package/bundles/cdk-stepper.umd.js +46 -40
- package/bundles/cdk-stepper.umd.js.map +1 -1
- package/bundles/cdk-stepper.umd.min.js +1 -1
- package/bundles/cdk-stepper.umd.min.js.map +1 -1
- package/bundles/cdk-testing.umd.js +2 -1
- package/bundles/cdk-testing.umd.js.map +1 -1
- package/bundles/cdk-testing.umd.min.js.map +1 -1
- package/bundles/cdk.umd.js +1 -1
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +1 -1
- package/bundles/cdk.umd.min.js.map +1 -1
- package/esm2015/a11y.js +4 -1
- package/esm2015/a11y.js.map +1 -1
- package/esm2015/cdk.js +1 -1
- package/esm2015/cdk.js.map +1 -1
- package/esm2015/drag-drop.js +2 -1
- package/esm2015/drag-drop.js.map +1 -1
- package/esm2015/overlay.js +4 -1
- package/esm2015/overlay.js.map +1 -1
- package/esm2015/stepper.js +51 -45
- package/esm2015/stepper.js.map +1 -1
- package/esm2015/testing.js +2 -1
- package/esm2015/testing.js.map +1 -1
- package/esm5/a11y.es5.js +4 -1
- package/esm5/a11y.es5.js.map +1 -1
- package/esm5/cdk.es5.js +1 -1
- package/esm5/cdk.es5.js.map +1 -1
- package/esm5/drag-drop.es5.js +2 -1
- package/esm5/drag-drop.es5.js.map +1 -1
- package/esm5/overlay.es5.js +4 -1
- package/esm5/overlay.es5.js.map +1 -1
- package/esm5/stepper.es5.js +49 -43
- package/esm5/stepper.es5.js.map +1 -1
- package/esm5/testing.es5.js +2 -1
- package/esm5/testing.es5.js.map +1 -1
- package/package.json +3 -3
- package/schematics/ng-update/test-cases/misc/global-stylesheets-test.css +1 -0
- package/schematics/tsconfig.tsbuildinfo +2894 -2894
- package/schematics/update-tool/index.js +9 -5
- package/schematics/update-tool/index.js.map +1 -1
- package/stepper/typings/index.metadata.json +1 -1
- package/stepper/typings/stepper.d.ts +3 -3
- package/typings/a11y/index.metadata.json +1 -1
- package/typings/esm5/a11y/index.metadata.json +1 -1
- package/typings/esm5/index.metadata.json +1 -1
- package/typings/esm5/stepper/index.metadata.json +1 -1
- package/typings/esm5/stepper/stepper.d.ts +3 -3
- package/typings/index.metadata.json +1 -1
- package/typings/stepper/index.metadata.json +1 -1
- package/typings/stepper/stepper.d.ts +3 -3
package/esm5/stepper.es5.js
CHANGED
|
@@ -5,35 +5,15 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { Directive,
|
|
8
|
+
import { Directive, ElementRef, TemplateRef, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, EventEmitter, forwardRef, Inject, InjectionToken, Input, Optional, Output, ViewChild, ViewEncapsulation, HostListener, NgModule } from '@angular/core';
|
|
9
9
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
10
10
|
import { Directionality, BidiModule } from '@angular/cdk/bidi';
|
|
11
11
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
12
|
-
import { END, ENTER, HOME, SPACE
|
|
12
|
+
import { END, ENTER, hasModifierKey, HOME, SPACE } from '@angular/cdk/keycodes';
|
|
13
13
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
14
|
-
import {
|
|
14
|
+
import { of, Subject } from 'rxjs';
|
|
15
15
|
import { startWith, takeUntil } from 'rxjs/operators';
|
|
16
16
|
|
|
17
|
-
/**
|
|
18
|
-
* @fileoverview added by tsickle
|
|
19
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
20
|
-
*/
|
|
21
|
-
var CdkStepLabel = /** @class */ (function () {
|
|
22
|
-
function CdkStepLabel(/** @docs-private */ template) {
|
|
23
|
-
this.template = template;
|
|
24
|
-
}
|
|
25
|
-
CdkStepLabel.decorators = [
|
|
26
|
-
{ type: Directive, args: [{
|
|
27
|
-
selector: '[cdkStepLabel]',
|
|
28
|
-
},] },
|
|
29
|
-
];
|
|
30
|
-
/** @nocollapse */
|
|
31
|
-
CdkStepLabel.ctorParameters = function () { return [
|
|
32
|
-
{ type: TemplateRef }
|
|
33
|
-
]; };
|
|
34
|
-
return CdkStepLabel;
|
|
35
|
-
}());
|
|
36
|
-
|
|
37
17
|
/**
|
|
38
18
|
* @fileoverview added by tsickle
|
|
39
19
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -69,6 +49,26 @@ var CdkStepHeader = /** @class */ (function () {
|
|
|
69
49
|
return CdkStepHeader;
|
|
70
50
|
}());
|
|
71
51
|
|
|
52
|
+
/**
|
|
53
|
+
* @fileoverview added by tsickle
|
|
54
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
55
|
+
*/
|
|
56
|
+
var CdkStepLabel = /** @class */ (function () {
|
|
57
|
+
function CdkStepLabel(/** @docs-private */ template) {
|
|
58
|
+
this.template = template;
|
|
59
|
+
}
|
|
60
|
+
CdkStepLabel.decorators = [
|
|
61
|
+
{ type: Directive, args: [{
|
|
62
|
+
selector: '[cdkStepLabel]',
|
|
63
|
+
},] },
|
|
64
|
+
];
|
|
65
|
+
/** @nocollapse */
|
|
66
|
+
CdkStepLabel.ctorParameters = function () { return [
|
|
67
|
+
{ type: TemplateRef }
|
|
68
|
+
]; };
|
|
69
|
+
return CdkStepLabel;
|
|
70
|
+
}());
|
|
71
|
+
|
|
72
72
|
/**
|
|
73
73
|
* @fileoverview added by tsickle
|
|
74
74
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
@@ -121,7 +121,7 @@ var CdkStep = /** @class */ (function () {
|
|
|
121
121
|
this.interacted = false;
|
|
122
122
|
this._editable = true;
|
|
123
123
|
this._optional = false;
|
|
124
|
-
this.
|
|
124
|
+
this._completedOverride = null;
|
|
125
125
|
this._customError = null;
|
|
126
126
|
this._stepperOptions = stepperOptions ? stepperOptions : {};
|
|
127
127
|
this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;
|
|
@@ -133,7 +133,9 @@ var CdkStep = /** @class */ (function () {
|
|
|
133
133
|
* Whether the user can return to this step once it has been marked as completed.
|
|
134
134
|
* @return {?}
|
|
135
135
|
*/
|
|
136
|
-
function () {
|
|
136
|
+
function () {
|
|
137
|
+
return this._editable;
|
|
138
|
+
},
|
|
137
139
|
set: /**
|
|
138
140
|
* @param {?} value
|
|
139
141
|
* @return {?}
|
|
@@ -150,7 +152,9 @@ var CdkStep = /** @class */ (function () {
|
|
|
150
152
|
* Whether the completion of step is optional.
|
|
151
153
|
* @return {?}
|
|
152
154
|
*/
|
|
153
|
-
function () {
|
|
155
|
+
function () {
|
|
156
|
+
return this._optional;
|
|
157
|
+
},
|
|
154
158
|
set: /**
|
|
155
159
|
* @param {?} value
|
|
156
160
|
* @return {?}
|
|
@@ -168,14 +172,14 @@ var CdkStep = /** @class */ (function () {
|
|
|
168
172
|
* @return {?}
|
|
169
173
|
*/
|
|
170
174
|
function () {
|
|
171
|
-
return this.
|
|
175
|
+
return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;
|
|
172
176
|
},
|
|
173
177
|
set: /**
|
|
174
178
|
* @param {?} value
|
|
175
179
|
* @return {?}
|
|
176
180
|
*/
|
|
177
181
|
function (value) {
|
|
178
|
-
this.
|
|
182
|
+
this._completedOverride = coerceBooleanProperty(value);
|
|
179
183
|
},
|
|
180
184
|
enumerable: true,
|
|
181
185
|
configurable: true
|
|
@@ -244,8 +248,8 @@ var CdkStep = /** @class */ (function () {
|
|
|
244
248
|
*/
|
|
245
249
|
function () {
|
|
246
250
|
this.interacted = false;
|
|
247
|
-
if (this.
|
|
248
|
-
this.
|
|
251
|
+
if (this._completedOverride != null) {
|
|
252
|
+
this._completedOverride = false;
|
|
249
253
|
}
|
|
250
254
|
if (this._customError != null) {
|
|
251
255
|
this._customError = false;
|
|
@@ -334,12 +338,16 @@ var CdkStepper = /** @class */ (function () {
|
|
|
334
338
|
* Whether the validity of previous steps should be checked or not.
|
|
335
339
|
* @return {?}
|
|
336
340
|
*/
|
|
337
|
-
function () {
|
|
341
|
+
function () {
|
|
342
|
+
return this._linear;
|
|
343
|
+
},
|
|
338
344
|
set: /**
|
|
339
345
|
* @param {?} value
|
|
340
346
|
* @return {?}
|
|
341
347
|
*/
|
|
342
|
-
function (value) {
|
|
348
|
+
function (value) {
|
|
349
|
+
this._linear = coerceBooleanProperty(value);
|
|
350
|
+
},
|
|
343
351
|
enumerable: true,
|
|
344
352
|
configurable: true
|
|
345
353
|
});
|
|
@@ -349,7 +357,9 @@ var CdkStepper = /** @class */ (function () {
|
|
|
349
357
|
* The index of the selected step.
|
|
350
358
|
* @return {?}
|
|
351
359
|
*/
|
|
352
|
-
function () {
|
|
360
|
+
function () {
|
|
361
|
+
return this._selectedIndex;
|
|
362
|
+
},
|
|
353
363
|
set: /**
|
|
354
364
|
* @param {?} index
|
|
355
365
|
* @return {?}
|
|
@@ -362,8 +372,7 @@ var CdkStepper = /** @class */ (function () {
|
|
|
362
372
|
if (newIndex < 0 || newIndex > this.steps.length - 1) {
|
|
363
373
|
throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');
|
|
364
374
|
}
|
|
365
|
-
if (this._selectedIndex != newIndex &&
|
|
366
|
-
!this._anyControlsInvalidOrPending(newIndex) &&
|
|
375
|
+
if (this._selectedIndex != newIndex && !this._anyControlsInvalidOrPending(newIndex) &&
|
|
367
376
|
(newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {
|
|
368
377
|
this._updateSelectedItemIndex(index);
|
|
369
378
|
}
|
|
@@ -409,7 +418,7 @@ var CdkStepper = /** @class */ (function () {
|
|
|
409
418
|
this._keyManager = new FocusKeyManager(this._stepHeader)
|
|
410
419
|
.withWrap()
|
|
411
420
|
.withVerticalOrientation(this._orientation === 'vertical');
|
|
412
|
-
(this._dir ? (/** @type {?} */ (this._dir.change)) : of())
|
|
421
|
+
(this._dir ? ((/** @type {?} */ (this._dir.change))) : of())
|
|
413
422
|
.pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))
|
|
414
423
|
.subscribe((/**
|
|
415
424
|
* @param {?} direction
|
|
@@ -559,9 +568,8 @@ var CdkStepper = /** @class */ (function () {
|
|
|
559
568
|
var step = this.steps.toArray()[index];
|
|
560
569
|
/** @type {?} */
|
|
561
570
|
var isCurrentStep = this._isCurrentStep(index);
|
|
562
|
-
return step._displayDefaultIndicatorType
|
|
563
|
-
|
|
564
|
-
: this._getGuidelineLogic(step, isCurrentStep, state);
|
|
571
|
+
return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :
|
|
572
|
+
this._getGuidelineLogic(step, isCurrentStep, state);
|
|
565
573
|
};
|
|
566
574
|
/**
|
|
567
575
|
* @private
|
|
@@ -726,10 +734,8 @@ var CdkStepper = /** @class */ (function () {
|
|
|
726
734
|
/** @type {?} */
|
|
727
735
|
var control = step.stepControl;
|
|
728
736
|
/** @type {?} */
|
|
729
|
-
var isIncomplete = control ?
|
|
730
|
-
|
|
731
|
-
!step.completed;
|
|
732
|
-
return isIncomplete && !step.optional;
|
|
737
|
+
var isIncomplete = control ? (control.invalid || control.pending || !step.interacted) : !step.completed;
|
|
738
|
+
return isIncomplete && !step.optional && !step._completedOverride;
|
|
733
739
|
}));
|
|
734
740
|
}
|
|
735
741
|
return false;
|
package/esm5/stepper.es5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.es5.js","sources":["../../../src/cdk/stepper/stepper-module.ts","../../../src/cdk/stepper/stepper-button.ts","../../../src/cdk/stepper/stepper.ts","../../../src/cdk/stepper/step-header.ts","../../../src/cdk/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 {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CommonModule} from '@angular/common';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {CdkStepHeader} from './step-header';\nimport {BidiModule} from '@angular/cdk/bidi';\n\n@NgModule({\n imports: [BidiModule, CommonModule],\n exports: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ]\n})\nexport class CdkStepperModule {}\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, HostListener, Input} from '@angular/core';\n\nimport {CdkStepper} from './stepper';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperNext {\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n @Input() type: string = 'submit';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.next();\n }\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperPrevious {\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n @Input() type: string = 'button';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.previous();\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 {FocusableOption, FocusKeyManager} from '@angular/cdk/a11y';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\nimport {END, ENTER, HOME, SPACE, hasModifierKey} from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n EventEmitter,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n InjectionToken,\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {CdkStepLabel} from './step-label';\nimport {Observable, Subject, of as obaservableOf} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\nimport {CdkStepHeader} from './step-header';\n\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous' | 'current' | 'next';\n\n/** Possible orientation of a stepper. */\nexport type StepperOrientation = 'horizontal' | 'vertical';\n\n/** Change event emitted on selection changes. */\nexport class StepperSelectionEvent {\n /** Index of the step now selected. */\n selectedIndex: number;\n\n /** Index of the step previously selected. */\n previouslySelectedIndex: number;\n\n /** The step instance now selected. */\n selectedStep: CdkStep;\n\n /** The step instance previously selected. */\n previouslySelectedStep: CdkStep;\n}\n\n/** The state of each step. */\nexport type StepState = 'number' | 'edit' | 'done' | 'error' | string;\n\n/** Enum to represent the different states of the steps. */\nexport const STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error'\n};\n\n/** InjectionToken that can be used to specify the global stepper options. */\nexport const STEPPER_GLOBAL_OPTIONS =\n new InjectionToken<StepperOptions>('STEPPER_GLOBAL_OPTIONS');\n\n/**\n * InjectionToken that can be used to specify the global stepper options.\n * @deprecated Use `STEPPER_GLOBAL_OPTIONS` instead.\n * @breaking-change 8.0.0.\n */\nexport const MAT_STEPPER_GLOBAL_OPTIONS = STEPPER_GLOBAL_OPTIONS;\n\n/** Configurable options for stepper. */\nexport interface StepperOptions {\n /**\n * Whether the stepper should display an error state or not.\n * Default behavior is assumed to be false.\n */\n showError?: boolean;\n\n /**\n * Whether the stepper should display the default indicator type\n * or not.\n * Default behavior is assumed to be true.\n */\n displayDefaultIndicatorType?: boolean;\n}\n\n@Component({\n moduleId: module.id,\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkStep implements OnChanges {\n private _stepperOptions: StepperOptions;\n _showError: boolean;\n _displayDefaultIndicatorType: boolean;\n\n /** Template for step label if it exists. */\n @ContentChild(CdkStepLabel, {static: false}) stepLabel: CdkStepLabel;\n\n /** Template for step content. */\n @ViewChild(TemplateRef, {static: true}) content: TemplateRef<any>;\n\n /** The top level abstract control of the step. */\n @Input() stepControl: FormControlLike;\n\n /** Whether user has seen the expanded step content or not. */\n interacted = false;\n\n /** Plain text label of the step. */\n @Input() label: string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Aria label for the tab. */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Reference to the element that the tab is labelled by.\n * Will be cleared if `aria-label` is set at the same time.\n */\n @Input('aria-labelledby') ariaLabelledby: string;\n\n /** State of the step. */\n @Input() state: StepState;\n\n /** Whether the user can return to this step once it has been marked as completed. */\n @Input()\n get editable(): boolean { return this._editable; }\n set editable(value: boolean) {\n this._editable = coerceBooleanProperty(value);\n }\n private _editable = true;\n\n /** Whether the completion of step is optional. */\n @Input()\n get optional(): boolean { return this._optional; }\n set optional(value: boolean) {\n this._optional = coerceBooleanProperty(value);\n }\n private _optional = false;\n\n /** Whether step is marked as completed. */\n @Input()\n get completed(): boolean {\n return this._customCompleted == null ? this._getDefaultCompleted() : this._customCompleted;\n }\n set completed(value: boolean) {\n this._customCompleted = coerceBooleanProperty(value);\n }\n private _customCompleted: boolean | null = null;\n\n private _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n\n /** Whether step has an error. */\n @Input()\n get hasError(): boolean {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value: boolean) {\n this._customError = coerceBooleanProperty(value);\n }\n private _customError: boolean | null = null;\n\n private _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n\n /** @breaking-change 8.0.0 remove the `?` after `stepperOptions` */\n constructor(\n @Inject(forwardRef(() => CdkStepper)) private _stepper: CdkStepper,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions) {\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n this._showError = !!this._stepperOptions.showError;\n }\n\n /** Selects this step component. */\n select(): void {\n this._stepper.selected = this;\n }\n\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset(): void {\n this.interacted = false;\n\n if (this._customCompleted != null) {\n this._customCompleted = false;\n }\n\n if (this._customError != null) {\n this._customError = false;\n }\n\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n}\n\n@Directive({\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n})\nexport class CdkStepper implements AfterViewInit, OnDestroy {\n /** Emits when the component is destroyed. */\n protected _destroyed = new Subject<void>();\n\n /** Used for managing keyboard focus. */\n private _keyManager: FocusKeyManager<FocusableOption>;\n\n /**\n * @breaking-change 8.0.0 Remove `| undefined` once the `_document`\n * constructor param is required.\n */\n private _document: Document | undefined;\n\n /**\n * The list of step components that the stepper is holding.\n * @deprecated use `steps` instead\n * @breaking-change 9.0.0 remove this property\n */\n @ContentChildren(CdkStep) _steps: QueryList<CdkStep>;\n\n /** The list of step components that the stepper is holding. */\n get steps(): QueryList<CdkStep> {\n return this._steps;\n }\n\n /**\n * The list of step headers of the steps in the stepper.\n * @deprecated Type to be changed to `QueryList<CdkStepHeader>`.\n * @breaking-change 8.0.0\n */\n @ContentChildren(CdkStepHeader) _stepHeader: QueryList<FocusableOption>;\n\n /** Whether the validity of previous steps should be checked or not. */\n @Input()\n get linear(): boolean { return this._linear; }\n set linear(value: boolean) { this._linear = coerceBooleanProperty(value); }\n private _linear = false;\n\n /** The index of the selected step. */\n @Input()\n get selectedIndex() { return this._selectedIndex; }\n set selectedIndex(index: number) {\n const newIndex = coerceNumberProperty(index);\n\n if (this.steps) {\n // Ensure that the index can't be out of bounds.\n if (newIndex < 0 || newIndex > this.steps.length - 1) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n\n if (this._selectedIndex != newIndex &&\n !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(index);\n }\n } else {\n this._selectedIndex = newIndex;\n }\n }\n private _selectedIndex = 0;\n\n /** The step that is selected. */\n @Input()\n get selected(): CdkStep {\n // @breaking-change 8.0.0 Change return type to `CdkStep | undefined`.\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined!;\n }\n set selected(step: CdkStep) {\n this.selectedIndex = this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n\n /** Event emitted when the selected step has changed. */\n @Output() selectionChange: EventEmitter<StepperSelectionEvent>\n = new EventEmitter<StepperSelectionEvent>();\n\n /** Used to track unique ID for each stepper component. */\n _groupId: number;\n\n protected _orientation: StepperOrientation = 'horizontal';\n\n constructor(\n @Optional() private _dir: Directionality,\n private _changeDetectorRef: ChangeDetectorRef,\n // @breaking-change 8.0.0 `_elementRef` and `_document` parameters to become required.\n private _elementRef?: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) _document?: any) {\n this._groupId = nextId++;\n this._document = _document;\n }\n\n ngAfterViewInit() {\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view chidren. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager<FocusableOption>(this._stepHeader)\n .withWrap()\n .withVerticalOrientation(this._orientation === 'vertical');\n\n (this._dir ? this._dir.change as Observable<Direction> : obaservableOf<Direction>())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n\n this._keyManager.updateActiveItemIndex(this._selectedIndex);\n\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Selects and focuses the next step in list. */\n next(): void {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n\n /** Selects and focuses the previous step in list. */\n previous(): void {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset(): void {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i: number): string {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n\n /** Returns unique id for each step content element. */\n _getStepContentId(i: number): string {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index: number): StepContentPositionState {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n } else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index: number, state: StepState = STEP_STATE.NUMBER): StepState {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n\n return step._displayDefaultIndicatorType\n ? this._getDefaultIndicatorLogic(step, isCurrentStep)\n : this._getGuidelineLogic(step, isCurrentStep, state);\n }\n\n private _getDefaultIndicatorLogic(step: CdkStep, isCurrentStep: boolean): StepState {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n } else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n\n private _getGuidelineLogic(\n step: CdkStep,\n isCurrentStep: boolean,\n state: StepState = STEP_STATE.NUMBER): StepState {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n } else if (step.completed && isCurrentStep) {\n return state;\n } else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n } else {\n return state;\n }\n }\n\n private _isCurrentStep(index: number) {\n return this._selectedIndex === index;\n }\n\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n\n private _updateSelectedItemIndex(newIndex: number): void {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :\n this._keyManager.updateActiveItemIndex(newIndex);\n\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n\n _onKeydown(event: KeyboardEvent) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n\n if (manager.activeItemIndex != null && !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n } else if (keyCode === HOME) {\n manager.setFirstItemActive();\n event.preventDefault();\n } else if (keyCode === END) {\n manager.setLastItemActive();\n event.preventDefault();\n } else {\n manager.onKeydown(event);\n }\n }\n\n private _anyControlsInvalidOrPending(index: number): boolean {\n const steps = this.steps.toArray();\n\n steps[this._selectedIndex].interacted = true;\n\n if (this._linear && index >= 0) {\n return steps.slice(0, index).some(step => {\n const control = step.stepControl;\n const isIncomplete = control ?\n (control.invalid || control.pending || !step.interacted) :\n !step.completed;\n return isIncomplete && !step.optional;\n });\n }\n\n return false;\n }\n\n private _layoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Checks whether the stepper contains the focused element. */\n private _containsFocus(): boolean {\n if (!this._document || !this._elementRef) {\n return false;\n }\n\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = this._document.activeElement;\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n}\n\n\n/**\n * Simplified representation of a FormControl from @angular/forms.\n * Used to avoid having to bring in @angular/forms for a single optional interface.\n * @docs-private\n */\ninterface FormControlLike {\n asyncValidator: () => any | null;\n dirty: boolean;\n disabled: boolean;\n enabled: boolean;\n errors: {[key: string]: any} | null;\n invalid: boolean;\n parent: any;\n pending: boolean;\n pristine: boolean;\n root: FormControlLike;\n status: string;\n statusChanges: Observable<any>;\n touched: boolean;\n untouched: boolean;\n updateOn: any;\n valid: boolean;\n validator: () => any | null;\n value: any;\n valueChanges: Observable<any>;\n clearAsyncValidators(): void;\n clearValidators(): void;\n disable(opts?: any): void;\n enable(opts?: any): void;\n get(path: (string | number)[] | string): FormControlLike | null;\n getError(errorCode: string, path?: (string | number)[] | string): any;\n hasError(errorCode: string, path?: (string | number)[] | string): boolean;\n markAllAsTouched(): void;\n markAsDirty(opts?: any): void;\n markAsPending(opts?: any): void;\n markAsPristine(opts?: any): void;\n markAsTouched(opts?: any): void;\n markAsUntouched(opts?: any): void;\n patchValue(value: any, options?: Object): void;\n reset(value?: any, options?: Object): void;\n setAsyncValidators(newValidator: () => any | (() => any)[] | null): void;\n setErrors(errors: {[key: string]: any} | null, opts?: any): void;\n setParent(parent: any): void;\n setValidators(newValidator: () => any | (() => any)[] | null): void;\n setValue(value: any, options?: Object): void;\n updateValueAndValidity(opts?: any): void;\n patchValue(value: any, options?: any): void;\n registerOnChange(fn: Function): void;\n registerOnDisabledChange(fn: (isDisabled: boolean) => void): void;\n reset(formState?: any, options?: any): void;\n setValue(value: any, options?: any): void;\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, ElementRef} from '@angular/core';\nimport {FocusableOption} from '@angular/cdk/a11y';\n\n\n@Directive({\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n})\nexport class CdkStepHeader implements FocusableOption {\n constructor(protected _elementRef: ElementRef<HTMLElement>) {}\n\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\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, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[cdkStepLabel]',\n})\nexport class CdkStepLabel {\n constructor(/** @docs-private */ public template: TemplateRef<any>) { }\n}\n"],"names":["obaservableOf"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepper.es5.js","sources":["../../../src/cdk/stepper/stepper-module.ts","../../../src/cdk/stepper/stepper-button.ts","../../../src/cdk/stepper/stepper.ts","../../../src/cdk/stepper/step-label.ts","../../../src/cdk/stepper/step-header.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 {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CommonModule} from '@angular/common';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {CdkStepHeader} from './step-header';\nimport {BidiModule} from '@angular/cdk/bidi';\n\n@NgModule({\n imports: [BidiModule, CommonModule],\n exports: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ]\n})\nexport class CdkStepperModule {}\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, HostListener, Input} from '@angular/core';\n\nimport {CdkStepper} from './stepper';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperNext {\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n @Input() type: string = 'submit';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.next();\n }\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n }\n})\nexport class CdkStepperPrevious {\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n @Input() type: string = 'button';\n\n constructor(public _stepper: CdkStepper) {}\n\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n @HostListener('click')\n _handleClick() {\n this._stepper.previous();\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 {FocusableOption, FocusKeyManager} from '@angular/cdk/a11y';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\nimport {END, ENTER, hasModifierKey, HOME, SPACE} from '@angular/cdk/keycodes';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {Observable, of as obaservableOf, Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\n\nimport {CdkStepHeader} from './step-header';\nimport {CdkStepLabel} from './step-label';\n\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous'|'current'|'next';\n\n/** Possible orientation of a stepper. */\nexport type StepperOrientation = 'horizontal'|'vertical';\n\n/** Change event emitted on selection changes. */\nexport class StepperSelectionEvent {\n /** Index of the step now selected. */\n selectedIndex: number;\n\n /** Index of the step previously selected. */\n previouslySelectedIndex: number;\n\n /** The step instance now selected. */\n selectedStep: CdkStep;\n\n /** The step instance previously selected. */\n previouslySelectedStep: CdkStep;\n}\n\n/** The state of each step. */\nexport type StepState = 'number'|'edit'|'done'|'error'|string;\n\n/** Enum to represent the different states of the steps. */\nexport const STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error'\n};\n\n/** InjectionToken that can be used to specify the global stepper options. */\nexport const STEPPER_GLOBAL_OPTIONS = new InjectionToken<StepperOptions>('STEPPER_GLOBAL_OPTIONS');\n\n/**\n * InjectionToken that can be used to specify the global stepper options.\n * @deprecated Use `STEPPER_GLOBAL_OPTIONS` instead.\n * @breaking-change 8.0.0.\n */\nexport const MAT_STEPPER_GLOBAL_OPTIONS = STEPPER_GLOBAL_OPTIONS;\n\n/** Configurable options for stepper. */\nexport interface StepperOptions {\n /**\n * Whether the stepper should display an error state or not.\n * Default behavior is assumed to be false.\n */\n showError?: boolean;\n\n /**\n * Whether the stepper should display the default indicator type\n * or not.\n * Default behavior is assumed to be true.\n */\n displayDefaultIndicatorType?: boolean;\n}\n\n@Component({\n moduleId: module.id,\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '<ng-template><ng-content></ng-content></ng-template>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkStep implements OnChanges {\n private _stepperOptions: StepperOptions;\n _showError: boolean;\n _displayDefaultIndicatorType: boolean;\n\n /** Template for step label if it exists. */\n @ContentChild(CdkStepLabel, {static: false}) stepLabel: CdkStepLabel;\n\n /** Template for step content. */\n @ViewChild(TemplateRef, {static: true}) content: TemplateRef<any>;\n\n /** The top level abstract control of the step. */\n @Input() stepControl: FormControlLike;\n\n /** Whether user has seen the expanded step content or not. */\n interacted = false;\n\n /** Plain text label of the step. */\n @Input() label: string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Aria label for the tab. */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Reference to the element that the tab is labelled by.\n * Will be cleared if `aria-label` is set at the same time.\n */\n @Input('aria-labelledby') ariaLabelledby: string;\n\n /** State of the step. */\n @Input() state: StepState;\n\n /** Whether the user can return to this step once it has been marked as completed. */\n @Input()\n get editable(): boolean {\n return this._editable;\n }\n set editable(value: boolean) {\n this._editable = coerceBooleanProperty(value);\n }\n private _editable = true;\n\n /** Whether the completion of step is optional. */\n @Input()\n get optional(): boolean {\n return this._optional;\n }\n set optional(value: boolean) {\n this._optional = coerceBooleanProperty(value);\n }\n private _optional = false;\n\n /** Whether step is marked as completed. */\n @Input()\n get completed(): boolean {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value: boolean) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _completedOverride: boolean|null = null;\n\n private _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n\n /** Whether step has an error. */\n @Input()\n get hasError(): boolean {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value: boolean) {\n this._customError = coerceBooleanProperty(value);\n }\n private _customError: boolean|null = null;\n\n private _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n\n /** @breaking-change 8.0.0 remove the `?` after `stepperOptions` */\n constructor(\n @Inject(forwardRef(() => CdkStepper)) private _stepper: CdkStepper,\n @Optional() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions?: StepperOptions) {\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n this._showError = !!this._stepperOptions.showError;\n }\n\n /** Selects this step component. */\n select(): void {\n this._stepper.selected = this;\n }\n\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset(): void {\n this.interacted = false;\n\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n\n if (this._customError != null) {\n this._customError = false;\n }\n\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n}\n\n@Directive({\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n})\nexport class CdkStepper implements AfterViewInit, OnDestroy {\n /** Emits when the component is destroyed. */\n protected _destroyed = new Subject<void>();\n\n /** Used for managing keyboard focus. */\n private _keyManager: FocusKeyManager<FocusableOption>;\n\n /**\n * @breaking-change 8.0.0 Remove `| undefined` once the `_document`\n * constructor param is required.\n */\n private _document: Document|undefined;\n\n /**\n * The list of step components that the stepper is holding.\n * @deprecated use `steps` instead\n * @breaking-change 9.0.0 remove this property\n */\n @ContentChildren(CdkStep) _steps: QueryList<CdkStep>;\n\n /** The list of step components that the stepper is holding. */\n get steps(): QueryList<CdkStep> {\n return this._steps;\n }\n\n /**\n * The list of step headers of the steps in the stepper.\n * @deprecated Type to be changed to `QueryList<CdkStepHeader>`.\n * @breaking-change 8.0.0\n */\n @ContentChildren(CdkStepHeader) _stepHeader: QueryList<FocusableOption>;\n\n /** Whether the validity of previous steps should be checked or not. */\n @Input()\n get linear(): boolean {\n return this._linear;\n }\n set linear(value: boolean) {\n this._linear = coerceBooleanProperty(value);\n }\n private _linear = false;\n\n /** The index of the selected step. */\n @Input()\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index: number) {\n const newIndex = coerceNumberProperty(index);\n\n if (this.steps) {\n // Ensure that the index can't be out of bounds.\n if (newIndex < 0 || newIndex > this.steps.length - 1) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n\n if (this._selectedIndex != newIndex && !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(index);\n }\n } else {\n this._selectedIndex = newIndex;\n }\n }\n private _selectedIndex = 0;\n\n /** The step that is selected. */\n @Input()\n get selected(): CdkStep {\n // @breaking-change 8.0.0 Change return type to `CdkStep | undefined`.\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined!;\n }\n set selected(step: CdkStep) {\n this.selectedIndex = this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n\n /** Event emitted when the selected step has changed. */\n @Output()\n selectionChange: EventEmitter<StepperSelectionEvent> = new EventEmitter<StepperSelectionEvent>();\n\n /** Used to track unique ID for each stepper component. */\n _groupId: number;\n\n protected _orientation: StepperOrientation = 'horizontal';\n\n constructor(\n @Optional() private _dir: Directionality, private _changeDetectorRef: ChangeDetectorRef,\n // @breaking-change 8.0.0 `_elementRef` and `_document` parameters to become required.\n private _elementRef?: ElementRef<HTMLElement>, @Inject(DOCUMENT) _document?: any) {\n this._groupId = nextId++;\n this._document = _document;\n }\n\n ngAfterViewInit() {\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view chidren. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager<FocusableOption>(this._stepHeader)\n .withWrap()\n .withVerticalOrientation(this._orientation === 'vertical');\n\n (this._dir ? (this._dir.change as Observable<Direction>) : obaservableOf<Direction>())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n\n this._keyManager.updateActiveItemIndex(this._selectedIndex);\n\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Selects and focuses the next step in list. */\n next(): void {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n\n /** Selects and focuses the previous step in list. */\n previous(): void {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset(): void {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i: number): string {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n\n /** Returns unique id for each step content element. */\n _getStepContentId(i: number): string {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index: number): StepContentPositionState {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n } else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index: number, state: StepState = STEP_STATE.NUMBER): StepState {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n\n return step._displayDefaultIndicatorType ? this._getDefaultIndicatorLogic(step, isCurrentStep) :\n this._getGuidelineLogic(step, isCurrentStep, state);\n }\n\n private _getDefaultIndicatorLogic(step: CdkStep, isCurrentStep: boolean): StepState {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n } else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n\n private _getGuidelineLogic(\n step: CdkStep, isCurrentStep: boolean, state: StepState = STEP_STATE.NUMBER): StepState {\n if (step._showError && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n } else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n } else if (step.completed && isCurrentStep) {\n return state;\n } else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n } else {\n return state;\n }\n }\n\n private _isCurrentStep(index: number) {\n return this._selectedIndex === index;\n }\n\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n\n private _updateSelectedItemIndex(newIndex: number): void {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus() ? this._keyManager.setActiveItem(newIndex) :\n this._keyManager.updateActiveItemIndex(newIndex);\n\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n\n _onKeydown(event: KeyboardEvent) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n\n if (manager.activeItemIndex != null && !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n } else if (keyCode === HOME) {\n manager.setFirstItemActive();\n event.preventDefault();\n } else if (keyCode === END) {\n manager.setLastItemActive();\n event.preventDefault();\n } else {\n manager.onKeydown(event);\n }\n }\n\n private _anyControlsInvalidOrPending(index: number): boolean {\n const steps = this.steps.toArray();\n\n steps[this._selectedIndex].interacted = true;\n\n if (this._linear && index >= 0) {\n return steps.slice(0, index).some(step => {\n const control = step.stepControl;\n const isIncomplete =\n control ? (control.invalid || control.pending || !step.interacted) : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n\n return false;\n }\n\n private _layoutDirection(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Checks whether the stepper contains the focused element. */\n private _containsFocus(): boolean {\n if (!this._document || !this._elementRef) {\n return false;\n }\n\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = this._document.activeElement;\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n}\n\n\n/**\n * Simplified representation of a FormControl from @angular/forms.\n * Used to avoid having to bring in @angular/forms for a single optional interface.\n * @docs-private\n */\ninterface FormControlLike {\n asyncValidator: () => any | null;\n dirty: boolean;\n disabled: boolean;\n enabled: boolean;\n errors: {[key: string]: any} | null;\n invalid: boolean;\n parent: any;\n pending: boolean;\n pristine: boolean;\n root: FormControlLike;\n status: string;\n statusChanges: Observable<any>;\n touched: boolean;\n untouched: boolean;\n updateOn: any;\n valid: boolean;\n validator: () => any | null;\n value: any;\n valueChanges: Observable<any>;\n clearAsyncValidators(): void;\n clearValidators(): void;\n disable(opts?: any): void;\n enable(opts?: any): void;\n get(path: (string | number)[] | string): FormControlLike | null;\n getError(errorCode: string, path?: (string | number)[] | string): any;\n hasError(errorCode: string, path?: (string | number)[] | string): boolean;\n markAllAsTouched(): void;\n markAsDirty(opts?: any): void;\n markAsPending(opts?: any): void;\n markAsPristine(opts?: any): void;\n markAsTouched(opts?: any): void;\n markAsUntouched(opts?: any): void;\n patchValue(value: any, options?: Object): void;\n reset(value?: any, options?: Object): void;\n setAsyncValidators(newValidator: () => any | (() => any)[] | null): void;\n setErrors(errors: {[key: string]: any} | null, opts?: any): void;\n setParent(parent: any): void;\n setValidators(newValidator: () => any | (() => any)[] | null): void;\n setValue(value: any, options?: Object): void;\n updateValueAndValidity(opts?: any): void;\n patchValue(value: any, options?: any): void;\n registerOnChange(fn: Function): void;\n registerOnDisabledChange(fn: (isDisabled: boolean) => void): void;\n reset(formState?: any, options?: any): void;\n setValue(value: any, options?: any): void;\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@Directive({\n selector: '[cdkStepLabel]',\n})\nexport class CdkStepLabel {\n constructor(/** @docs-private */ 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 {Directive, ElementRef} from '@angular/core';\nimport {FocusableOption} from '@angular/cdk/a11y';\n\n\n@Directive({\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n})\nexport class CdkStepHeader implements FocusableOption {\n constructor(protected _elementRef: ElementRef<HTMLElement>) {}\n\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n"],"names":["obaservableOf"],"mappings":";;;;;;;;;;;;;;;;;;;;AIYA,IAAA,aAAA,kBAAA,YAAA;IAOE,SAAF,aAAA,CAAwB,WAAoC,EAA5D;QAAwB,IAAxB,CAAA,WAAmC,GAAX,WAAW,CAAyB;KAAI;;;;;;IAG9D,aAAF,CAAA,SAAA,CAAA,KAAO;;;;IAAL,YAAF;QACI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACxC,CAAH;;QAZA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,IAAI,EAAE;wBACJ,MAAM,EAAE,KAAK;qBACd;iBACF,EAAD,EAAA;;;;QATA,EAAA,IAAA,EAAmB,UAAU,EAA7B;;IAiBA,OAAA,aAAC,CAAD;CAAC,EAAD,CAAA;;;;;;ADfA,IAAA,YAAA,kBAAA,YAAA;IAIE,SAAF,YAAA,sBAA0C,QAA0B,EAApE;QAA0C,IAA1C,CAAA,QAAkD,GAAR,QAAQ,CAAkB;KAAK;;QAJzE,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B,EAAD,EAAA;;;;QAJA,EAAA,IAAA,EAAmB,WAAW,EAA9B;;IAOA,OAAA,YAAC,CAAD;CAAC,EAAD,CAAA;;;;;;;;;;AD4BA,IAAI,MAAM,GAAG,CAAC,CAAd;;;;AAYA,AAAA,IAAA;;;;IAAA,SAAA,qBAAA,GAAA;KAYC;IAAD,OAAA,qBAAC,CAAD;CAAC,EAAD,CAAA,CAAC;;;;;AAMD,AAAA,IAAa,UAAU,GAAG;IACxB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACf,CAAD;;;;;AAGA,AAAA,IAAa,sBAAsB,GAAG,IAAI,cAAc,CAAiB,wBAAwB,CAAC,CAAlG;;;;;;;AAOA,AAAA,IAAa,0BAA0B,GAAG,sBAAsB,CAAhE;AAkBA,IAAA,OAAA,kBAAA,YAAA;;IA4FE,SAAF,OAAA,CACoD,QAAoB,EACtB,cAA+B,EAFjF;QACoD,IAApD,CAAA,QAA4D,GAAR,QAAQ,CAAY;;;;QAtEtE,IAAF,CAAA,UAAY,GAAG,KAAK,CAAC;QA4BX,IAAV,CAAA,SAAmB,GAAG,IAAI,CAAC;QAUjB,IAAV,CAAA,SAAmB,GAAG,KAAK,CAAC;QAU1B,IAAF,CAAA,kBAAoB,GAAiB,IAAI,CAAC;QAchC,IAAV,CAAA,YAAsB,GAAiB,IAAI,CAAC;QAUxC,IAAI,CAAC,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,EAAE,CAAC;QAC5D,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,eAAe,CAAC,2BAA2B,KAAK,KAAK,CAAC;QAC/F,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;KACpD;IAtDD,MAAF,CAAA,cAAA,CACM,OADN,CAAA,SAAA,EAAA,UACc,EADd;;;;;;QAAE,YAAF;YAEI,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;;;;;QACD,UAAa,KAAc,EAA7B;YACI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;SAC/C;;;KAHH,CAAA,CAAG;IAOD,MAAF,CAAA,cAAA,CACM,OADN,CAAA,SAAA,EAAA,UACc,EADd;;;;;;QAAE,YAAF;YAEI,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;;;;;QACD,UAAa,KAAc,EAA7B;YACI,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;SAC/C;;;KAHH,CAAA,CAAG;IAOD,MAAF,CAAA,cAAA,CACM,OADN,CAAA,SAAA,EAAA,WACe,EADf;;;;;;QAAE,YAAF;YAEI,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAChG;;;;;QACD,UAAc,KAAc,EAA9B;YACI,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;SACxD;;;KAHH,CAAA,CAAG;;;;;IAMO,OAAV,CAAA,SAAA,CAAA,oBAA8B;;;;IAA5B,YAAF;QACI,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;KACvF,CAAH;IAGE,MAAF,CAAA,cAAA,CACM,OADN,CAAA,SAAA,EAAA,UACc,EADd;;;;;;QAAE,YAAF;YAEI,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;SAChF;;;;;QACD,UAAa,KAAc,EAA7B;YACI,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;SAClD;;;KAHH,CAAA,CAAG;;;;;IAMO,OAAV,CAAA,SAAA,CAAA,gBAA0B;;;;IAAxB,YAAF;QACI,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;KACxE,CAAH;;;;;;IAYE,OAAF,CAAA,SAAA,CAAA,MAAQ;;;;IAAN,YAAF;QACI,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;KAC/B,CAAH;;;;;;IAGE,OAAF,CAAA,SAAA,CAAA,KAAO;;;;IAAL,YAAF;QACI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SAC1B;KACF,CAAH;;;;IAEE,OAAF,CAAA,SAAA,CAAA,WAAa;;;IAAX,YAAF;;;QAGI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;KAC/B,CAAH;;QA9HA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW,CAAX,QAAA,EAAA,UAAA;oBACE,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,sDAAZ;oBACE,aAAF,EAAA,iBAAA,CAAA,IAAA;oBACE,eAAF,EAAA,uBAAA,CAAA,MAAA;iBACA,EAAA,EAAA;KACA,CAAA;;;;;;;;KAuFA,CAAA,EAAA,CAAA;IACA,OAAA,CAAA,cAAA,GAAA;;;QAhFA,WAAA,EAAA,CAAA,EAAA,IAAG,EAAH,KAAA,EAAA,CAAA;QAGA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;QAGA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;QAMA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA;QAGA,cAAA,EAAA,CAAA,EAAA,IAAG,EAAH,KAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA;QAGA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;QAMA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;QAGA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;QAGA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA;QAUA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,CAAA;KAUA,CAAA;IAcA,OAAA,OAAA,CAAA;;AAiDA,AAlCA,IAAM,UAAN,kBAAA,YAAA;;QAoCA,IAAA,CAAA,IAAA,GAAA,IAAA,CAAA;QAyFA,IAAA,CAAA,kBAAA,GAAA,kBAAA,CAAA;QAC0B,IAA1B,CAAA,WAA8B,GAA9B,WAAA,CAAA;;;;;;QApFY,IAAZ,CAAA,cAAA,GAA6B,CAA7B,CAAA;;;;;;QA4EE,IAAF,CAAA,QAAA,GAAA,MAAA,EAAA,CAAA;QAKY,IAAZ,CAAA,SAAA,GAAwB,SAAxB,CAAA;KAMA;IACA,MAAA,CAAA,cAAqB,CAArB,UAAA,CAAA,SAAA,EAAA,OAAA,EAAA;;QArEA,GAAA;;;;;;SAAA;QACA,UAAA,EAAA,IAAgB;QACd,YAAF,EAAA,IAAA;;;;QAUA,GAAA;;;;;;SAAA;QAEA,GAAA;;;;;;SAEA;QACA,UAAA,EAAA,IAAgB;QACd,YAAF,EAAA,IAAA;;;;QAIA,GAAA;;;;;;SAAA;QAEA,GAAA;;;;;;YAEA,IAAA,QAAA,GAAA,oBAAA,CAAA,KAAA,CAAA,CAAA;;;gBAGQ,IAAI,QAAQ,GAApB,CAAA,IAAA,QAAA,GAAA,IAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,EAAA;oBACA,MAAA,KAAA,CAAA,mEAAA,CAAA,CAAA;iBACA;gBACA,IAAQ,IAAR,CAAA,cAAA,IAAA,QAAA,IAAA,CAAA,IAAA,CAAA,4BAAA,CAAA,QAAA,CAAuF;qBACvF,QAAA,IAAA,IAAA,CAAA,cAAA,IAAA,IAAA,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA,QAAA,CAAA,CAAA,QAAA,CAAA,EAAA;oBAEU,IAAI,CAAC,wBAAf,CAAA,KAA6C,CAAC,CAA9C;iBACA;aACA;iBACO;gBACP,IAAA,CAAA,cAAA,GAAA,QAAA,CAAA;aAAA;SACA;QACA,UAAA,EAAA,IAAA;QACE,YAAF,EAAA,IAAA;;;;QAIA,GAAA;;;;;;YAAA,OAAA,IAAA,CAAA,KAAA,GAAA,IAAA,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,aAAA,CAAA,sBAAA,SAAA,EAAA,CAAA;SAEA;QACA,GAAA;;;;;;SAEA;QACA,UAAA,EAAA,IAAA;QACE,YAAF,EAAA,IAAA;;;;;;;;;;;;;QAqBI,IAAJ,CAAA,WAAA,GAAA,IAAA,eAAA,CAAA,IAAA,CAAA,WAAA,CAAA;aACA,QAAA,EAAA;aACS,uBAAT,CAAA,IAAA,CAAA,YAAA,KAAA,UAAA,CAAA,CAAA;QACA,CAAA,IAA4B,CAA5B,IAAA,uBAAA,IAAA,CAAA,IAAA,CAAA,MAAA,MAAAA,EAAA,EAAA;aAC4B,IAA5B,CAAA,SAAA,CAAA,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAqE,SAArE,CAAA,IAAA,CAAoF,UAApF,CAAA,CAAA;aAES,SAAS;;;;;;QAEC,IAAnB,CAAA,KAAmB,CAAnB,OAAA,CAA4B,IAAI,CAAhC,SAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA,CAAA,SAAA;;;;;gBAIA,KAAA,CAAA,cAAA,GAAA,IAAA,CAAA,GAAA,CAAA,KAAA,CAAA,cAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA;aACA;SACA,EAAA,CAAA;KACA,CAAA;;;;;;;;;QAIA,IAAA,CAAA,UAAA,CAAA,QAAA,EAAA,CAAA;KACA,CAAA;;;;;;;;;;;;KAKA,CAAA;;;;;;;;;;;;KAKA,CAAA;;;;;;;;;;;;QAKA,IAAA,CAAA,KAAA,CAAA,OAAA;;;;;;KAEA,CAAA;;;;;;;;;;;;;;KAKA,CAAA;;;;;;;;;;;;;;KAKA,CAAA;;;;;;;;;;;;KAKA,CAAA;;;;;;;;;;;;;;QAKA,IAAA,QAAA,GAAA,KAAA,GAAA,IAAA,CAAA,cAAA,CAAA;;YACU,OAAV,IAAqB,CAArB,gBAAA,EAAA,KAAA,KAAA,GAAA,MAAA,GAAA,UAAA,CAAA;SACA;aACA,IAAA,QAAA,GAAA,CAAA,EAAA;YACA,OAAA,IAAA,CAAA,gBAAA,EAAA,KAAA,KAAA,GAAA,UAAA,GAAA,MAAA,CAAA;SAAA;QACA,OAAA,SAAkB,CAAlB;KACA,CAAA;;;;;;;;;;;;;;;;;QAKmC,IAAnC,IAAA,GAAA,IAAA,CAAA,KAAA,CAAmC,OAAnC,EAAA,CAAsD,KAAtD,CAAA,CAAA;;QACA,IAAU,aAAV,GAAA,IAAA,CAAA,cAAA,CAAA,KAAA,CAAA,CAAA;;YACU,IAAV,CAAA,kBAAA,CAAA,IAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;KAEA,CAAA;;;;;;;;;;;;;;;YAIA,OAAA,UAAA,CAAA,KAAA,CAAA;SACA;aACA,IAAA,CAAA,IAAA,CAAA,SAAA,IAA8B,aAA9B,EAAA;YACA,OAAA,UAAA,CAAA,MAAA,CAAA;SAAA;aACA;YACA,OAAA,IAAA,CAAA,QAAA,GAAA,UAAA,CAAA,IAAA,GAAA,UAAA,CAAA,IAAA,CAAA;SAAA;KACA,CAAA;;;;;;;;;;;;;;;;;QAIA,IAAA,IAAA,CAAA,UAAA,IAAA,IAC6C,CAD7C,QAAA,IAAA,CAAA,aAAA,EAAA;YACA,OAAA,UAAA,CAA6C,KAA7C,CAAA;SACA;aACA,IAAA,IAAA,CAAA,SAAA,IAA6B,CAAC,aAA9B,EAAA;YACA,OAAA,UAAA,CAAA,IAAA,CAAA;SAAA;aACA,IAAA,IAAA,CAAA,SAAA,IAA6B,aAA7B,EAAA;YACA,OAAA,KAAA,CAAA;SAAA;aACA,IAAA,IAAA,CAAA,QAAA,IAAA,aAAA,EAAA;YACA,OAAA,UAAA,CAAA,IAAA,CAAA;SAAA;aACA;YACA,OAAA,KAAA,CAAA;SAAA;KACA,CAAA;;;;;;;;;;;;;KAIA,CAAA;;;;;;;;;;;;KAKA,CAAA;;;;;;;;;;;;;QAIA,IAAA,UAAmD,GAAnD,IAAA,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA;;YACU,aAAa,EAAvB,QAAiC;YACzB,uBAAR,EAAA,IAAA,CAAA,cAAA;YACM,YAAN,EAAA,UAAA,CAAA,QAAA,CAAA;YACM,sBAAN,EAAA,UAAA,CAAA,IAAA,CAAA,cAAA,CAAA;SACA,CAAA,CAAA;;;;;QAMI,IAAJ,CAAA,cAAA,EAAA,GAAA,IAAA,CAAA,WAAA,CAAA,aAAA,CAAA,QAAA,CAAA;YACA,IAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,CAAA;QACI,IAAI,CAAC,cAAc,GAAG,QAA1B,CAAA;QACA,IAA4B,CAA5B,aAAA,EAA4C,CAAC;KAE7C,CAAA;;;;;;;;;;;QAIA,IAAA,WAAA,GAAA,cAAA,CAAA,KAAA,CAAA,CAAA;;QACA,IAAU,OAAV,GAAA,KAAA,CAAA,OAAA,CAAA;;QACA,IAAU,OAAO,GAAG,IAApB,CAAyB,WAAzB,CAAA;;aACA,OAAA,KAAA,KAAA,IAAA,OAAA,KAAA,KAAA,CAAA,EAAA;YAEQ,IAAR,CAAA,aAAA,GAAA,OAAA,CAAA,eAAA,CAAA;YACQ,KAAR,CAAA,cAAA,EAA8B,CAA9B;SACA;aACA,IAAW,OAAX,KAAA,IAAA,EAA6B;YAC7B,OAAA,CAAA,kBAAA,EAAA,CAAA;YAAA,KAAe,CAAf,cAAA,EAAA,CAAiC;SACjC;aACA,IAAW,OAAX,KAAA,GAA0B,EAAE;YAC5B,OAAA,CAAA,iBAAA,EAAA,CAAA;YAAA,KAAe,CAAf,cAA8B,EAAE,CAAhC;SACA;aACA;YACA,OAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA;SAAA;KACA,CAAA;;;;;;;;;;;;;QAIA,IAAA,KAAA,GAAA,IAAA,CAAA,KAAA,CAAA,OAAA,EAAA,CAAA;;QACA,IAAU,IAAV,CAAe,OAAO,IAAtB,KAAA,IAAA,CAAoC,EAAE;YAEtC,OAAe,KAAf,CAAA,KAAA,CAAA,CAAA,EAA8B,KAA9B,CAAA,CAAA,IAAyC;;;;;;gBAGzC,IAAA,OAAA,GAAA,IAAA,CAAA,WAAA,CAAA;;gBACA,IAAc,YAAd,GAA6B,OAA7B,IAAwC,OAAxC,CAAA,OAAA,IAAA,OAAA,CAAA,OAAA,IAAA,CAAA,IAAA,CAAA,UAAA,IAAA,CAAA,IAAA,CAAA,SAAA,CAAA;;aACA,EAAA,CAAA;SAEA;QACA,OAAQ,KAAR,CAAA;KACA,CAAA;;;;;;;;;;;KAKA,CAAA;;;;;;;;;;;;;;YAKA,OAAA,KAAA,CAAA;SACA;;QAEA,IAAA,cAAA,GAAA,IAAA,CAAA,WAAA,CAAA,aAAA,CAAA;;QAEA,IAAU,cAAc,GAAG,IAAI,CAAC,SAAhC,CAAA,aAAA,CAAA;;KACA,CAAA;IACA,UAAA,CAAW,UAAX,GAAA;QACA,EAAA,IAAA,EAAA,SAAA,EAAA,IAAA,EAAA,CAAA;;oBAvRA,QAAA,EAAA,YAAA;iBACA,EAAA,EAAA;KACA,CAAA;;;;;QApOA,EAAA,IAAA,EAAmB,UAAnB,EAAA;QAOA,EAAA,IAAA,EAAE,SAAF,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,EAAA,EAAA,CAAA,EAAA;KAKA,CAAA,EAAA,CAAA;IAkTA,UAAA,CAAA,cAAA,GAAA;;;QAtEA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAH,EAAA,CAAA;QAYA,aAAA,EAAA,CAAA,EAAA,IAAG,EAAH,KAAA,EAAA,CAAA;QAGA,QAAA,EAAA,CAAA,EAAA,IAAG,EAAH,KAAA,EAAA,CAAA;QAUA,eAAA,EAAA,CAAA,EAAA,IAAG,EAAH,MAAA,EAAA,CAAA;KAwBA,CAAA;IAUA,OAAA,UAAA,CAAA;;;;;;;;;;AD/SA,AAAA,IAAA,cAAA,kBAAA,YAAA;IAUE,SAAF,cAAA,CAAqB,QAAoB,EAAzC;QAAqB,IAArB,CAAA,QAA6B,GAAR,QAAQ,CAAY;;;;QAF9B,IAAX,CAAA,IAAe,GAAW,QAAQ,CAAC;KAEU;;;;;;;;;;;;;;IAQ3C,cAAF,CAAA,SAAA,CAAA,YAAc;;;;;;;;;IADZ,YAAF;QAEI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB,CAAH;;QApBA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM;qBACjB;iBACF,EAAD,EAAA;;;;QARA,EAAA,IAAA,EAAQ,UAAU,EAAlB;;;QAWA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,CAAA;QASA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAG,YAAY,EAAf,IAAA,EAAA,CAAgB,OAAO,EAAvB,EAAA,CAAA;;IAIA,OAAA,cAAC,CAAD;CAAC,EAAD,CAAA,CAAC;AAfD;;;AAkBA,AAAA,IAAA,kBAAA,kBAAA,YAAA;IAUE,SAAF,kBAAA,CAAqB,QAAoB,EAAzC;QAAqB,IAArB,CAAA,QAA6B,GAAR,QAAQ,CAAY;;;;QAF9B,IAAX,CAAA,IAAe,GAAW,QAAQ,CAAC;KAEU;;;;;;;;;;;;;;IAQ3C,kBAAF,CAAA,SAAA,CAAA,YAAc;;;;;;;;;IADZ,YAAF;QAEI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B,CAAH;;QApBA,EAAA,IAAA,EAAC,SAAS,EAAV,IAAA,EAAA,CAAW;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM;qBACjB;iBACF,EAAD,EAAA;;;;QAhCA,EAAA,IAAA,EAAQ,UAAU,EAAlB;;;QAmCA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAG,KAAK,EAAR,CAAA;QASA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAG,YAAY,EAAf,IAAA,EAAA,CAAgB,OAAO,EAAvB,EAAA,CAAA;;IAIA,OAAA,kBAAC,CAAD;CAAC,EAAD,CAAA;;;;;;AD1CA,IAAA,gBAAA,kBAAA,YAAA;IAAA,SAAA,gBAAA,GAAA;KAmBgC;;QAnBhC,EAAA,IAAA,EAAC,QAAQ,EAAT,IAAA,EAAA,CAAU;oBACR,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;oBACnC,OAAO,EAAE;wBACP,OAAO;wBACP,UAAU;wBACV,aAAa;wBACb,YAAY;wBACZ,cAAc;wBACd,kBAAkB;qBACnB;oBACD,YAAY,EAAE;wBACZ,OAAO;wBACP,UAAU;wBACV,aAAa;wBACb,YAAY;wBACZ,cAAc;wBACd,kBAAkB;qBACnB;iBACF,EAAD,EAAA;;IAC+B,OAA/B,gBAAgC,CAAhC;CAAgC,EAAhC,CAAA;;;;;;;;;;;;;;"}
|
package/esm5/testing.es5.js
CHANGED
|
@@ -63,7 +63,8 @@ function createTouchEvent(type, pageX, pageY) {
|
|
|
63
63
|
var event = document.createEvent('UIEvent');
|
|
64
64
|
/** @type {?} */
|
|
65
65
|
var touchDetails = { pageX: pageX, pageY: pageY };
|
|
66
|
-
|
|
66
|
+
// TS3.6 removes the initUIEvent method and suggests porting to "new UIEvent()".
|
|
67
|
+
((/** @type {?} */ (event))).initUIEvent(type, true, true, window, 0);
|
|
67
68
|
// Most of the browsers don't have a "initTouchEvent" method that can be used to define
|
|
68
69
|
// the touch details.
|
|
69
70
|
Object.defineProperties(event, {
|
package/esm5/testing.es5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.es5.js","sources":["../../../src/cdk/testing/type-in-element.ts","../../../src/cdk/testing/element-focus.ts","../../../src/cdk/testing/dispatch-events.ts","../../../src/cdk/testing/event-objects.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 {dispatchFakeEvent, dispatchKeyboardEvent} from './dispatch-events';\nimport {triggerFocus} from './element-focus';\nimport {ModifierKeys} from './event-objects';\n\n/**\n * Checks whether the given Element is a text input element.\n * @docs-private\n */\nexport function isTextInput(element: Element): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName.toLowerCase() === 'input' ||\n element.nodeName.toLowerCase() === 'textarea' ;\n}\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(\n element: HTMLElement, ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param modifiers Modifier keys that are held while typing.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(element: HTMLElement, modifiers: ModifierKeys,\n ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\nexport function typeInElement(element: HTMLElement, ...modifiersAndKeys: any) {\n const first = modifiersAndKeys[0];\n let modifiers: ModifierKeys;\n let rest: (string | {keyCode?: number, key?: string})[];\n if (typeof first !== 'string' && first.keyCode === undefined && first.key === undefined) {\n modifiers = first;\n rest = modifiersAndKeys.slice(1);\n } else {\n modifiers = {};\n rest = modifiersAndKeys;\n }\n const keys: {keyCode?: number, key?: string}[] = rest\n .map(k => typeof k === 'string' ?\n k.split('').map(c => ({keyCode: c.toUpperCase().charCodeAt(0), key: c})) : [k])\n .reduce((arr, k) => arr.concat(k), []);\n\n triggerFocus(element);\n for (const key of keys) {\n dispatchKeyboardEvent(element, 'keydown', key.keyCode, key.key, element, modifiers);\n dispatchKeyboardEvent(element, 'keypress', key.keyCode, key.key, element, modifiers);\n if (isTextInput(element) && key.key && key.key.length === 1) {\n element.value += key.key;\n dispatchFakeEvent(element, 'input');\n }\n dispatchKeyboardEvent(element, 'keyup', key.keyCode, key.key, element, modifiers);\n }\n}\n\n/**\n * Clears the text in an input or textarea element.\n * @docs-private\n */\nexport function clearElement(element: HTMLInputElement | HTMLTextAreaElement) {\n triggerFocus(element as HTMLElement);\n element.value = '';\n dispatchFakeEvent(element, 'input');\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 {dispatchFakeEvent} from './dispatch-events';\n\nfunction triggerFocusChange(element: HTMLElement, event: 'focus' | 'blur') {\n let eventFired = false;\n const handler = () => eventFired = true;\n element.addEventListener(event, handler);\n element[event]();\n element.removeEventListener(event, handler);\n if (!eventFired) {\n dispatchFakeEvent(element, event);\n }\n}\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n * @docs-private\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n\n/** @docs-private */\nexport function triggerFocus(element: HTMLElement) {\n triggerFocusChange(element, 'focus');\n}\n\n/** @docs-private */\nexport function triggerBlur(element: HTMLElement) {\n triggerFocusChange(element, 'blur');\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 {\n createFakeEvent,\n createKeyboardEvent,\n createMouseEvent,\n createTouchEvent,\n ModifierKeys\n} from './event-objects';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent(node: Node | Window, event: Event): Event {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string,\n target?: Element, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node,\n createKeyboardEvent(type, keyCode, key, target, modifiers)) as KeyboardEvent;\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(node: Node, type: string, x = 0, y = 0,\n event = createMouseEvent(type, x, y)): MouseEvent {\n return dispatchEvent(node, event) as MouseEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\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\n/** Modifier keys that may be held while typing. */\nexport interface ModifierKeys {\n control?: boolean;\n alt?: boolean;\n shift?: boolean;\n meta?: boolean;\n}\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(type: string, x = 0, y = 0, button = 0) {\n const event = document.createEvent('MouseEvent');\n const originalPreventDefault = event.preventDefault;\n\n event.initMouseEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* detail */\n x, /* screenX */\n y, /* screenY */\n x, /* clientX */\n y, /* clientY */\n false, /* ctrlKey */\n false, /* altKey */\n false, /* shiftKey */\n false, /* metaKey */\n button, /* button */\n null /* relatedTarget */);\n\n // `initMouseEvent` doesn't allow us to pass the `buttons` and\n // defaults it to 0 which looks like a fake event.\n Object.defineProperty(event, 'buttons', {get: () => 1});\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = {pageX, pageY};\n\n event.initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n Object.defineProperties(event, {\n touches: {value: [touchDetails]},\n targetTouches: {value: [touchDetails]},\n changedTouches: {value: [touchDetails]}\n });\n\n return event;\n}\n\n/**\n * Dispatches a keydown event from an element.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '',\n target?: Element, modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent') as any;\n const originalPreventDefault = event.preventDefault;\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n if (event.initKeyEvent) {\n event.initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift,\n modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n const modifiersStr = (modifiers.control ? 'Control ' : '' + modifiers.alt ? 'Alt ' : '' +\n modifiers.shift ? 'Shift ' : '' + modifiers.meta ? 'Meta' : '').trim();\n event.initKeyboardEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* char */\n key, /* key */\n 0, /* location */\n modifiersStr, /* modifiersList */\n false /* repeat */);\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n Object.defineProperties(event, {\n keyCode: { get: () => keyCode },\n key: { get: () => key },\n target: { get: () => target },\n ctrlKey: { get: () => !!modifiers.control },\n altKey: { get: () => !!modifiers.alt },\n shiftKey: { get: () => !!modifiers.shift },\n metaKey: { get: () => !!modifiers.meta }\n });\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.es5.js","sources":["../../../src/cdk/testing/type-in-element.ts","../../../src/cdk/testing/element-focus.ts","../../../src/cdk/testing/dispatch-events.ts","../../../src/cdk/testing/event-objects.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 {dispatchFakeEvent, dispatchKeyboardEvent} from './dispatch-events';\nimport {triggerFocus} from './element-focus';\nimport {ModifierKeys} from './event-objects';\n\n/**\n * Checks whether the given Element is a text input element.\n * @docs-private\n */\nexport function isTextInput(element: Element): element is HTMLInputElement | HTMLTextAreaElement {\n return element.nodeName.toLowerCase() === 'input' ||\n element.nodeName.toLowerCase() === 'textarea' ;\n}\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(\n element: HTMLElement, ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\n/**\n * Focuses an input, sets its value and dispatches\n * the `input` event, simulating the user typing.\n * @param element Element onto which to set the value.\n * @param modifiers Modifier keys that are held while typing.\n * @param keys The keys to send to the element.\n * @docs-private\n */\nexport function typeInElement(element: HTMLElement, modifiers: ModifierKeys,\n ...keys: (string | {keyCode?: number, key?: string})[]): void;\n\nexport function typeInElement(element: HTMLElement, ...modifiersAndKeys: any) {\n const first = modifiersAndKeys[0];\n let modifiers: ModifierKeys;\n let rest: (string | {keyCode?: number, key?: string})[];\n if (typeof first !== 'string' && first.keyCode === undefined && first.key === undefined) {\n modifiers = first;\n rest = modifiersAndKeys.slice(1);\n } else {\n modifiers = {};\n rest = modifiersAndKeys;\n }\n const keys: {keyCode?: number, key?: string}[] = rest\n .map(k => typeof k === 'string' ?\n k.split('').map(c => ({keyCode: c.toUpperCase().charCodeAt(0), key: c})) : [k])\n .reduce((arr, k) => arr.concat(k), []);\n\n triggerFocus(element);\n for (const key of keys) {\n dispatchKeyboardEvent(element, 'keydown', key.keyCode, key.key, element, modifiers);\n dispatchKeyboardEvent(element, 'keypress', key.keyCode, key.key, element, modifiers);\n if (isTextInput(element) && key.key && key.key.length === 1) {\n element.value += key.key;\n dispatchFakeEvent(element, 'input');\n }\n dispatchKeyboardEvent(element, 'keyup', key.keyCode, key.key, element, modifiers);\n }\n}\n\n/**\n * Clears the text in an input or textarea element.\n * @docs-private\n */\nexport function clearElement(element: HTMLInputElement | HTMLTextAreaElement) {\n triggerFocus(element as HTMLElement);\n element.value = '';\n dispatchFakeEvent(element, 'input');\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 {dispatchFakeEvent} from './dispatch-events';\n\nfunction triggerFocusChange(element: HTMLElement, event: 'focus' | 'blur') {\n let eventFired = false;\n const handler = () => eventFired = true;\n element.addEventListener(event, handler);\n element[event]();\n element.removeEventListener(event, handler);\n if (!eventFired) {\n dispatchFakeEvent(element, event);\n }\n}\n\n/**\n * Patches an elements focus and blur methods to emit events consistently and predictably.\n * This is necessary, because some browsers, like IE11, will call the focus handlers asynchronously,\n * while others won't fire them at all if the browser window is not focused.\n * @docs-private\n */\nexport function patchElementFocus(element: HTMLElement) {\n element.focus = () => dispatchFakeEvent(element, 'focus');\n element.blur = () => dispatchFakeEvent(element, 'blur');\n}\n\n/** @docs-private */\nexport function triggerFocus(element: HTMLElement) {\n triggerFocusChange(element, 'focus');\n}\n\n/** @docs-private */\nexport function triggerBlur(element: HTMLElement) {\n triggerFocusChange(element, 'blur');\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 {\n createFakeEvent,\n createKeyboardEvent,\n createMouseEvent,\n createTouchEvent,\n ModifierKeys\n} from './event-objects';\n\n/**\n * Utility to dispatch any event on a Node.\n * @docs-private\n */\nexport function dispatchEvent(node: Node | Window, event: Event): Event {\n node.dispatchEvent(event);\n return event;\n}\n\n/**\n * Shorthand to dispatch a fake event on a specified node.\n * @docs-private\n */\nexport function dispatchFakeEvent(node: Node | Window, type: string, canBubble?: boolean): Event {\n return dispatchEvent(node, createFakeEvent(type, canBubble));\n}\n\n/**\n * Shorthand to dispatch a keyboard event with a specified key code.\n * @docs-private\n */\nexport function dispatchKeyboardEvent(node: Node, type: string, keyCode?: number, key?: string,\n target?: Element, modifiers?: ModifierKeys): KeyboardEvent {\n return dispatchEvent(node,\n createKeyboardEvent(type, keyCode, key, target, modifiers)) as KeyboardEvent;\n}\n\n/**\n * Shorthand to dispatch a mouse event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchMouseEvent(node: Node, type: string, x = 0, y = 0,\n event = createMouseEvent(type, x, y)): MouseEvent {\n return dispatchEvent(node, event) as MouseEvent;\n}\n\n/**\n * Shorthand to dispatch a touch event on the specified coordinates.\n * @docs-private\n */\nexport function dispatchTouchEvent(node: Node, type: string, x = 0, y = 0) {\n return dispatchEvent(node, createTouchEvent(type, x, y));\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\n/** Modifier keys that may be held while typing. */\nexport interface ModifierKeys {\n control?: boolean;\n alt?: boolean;\n shift?: boolean;\n meta?: boolean;\n}\n\n/**\n * Creates a browser MouseEvent with the specified options.\n * @docs-private\n */\nexport function createMouseEvent(type: string, x = 0, y = 0, button = 0) {\n const event = document.createEvent('MouseEvent');\n const originalPreventDefault = event.preventDefault;\n\n event.initMouseEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* detail */\n x, /* screenX */\n y, /* screenY */\n x, /* clientX */\n y, /* clientY */\n false, /* ctrlKey */\n false, /* altKey */\n false, /* shiftKey */\n false, /* metaKey */\n button, /* button */\n null /* relatedTarget */);\n\n // `initMouseEvent` doesn't allow us to pass the `buttons` and\n // defaults it to 0 which looks like a fake event.\n Object.defineProperty(event, 'buttons', {get: () => 1});\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a browser TouchEvent with the specified pointer coordinates.\n * @docs-private\n */\nexport function createTouchEvent(type: string, pageX = 0, pageY = 0) {\n // In favor of creating events that work for most of the browsers, the event is created\n // as a basic UI Event. The necessary details for the event will be set manually.\n const event = document.createEvent('UIEvent');\n const touchDetails = {pageX, pageY};\n\n // TS3.6 removes the initUIEvent method and suggests porting to \"new UIEvent()\".\n (event as any).initUIEvent(type, true, true, window, 0);\n\n // Most of the browsers don't have a \"initTouchEvent\" method that can be used to define\n // the touch details.\n Object.defineProperties(event, {\n touches: {value: [touchDetails]},\n targetTouches: {value: [touchDetails]},\n changedTouches: {value: [touchDetails]}\n });\n\n return event;\n}\n\n/**\n * Dispatches a keydown event from an element.\n * @docs-private\n */\nexport function createKeyboardEvent(type: string, keyCode: number = 0, key: string = '',\n target?: Element, modifiers: ModifierKeys = {}) {\n const event = document.createEvent('KeyboardEvent') as any;\n const originalPreventDefault = event.preventDefault;\n\n // Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.\n if (event.initKeyEvent) {\n event.initKeyEvent(type, true, true, window, modifiers.control, modifiers.alt, modifiers.shift,\n modifiers.meta, keyCode);\n } else {\n // `initKeyboardEvent` expects to receive modifiers as a whitespace-delimited string\n // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent\n const modifiersStr = (modifiers.control ? 'Control ' : '' + modifiers.alt ? 'Alt ' : '' +\n modifiers.shift ? 'Shift ' : '' + modifiers.meta ? 'Meta' : '').trim();\n event.initKeyboardEvent(type,\n true, /* canBubble */\n true, /* cancelable */\n window, /* view */\n 0, /* char */\n key, /* key */\n 0, /* location */\n modifiersStr, /* modifiersList */\n false /* repeat */);\n }\n\n // Webkit Browsers don't set the keyCode when calling the init function.\n // See related bug https://bugs.webkit.org/show_bug.cgi?id=16735\n Object.defineProperties(event, {\n keyCode: { get: () => keyCode },\n key: { get: () => key },\n target: { get: () => target },\n ctrlKey: { get: () => !!modifiers.control },\n altKey: { get: () => !!modifiers.alt },\n shiftKey: { get: () => !!modifiers.shift },\n metaKey: { get: () => !!modifiers.meta }\n });\n\n // IE won't set `defaultPrevented` on synthetic events so we need to do it manually.\n event.preventDefault = function() {\n Object.defineProperty(event, 'defaultPrevented', { get: () => true });\n return originalPreventDefault.apply(this, arguments);\n };\n\n return event;\n}\n\n/**\n * Creates a fake event object with any desired event type.\n * @docs-private\n */\nexport function createFakeEvent(type: string, canBubble = false, cancelable = true) {\n const event = document.createEvent('Event');\n event.initEvent(type, canBubble, cancelable);\n return event;\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/cdk",
|
|
3
|
-
"version": "8.2.
|
|
3
|
+
"version": "8.2.3",
|
|
4
4
|
"description": "Angular Material Component Development Kit",
|
|
5
5
|
"main": "./bundles/cdk.umd.js",
|
|
6
6
|
"module": "./esm5/cdk.es5.js",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"migrations": "./schematics/migration.json"
|
|
38
38
|
},
|
|
39
39
|
"sideEffects": false,
|
|
40
|
-
"releaseGitCommitSha": "
|
|
40
|
+
"releaseGitCommitSha": "0b175c619f37f450f147d42f8c562f08333ed330",
|
|
41
41
|
"releaseGitBranch": "8.2.x",
|
|
42
|
-
"releaseGitUser": "
|
|
42
|
+
"releaseGitUser": "Miles Malerba <mmalerba@google.com>"
|
|
43
43
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[cdkPortalHost]{color:red}
|