@skyux/lookup 11.11.2 → 11.12.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.
@@ -0,0 +1,139 @@
1
+ import { SkyOverlayHarness } from '@skyux/core/testing';
2
+ import { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';
3
+ import { SkyAutocompleteInputHarness } from '../autocomplete/autocomplete-input-harness';
4
+ import { SkyCountryFieldSearchResultHarness } from './country-field-search-result-harness';
5
+ /**
6
+ * Harness for interacting with a country field component in tests.
7
+ */
8
+ export class SkyCountryFieldHarness extends SkyAutocompleteHarness {
9
+ /**
10
+ * Finds a standard country field component, or a country field component that is wrapped by an input box component.
11
+ * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-country-field`
12
+ * element is removed from the DOM.
13
+ * @internal
14
+ */
15
+ static { this.hostSelector = 'sky-country-field,.sky-country-field-container'; }
16
+ #documentRootLocator = this.documentRootLocatorFactory();
17
+ #getInput = this.locatorFor(SkyAutocompleteInputHarness);
18
+ /**
19
+ * Gets a `HarnessPredicate` that can be used to search for a
20
+ * `SkyCountryFieldHarness` that meets certain criteria.
21
+ * These filters only work for standalone country fields.
22
+ * For country fields wrapped inside `sky-input-box`, place filters
23
+ * on the input box instead, and query the country field using a `SkyInputBoxHarness`.
24
+ * For the input box implementation, see the code example.
25
+ */
26
+ static with(filters) {
27
+ return SkyCountryFieldHarness.getDataSkyIdPredicate(filters);
28
+ }
29
+ /**
30
+ * Blurs the country field input.
31
+ */
32
+ async blur() {
33
+ return await super.blur();
34
+ }
35
+ /**
36
+ * Clears the country field input value.
37
+ */
38
+ async clear() {
39
+ return await super.clear();
40
+ }
41
+ /**
42
+ * Enters text into the country field input.
43
+ */
44
+ async enterText(value) {
45
+ return await super.enterText(value);
46
+ }
47
+ /**
48
+ * Focuses the country field input.
49
+ */
50
+ async focus() {
51
+ return await super.focus();
52
+ }
53
+ /**
54
+ * Gets the country field `aria-labelledby` value.
55
+ * This is not needed for country field because the id is generated internally,
56
+ * and the method is marked internal to prevent it from being documented publicly.
57
+ * @internal
58
+ */
59
+ /* istanbul ignore next */
60
+ async getAriaLabelledby() {
61
+ return await super.getAriaLabelledby();
62
+ }
63
+ /**
64
+ * Returns country field search result harnesses.
65
+ */
66
+ async getSearchResults(filters) {
67
+ const overlay = await this.#getOverlay();
68
+ if (!overlay) {
69
+ throw new Error('Unable to retrieve search results. The country field is closed.');
70
+ }
71
+ const harnesses = await overlay.queryHarnesses(SkyCountryFieldSearchResultHarness.with(filters || {}));
72
+ if (filters && harnesses.length === 0) {
73
+ // Stringify the regular expression so that it's readable in the console log.
74
+ if (filters.text instanceof RegExp) {
75
+ filters.text = filters.text.toString();
76
+ }
77
+ throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
78
+ }
79
+ return harnesses;
80
+ }
81
+ /**
82
+ * Returns the text content for each country field search result.
83
+ */
84
+ async getSearchResultsText(filters) {
85
+ const harnesses = await this.getSearchResults(filters);
86
+ const text = [];
87
+ for (const harness of harnesses) {
88
+ text.push(await harness.getText());
89
+ }
90
+ return text;
91
+ }
92
+ /**
93
+ * Gets the value of the country field input.
94
+ */
95
+ async getValue() {
96
+ return await super.getValue();
97
+ }
98
+ /**
99
+ * Gets the text displayed when no search results are found.
100
+ * For a country field, this is always the default text and the method
101
+ * is marked internal to prevent it from being documented publicly.
102
+ * @internal
103
+ */
104
+ /* istanbul ignore next */
105
+ async getNoResultsFoundText() {
106
+ return await super.getNoResultsFoundText();
107
+ }
108
+ /**
109
+ * Whether the country field input is disabled.
110
+ */
111
+ async isDisabled() {
112
+ return await super.isDisabled();
113
+ }
114
+ /**
115
+ * Whether the country field input is focused.
116
+ */
117
+ async isFocused() {
118
+ return await super.isFocused();
119
+ }
120
+ /**
121
+ * Whether the country field is open.
122
+ */
123
+ async isOpen() {
124
+ return await super.isOpen();
125
+ }
126
+ /**
127
+ * Selects a search result.
128
+ */
129
+ async selectSearchResult(filters) {
130
+ return await super.selectSearchResult(filters);
131
+ }
132
+ async #getOverlay() {
133
+ const overlayId = await (await this.#getInput()).getAriaControls();
134
+ return overlayId
135
+ ? this.#documentRootLocator.locatorForOptional(SkyOverlayHarness.with({ selector: `#${overlayId}` }))()
136
+ : null;
137
+ }
138
+ }
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUd6RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUczRjs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBc0I7SUFDaEU7Ozs7O09BS0c7YUFDb0IsaUJBQVksR0FDakMsZ0RBQWdELENBQUM7SUFFbkQsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFFekQsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUV6RDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFVLElBQUksQ0FDekIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsSUFBSTtRQUN4QixPQUFPLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNhLEtBQUssQ0FBQyxLQUFLO1FBQ3pCLE9BQU8sTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ2EsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFhO1FBQzNDLE9BQU8sTUFBTSxLQUFL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MUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUN0RCxFQUFFO1lBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlSGFybmVzcyB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWlucHV0LWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lDb3VudHJ5RmllbGRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY291bnRyeS1maWVsZC1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYSBjb3VudHJ5IGZpZWxkIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNvdW50cnlGaWVsZEhhcm5lc3MgZXh0ZW5kcyBTa3lBdXRvY29tcGxldGVIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEZpbmRzIGEgc3RhbmRhcmQgY291bnRyeSBmaWVsZCBjb21wb25lbnQsIG9yIGEgY291bnRyeSBmaWVsZCBjb21wb25lbnQgdGhhdCBpcyB3cmFwcGVkIGJ5IGFuIGlucHV0IGJveCBjb21wb25lbnQuXG4gICAqIEZvciBpbnB1dCBib3ggaW1wbGVtZW50YXRpb25zLCB3ZSBuZWVkIHRvIHVzZSB0aGUgYC5za3ktaW5wdXQtYm94YCBzZWxlY3RvciBzaW5jZSB0aGUgYHNreS1jb3VudHJ5LWZpZWxkYFxuICAgKiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgaG9zdFNlbGVjdG9yID1cbiAgICAnc2t5LWNvdW50cnktZmllbGQsLnNreS1jb3VudHJ5LWZpZWxkLWNvbnRhaW5lcic7XG5cbiAgI2RvY3VtZW50Um9vdExvY2F0b3IgPSB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCk7XG5cbiAgI2dldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKFNreUF1dG9jb21wbGV0ZUlucHV0SGFybmVzcyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUNvdW50cnlGaWVsZEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICogVGhlc2UgZmlsdGVycyBvbmx5IHdvcmsgZm9yIHN0YW5kYWxvbmUgY291bnRyeSBmaWVsZHMuXG4gICAqIEZvciBjb3VudHJ5IGZpZWxkcyB3cmFwcGVkIGluc2lkZSBgc2t5LWlucHV0LWJveGAsIHBsYWNlIGZpbHRlcnNcbiAgICogb24gdGhlIGlucHV0IGJveCBpbnN0ZWFkLCBhbmQgcXVlcnkgdGhlIGNvdW50cnkgZmllbGQgdXNpbmcgYSBgU2t5SW5wdXRCb3hIYXJuZXNzYC5cbiAgICogRm9yIHRoZSBpbnB1dCBib3ggaW1wbGVtZW50YXRpb24sIHNlZSB0aGUgY29kZSBleGFtcGxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUNvdW50cnlGaWVsZEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNvdW50cnlGaWVsZEhhcm5lc3M+IHtcbiAgICByZXR1cm4gU2t5Q291bnRyeUZpZWxkSGFybmVzcy5nZXREYXRhU2t5SWRQcmVkaWNhdGUoZmlsdGVycyk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY291bnRyeSBmaWVsZCBpbnB1dCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnMgdGV4dCBpbnRvIHRoZSBjb3VudHJ5IGZpZWxkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGVudGVyVGV4dCh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmVudGVyVGV4dCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgY291bnRyeSBmaWVsZCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjb3VudHJ5IGZpZWxkICBgYXJpYS1sYWJlbGxlZGJ5YCB2YWx1ZS5cbiAgICogVGhpcyBpcyBub3QgbmVlZGVkIGZvciBjb3VudHJ5IGZpZWxkIGJlY2F1c2UgdGhlIGlkIGlzIGdlbmVyYXRlZCBpbnRlcm5hbGx5LFxuICAgKiBhbmQgdGhlIG1ldGhvZCBpcyBtYXJrZWQgaW50ZXJuYWwgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGRvY3VtZW50ZWQgcHVibGljbHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGdldEFyaWFMYWJlbGxlZGJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5nZXRBcmlhTGFiZWxsZWRieSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgY291bnRyeSBmaWVsZCBzZWFyY2ggcmVzdWx0IGhhcm5lc3Nlcy5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRTZWFyY2hSZXN1bHRzKFxuICAgIGZpbHRlcnM/OiBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzW10+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgc2VhcmNoIHJlc3VsdHMuIFRoZSBjb3VudHJ5IGZpZWxkIGlzIGNsb3NlZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCBvdmVybGF5LnF1ZXJ5SGFybmVzc2VzKFxuICAgICAgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pLFxuICAgICk7XG5cbiAgICBpZiAoZmlsdGVycyAmJiBoYXJuZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBTdHJpbmdpZnkgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBzbyB0aGF0IGl0J3MgcmVhZGFibGUgaW4gdGhlIGNvbnNvbGUgbG9nLlxuICAgICAgaWYgKGZpbHRlcnMudGV4dCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICBmaWx0ZXJzLnRleHQgPSBmaWx0ZXJzLnRleHQudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgc2VhcmNoIHJlc3VsdHMgbWF0Y2hpbmcgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhcm5lc3NlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZXh0IGNvbnRlbnQgZm9yIGVhY2ggY291bnRyeSBmaWVsZCBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGdldFNlYXJjaFJlc3VsdHNUZXh0KFxuICAgIGZpbHRlcnM/OiBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IHRoaXMuZ2V0U2VhcmNoUmVzdWx0cyhmaWx0ZXJzKTtcblxuICAgIGNvbnN0IHRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBoYXJuZXNzIG9mIGhhcm5lc3Nlcykge1xuICAgICAgdGV4dC5wdXNoKGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY291bnRyeSBmaWVsZCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHRleHQgZGlzcGxheWVkIHdoZW4gbm8gc2VhcmNoIHJlc3VsdHMgYXJlIGZvdW5kLlxuICAgKiBGb3IgYSBjb3VudHJ5IGZpZWxkLCB0aGlzIGlzIGFsd2F5cyB0aGUgZGVmYXVsdCB0ZXh0IGFuZCB0aGUgbWV0aG9kXG4gICAqIGlzIG1hcmtlZCBpbnRlcm5hbCB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgZG9jdW1lbnRlZCBwdWJsaWNseS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0Tm9SZXN1bHRzRm91bmRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmdldE5vUmVzdWx0c0ZvdW5kVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuaXNEaXNhYmxlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmlzRm9jdXNlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvdW50cnkgZmllbGQgaXMgb3Blbi5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBpc09wZW4oKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmlzT3BlbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYSBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIHNlbGVjdFNlYXJjaFJlc3VsdChcbiAgICBmaWx0ZXJzOiBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLnNlbGVjdFNlYXJjaFJlc3VsdChmaWx0ZXJzKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRPdmVybGF5KCk6IFByb21pc2U8U2t5T3ZlcmxheUhhcm5lc3MgfCBudWxsPiB7XG4gICAgY29uc3Qgb3ZlcmxheUlkID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEFyaWFDb250cm9scygpO1xuXG4gICAgcmV0dXJuIG92ZXJsYXlJZFxuICAgICAgPyB0aGlzLiNkb2N1bWVudFJvb3RMb2NhdG9yLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgICAgICBTa3lPdmVybGF5SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6IGAjJHtvdmVybGF5SWR9YCB9KSxcbiAgICAgICAgKSgpXG4gICAgICA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc2AgaW5zdGFuY2VzLlxuICogQGludGVybmFsXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnNcbiAgZXh0ZW5kcyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB7fVxuIl19
@@ -0,0 +1,24 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { SkyAutocompleteSearchResultHarness } from '../autocomplete/autocomplete-search-result-harness';
3
+ /**
4
+ * Harness for interacting with an autocomplete search result in tests.
5
+ */
6
+ export class SkyCountryFieldSearchResultHarness extends SkyAutocompleteSearchResultHarness {
7
+ /**
8
+ * Gets a `HarnessPredicate` that can be used to search for a
9
+ * `SkyCountryFieldSearchResultHarness` that meets certain criteria.
10
+ */
11
+ static with(filters) {
12
+ return new HarnessPredicate(SkyCountryFieldSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => HarnessPredicate.stringMatches(await harness.getText(), text));
13
+ }
14
+ /**
15
+ * Returns the value of the search result's descriptor property.
16
+ * This is not needed by country field because it is always set to the country name,
17
+ * and the method is marked internal to prevent it from being documented publicly.
18
+ * @internal
19
+ */
20
+ async getDescriptorValue() {
21
+ return await super.getDescriptorValue();
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2NvdW50cnktZmllbGQvY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFJeEc7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsa0NBQWtDO0lBQ3hGOzs7T0FHRztJQUNJLE1BQU0sQ0FBVSxJQUFJLENBQ3pCLE9BQWtEO1FBRWxELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsa0NBQWtDLEVBQ2xDLE9BQU8sQ0FDUixDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQy9ELGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNhLEtBQUssQ0FBQyxrQkFBa0I7UUFDdEMsT0FBTyxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcyc7XG5cbmltcG9ydCB7IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGFuIGF1dG9jb21wbGV0ZSBzZWFyY2ggcmVzdWx0IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzcyBleHRlbmRzIFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3Mge1xuICAvKipcbiAgICogR2V0cyBhIGBIYXJuZXNzUHJlZGljYXRlYCB0aGF0IGNhbiBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYVxuICAgKiBgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc2AgdGhhdCBtZWV0cyBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSB3aXRoKFxuICAgIGZpbHRlcnM6IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzLFxuICApOiBIYXJuZXNzUHJlZGljYXRlPFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoXG4gICAgICBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzLFxuICAgICAgZmlsdGVycyxcbiAgICApLmFkZE9wdGlvbigndGV4dENvbnRlbnQnLCBmaWx0ZXJzLnRleHQsIGFzeW5jIChoYXJuZXNzLCB0ZXh0KSA9PlxuICAgICAgSGFybmVzc1ByZWRpY2F0ZS5zdHJpbmdNYXRjaGVzKGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpLCB0ZXh0KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBzZWFyY2ggcmVzdWx0J3MgZGVzY3JpcHRvciBwcm9wZXJ0eS5cbiAgICogVGhpcyBpcyBub3QgbmVlZGVkIGJ5IGNvdW50cnkgZmllbGQgYmVjYXVzZSBpdCBpcyBhbHdheXMgc2V0IHRvIHRoZSBjb3VudHJ5IG5hbWUsXG4gICAqIGFuZCB0aGUgbWV0aG9kIGlzIG1hcmtlZCBpbnRlcm5hbCB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgZG9jdW1lbnRlZCBwdWJsaWNseS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0RGVzY3JpcHRvclZhbHVlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmdldERlc2NyaXB0b3JWYWx1ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,8 @@
1
1
  export { SkyAutocompleteHarness } from './autocomplete/autocomplete-harness';
2
2
  export { SkyAutocompleteSearchResultHarness } from './autocomplete/autocomplete-search-result-harness';
3
3
  export { SkyCountryFieldFixture } from './country-field/country-field-fixture';
4
+ export { SkyCountryFieldHarness } from './country-field/country-field-harness';
5
+ export { SkyCountryFieldSearchResultHarness } from './country-field/country-field-search-result-harness';
4
6
  export { SkyCountryFieldTestingModule } from './country-field/country-field-testing.module';
5
7
  export { SkyLookupHarness } from './lookup/lookup-harness';
6
8
  export { SkyLookupSelectionHarness } from './lookup/lookup-selection-harness';
@@ -12,4 +14,4 @@ export { SkySearchHarness } from './search/search-harness';
12
14
  export { SkySearchTestingModule } from './search/search-testing.module';
13
15
  export { SkySelectionModalHarness } from './selection-modal/selection-modal-harness';
14
16
  export { SkySelectionModalSearchResultHarness } from './selection-modal/selection-modal-search-result-harness';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUd2RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUU1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUxRixPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUdwSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx5REFBeUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtZml4dHVyZSc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRUZXN0aW5nTW9kdWxlIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtdGVzdGluZy5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lMb29rdXBIYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2xvb2t1cC9sb29rdXAtaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNlbGVjdGlvbkhhcm5lc3MgfSBmcm9tICcuL2xvb2t1cC9sb29rdXAtc2VsZWN0aW9uLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2VsZWN0aW9uSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2xvb2t1cC9sb29rdXAtc2VsZWN0aW9uLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lMb29rdXBTZWxlY3Rpb25zTGlzdEhhcm5lc3MgfSBmcm9tICcuL2xvb2t1cC9sb29rdXAtc2VsZWN0aW9ucy1saXN0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJIYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1waWNrZXItaGFybmVzcyc7XG5leHBvcnQgeyBTa3lMb29rdXBTaG93TW9yZVBpY2tlckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1waWNrZXItaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNob3dNb3JlUGlja2VyU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLXNlYXJjaC1yZXN1bHQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lMb29rdXBTaG93TW9yZVBpY2tlclNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1waWNrZXItc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lTZWFyY2hGaXh0dXJlIH0gZnJvbSAnLi9zZWFyY2gvc2VhcmNoLWZpeHR1cmUnO1xuZXhwb3J0IHsgU2t5U2VhcmNoSGFybmVzcyB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVNlYXJjaEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWFyY2gvc2VhcmNoLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lTZWFyY2hUZXN0aW5nTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gvc2VhcmNoLXRlc3RpbmcubW9kdWxlJztcblxuZXhwb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxIYXJuZXNzIH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUd2RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUV6RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUU1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUxRixPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUdwSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx5REFBeUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtZml4dHVyZSc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRIYXJuZXNzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5Q291bnRyeUZpZWxkVGVzdGluZ01vZHVsZSB9IGZyb20gJy4vY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLXRlc3RpbmcubW9kdWxlJztcblxuZXhwb3J0IHsgU2t5TG9va3VwSGFybmVzcyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lMb29rdXBTZWxlY3Rpb25IYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNlbGVjdGlvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2VsZWN0aW9uc0xpc3RIYXJuZXNzIH0gZnJvbSAnLi9sb29rdXAvbG9va3VwLXNlbGVjdGlvbnMtbGlzdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNob3dNb3JlUGlja2VySGFybmVzcyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lMb29rdXBTaG93TW9yZVBpY2tlclNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuL2xvb2t1cC9sb29rdXAtc2hvdy1tb3JlLXBpY2tlci1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5U2VhcmNoRml4dHVyZSB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC1maXh0dXJlJztcbmV4cG9ydCB7IFNreVNlYXJjaEhhcm5lc3MgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lTZWFyY2hIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5U2VhcmNoVGVzdGluZ01vZHVsZSB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC10ZXN0aW5nLm1vZHVsZSc7XG5cbmV4cG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsSGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG4iXX0=
@@ -404,6 +404,163 @@ class SkyCountryFieldFixture {
404
404
  }
405
405
  }
406
406
 
407
+ /**
408
+ * Harness for interacting with an autocomplete search result in tests.
409
+ */
410
+ class SkyCountryFieldSearchResultHarness extends SkyAutocompleteSearchResultHarness {
411
+ /**
412
+ * Gets a `HarnessPredicate` that can be used to search for a
413
+ * `SkyCountryFieldSearchResultHarness` that meets certain criteria.
414
+ */
415
+ static with(filters) {
416
+ return new HarnessPredicate(SkyCountryFieldSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => HarnessPredicate.stringMatches(await harness.getText(), text));
417
+ }
418
+ /**
419
+ * Returns the value of the search result's descriptor property.
420
+ * This is not needed by country field because it is always set to the country name,
421
+ * and the method is marked internal to prevent it from being documented publicly.
422
+ * @internal
423
+ */
424
+ async getDescriptorValue() {
425
+ return await super.getDescriptorValue();
426
+ }
427
+ }
428
+
429
+ /**
430
+ * Harness for interacting with a country field component in tests.
431
+ */
432
+ class SkyCountryFieldHarness extends SkyAutocompleteHarness {
433
+ /**
434
+ * Finds a standard country field component, or a country field component that is wrapped by an input box component.
435
+ * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-country-field`
436
+ * element is removed from the DOM.
437
+ * @internal
438
+ */
439
+ static { this.hostSelector = 'sky-country-field,.sky-country-field-container'; }
440
+ #documentRootLocator = this.documentRootLocatorFactory();
441
+ #getInput = this.locatorFor(SkyAutocompleteInputHarness);
442
+ /**
443
+ * Gets a `HarnessPredicate` that can be used to search for a
444
+ * `SkyCountryFieldHarness` that meets certain criteria.
445
+ * These filters only work for standalone country fields.
446
+ * For country fields wrapped inside `sky-input-box`, place filters
447
+ * on the input box instead, and query the country field using a `SkyInputBoxHarness`.
448
+ * For the input box implementation, see the code example.
449
+ */
450
+ static with(filters) {
451
+ return SkyCountryFieldHarness.getDataSkyIdPredicate(filters);
452
+ }
453
+ /**
454
+ * Blurs the country field input.
455
+ */
456
+ async blur() {
457
+ return await super.blur();
458
+ }
459
+ /**
460
+ * Clears the country field input value.
461
+ */
462
+ async clear() {
463
+ return await super.clear();
464
+ }
465
+ /**
466
+ * Enters text into the country field input.
467
+ */
468
+ async enterText(value) {
469
+ return await super.enterText(value);
470
+ }
471
+ /**
472
+ * Focuses the country field input.
473
+ */
474
+ async focus() {
475
+ return await super.focus();
476
+ }
477
+ /**
478
+ * Gets the country field `aria-labelledby` value.
479
+ * This is not needed for country field because the id is generated internally,
480
+ * and the method is marked internal to prevent it from being documented publicly.
481
+ * @internal
482
+ */
483
+ /* istanbul ignore next */
484
+ async getAriaLabelledby() {
485
+ return await super.getAriaLabelledby();
486
+ }
487
+ /**
488
+ * Returns country field search result harnesses.
489
+ */
490
+ async getSearchResults(filters) {
491
+ const overlay = await this.#getOverlay();
492
+ if (!overlay) {
493
+ throw new Error('Unable to retrieve search results. The country field is closed.');
494
+ }
495
+ const harnesses = await overlay.queryHarnesses(SkyCountryFieldSearchResultHarness.with(filters || {}));
496
+ if (filters && harnesses.length === 0) {
497
+ // Stringify the regular expression so that it's readable in the console log.
498
+ if (filters.text instanceof RegExp) {
499
+ filters.text = filters.text.toString();
500
+ }
501
+ throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
502
+ }
503
+ return harnesses;
504
+ }
505
+ /**
506
+ * Returns the text content for each country field search result.
507
+ */
508
+ async getSearchResultsText(filters) {
509
+ const harnesses = await this.getSearchResults(filters);
510
+ const text = [];
511
+ for (const harness of harnesses) {
512
+ text.push(await harness.getText());
513
+ }
514
+ return text;
515
+ }
516
+ /**
517
+ * Gets the value of the country field input.
518
+ */
519
+ async getValue() {
520
+ return await super.getValue();
521
+ }
522
+ /**
523
+ * Gets the text displayed when no search results are found.
524
+ * For a country field, this is always the default text and the method
525
+ * is marked internal to prevent it from being documented publicly.
526
+ * @internal
527
+ */
528
+ /* istanbul ignore next */
529
+ async getNoResultsFoundText() {
530
+ return await super.getNoResultsFoundText();
531
+ }
532
+ /**
533
+ * Whether the country field input is disabled.
534
+ */
535
+ async isDisabled() {
536
+ return await super.isDisabled();
537
+ }
538
+ /**
539
+ * Whether the country field input is focused.
540
+ */
541
+ async isFocused() {
542
+ return await super.isFocused();
543
+ }
544
+ /**
545
+ * Whether the country field is open.
546
+ */
547
+ async isOpen() {
548
+ return await super.isOpen();
549
+ }
550
+ /**
551
+ * Selects a search result.
552
+ */
553
+ async selectSearchResult(filters) {
554
+ return await super.selectSearchResult(filters);
555
+ }
556
+ async #getOverlay() {
557
+ const overlayId = await (await this.#getInput()).getAriaControls();
558
+ return overlayId
559
+ ? this.#documentRootLocator.locatorForOptional(SkyOverlayHarness.with({ selector: `#${overlayId}` }))()
560
+ : null;
561
+ }
562
+ }
563
+
407
564
  /**
408
565
  * @internal
409
566
  */
@@ -949,5 +1106,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
949
1106
  * Generated bundle index. Do not edit.
950
1107
  */
951
1108
 
952
- export { SkyAutocompleteHarness, SkyAutocompleteSearchResultHarness, SkyCountryFieldFixture, SkyCountryFieldTestingModule, SkyLookupHarness, SkyLookupSelectionHarness, SkyLookupSelectionsListHarness, SkyLookupShowMorePickerHarness, SkyLookupShowMorePickerSearchResultHarness, SkySearchFixture, SkySearchHarness, SkySearchTestingModule, SkySelectionModalHarness, SkySelectionModalSearchResultHarness };
1109
+ export { SkyAutocompleteHarness, SkyAutocompleteSearchResultHarness, SkyCountryFieldFixture, SkyCountryFieldHarness, SkyCountryFieldSearchResultHarness, SkyCountryFieldTestingModule, SkyLookupHarness, SkyLookupSelectionHarness, SkyLookupSelectionsListHarness, SkyLookupShowMorePickerHarness, SkyLookupShowMorePickerSearchResultHarness, SkySearchFixture, SkySearchHarness, SkySearchTestingModule, SkySelectionModalHarness, SkySelectionModalSearchResultHarness };
953
1110
  //# sourceMappingURL=skyux-lookup-testing.mjs.map