@skyux/phone-field 7.0.0-beta.8 → 7.0.0
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/documentation.json +494 -222
- package/esm2020/lib/modules/phone-field/phone-field-adapter.service.mjs +25 -23
- package/esm2020/lib/modules/phone-field/phone-field-input.directive.mjs +129 -117
- package/esm2020/lib/modules/phone-field/phone-field.component.mjs +79 -59
- package/esm2020/lib/modules/phone-field/phone-field.module.mjs +5 -5
- package/esm2020/lib/modules/shared/sky-phone-field-resources.module.mjs +5 -5
- package/esm2020/testing/phonefield/phone-field-fixture.mjs +76 -88
- package/esm2020/testing/phonefield/phone-field-testing.module.mjs +5 -5
- package/fesm2015/skyux-phone-field-testing.mjs +76 -91
- package/fesm2015/skyux-phone-field-testing.mjs.map +1 -1
- package/fesm2015/skyux-phone-field.mjs +243 -199
- package/fesm2015/skyux-phone-field.mjs.map +1 -1
- package/fesm2020/skyux-phone-field-testing.mjs +79 -91
- package/fesm2020/skyux-phone-field-testing.mjs.map +1 -1
- package/fesm2020/skyux-phone-field.mjs +234 -198
- package/fesm2020/skyux-phone-field.mjs.map +1 -1
- package/lib/modules/phone-field/phone-field-adapter.service.d.ts +1 -3
- package/lib/modules/phone-field/phone-field-input.directive.d.ts +7 -28
- package/lib/modules/phone-field/phone-field.component.d.ts +21 -25
- package/package.json +13 -12
- package/testing/phonefield/phone-field-fixture.d.ts +4 -28
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
var _SkyPhoneFieldFixture_instances, _SkyPhoneFieldFixture__countryFixture, _SkyPhoneFieldFixture__debugEl, _SkyPhoneFieldFixture_fixture, _SkyPhoneFieldFixture_skyTestId, _SkyPhoneFieldFixture_countryElement_get, _SkyPhoneFieldFixture_countryFlagButtonContainer_get, _SkyPhoneFieldFixture_countryFlagButton_get, _SkyPhoneFieldFixture_phoneFieldInput_get, _SkyPhoneFieldFixture_getCountryFixture, _SkyPhoneFieldFixture_openCountrySelection, _SkyPhoneFieldFixture_setSkyTestId, _SkyPhoneFieldFixture_waitForCountrySelection;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
1
4
|
import { By } from '@angular/platform-browser';
|
|
2
5
|
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
|
3
6
|
import { SkyCountryFieldFixture } from '@skyux/lookup/testing';
|
|
@@ -9,9 +12,17 @@ import { SkyCountryFieldFixture } from '@skyux/lookup/testing';
|
|
|
9
12
|
*/
|
|
10
13
|
export class SkyPhoneFieldFixture {
|
|
11
14
|
constructor(fixture, skyTestId) {
|
|
12
|
-
this
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
_SkyPhoneFieldFixture_instances.add(this);
|
|
16
|
+
/**
|
|
17
|
+
* This property is lazy loaded and should be accessed via the #getCountryFixture() function.
|
|
18
|
+
*/
|
|
19
|
+
_SkyPhoneFieldFixture__countryFixture.set(this, void 0);
|
|
20
|
+
_SkyPhoneFieldFixture__debugEl.set(this, void 0);
|
|
21
|
+
_SkyPhoneFieldFixture_fixture.set(this, void 0);
|
|
22
|
+
_SkyPhoneFieldFixture_skyTestId.set(this, void 0);
|
|
23
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture_fixture, fixture, "f");
|
|
24
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture_skyTestId, skyTestId, "f");
|
|
25
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture__debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-phone-field'), "f");
|
|
15
26
|
// The country selector needs extra time to initialize.
|
|
16
27
|
// Consumers shouldn't need to work around this so we do an extra detect here
|
|
17
28
|
fixture.detectChanges();
|
|
@@ -20,43 +31,43 @@ export class SkyPhoneFieldFixture {
|
|
|
20
31
|
* The value of the input field for the phone field.
|
|
21
32
|
*/
|
|
22
33
|
get inputText() {
|
|
23
|
-
return this.
|
|
34
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get).value;
|
|
24
35
|
}
|
|
25
36
|
/**
|
|
26
37
|
* Blurs the phone field input and returns a promise that indicates when the action is complete.
|
|
27
38
|
*/
|
|
28
39
|
async blur() {
|
|
29
|
-
SkyAppTestUtility.fireDomEvent(this
|
|
30
|
-
this.
|
|
31
|
-
return this.
|
|
40
|
+
SkyAppTestUtility.fireDomEvent(__classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get), 'blur');
|
|
41
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
42
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
32
43
|
}
|
|
33
44
|
/**
|
|
34
45
|
* Returns the selected country iso2 code.
|
|
35
46
|
*/
|
|
36
47
|
async getSelectedCountryIso2() {
|
|
37
48
|
// Wait for the country field to initialize.
|
|
38
|
-
await this.
|
|
39
|
-
return this.
|
|
49
|
+
await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
50
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryFlagButtonContainer_get).getAttribute('data-sky-test-iso2');
|
|
40
51
|
}
|
|
41
52
|
/**
|
|
42
53
|
* Returns the selected country name.
|
|
43
54
|
*/
|
|
44
55
|
async getSelectedCountryName() {
|
|
45
56
|
// Wait for the country field to initialize.
|
|
46
|
-
await this.
|
|
47
|
-
return this.
|
|
57
|
+
await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
58
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryFlagButtonContainer_get).getAttribute('data-sky-test-name');
|
|
48
59
|
}
|
|
49
60
|
/**
|
|
50
61
|
* Sets the value of the input field for the phone field.
|
|
51
62
|
*/
|
|
52
63
|
async setInputText(inputText) {
|
|
53
|
-
const inputEl = this
|
|
64
|
+
const inputEl = __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get);
|
|
54
65
|
inputEl.value = inputText;
|
|
55
66
|
SkyAppTestUtility.fireDomEvent(inputEl, 'input');
|
|
56
|
-
this.
|
|
67
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
57
68
|
SkyAppTestUtility.fireDomEvent(inputEl, 'change');
|
|
58
|
-
this.
|
|
59
|
-
return this.
|
|
69
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
70
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
60
71
|
}
|
|
61
72
|
/**
|
|
62
73
|
* Opens the country selector, peforms a search, but makes no selection.
|
|
@@ -64,10 +75,10 @@ export class SkyPhoneFieldFixture {
|
|
|
64
75
|
* @returns The list of country names matching the search text.
|
|
65
76
|
*/
|
|
66
77
|
async searchCountry(searchText) {
|
|
67
|
-
await this.
|
|
68
|
-
const countryFixture = await this.
|
|
78
|
+
await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_openCountrySelection).call(this);
|
|
79
|
+
const countryFixture = await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_getCountryFixture).call(this);
|
|
69
80
|
const results = await countryFixture.search(searchText);
|
|
70
|
-
await this.
|
|
81
|
+
await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_waitForCountrySelection).call(this);
|
|
71
82
|
return results;
|
|
72
83
|
}
|
|
73
84
|
/**
|
|
@@ -75,86 +86,63 @@ export class SkyPhoneFieldFixture {
|
|
|
75
86
|
* @param searchText The name of the country to select.
|
|
76
87
|
*/
|
|
77
88
|
async selectCountry(searchText) {
|
|
78
|
-
await this.
|
|
79
|
-
const countryFixture = await this.
|
|
89
|
+
await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_openCountrySelection).call(this);
|
|
90
|
+
const countryFixture = await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_getCountryFixture).call(this);
|
|
80
91
|
await countryFixture.searchAndSelectFirstResult(searchText);
|
|
81
|
-
return this.
|
|
92
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_waitForCountrySelection).call(this);
|
|
82
93
|
}
|
|
83
94
|
/**
|
|
84
95
|
* Gets a boolean promise indicating if the phone field is disabled.
|
|
85
96
|
*/
|
|
86
97
|
async isDisabled() {
|
|
87
|
-
const disabled = this.
|
|
88
|
-
return
|
|
98
|
+
const disabled = __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get).getAttribute('disabled');
|
|
99
|
+
return coerceBooleanProperty(disabled);
|
|
89
100
|
}
|
|
90
101
|
/**
|
|
91
102
|
* Gets a boolean promise indicating if the phone field is valid.
|
|
92
103
|
*/
|
|
93
104
|
async isValid() {
|
|
94
|
-
|
|
95
|
-
throw new Error(`Form control not found.`);
|
|
96
|
-
}
|
|
97
|
-
return this.phoneFieldInput.classList.contains('ng-valid');
|
|
98
|
-
}
|
|
99
|
-
get countryElement() {
|
|
100
|
-
return this._debugEl.query(By.css('sky-country-field')).nativeElement;
|
|
101
|
-
}
|
|
102
|
-
get countryFlagButtonContainer() {
|
|
103
|
-
return this._debugEl.query(By.css('.sky-phone-field-country-btn'))
|
|
104
|
-
.nativeElement;
|
|
105
|
-
}
|
|
106
|
-
get countryFlagButton() {
|
|
107
|
-
return this._debugEl.query(By.css('.sky-phone-field-country-btn .sky-btn'))
|
|
108
|
-
.nativeElement;
|
|
109
|
-
}
|
|
110
|
-
get phoneFieldInput() {
|
|
111
|
-
return this._debugEl.query(By.css('input[skyPhoneFieldInput]'))
|
|
112
|
-
.nativeElement;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* The country-field can take a really long time to initialize. Since we can't perform an await
|
|
116
|
-
* in our constructor, it's safest to do a lazy load of the country field to avoid any race
|
|
117
|
-
* conditions where a test tries to access the sky-country-field element too quickly.
|
|
118
|
-
*/
|
|
119
|
-
async getCountryFixture() {
|
|
120
|
-
if (this._countryFixture === undefined) {
|
|
121
|
-
// tag the country field with a sky test id
|
|
122
|
-
const countrySkyTestId = `${this.skyTestId}-country`;
|
|
123
|
-
this.setSkyTestId(this.countryElement, countrySkyTestId);
|
|
124
|
-
// initialize the country fixture
|
|
125
|
-
this._countryFixture = new SkyCountryFieldFixture(this.fixture, countrySkyTestId);
|
|
126
|
-
this.fixture.detectChanges();
|
|
127
|
-
await this.fixture.whenStable();
|
|
128
|
-
}
|
|
129
|
-
return this._countryFixture;
|
|
130
|
-
}
|
|
131
|
-
async openCountrySelection() {
|
|
132
|
-
this.countryFlagButton.click();
|
|
133
|
-
return this.waitForCountrySelection();
|
|
134
|
-
}
|
|
135
|
-
setSkyTestId(element, skyTestId) {
|
|
136
|
-
element.setAttribute('data-sky-id', skyTestId);
|
|
137
|
-
}
|
|
138
|
-
async waitForCountrySelection() {
|
|
139
|
-
// any country selection needs extra time to complete
|
|
140
|
-
this.fixture.detectChanges();
|
|
141
|
-
await this.fixture.whenStable();
|
|
142
|
-
this.fixture.detectChanges();
|
|
143
|
-
return this.fixture.whenStable();
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Checks whether the form-field control has set up a form control.
|
|
147
|
-
*/
|
|
148
|
-
async hasFormControl() {
|
|
149
|
-
// If no form "NgControl" is bound to the form-field control, the form-field
|
|
150
|
-
// is not able to forward any control status classes. Therefore if either the
|
|
151
|
-
// "ng-touched" or "ng-untouched" class is set, we know that it has a form control.
|
|
152
|
-
const isTouched = this.phoneFieldInput.classList.contains('ng-touched');
|
|
153
|
-
const isUntouched = this.phoneFieldInput.classList.contains('ng-untouched');
|
|
154
|
-
return isTouched || isUntouched;
|
|
155
|
-
}
|
|
156
|
-
coerceBooleanProperty(value) {
|
|
157
|
-
return value != null && `${value}` !== 'false';
|
|
105
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get).classList.contains('ng-valid');
|
|
158
106
|
}
|
|
159
107
|
}
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1maWVsZC90ZXN0aW5nL3NyYy9waG9uZWZpZWxkL3Bob25lLWZpZWxkLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9EOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQWUvQixZQUNVLE9BQThCLEVBQzlCLFNBQWlCO1FBRGpCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFFekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdkQsT0FBTyxFQUNQLFNBQVMsRUFDVCxpQkFBaUIsQ0FDbEIsQ0FBQztRQUVGLHVEQUF1RDtRQUN2RCw2RUFBNkU7UUFDN0UsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUEzQkQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBd0JEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsc0JB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LENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxLQUFLLENBQUMsY0FBYztRQUMxQiw0RUFBNEU7UUFDNUUsNkVBQTZFO1FBQzdFLG1GQUFtRjtRQUNuRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sU0FBUyxJQUFJLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBVTtRQUN0QyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUM7SUFDakQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlIH0gZnJvbSAnQHNreXV4L2xvb2t1cC90ZXN0aW5nJztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggcGhvbmUgZmllbGQgY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBob25lRmllbGRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGhvbmVGaWVsZElucHV0LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgbGF6eSBsb2FkZWQgYW5kIHNob3VsZCBiZSBhY2Nlc3NlZCB2aWEgdGhlIHByaXZhdGUgY291bnRyeUZpeHR1cmUgcHJvcGVydHkuXG4gICAqL1xuICBwcml2YXRlIF9jb3VudHJ5Rml4dHVyZTogU2t5Q291bnRyeUZpZWxkRml4dHVyZTtcblxuICBwcml2YXRlIF9kZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sXG4gICAgcHJpdmF0ZSBza3lUZXN0SWQ6IHN0cmluZ1xuICApIHtcbiAgICB0aGlzLl9kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1waG9uZS1maWVsZCdcbiAgICApO1xuXG4gICAgLy8gVGhlIGNvdW50cnkgc2VsZWN0b3IgbmVlZHMgZXh0cmEgdGltZSB0byBpbml0aWFsaXplLlxuICAgIC8vIENvbnN1bWVycyBzaG91bGRuJ3QgbmVlZCB0byB3b3JrIGFyb3VuZCB0aGlzIHNvIHdlIGRvIGFuIGV4dHJhIGRldGVjdCBoZXJlXG4gICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIHBob25lIGZpZWxkIGlucHV0IGFuZCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQodGhpcy5waG9uZUZpZWxkSW5wdXQsICdibHVyJyk7XG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBjb3VudHJ5IGlzbzIgY29kZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZENvdW50cnlJc28yKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIGNvdW50cnkgZmllbGQgdG8gaW5pdGlhbGl6ZS5cbiAgICBhd2FpdCB0aGlzLmZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgIHJldHVybiB0aGlzLmNvdW50cnlGbGFnQnV0dG9uQ29udGFpbmVyLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktdGVzdC1pc28yJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2VsZWN0ZWQgY291bnRyeSBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkQ291bnRyeU5hbWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBXYWl0IGZvciB0aGUgY291bnRyeSBmaWVsZCB0byBpbml0aWFsaXplLlxuICAgIGF3YWl0IHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gICAgcmV0dXJuIHRoaXMuY291bnRyeUZsYWdCdXR0b25Db250YWluZXIuZ2V0QXR0cmlidXRlKCdkYXRhLXNreS10ZXN0LW5hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRJbnB1dFRleHQoaW5wdXRUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy5waG9uZUZpZWxkSW5wdXQ7XG4gICAgaW5wdXRFbC52YWx1ZSA9IGlucHV0VGV4dDtcblxuICAgIFNreUFwcFRlc3RVdGlsaXR5LmZpcmVEb21FdmVudChpbnB1dEVsLCAnaW5wdXQnKTtcbiAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgU2t5QXBwVGVzdFV0aWxpdHkuZmlyZURvbUV2ZW50KGlucHV0RWwsICdjaGFuZ2UnKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIGNvdW50cnkgc2VsZWN0b3IsIHBlZm9ybXMgYSBzZWFyY2gsIGJ1dCBtYWtlcyBubyBzZWxlY3Rpb24uXG4gICAqIEBwYXJhbSBzZWFyY2hUZXh0IFRoZSBuYW1lIG9mIHRoZSBjb3VudHJ5IHRvIHNlbGVjdC5cbiAgICogQHJldHVybnMgVGhlIGxpc3Qgb2YgY291bnRyeSBuYW1lcyBtYXRjaGluZyB0aGUgc2VhcmNoIHRleHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VhcmNoQ291bnRyeShzZWFyY2hUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgYXdhaXQgdGhpcy5vcGVuQ291bnRyeVNlbGVjdGlvbigpO1xuXG4gICAgY29uc3QgY291bnRyeUZpeHR1cmUgPSBhd2FpdCB0aGlzLmdldENvdW50cnlGaXh0dXJlKCk7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGNvdW50cnlGaXh0dXJlLnNlYXJjaChzZWFyY2hUZXh0KTtcblxuICAgIGF3YWl0IHRoaXMud2FpdEZvckNvdW50cnlTZWxlY3Rpb24oKTtcbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgY291bnRyeSBzZWxlY3RvciwgcGVyZm9ybXMgYSBzZWFyY2gsIGFuZCBzZWxlY3RzIHRoZSBmaXJzdCByZXN1bHQgKGlmIGFueSkuXG4gICAqIEBwYXJhbSBzZWFyY2hUZXh0IFRoZSBuYW1lIG9mIHRoZSBjb3VudHJ5IHRvIHNlbGVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RDb3VudHJ5KHNlYXJjaFRleHQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMub3BlbkNvdW50cnlTZWxlY3Rpb24oKTtcblxuICAgIGNvbnN0IGNvdW50cnlGaXh0dXJlID0gYXdhaXQgdGhpcy5nZXRDb3VudHJ5Rml4dHVyZSgpO1xuICAgIGF3YWl0IGNvdW50cnlGaXh0dXJlLnNlYXJjaEFuZFNlbGVjdEZpcnN0UmVzdWx0KHNlYXJjaFRleHQpO1xuXG4gICAgcmV0dXJuIHRoaXMud2FpdEZvckNvdW50cnlTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgYm9vbGVhbiBwcm9taXNlIGluZGljYXRpbmcgaWYgdGhlIHBob25lIGZpZWxkIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLnBob25lRmllbGRJbnB1dC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgcmV0dXJuIHRoaXMuY29lcmNlQm9vbGVhblByb3BlcnR5KGF3YWl0IGRpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgYm9vbGVhbiBwcm9taXNlIGluZGljYXRpbmcgaWYgdGhlIHBob25lIGZpZWxkIGlzIHZhbGlkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzVmFsaWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKCEoYXdhaXQgdGhpcy5oYXNGb3JtQ29udHJvbCgpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb3JtIGNvbnRyb2wgbm90IGZvdW5kLmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5waG9uZUZpZWxkSW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy12YWxpZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY291bnRyeUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2RlYnVnRWwucXVlcnkoQnkuY3NzKCdza3ktY291bnRyeS1maWVsZCcpKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY291bnRyeUZsYWdCdXR0b25Db250YWluZXIoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXBob25lLWZpZWxkLWNvdW50cnktYnRuJykpXG4gICAgICAubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvdW50cnlGbGFnQnV0dG9uKCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9kZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1waG9uZS1maWVsZC1jb3VudHJ5LWJ0biAuc2t5LWJ0bicpKVxuICAgICAgLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBwaG9uZUZpZWxkSW5wdXQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2RlYnVnRWwucXVlcnkoQnkuY3NzKCdpbnB1dFtza3lQaG9uZUZpZWxkSW5wdXRdJykpXG4gICAgICAubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY291bnRyeS1maWVsZCBjYW4gdGFrZSBhIHJlYWxseSBsb25nIHRpbWUgdG8gaW5pdGlhbGl6ZS4gU2luY2Ugd2UgY2FuJ3QgcGVyZm9ybSBhbiBhd2FpdFxuICAgKiBpbiBvdXIgY29uc3RydWN0b3IsIGl0J3Mgc2FmZXN0IHRvIGRvIGEgbGF6eSBsb2FkIG9mIHRoZSBjb3VudHJ5IGZpZWxkIHRvIGF2b2lkIGFueSByYWNlXG4gICAqIGNvbmRpdGlvbnMgd2hlcmUgYSB0ZXN0IHRyaWVzIHRvIGFjY2VzcyB0aGUgc2t5LWNvdW50cnktZmllbGQgZWxlbWVudCB0b28gcXVpY2tseS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ2V0Q291bnRyeUZpeHR1cmUoKTogUHJvbWlzZTxTa3lDb3VudHJ5RmllbGRGaXh0dXJlPiB7XG4gICAgaWYgKHRoaXMuX2NvdW50cnlGaXh0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIHRhZyB0aGUgY291bnRyeSBmaWVsZCB3aXRoIGEgc2t5IHRlc3QgaWRcbiAgICAgIGNvbnN0IGNvdW50cnlTa3lUZXN0SWQgPSBgJHt0aGlzLnNreVRlc3RJZH0tY291bnRyeWA7XG4gICAgICB0aGlzLnNldFNreVRlc3RJZCh0aGlzLmNvdW50cnlFbGVtZW50LCBjb3VudHJ5U2t5VGVzdElkKTtcblxuICAgICAgLy8gaW5pdGlhbGl6ZSB0aGUgY291bnRyeSBmaXh0dXJlXG4gICAgICB0aGlzLl9jb3VudHJ5Rml4dHVyZSA9IG5ldyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlKFxuICAgICAgICB0aGlzLmZpeHR1cmUsXG4gICAgICAgIGNvdW50cnlTa3lUZXN0SWRcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBhd2FpdCB0aGlzLmZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jb3VudHJ5Rml4dHVyZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgb3BlbkNvdW50cnlTZWxlY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb3VudHJ5RmxhZ0J1dHRvbi5jbGljaygpO1xuICAgIHJldHVybiB0aGlzLndhaXRGb3JDb3VudHJ5U2VsZWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFNreVRlc3RJZChlbGVtZW50OiBIVE1MRWxlbWVudCwgc2t5VGVzdElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1za3ktaWQnLCBza3lUZXN0SWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB3YWl0Rm9yQ291bnRyeVNlbGVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBhbnkgY291bnRyeSBzZWxlY3Rpb24gbmVlZHMgZXh0cmEgdGltZSB0byBjb21wbGV0ZVxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgYXdhaXQgdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGZvcm0tZmllbGQgY29udHJvbCBoYXMgc2V0IHVwIGEgZm9ybSBjb250cm9sLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBoYXNGb3JtQ29udHJvbCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBJZiBubyBmb3JtIFwiTmdDb250cm9sXCIgaXMgYm91bmQgdG8gdGhlIGZvcm0tZmllbGQgY29udHJvbCwgdGhlIGZvcm0tZmllbGRcbiAgICAvLyBpcyBub3QgYWJsZSB0byBmb3J3YXJkIGFueSBjb250cm9sIHN0YXR1cyBjbGFzc2VzLiBUaGVyZWZvcmUgaWYgZWl0aGVyIHRoZVxuICAgIC8vIFwibmctdG91Y2hlZFwiIG9yIFwibmctdW50b3VjaGVkXCIgY2xhc3MgaXMgc2V0LCB3ZSBrbm93IHRoYXQgaXQgaGFzIGEgZm9ybSBjb250cm9sLlxuICAgIGNvbnN0IGlzVG91Y2hlZCA9IHRoaXMucGhvbmVGaWVsZElucHV0LmNsYXNzTGlzdC5jb250YWlucygnbmctdG91Y2hlZCcpO1xuICAgIGNvbnN0IGlzVW50b3VjaGVkID0gdGhpcy5waG9uZUZpZWxkSW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy11bnRvdWNoZWQnKTtcbiAgICByZXR1cm4gaXNUb3VjaGVkIHx8IGlzVW50b3VjaGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZSc7XG4gIH1cbn1cbiJdfQ==
|
|
108
|
+
_SkyPhoneFieldFixture__countryFixture = new WeakMap(), _SkyPhoneFieldFixture__debugEl = new WeakMap(), _SkyPhoneFieldFixture_fixture = new WeakMap(), _SkyPhoneFieldFixture_skyTestId = new WeakMap(), _SkyPhoneFieldFixture_instances = new WeakSet(), _SkyPhoneFieldFixture_countryElement_get = function _SkyPhoneFieldFixture_countryElement_get() {
|
|
109
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('sky-country-field')).nativeElement;
|
|
110
|
+
}, _SkyPhoneFieldFixture_countryFlagButtonContainer_get = function _SkyPhoneFieldFixture_countryFlagButtonContainer_get() {
|
|
111
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('.sky-phone-field-country-btn'))
|
|
112
|
+
.nativeElement;
|
|
113
|
+
}, _SkyPhoneFieldFixture_countryFlagButton_get = function _SkyPhoneFieldFixture_countryFlagButton_get() {
|
|
114
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('.sky-phone-field-country-btn .sky-btn'))
|
|
115
|
+
.nativeElement;
|
|
116
|
+
}, _SkyPhoneFieldFixture_phoneFieldInput_get = function _SkyPhoneFieldFixture_phoneFieldInput_get() {
|
|
117
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('input[skyPhoneFieldInput]'))
|
|
118
|
+
.nativeElement;
|
|
119
|
+
}, _SkyPhoneFieldFixture_getCountryFixture =
|
|
120
|
+
/**
|
|
121
|
+
* The country-field can take a really long time to initialize. Since we can't perform an await
|
|
122
|
+
* in our constructor, it's safest to do a lazy load of the country field to avoid any race
|
|
123
|
+
* conditions where a test tries to access the sky-country-field element too quickly.
|
|
124
|
+
*/
|
|
125
|
+
async function _SkyPhoneFieldFixture_getCountryFixture() {
|
|
126
|
+
if (__classPrivateFieldGet(this, _SkyPhoneFieldFixture__countryFixture, "f") === undefined) {
|
|
127
|
+
// tag the country field with a sky test id
|
|
128
|
+
const countrySkyTestId = `${__classPrivateFieldGet(this, _SkyPhoneFieldFixture_skyTestId, "f")}-country`;
|
|
129
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_setSkyTestId).call(this, __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryElement_get), countrySkyTestId);
|
|
130
|
+
// initialize the country fixture
|
|
131
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture__countryFixture, new SkyCountryFieldFixture(__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f"), countrySkyTestId), "f");
|
|
132
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
133
|
+
await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
134
|
+
}
|
|
135
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__countryFixture, "f");
|
|
136
|
+
}, _SkyPhoneFieldFixture_openCountrySelection = async function _SkyPhoneFieldFixture_openCountrySelection() {
|
|
137
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryFlagButton_get).click();
|
|
138
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_waitForCountrySelection).call(this);
|
|
139
|
+
}, _SkyPhoneFieldFixture_setSkyTestId = function _SkyPhoneFieldFixture_setSkyTestId(element, skyTestId) {
|
|
140
|
+
element.setAttribute('data-sky-id', skyTestId);
|
|
141
|
+
}, _SkyPhoneFieldFixture_waitForCountrySelection = async function _SkyPhoneFieldFixture_waitForCountrySelection() {
|
|
142
|
+
// any country selection needs extra time to complete
|
|
143
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
144
|
+
await __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
145
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
146
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1maWVsZC90ZXN0aW5nL3NyYy9waG9uZWZpZWxkL3Bob25lLWZpZWxkLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBbUIvQixZQUFZLE9BQWtDLEVBQUUsU0FBaUI7O1FBWGpFOztXQUVHO1FBQ0gsd0RBQXFEO1FBRXJELGlEQUF3QjtRQUV4QixnREFBb0M7UUFFcEMsa0RBQW1CO1FBR2pCLHVCQUFBLElBQUksaUNBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSxtQ0FBYyxTQUFTLE1BQUEsQ0FBQztRQUM1Qix1QkFBQSxJQUFJLGtDQUFhLGlCQUFpQixDQUFDLHVCQUF1QixDQUN4RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGlCQUFpQixDQUNsQixNQUFBLENBQUM7UUFFRix1REFBdUQ7UUFDdkQsNkVBQTZFO1FBQzdFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBOUJEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSxrRkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQTJCRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUFBLElBQUksa0ZBQWlCLEVBQUUs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LENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2pELENBQUMsa0RBRUQsS0FBSztJQUNILHFEQUFxRDtJQUNyRCx1QkFBQSxJQUFJLHFDQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsTUFBTSx1QkFBQSxJQUFJLHFDQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFakMsdUJBQUEsSUFBSSxxQ0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlIH0gZnJvbSAnQHNreXV4L2xvb2t1cC90ZXN0aW5nJztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggcGhvbmUgZmllbGQgY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBob25lRmllbGRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3Bob25lRmllbGRJbnB1dC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIGxhenkgbG9hZGVkIGFuZCBzaG91bGQgYmUgYWNjZXNzZWQgdmlhIHRoZSAjZ2V0Q291bnRyeUZpeHR1cmUoKSBmdW5jdGlvbi5cbiAgICovXG4gICNfY291bnRyeUZpeHR1cmU6IFNreUNvdW50cnlGaWVsZEZpeHR1cmUgfCB1bmRlZmluZWQ7XG5cbiAgI19kZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgI2ZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj47XG5cbiAgI3NreVRlc3RJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgdGhpcy4jc2t5VGVzdElkID0gc2t5VGVzdElkO1xuICAgIHRoaXMuI19kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1waG9uZS1maWVsZCdcbiAgICApO1xuXG4gICAgLy8gVGhlIGNvdW50cnkgc2VsZWN0b3IgbmVlZHMgZXh0cmEgdGltZSB0byBpbml0aWFsaXplLlxuICAgIC8vIENvbnN1bWVycyBzaG91bGRuJ3QgbmVlZCB0byB3b3JrIGFyb3VuZCB0aGlzIHNvIHdlIGRvIGFuIGV4dHJhIGRldGVjdCBoZXJlXG4gICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIHBob25lIGZpZWxkIGlucHV0IGFuZCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQodGhpcy4jcGhvbmVGaWVsZElucHV0LCAnYmx1cicpO1xuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBjb3VudHJ5IGlzbzIgY29kZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZENvdW50cnlJc28yKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIC8vIFdhaXQgZm9yIHRoZSBjb3VudHJ5IGZpZWxkIHRvIGluaXRpYWxpemUuXG4gICAgYXdhaXQgdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gICAgcmV0dXJuIHRoaXMuI2NvdW50cnlGbGFnQnV0dG9uQ29udGFpbmVyLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktdGVzdC1pc28yJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2VsZWN0ZWQgY291bnRyeSBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkQ291bnRyeU5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIGNvdW50cnkgZmllbGQgdG8gaW5pdGlhbGl6ZS5cbiAgICBhd2FpdCB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICByZXR1cm4gdGhpcy4jY291bnRyeUZsYWdCdXR0b25Db250YWluZXIuZ2V0QXR0cmlidXRlKCdkYXRhLXNreS10ZXN0LW5hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRJbnB1dFRleHQoaW5wdXRUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy4jcGhvbmVGaWVsZElucHV0O1xuICAgIGlucHV0RWwudmFsdWUgPSBpbnB1dFRleHQ7XG5cbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQoaW5wdXRFbCwgJ2lucHV0Jyk7XG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQoaW5wdXRFbCwgJ2NoYW5nZScpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBjb3VudHJ5IHNlbGVjdG9yLCBwZWZvcm1zIGEgc2VhcmNoLCBidXQgbWFrZXMgbm8gc2VsZWN0aW9uLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCBUaGUgbmFtZSBvZiB0aGUgY291bnRyeSB0byBzZWxlY3QuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIGNvdW50cnkgbmFtZXMgbWF0Y2hpbmcgdGhlIHNlYXJjaCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlYXJjaENvdW50cnkoc2VhcmNoVGV4dDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGF3YWl0IHRoaXMuI29wZW5Db3VudHJ5U2VsZWN0aW9uKCk7XG5cbiAgICBjb25zdCBjb3VudHJ5Rml4dHVyZSA9IGF3YWl0IHRoaXMuI2dldENvdW50cnlGaXh0dXJlKCk7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGNvdW50cnlGaXh0dXJlLnNlYXJjaChzZWFyY2hUZXh0KTtcblxuICAgIGF3YWl0IHRoaXMuI3dhaXRGb3JDb3VudHJ5U2VsZWN0aW9uKCk7XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIGNvdW50cnkgc2VsZWN0b3IsIHBlcmZvcm1zIGEgc2VhcmNoLCBhbmQgc2VsZWN0cyB0aGUgZmlyc3QgcmVzdWx0IChpZiBhbnkpLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCBUaGUgbmFtZSBvZiB0aGUgY291bnRyeSB0byBzZWxlY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0Q291bnRyeShzZWFyY2hUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNvcGVuQ291bnRyeVNlbGVjdGlvbigpO1xuXG4gICAgY29uc3QgY291bnRyeUZpeHR1cmUgPSBhd2FpdCB0aGlzLiNnZXRDb3VudHJ5Rml4dHVyZSgpO1xuICAgIGF3YWl0IGNvdW50cnlGaXh0dXJlLnNlYXJjaEFuZFNlbGVjdEZpcnN0UmVzdWx0KHNlYXJjaFRleHQpO1xuXG4gICAgcmV0dXJuIHRoaXMuI3dhaXRGb3JDb3VudHJ5U2VsZWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGJvb2xlYW4gcHJvbWlzZSBpbmRpY2F0aW5nIGlmIHRoZSBwaG9uZSBmaWVsZCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy4jcGhvbmVGaWVsZElucHV0LmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KGRpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgYm9vbGVhbiBwcm9taXNlIGluZGljYXRpbmcgaWYgdGhlIHBob25lIGZpZWxkIGlzIHZhbGlkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzVmFsaWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI3Bob25lRmllbGRJbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLXZhbGlkJyk7XG4gIH1cblxuICBnZXQgI2NvdW50cnlFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfZGVidWdFbC5xdWVyeShCeS5jc3MoJ3NreS1jb3VudHJ5LWZpZWxkJykpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgI2NvdW50cnlGbGFnQnV0dG9uQ29udGFpbmVyKCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktcGhvbmUtZmllbGQtY291bnRyeS1idG4nKSlcbiAgICAgIC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0ICNjb3VudHJ5RmxhZ0J1dHRvbigpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jX2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXBob25lLWZpZWxkLWNvdW50cnktYnRuIC5za3ktYnRuJykpXG4gICAgICAubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCAjcGhvbmVGaWVsZElucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfZGVidWdFbC5xdWVyeShCeS5jc3MoJ2lucHV0W3NreVBob25lRmllbGRJbnB1dF0nKSlcbiAgICAgIC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb3VudHJ5LWZpZWxkIGNhbiB0YWtlIGEgcmVhbGx5IGxvbmcgdGltZSB0byBpbml0aWFsaXplLiBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFuIGF3YWl0XG4gICAqIGluIG91ciBjb25zdHJ1Y3RvciwgaXQncyBzYWZlc3QgdG8gZG8gYSBsYXp5IGxvYWQgb2YgdGhlIGNvdW50cnkgZmllbGQgdG8gYXZvaWQgYW55IHJhY2VcbiAgICogY29uZGl0aW9ucyB3aGVyZSBhIHRlc3QgdHJpZXMgdG8gYWNjZXNzIHRoZSBza3ktY291bnRyeS1maWVsZCBlbGVtZW50IHRvbyBxdWlja2x5LlxuICAgKi9cbiAgYXN5bmMgI2dldENvdW50cnlGaXh0dXJlKCk6IFByb21pc2U8U2t5Q291bnRyeUZpZWxkRml4dHVyZT4ge1xuICAgIGlmICh0aGlzLiNfY291bnRyeUZpeHR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gdGFnIHRoZSBjb3VudHJ5IGZpZWxkIHdpdGggYSBza3kgdGVzdCBpZFxuICAgICAgY29uc3QgY291bnRyeVNreVRlc3RJZCA9IGAke3RoaXMuI3NreVRlc3RJZH0tY291bnRyeWA7XG4gICAgICB0aGlzLiNzZXRTa3lUZXN0SWQodGhpcy4jY291bnRyeUVsZW1lbnQsIGNvdW50cnlTa3lUZXN0SWQpO1xuXG4gICAgICAvLyBpbml0aWFsaXplIHRoZSBjb3VudHJ5IGZpeHR1cmVcbiAgICAgIHRoaXMuI19jb3VudHJ5Rml4dHVyZSA9IG5ldyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlKFxuICAgICAgICB0aGlzLiNmaXh0dXJlLFxuICAgICAgICBjb3VudHJ5U2t5VGVzdElkXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNfY291bnRyeUZpeHR1cmU7XG4gIH1cblxuICBhc3luYyAjb3BlbkNvdW50cnlTZWxlY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy4jY291bnRyeUZsYWdCdXR0b24uY2xpY2soKTtcbiAgICByZXR1cm4gdGhpcy4jd2FpdEZvckNvdW50cnlTZWxlY3Rpb24oKTtcbiAgfVxuXG4gICNzZXRTa3lUZXN0SWQoZWxlbWVudDogSFRNTEVsZW1lbnQsIHNreVRlc3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2t5LWlkJywgc2t5VGVzdElkKTtcbiAgfVxuXG4gIGFzeW5jICN3YWl0Rm9yQ291bnRyeVNlbGVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBhbnkgY291bnRyeSBzZWxlY3Rpb24gbmVlZHMgZXh0cmEgdGltZSB0byBjb21wbGV0ZVxuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -7,16 +7,16 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
*/
|
|
8
8
|
export class SkyPhoneFieldTestingModule {
|
|
9
9
|
}
|
|
10
|
-
SkyPhoneFieldTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
11
|
-
SkyPhoneFieldTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
10
|
+
SkyPhoneFieldTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
SkyPhoneFieldTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, exports: [SkyPhoneFieldModule,
|
|
12
12
|
// The noop animations module needs to be loaded last to avoid
|
|
13
13
|
// subsequent modules adding animations and overriding this.
|
|
14
14
|
NoopAnimationsModule] });
|
|
15
|
-
SkyPhoneFieldTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
15
|
+
SkyPhoneFieldTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, imports: [SkyPhoneFieldModule,
|
|
16
16
|
// The noop animations module needs to be loaded last to avoid
|
|
17
17
|
// subsequent modules adding animations and overriding this.
|
|
18
18
|
NoopAnimationsModule] });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
exports: [
|
|
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
27
27
|
],
|
|
28
28
|
}]
|
|
29
29
|
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtdGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGhvbmUtZmllbGQvdGVzdGluZy9zcmMvcGhvbmVmaWVsZC9waG9uZS1maWVsZC10ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV6RDs7R0FFRztBQVVILE1BQU0sT0FBTywwQkFBMEI7O3dIQUExQiwwQkFBMEI7eUhBQTFCLDBCQUEwQixZQVBuQyxtQkFBbUI7UUFFbkIsOERBQThEO1FBQzlELDREQUE0RDtRQUM1RCxvQkFBb0I7eUhBR1gsMEJBQTBCLFlBUG5DLG1CQUFtQjtRQUVuQiw4REFBOEQ7UUFDOUQsNERBQTREO1FBQzVELG9CQUFvQjs0RkFHWCwwQkFBMEI7a0JBVHRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFFbkIsOERBQThEO3dCQUM5RCw0REFBNEQ7d0JBQzVELG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9vcEFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9waG9uZS1maWVsZCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtcbiAgICBTa3lQaG9uZUZpZWxkTW9kdWxlLFxuXG4gICAgLy8gVGhlIG5vb3AgYW5pbWF0aW9ucyBtb2R1bGUgbmVlZHMgdG8gYmUgbG9hZGVkIGxhc3QgdG8gYXZvaWRcbiAgICAvLyBzdWJzZXF1ZW50IG1vZHVsZXMgYWRkaW5nIGFuaW1hdGlvbnMgYW5kIG92ZXJyaWRpbmcgdGhpcy5cbiAgICBOb29wQW5pbWF0aW9uc01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGhvbmVGaWVsZFRlc3RpbmdNb2R1bGUge31cbiJdfQ==
|
|
@@ -2,7 +2,8 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
4
4
|
import { SkyPhoneFieldModule } from '@skyux/phone-field';
|
|
5
|
-
import { __awaiter } from 'tslib';
|
|
5
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter } from 'tslib';
|
|
6
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
6
7
|
import { By } from '@angular/platform-browser';
|
|
7
8
|
import { SkyAppTestUtility } from '@skyux-sdk/testing';
|
|
8
9
|
import { SkyCountryFieldFixture } from '@skyux/lookup/testing';
|
|
@@ -12,16 +13,16 @@ import { SkyCountryFieldFixture } from '@skyux/lookup/testing';
|
|
|
12
13
|
*/
|
|
13
14
|
class SkyPhoneFieldTestingModule {
|
|
14
15
|
}
|
|
15
|
-
SkyPhoneFieldTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
16
|
-
SkyPhoneFieldTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
16
|
+
SkyPhoneFieldTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
SkyPhoneFieldTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, exports: [SkyPhoneFieldModule,
|
|
17
18
|
// The noop animations module needs to be loaded last to avoid
|
|
18
19
|
// subsequent modules adding animations and overriding this.
|
|
19
20
|
NoopAnimationsModule] });
|
|
20
|
-
SkyPhoneFieldTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
21
|
+
SkyPhoneFieldTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, imports: [SkyPhoneFieldModule,
|
|
21
22
|
// The noop animations module needs to be loaded last to avoid
|
|
22
23
|
// subsequent modules adding animations and overriding this.
|
|
23
24
|
NoopAnimationsModule] });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyPhoneFieldTestingModule, decorators: [{
|
|
25
26
|
type: NgModule,
|
|
26
27
|
args: [{
|
|
27
28
|
exports: [
|
|
@@ -33,6 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
33
34
|
}]
|
|
34
35
|
}] });
|
|
35
36
|
|
|
37
|
+
var _SkyPhoneFieldFixture_instances, _SkyPhoneFieldFixture__countryFixture, _SkyPhoneFieldFixture__debugEl, _SkyPhoneFieldFixture_fixture, _SkyPhoneFieldFixture_skyTestId, _SkyPhoneFieldFixture_countryElement_get, _SkyPhoneFieldFixture_countryFlagButtonContainer_get, _SkyPhoneFieldFixture_countryFlagButton_get, _SkyPhoneFieldFixture_phoneFieldInput_get, _SkyPhoneFieldFixture_getCountryFixture, _SkyPhoneFieldFixture_openCountrySelection, _SkyPhoneFieldFixture_setSkyTestId, _SkyPhoneFieldFixture_waitForCountrySelection;
|
|
36
38
|
/**
|
|
37
39
|
* Provides information for and interaction with a SKY UX phone field component.
|
|
38
40
|
* By using the fixture API, a test insulates itself against updates to the internals
|
|
@@ -41,9 +43,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
41
43
|
*/
|
|
42
44
|
class SkyPhoneFieldFixture {
|
|
43
45
|
constructor(fixture, skyTestId) {
|
|
44
|
-
this
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
_SkyPhoneFieldFixture_instances.add(this);
|
|
47
|
+
/**
|
|
48
|
+
* This property is lazy loaded and should be accessed via the #getCountryFixture() function.
|
|
49
|
+
*/
|
|
50
|
+
_SkyPhoneFieldFixture__countryFixture.set(this, void 0);
|
|
51
|
+
_SkyPhoneFieldFixture__debugEl.set(this, void 0);
|
|
52
|
+
_SkyPhoneFieldFixture_fixture.set(this, void 0);
|
|
53
|
+
_SkyPhoneFieldFixture_skyTestId.set(this, void 0);
|
|
54
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture_fixture, fixture, "f");
|
|
55
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture_skyTestId, skyTestId, "f");
|
|
56
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture__debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-phone-field'), "f");
|
|
47
57
|
// The country selector needs extra time to initialize.
|
|
48
58
|
// Consumers shouldn't need to work around this so we do an extra detect here
|
|
49
59
|
fixture.detectChanges();
|
|
@@ -52,16 +62,16 @@ class SkyPhoneFieldFixture {
|
|
|
52
62
|
* The value of the input field for the phone field.
|
|
53
63
|
*/
|
|
54
64
|
get inputText() {
|
|
55
|
-
return this.
|
|
65
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get).value;
|
|
56
66
|
}
|
|
57
67
|
/**
|
|
58
68
|
* Blurs the phone field input and returns a promise that indicates when the action is complete.
|
|
59
69
|
*/
|
|
60
70
|
blur() {
|
|
61
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
SkyAppTestUtility.fireDomEvent(this
|
|
63
|
-
this.
|
|
64
|
-
return this.
|
|
72
|
+
SkyAppTestUtility.fireDomEvent(__classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get), 'blur');
|
|
73
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
74
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
65
75
|
});
|
|
66
76
|
}
|
|
67
77
|
/**
|
|
@@ -70,8 +80,8 @@ class SkyPhoneFieldFixture {
|
|
|
70
80
|
getSelectedCountryIso2() {
|
|
71
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
82
|
// Wait for the country field to initialize.
|
|
73
|
-
yield this.
|
|
74
|
-
return this.
|
|
83
|
+
yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
84
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryFlagButtonContainer_get).getAttribute('data-sky-test-iso2');
|
|
75
85
|
});
|
|
76
86
|
}
|
|
77
87
|
/**
|
|
@@ -80,8 +90,8 @@ class SkyPhoneFieldFixture {
|
|
|
80
90
|
getSelectedCountryName() {
|
|
81
91
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
92
|
// Wait for the country field to initialize.
|
|
83
|
-
yield this.
|
|
84
|
-
return this.
|
|
93
|
+
yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
94
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryFlagButtonContainer_get).getAttribute('data-sky-test-name');
|
|
85
95
|
});
|
|
86
96
|
}
|
|
87
97
|
/**
|
|
@@ -89,13 +99,13 @@ class SkyPhoneFieldFixture {
|
|
|
89
99
|
*/
|
|
90
100
|
setInputText(inputText) {
|
|
91
101
|
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
-
const inputEl = this
|
|
102
|
+
const inputEl = __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get);
|
|
93
103
|
inputEl.value = inputText;
|
|
94
104
|
SkyAppTestUtility.fireDomEvent(inputEl, 'input');
|
|
95
|
-
this.
|
|
105
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
96
106
|
SkyAppTestUtility.fireDomEvent(inputEl, 'change');
|
|
97
|
-
this.
|
|
98
|
-
return this.
|
|
107
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
108
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
99
109
|
});
|
|
100
110
|
}
|
|
101
111
|
/**
|
|
@@ -105,10 +115,10 @@ class SkyPhoneFieldFixture {
|
|
|
105
115
|
*/
|
|
106
116
|
searchCountry(searchText) {
|
|
107
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
yield this.
|
|
109
|
-
const countryFixture = yield this.
|
|
118
|
+
yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_openCountrySelection).call(this);
|
|
119
|
+
const countryFixture = yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_getCountryFixture).call(this);
|
|
110
120
|
const results = yield countryFixture.search(searchText);
|
|
111
|
-
yield this.
|
|
121
|
+
yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_waitForCountrySelection).call(this);
|
|
112
122
|
return results;
|
|
113
123
|
});
|
|
114
124
|
}
|
|
@@ -118,10 +128,10 @@ class SkyPhoneFieldFixture {
|
|
|
118
128
|
*/
|
|
119
129
|
selectCountry(searchText) {
|
|
120
130
|
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
yield this.
|
|
122
|
-
const countryFixture = yield this.
|
|
131
|
+
yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_openCountrySelection).call(this);
|
|
132
|
+
const countryFixture = yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_getCountryFixture).call(this);
|
|
123
133
|
yield countryFixture.searchAndSelectFirstResult(searchText);
|
|
124
|
-
return this.
|
|
134
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_waitForCountrySelection).call(this);
|
|
125
135
|
});
|
|
126
136
|
}
|
|
127
137
|
/**
|
|
@@ -129,8 +139,8 @@ class SkyPhoneFieldFixture {
|
|
|
129
139
|
*/
|
|
130
140
|
isDisabled() {
|
|
131
141
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
-
const disabled = this.
|
|
133
|
-
return
|
|
142
|
+
const disabled = __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get).getAttribute('disabled');
|
|
143
|
+
return coerceBooleanProperty(disabled);
|
|
134
144
|
});
|
|
135
145
|
}
|
|
136
146
|
/**
|
|
@@ -138,81 +148,56 @@ class SkyPhoneFieldFixture {
|
|
|
138
148
|
*/
|
|
139
149
|
isValid() {
|
|
140
150
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
-
|
|
142
|
-
throw new Error(`Form control not found.`);
|
|
143
|
-
}
|
|
144
|
-
return this.phoneFieldInput.classList.contains('ng-valid');
|
|
151
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_phoneFieldInput_get).classList.contains('ng-valid');
|
|
145
152
|
});
|
|
146
153
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
.nativeElement;
|
|
161
|
-
}
|
|
154
|
+
}
|
|
155
|
+
_SkyPhoneFieldFixture__countryFixture = new WeakMap(), _SkyPhoneFieldFixture__debugEl = new WeakMap(), _SkyPhoneFieldFixture_fixture = new WeakMap(), _SkyPhoneFieldFixture_skyTestId = new WeakMap(), _SkyPhoneFieldFixture_instances = new WeakSet(), _SkyPhoneFieldFixture_countryElement_get = function _SkyPhoneFieldFixture_countryElement_get() {
|
|
156
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('sky-country-field')).nativeElement;
|
|
157
|
+
}, _SkyPhoneFieldFixture_countryFlagButtonContainer_get = function _SkyPhoneFieldFixture_countryFlagButtonContainer_get() {
|
|
158
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('.sky-phone-field-country-btn'))
|
|
159
|
+
.nativeElement;
|
|
160
|
+
}, _SkyPhoneFieldFixture_countryFlagButton_get = function _SkyPhoneFieldFixture_countryFlagButton_get() {
|
|
161
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('.sky-phone-field-country-btn .sky-btn'))
|
|
162
|
+
.nativeElement;
|
|
163
|
+
}, _SkyPhoneFieldFixture_phoneFieldInput_get = function _SkyPhoneFieldFixture_phoneFieldInput_get() {
|
|
164
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__debugEl, "f").query(By.css('input[skyPhoneFieldInput]'))
|
|
165
|
+
.nativeElement;
|
|
166
|
+
}, _SkyPhoneFieldFixture_getCountryFixture =
|
|
162
167
|
/**
|
|
163
168
|
* The country-field can take a really long time to initialize. Since we can't perform an await
|
|
164
169
|
* in our constructor, it's safest to do a lazy load of the country field to avoid any race
|
|
165
170
|
* conditions where a test tries to access the sky-country-field element too quickly.
|
|
166
171
|
*/
|
|
167
|
-
|
|
172
|
+
function _SkyPhoneFieldFixture_getCountryFixture() {
|
|
168
173
|
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
-
if (this
|
|
174
|
+
if (__classPrivateFieldGet(this, _SkyPhoneFieldFixture__countryFixture, "f") === undefined) {
|
|
170
175
|
// tag the country field with a sky test id
|
|
171
|
-
const countrySkyTestId = `${this
|
|
172
|
-
this.
|
|
176
|
+
const countrySkyTestId = `${__classPrivateFieldGet(this, _SkyPhoneFieldFixture_skyTestId, "f")}-country`;
|
|
177
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_setSkyTestId).call(this, __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryElement_get), countrySkyTestId);
|
|
173
178
|
// initialize the country fixture
|
|
174
|
-
this
|
|
175
|
-
this.
|
|
176
|
-
yield this.
|
|
179
|
+
__classPrivateFieldSet(this, _SkyPhoneFieldFixture__countryFixture, new SkyCountryFieldFixture(__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f"), countrySkyTestId), "f");
|
|
180
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
181
|
+
yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
177
182
|
}
|
|
178
|
-
return this
|
|
183
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture__countryFixture, "f");
|
|
179
184
|
});
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
return this.fixture.whenStable();
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Checks whether the form-field control has set up a form control.
|
|
201
|
-
*/
|
|
202
|
-
hasFormControl() {
|
|
203
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
-
// If no form "NgControl" is bound to the form-field control, the form-field
|
|
205
|
-
// is not able to forward any control status classes. Therefore if either the
|
|
206
|
-
// "ng-touched" or "ng-untouched" class is set, we know that it has a form control.
|
|
207
|
-
const isTouched = this.phoneFieldInput.classList.contains('ng-touched');
|
|
208
|
-
const isUntouched = this.phoneFieldInput.classList.contains('ng-untouched');
|
|
209
|
-
return isTouched || isUntouched;
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
coerceBooleanProperty(value) {
|
|
213
|
-
return value != null && `${value}` !== 'false';
|
|
214
|
-
}
|
|
215
|
-
}
|
|
185
|
+
}, _SkyPhoneFieldFixture_openCountrySelection = function _SkyPhoneFieldFixture_openCountrySelection() {
|
|
186
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "a", _SkyPhoneFieldFixture_countryFlagButton_get).click();
|
|
188
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_instances, "m", _SkyPhoneFieldFixture_waitForCountrySelection).call(this);
|
|
189
|
+
});
|
|
190
|
+
}, _SkyPhoneFieldFixture_setSkyTestId = function _SkyPhoneFieldFixture_setSkyTestId(element, skyTestId) {
|
|
191
|
+
element.setAttribute('data-sky-id', skyTestId);
|
|
192
|
+
}, _SkyPhoneFieldFixture_waitForCountrySelection = function _SkyPhoneFieldFixture_waitForCountrySelection() {
|
|
193
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
+
// any country selection needs extra time to complete
|
|
195
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
196
|
+
yield __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
197
|
+
__classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
|
|
198
|
+
return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
|
|
199
|
+
});
|
|
200
|
+
};
|
|
216
201
|
|
|
217
202
|
/**
|
|
218
203
|
* Generated bundle index. Do not edit.
|