@skyux/phone-field 12.1.0 → 12.2.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.
@@ -2,11 +2,11 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
2
  import { By } from '@angular/platform-browser';
3
3
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
4
4
  import { SkyCountryFieldFixture, SkyCountryFieldHarness } from '@skyux/lookup/testing';
5
- import { SkyInputHarness, SkyComponentHarness } from '@skyux/core/testing';
6
5
  import * as i0 from '@angular/core';
7
6
  import { NgModule } from '@angular/core';
8
7
  import { NoopAnimationsModule } from '@angular/platform-browser/animations';
9
8
  import { SkyPhoneFieldModule } from '@skyux/phone-field';
9
+ import { SkyInputHarness, SkyComponentHarness } from '@skyux/core/testing';
10
10
 
11
11
  /**
12
12
  * Provides information for and interaction with a SKY UX phone field component.
@@ -155,6 +155,32 @@ class SkyPhoneFieldFixture {
155
155
  }
156
156
  }
157
157
 
158
+ /**
159
+ * @internal
160
+ */
161
+ class SkyPhoneFieldTestingModule {
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
163
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, exports: [SkyPhoneFieldModule,
164
+ // The noop animations module needs to be loaded last to avoid
165
+ // subsequent modules adding animations and overriding this.
166
+ NoopAnimationsModule] }); }
167
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, imports: [SkyPhoneFieldModule,
168
+ // The noop animations module needs to be loaded last to avoid
169
+ // subsequent modules adding animations and overriding this.
170
+ NoopAnimationsModule] }); }
171
+ }
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, decorators: [{
173
+ type: NgModule,
174
+ args: [{
175
+ exports: [
176
+ SkyPhoneFieldModule,
177
+ // The noop animations module needs to be loaded last to avoid
178
+ // subsequent modules adding animations and overriding this.
179
+ NoopAnimationsModule,
180
+ ],
181
+ }]
182
+ }] });
183
+
158
184
  /**
159
185
  * Harness to interact with the phone field input harness.
160
186
  */
@@ -235,35 +261,9 @@ class SkyPhoneFieldHarness extends SkyComponentHarness {
235
261
  }
236
262
  }
237
263
 
238
- /**
239
- * @internal
240
- */
241
- class SkyPhoneFieldTestingModule {
242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
243
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, exports: [SkyPhoneFieldModule,
244
- // The noop animations module needs to be loaded last to avoid
245
- // subsequent modules adding animations and overriding this.
246
- NoopAnimationsModule] }); }
247
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, imports: [SkyPhoneFieldModule,
248
- // The noop animations module needs to be loaded last to avoid
249
- // subsequent modules adding animations and overriding this.
250
- NoopAnimationsModule] }); }
251
- }
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: SkyPhoneFieldTestingModule, decorators: [{
253
- type: NgModule,
254
- args: [{
255
- exports: [
256
- SkyPhoneFieldModule,
257
- // The noop animations module needs to be loaded last to avoid
258
- // subsequent modules adding animations and overriding this.
259
- NoopAnimationsModule,
260
- ],
261
- }]
262
- }] });
263
-
264
264
  /**
265
265
  * Generated bundle index. Do not edit.
266
266
  */
267
267
 
268
- export { SkyPhoneFieldFixture, SkyPhoneFieldHarness, SkyPhoneFieldTestingModule };
268
+ export { SkyPhoneFieldFixture, SkyPhoneFieldHarness, SkyPhoneFieldInputHarness, SkyPhoneFieldTestingModule };
269
269
  //# sourceMappingURL=skyux-phone-field-testing.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-phone-field-testing.mjs","sources":["../../../../../libs/components/phone-field/testing/src/legacy/phone-field/phone-field-fixture.ts","../../../../../libs/components/phone-field/testing/src/modules/phone-field/phone-field-input-harness.ts","../../../../../libs/components/phone-field/testing/src/modules/phone-field/phone-field-harness.ts","../../../../../libs/components/phone-field/testing/src/legacy/phone-field/phone-field-testing.module.ts","../../../../../libs/components/phone-field/testing/src/skyux-phone-field-testing.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\nimport { SkyCountryFieldFixture } from '@skyux/lookup/testing';\n\n/**\n * Provides information for and interaction with a SKY UX phone field component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyPhoneFieldFixture {\n /**\n * The value of the input field for the phone field.\n */\n public get inputText(): string {\n return this.#phoneFieldInput.value;\n }\n\n /**\n * This property is lazy loaded and should be accessed via the #getCountryFixture() function.\n */\n #_countryFixture: SkyCountryFieldFixture | undefined;\n\n #_debugEl: DebugElement;\n\n #fixture: ComponentFixture<unknown>;\n\n #skyTestId: string;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#fixture = fixture;\n this.#skyTestId = skyTestId;\n this.#_debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-phone-field',\n );\n\n // The country selector needs extra time to initialize.\n // Consumers shouldn't need to work around this so we do an extra detect here\n fixture.detectChanges();\n }\n\n /**\n * Blurs the phone field input and returns a promise that indicates when the action is complete.\n */\n public async blur(): Promise<void> {\n SkyAppTestUtility.fireDomEvent(this.#phoneFieldInput, 'blur');\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n /**\n * Returns the selected country iso2 code.\n */\n public async getSelectedCountryIso2(): Promise<string | null> {\n // Wait for the country field to initialize.\n await this.#fixture.whenStable();\n return this.#countryFlagButtonContainer.getAttribute('data-sky-test-iso2');\n }\n\n /**\n * Returns the selected country name.\n */\n public async getSelectedCountryName(): Promise<string | null> {\n // Wait for the country field to initialize.\n await this.#fixture.whenStable();\n return this.#countryFlagButtonContainer.getAttribute('data-sky-test-name');\n }\n\n /**\n * Sets the value of the input field for the phone field.\n */\n public async setInputText(inputText: string): Promise<void> {\n const inputEl = this.#phoneFieldInput;\n inputEl.value = inputText;\n\n SkyAppTestUtility.fireDomEvent(inputEl, 'input');\n this.#fixture.detectChanges();\n\n SkyAppTestUtility.fireDomEvent(inputEl, 'change');\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n /**\n * Opens the country selector, performs a search, but makes no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async searchCountry(searchText: string): Promise<string[]> {\n await this.#openCountrySelection();\n\n const countryFixture = await this.#getCountryFixture();\n const results = await countryFixture.search(searchText);\n\n await this.#waitForCountrySelection();\n return results;\n }\n\n /**\n * Opens the country selector, performs a search, and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async selectCountry(searchText: string): Promise<void> {\n await this.#openCountrySelection();\n\n const countryFixture = await this.#getCountryFixture();\n await countryFixture.searchAndSelectFirstResult(searchText);\n\n await this.#waitForCountrySelection();\n }\n\n /**\n * Gets a boolean promise indicating if the phone field is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = this.#phoneFieldInput.getAttribute('disabled');\n\n return await Promise.resolve(coerceBooleanProperty(disabled));\n }\n\n /**\n * Gets a boolean promise indicating if the phone field is valid.\n */\n public async isValid(): Promise<boolean> {\n return await Promise.resolve(\n this.#phoneFieldInput.classList.contains('ng-valid'),\n );\n }\n\n get #countryElement(): HTMLInputElement {\n return this.#_debugEl.query(By.css('sky-country-field')).nativeElement;\n }\n\n get #countryFlagButtonContainer(): HTMLInputElement {\n return this.#_debugEl.query(By.css('.sky-phone-field-country-btn'))\n .nativeElement;\n }\n\n get #countryFlagButton(): HTMLInputElement {\n return this.#_debugEl.query(By.css('.sky-phone-field-country-btn .sky-btn'))\n .nativeElement;\n }\n\n get #phoneFieldInput(): HTMLInputElement {\n return this.#_debugEl.query(By.css('input[skyPhoneFieldInput]'))\n .nativeElement;\n }\n\n /**\n * The country-field can take a really long time to initialize. Since we can't perform an await\n * in our constructor, it's safest to do a lazy load of the country field to avoid any race\n * conditions where a test tries to access the sky-country-field element too quickly.\n */\n async #getCountryFixture(): Promise<SkyCountryFieldFixture> {\n if (this.#_countryFixture === undefined) {\n // tag the country field with a sky test id\n const countrySkyTestId = `${this.#skyTestId}-country`;\n this.#setSkyTestId(this.#countryElement, countrySkyTestId);\n\n // initialize the country fixture\n this.#_countryFixture = new SkyCountryFieldFixture(\n this.#fixture,\n countrySkyTestId,\n );\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n return this.#_countryFixture;\n }\n\n async #openCountrySelection(): Promise<void> {\n this.#countryFlagButton.click();\n await this.#waitForCountrySelection();\n }\n\n #setSkyTestId(element: HTMLElement, skyTestId: string): void {\n element.setAttribute('data-sky-id', skyTestId);\n }\n\n async #waitForCountrySelection(): Promise<void> {\n // any country selection needs extra time to complete\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n}\n","import { SkyInputHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the phone field input harness.\n */\nexport class SkyPhoneFieldInputHarness extends SkyInputHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyPhoneFieldInput]';\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyCountryFieldHarness } from '@skyux/lookup/testing';\n\nimport { SkyPhoneFieldHarnessFilters } from './phone-field-harness-filters';\nimport { SkyPhoneFieldInputHarness } from './phone-field-input-harness';\n\n/**\n * Harness for interacting with a phone field component in tests.\n */\nexport class SkyPhoneFieldHarness extends SkyComponentHarness {\n /**\n * Finds a standard phone field component, or a phone field component that is wrapped by an input box component.\n * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-country-field`\n * element is removed from the DOM.\n * @internal\n */\n public static hostSelector = 'sky-phone-field,.sky-input-box';\n\n #getCountryField = this.locatorForOptional(SkyCountryFieldHarness);\n #getCountryFieldButton = this.locatorFor(\n '.sky-phone-field-country-btn button',\n );\n #getCountryFieldButtonContainer = this.locatorFor(\n '.sky-phone-field-country-btn',\n );\n #getInput = this.locatorFor(SkyPhoneFieldInputHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPhoneFieldHarness` that meets certain criteria.\n *\n * These filters only work for standalone phone fields. For phone fields\n * wrapped inside `sky-input-box`, place filters on the input box\n * instead and query the datepicker using a `SkyInputBoxHarness`.\n * For the input box implementation, see the code example.\n */\n public static with(\n filters: SkyPhoneFieldHarnessFilters,\n ): HarnessPredicate<SkyPhoneFieldHarness> {\n return SkyPhoneFieldHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the phone field input harness.\n */\n public async getControl(): Promise<SkyPhoneFieldInputHarness> {\n return await this.#getInput();\n }\n\n /**\n * Returns the selected country iso2 code.\n */\n public async getSelectedCountryIso2(): Promise<string | null> {\n return await (\n await this.#getCountryFieldButtonContainer()\n ).getAttribute('data-sky-test-iso2');\n }\n\n /**\n * Returns the selected country name.\n */\n public async getSelectedCountryName(): Promise<string | null> {\n return await (\n await this.#getCountryFieldButtonContainer()\n ).getAttribute('data-sky-test-name');\n }\n\n /**\n * Opens the country selector, performs a search, but makes no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async searchCountry(searchText: string): Promise<string[]> {\n const countryField = await this.#openCountrySelectionAndSearch(searchText);\n\n return await countryField.getSearchResultsText();\n }\n\n /**\n * Opens the country selector, performs a search, and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async selectCountry(searchText: string): Promise<void> {\n const countryField = await this.#openCountrySelectionAndSearch(searchText);\n\n await countryField.selectSearchResult({});\n }\n\n async #openCountrySelectionAndSearch(\n searchText: string,\n ): Promise<SkyCountryFieldHarness> {\n await (await this.#getCountryFieldButton()).click();\n\n const countryField = await this.#getCountryField();\n\n await countryField?.enterText(searchText);\n\n return countryField!;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPhoneFieldModule } from '@skyux/phone-field';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [\n SkyPhoneFieldModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n})\nexport class SkyPhoneFieldTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-phone-field-testing.mjs","sources":["../../../../../libs/components/phone-field/testing/src/legacy/phone-field/phone-field-fixture.ts","../../../../../libs/components/phone-field/testing/src/legacy/phone-field/phone-field-testing.module.ts","../../../../../libs/components/phone-field/testing/src/modules/phone-field/phone-field-input-harness.ts","../../../../../libs/components/phone-field/testing/src/modules/phone-field/phone-field-harness.ts","../../../../../libs/components/phone-field/testing/src/skyux-phone-field-testing.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\nimport { SkyCountryFieldFixture } from '@skyux/lookup/testing';\n\n/**\n * Provides information for and interaction with a SKY UX phone field component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyPhoneFieldFixture {\n /**\n * The value of the input field for the phone field.\n */\n public get inputText(): string {\n return this.#phoneFieldInput.value;\n }\n\n /**\n * This property is lazy loaded and should be accessed via the #getCountryFixture() function.\n */\n #_countryFixture: SkyCountryFieldFixture | undefined;\n\n #_debugEl: DebugElement;\n\n #fixture: ComponentFixture<unknown>;\n\n #skyTestId: string;\n\n constructor(fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.#fixture = fixture;\n this.#skyTestId = skyTestId;\n this.#_debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-phone-field',\n );\n\n // The country selector needs extra time to initialize.\n // Consumers shouldn't need to work around this so we do an extra detect here\n fixture.detectChanges();\n }\n\n /**\n * Blurs the phone field input and returns a promise that indicates when the action is complete.\n */\n public async blur(): Promise<void> {\n SkyAppTestUtility.fireDomEvent(this.#phoneFieldInput, 'blur');\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n /**\n * Returns the selected country iso2 code.\n */\n public async getSelectedCountryIso2(): Promise<string | null> {\n // Wait for the country field to initialize.\n await this.#fixture.whenStable();\n return this.#countryFlagButtonContainer.getAttribute('data-sky-test-iso2');\n }\n\n /**\n * Returns the selected country name.\n */\n public async getSelectedCountryName(): Promise<string | null> {\n // Wait for the country field to initialize.\n await this.#fixture.whenStable();\n return this.#countryFlagButtonContainer.getAttribute('data-sky-test-name');\n }\n\n /**\n * Sets the value of the input field for the phone field.\n */\n public async setInputText(inputText: string): Promise<void> {\n const inputEl = this.#phoneFieldInput;\n inputEl.value = inputText;\n\n SkyAppTestUtility.fireDomEvent(inputEl, 'input');\n this.#fixture.detectChanges();\n\n SkyAppTestUtility.fireDomEvent(inputEl, 'change');\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n /**\n * Opens the country selector, performs a search, but makes no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async searchCountry(searchText: string): Promise<string[]> {\n await this.#openCountrySelection();\n\n const countryFixture = await this.#getCountryFixture();\n const results = await countryFixture.search(searchText);\n\n await this.#waitForCountrySelection();\n return results;\n }\n\n /**\n * Opens the country selector, performs a search, and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async selectCountry(searchText: string): Promise<void> {\n await this.#openCountrySelection();\n\n const countryFixture = await this.#getCountryFixture();\n await countryFixture.searchAndSelectFirstResult(searchText);\n\n await this.#waitForCountrySelection();\n }\n\n /**\n * Gets a boolean promise indicating if the phone field is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n const disabled = this.#phoneFieldInput.getAttribute('disabled');\n\n return await Promise.resolve(coerceBooleanProperty(disabled));\n }\n\n /**\n * Gets a boolean promise indicating if the phone field is valid.\n */\n public async isValid(): Promise<boolean> {\n return await Promise.resolve(\n this.#phoneFieldInput.classList.contains('ng-valid'),\n );\n }\n\n get #countryElement(): HTMLInputElement {\n return this.#_debugEl.query(By.css('sky-country-field')).nativeElement;\n }\n\n get #countryFlagButtonContainer(): HTMLInputElement {\n return this.#_debugEl.query(By.css('.sky-phone-field-country-btn'))\n .nativeElement;\n }\n\n get #countryFlagButton(): HTMLInputElement {\n return this.#_debugEl.query(By.css('.sky-phone-field-country-btn .sky-btn'))\n .nativeElement;\n }\n\n get #phoneFieldInput(): HTMLInputElement {\n return this.#_debugEl.query(By.css('input[skyPhoneFieldInput]'))\n .nativeElement;\n }\n\n /**\n * The country-field can take a really long time to initialize. Since we can't perform an await\n * in our constructor, it's safest to do a lazy load of the country field to avoid any race\n * conditions where a test tries to access the sky-country-field element too quickly.\n */\n async #getCountryFixture(): Promise<SkyCountryFieldFixture> {\n if (this.#_countryFixture === undefined) {\n // tag the country field with a sky test id\n const countrySkyTestId = `${this.#skyTestId}-country`;\n this.#setSkyTestId(this.#countryElement, countrySkyTestId);\n\n // initialize the country fixture\n this.#_countryFixture = new SkyCountryFieldFixture(\n this.#fixture,\n countrySkyTestId,\n );\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n\n return this.#_countryFixture;\n }\n\n async #openCountrySelection(): Promise<void> {\n this.#countryFlagButton.click();\n await this.#waitForCountrySelection();\n }\n\n #setSkyTestId(element: HTMLElement, skyTestId: string): void {\n element.setAttribute('data-sky-id', skyTestId);\n }\n\n async #waitForCountrySelection(): Promise<void> {\n // any country selection needs extra time to complete\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n\n this.#fixture.detectChanges();\n await this.#fixture.whenStable();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPhoneFieldModule } from '@skyux/phone-field';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [\n SkyPhoneFieldModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n})\nexport class SkyPhoneFieldTestingModule {}\n","import { SkyInputHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the phone field input harness.\n */\nexport class SkyPhoneFieldInputHarness extends SkyInputHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyPhoneFieldInput]';\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\nimport { SkyCountryFieldHarness } from '@skyux/lookup/testing';\n\nimport { SkyPhoneFieldHarnessFilters } from './phone-field-harness-filters';\nimport { SkyPhoneFieldInputHarness } from './phone-field-input-harness';\n\n/**\n * Harness for interacting with a phone field component in tests.\n */\nexport class SkyPhoneFieldHarness extends SkyComponentHarness {\n /**\n * Finds a standard phone field component, or a phone field component that is wrapped by an input box component.\n * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-country-field`\n * element is removed from the DOM.\n * @internal\n */\n public static hostSelector = 'sky-phone-field,.sky-input-box';\n\n #getCountryField = this.locatorForOptional(SkyCountryFieldHarness);\n #getCountryFieldButton = this.locatorFor(\n '.sky-phone-field-country-btn button',\n );\n #getCountryFieldButtonContainer = this.locatorFor(\n '.sky-phone-field-country-btn',\n );\n #getInput = this.locatorFor(SkyPhoneFieldInputHarness);\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyPhoneFieldHarness` that meets certain criteria.\n *\n * These filters only work for standalone phone fields. For phone fields\n * wrapped inside `sky-input-box`, place filters on the input box\n * instead and query the datepicker using a `SkyInputBoxHarness`.\n * For the input box implementation, see the code example.\n */\n public static with(\n filters: SkyPhoneFieldHarnessFilters,\n ): HarnessPredicate<SkyPhoneFieldHarness> {\n return SkyPhoneFieldHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Gets the phone field input harness.\n */\n public async getControl(): Promise<SkyPhoneFieldInputHarness> {\n return await this.#getInput();\n }\n\n /**\n * Returns the selected country iso2 code.\n */\n public async getSelectedCountryIso2(): Promise<string | null> {\n return await (\n await this.#getCountryFieldButtonContainer()\n ).getAttribute('data-sky-test-iso2');\n }\n\n /**\n * Returns the selected country name.\n */\n public async getSelectedCountryName(): Promise<string | null> {\n return await (\n await this.#getCountryFieldButtonContainer()\n ).getAttribute('data-sky-test-name');\n }\n\n /**\n * Opens the country selector, performs a search, but makes no selection.\n * @param searchText The name of the country to select.\n * @returns The list of country names matching the search text.\n */\n public async searchCountry(searchText: string): Promise<string[]> {\n const countryField = await this.#openCountrySelectionAndSearch(searchText);\n\n return await countryField.getSearchResultsText();\n }\n\n /**\n * Opens the country selector, performs a search, and selects the first result (if any).\n * @param searchText The name of the country to select.\n */\n public async selectCountry(searchText: string): Promise<void> {\n const countryField = await this.#openCountrySelectionAndSearch(searchText);\n\n await countryField.selectSearchResult({});\n }\n\n async #openCountrySelectionAndSearch(\n searchText: string,\n ): Promise<SkyCountryFieldHarness> {\n await (await this.#getCountryFieldButton()).click();\n\n const countryField = await this.#getCountryField();\n\n await countryField?.enterText(searchText);\n\n return countryField!;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/phone-field",
3
- "version": "12.1.0",
3
+ "version": "12.2.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -22,13 +22,13 @@
22
22
  "@angular/core": "^19.2.1",
23
23
  "@angular/forms": "^19.2.1",
24
24
  "@angular/platform-browser": "^19.2.1",
25
- "@skyux-sdk/testing": "12.1.0",
26
- "@skyux/core": "12.1.0",
27
- "@skyux/forms": "12.1.0",
28
- "@skyux/i18n": "12.1.0",
29
- "@skyux/icon": "12.1.0",
30
- "@skyux/lookup": "12.1.0",
31
- "@skyux/theme": "12.1.0"
25
+ "@skyux-sdk/testing": "12.2.0",
26
+ "@skyux/core": "12.2.0",
27
+ "@skyux/forms": "12.2.0",
28
+ "@skyux/i18n": "12.2.0",
29
+ "@skyux/icon": "12.2.0",
30
+ "@skyux/lookup": "12.2.0",
31
+ "@skyux/theme": "12.2.0"
32
32
  },
33
33
  "dependencies": {
34
34
  "google-libphonenumber": "3.2.40",
@@ -1,4 +1,5 @@
1
1
  export { SkyPhoneFieldFixture } from './legacy/phone-field/phone-field-fixture';
2
+ export { SkyPhoneFieldTestingModule } from './legacy/phone-field/phone-field-testing.module';
2
3
  export { SkyPhoneFieldHarness } from './modules/phone-field/phone-field-harness';
3
4
  export { SkyPhoneFieldHarnessFilters } from './modules/phone-field/phone-field-harness-filters';
4
- export { SkyPhoneFieldTestingModule } from './legacy/phone-field/phone-field-testing.module';
5
+ export { SkyPhoneFieldInputHarness } from './modules/phone-field/phone-field-input-harness';