@skyux/lookup 11.22.0 → 11.23.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 +1965 -1846
- package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +2 -2
- package/esm2022/lib/modules/country-field/country-field.component.mjs +3 -3
- package/esm2022/lib/modules/lookup/lookup.component.mjs +2 -2
- package/esm2022/lib/modules/search/search.component.mjs +3 -3
- package/esm2022/testing/legacy/country-field/country-field-fixture.mjs +121 -0
- package/esm2022/testing/{country-field → legacy/country-field}/country-field-testing.module.mjs +1 -1
- package/esm2022/testing/legacy/search/search-fixture.mjs +60 -0
- package/esm2022/testing/{search → legacy/search}/search-testing.module.mjs +1 -1
- package/esm2022/testing/modules/autocomplete/autocomplete-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-harness.mjs +192 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-input-harness.mjs +17 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness.mjs +38 -0
- package/esm2022/testing/modules/country-field/country-field-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/country-field/country-field-harness.mjs +139 -0
- package/esm2022/testing/modules/country-field/country-field-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/country-field/country-field-search-result-harness.mjs +27 -0
- package/esm2022/testing/modules/lookup/lookup-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-harness.mjs +181 -0
- package/esm2022/testing/modules/lookup/lookup-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-search-result-harness.mjs +24 -0
- package/esm2022/testing/modules/lookup/lookup-selection-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-selection-harness.mjs +8 -0
- package/esm2022/testing/modules/lookup/lookup-selections-list-harness.mjs +26 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness.mjs +28 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness.mjs +8 -0
- package/esm2022/testing/modules/search/search-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/search/search-harness.mjs +143 -0
- package/esm2022/testing/modules/selection-modal/selection-modal-harness.mjs +172 -0
- package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness-filters.mjs +2 -0
- package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness.mjs +7 -0
- package/esm2022/testing/public-api.mjs +17 -17
- package/fesm2022/skyux-lookup-testing.mjs +82 -73
- package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2022/skyux-lookup.mjs +8 -8
- package/fesm2022/skyux-lookup.mjs.map +1 -1
- package/package.json +11 -11
- package/testing/{country-field → legacy/country-field}/country-field-fixture.d.ts +1 -1
- package/testing/{country-field → modules/country-field}/country-field-search-result-harness-filters.d.ts +1 -1
- package/testing/{lookup → modules/lookup}/lookup-search-result-harness-filters.d.ts +1 -1
- package/testing/public-api.d.ts +26 -26
- package/esm2022/testing/autocomplete/autocomplete-harness-filters.mjs +0 -2
- package/esm2022/testing/autocomplete/autocomplete-harness.mjs +0 -192
- package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +0 -17
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness.mjs +0 -38
- package/esm2022/testing/country-field/country-field-fixture.mjs +0 -119
- package/esm2022/testing/country-field/country-field-harness-filters.mjs +0 -2
- package/esm2022/testing/country-field/country-field-harness.mjs +0 -139
- package/esm2022/testing/country-field/country-field-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/country-field/country-field-search-result-harness.mjs +0 -24
- package/esm2022/testing/lookup/lookup-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-harness.mjs +0 -181
- package/esm2022/testing/lookup/lookup-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-search-result-harness.mjs +0 -21
- package/esm2022/testing/lookup/lookup-selection-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-selection-harness.mjs +0 -8
- package/esm2022/testing/lookup/lookup-selections-list-harness.mjs +0 -26
- package/esm2022/testing/lookup/lookup-show-more-picker-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-show-more-picker-harness.mjs +0 -28
- package/esm2022/testing/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/lookup/lookup-show-more-picker-search-result-harness.mjs +0 -8
- package/esm2022/testing/search/search-fixture.mjs +0 -60
- package/esm2022/testing/search/search-harness-filters.mjs +0 -2
- package/esm2022/testing/search/search-harness.mjs +0 -143
- package/esm2022/testing/selection-modal/selection-modal-harness.mjs +0 -171
- package/esm2022/testing/selection-modal/selection-modal-search-result-harness-filters.mjs +0 -2
- package/esm2022/testing/selection-modal/selection-modal-search-result-harness.mjs +0 -7
- /package/testing/{country-field → legacy/country-field}/country-field-testing.module.d.ts +0 -0
- /package/testing/{search → legacy/search}/search-fixture.d.ts +0 -0
- /package/testing/{search → legacy/search}/search-testing.module.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-harness-filters.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-harness.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-input-harness.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-search-result-harness-filters.d.ts +0 -0
- /package/testing/{autocomplete → modules/autocomplete}/autocomplete-search-result-harness.d.ts +0 -0
- /package/testing/{country-field → modules/country-field}/country-field-harness-filters.d.ts +0 -0
- /package/testing/{country-field → modules/country-field}/country-field-harness.d.ts +0 -0
- /package/testing/{country-field → modules/country-field}/country-field-search-result-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-search-result-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-selection-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-selection-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-selections-list-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-harness.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-search-result-harness-filters.d.ts +0 -0
- /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-search-result-harness.d.ts +0 -0
- /package/testing/{search → modules/search}/search-harness-filters.d.ts +0 -0
- /package/testing/{search → modules/search}/search-harness.d.ts +0 -0
- /package/testing/{selection-modal → modules/selection-modal}/selection-modal-harness.d.ts +0 -0
- /package/testing/{selection-modal → modules/selection-modal}/selection-modal-search-result-harness-filters.d.ts +0 -0
- /package/testing/{selection-modal → modules/selection-modal}/selection-modal-search-result-harness.d.ts +0 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { ComponentHarness } from '@angular/cdk/testing';
|
|
2
|
+
import { SkyCheckboxHarness } from '@skyux/forms/testing';
|
|
3
|
+
import { SkyInfiniteScrollHarness, SkyRepeaterItemHarness, } from '@skyux/lists/testing';
|
|
4
|
+
import { SkySearchHarness } from '../search/search-harness';
|
|
5
|
+
/**
|
|
6
|
+
* Harness for interacting with a selection modal in tests.
|
|
7
|
+
*/
|
|
8
|
+
export class SkySelectionModalHarness extends ComponentHarness {
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
static { this.hostSelector = '.sky-lookup-show-more-modal'; }
|
|
13
|
+
#getCancelButton = this.locatorFor('button.sky-lookup-show-more-modal-close');
|
|
14
|
+
#getClearAllButton = this.locatorForOptional('button.sky-lookup-show-more-modal-clear-all-btn');
|
|
15
|
+
#getCheckboxHarness = this.locatorFor(SkyCheckboxHarness);
|
|
16
|
+
#getInfiniteScroll = this.locatorFor(SkyInfiniteScrollHarness);
|
|
17
|
+
#getSaveButton = this.locatorFor('button.sky-lookup-show-more-modal-save');
|
|
18
|
+
#getSearchHarness = this.locatorFor(SkySearchHarness);
|
|
19
|
+
#getSelectAllButton = this.locatorForOptional('button.sky-lookup-show-more-modal-select-all-btn');
|
|
20
|
+
#getAddButton = this.locatorForOptional('button.sky-lookup-show-more-modal-add');
|
|
21
|
+
/**
|
|
22
|
+
* Clears the text of the search input.
|
|
23
|
+
*/
|
|
24
|
+
async clearSearchText() {
|
|
25
|
+
await (await this.#getSearchHarness()).clear();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Enters text into the search input and performs a search.
|
|
29
|
+
*/
|
|
30
|
+
async enterSearchText(value) {
|
|
31
|
+
await (await this.#getSearchHarness()).enterText(value);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* Gets the search input's aria-label.
|
|
36
|
+
*/
|
|
37
|
+
async getSearchAriaLabel() {
|
|
38
|
+
return await (await this.#getSearchHarness()).getAriaLabel();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Selects multiple search results based on a set of criteria.
|
|
42
|
+
*/
|
|
43
|
+
async selectSearchResult(filters) {
|
|
44
|
+
const harnesses = await this.getSearchResults(filters);
|
|
45
|
+
if (await this.isMultiselect()) {
|
|
46
|
+
for (const harness of harnesses) {
|
|
47
|
+
await harness.select();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Click on the item directly because we've added a custom click event in the picker's template.
|
|
52
|
+
await (await harnesses[0].host()).click();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Saves any selections made and closes the modal.
|
|
57
|
+
*/
|
|
58
|
+
async saveAndClose() {
|
|
59
|
+
await (await this.#getSaveButton()).click();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
* Gets the save button's aria-label.
|
|
64
|
+
*/
|
|
65
|
+
async getSaveButtonAriaLabel() {
|
|
66
|
+
return await (await this.#getSaveButton()).getAttribute('aria-label');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Closes the picker without saving any selections made.
|
|
70
|
+
*/
|
|
71
|
+
async cancel() {
|
|
72
|
+
await (await this.#getCancelButton()).click();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Gets a list of search results.
|
|
76
|
+
*/
|
|
77
|
+
async getSearchResults(filters) {
|
|
78
|
+
const pickerId = (await (await this.host()).getAttribute('id'));
|
|
79
|
+
const harnesses = await this.locatorForAll(SkyRepeaterItemHarness.with({
|
|
80
|
+
...(filters || {}),
|
|
81
|
+
ancestor: `#${pickerId}`,
|
|
82
|
+
}))();
|
|
83
|
+
if (filters && harnesses.length === 0) {
|
|
84
|
+
throw new Error(`Could not find search results in the picker matching filter(s): ${JSON.stringify(filters)}`);
|
|
85
|
+
}
|
|
86
|
+
return harnesses;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Clears all selections made.
|
|
90
|
+
*/
|
|
91
|
+
async clearAll() {
|
|
92
|
+
const button = await this.#getClearAllButton();
|
|
93
|
+
if (!button) {
|
|
94
|
+
throw new Error('Could not clear all selections because the "Clear all" button could not be found.');
|
|
95
|
+
}
|
|
96
|
+
await button.click();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
* Gets the clear all button's aria-label.
|
|
101
|
+
*/
|
|
102
|
+
async getClearAllButtonAriaLabel() {
|
|
103
|
+
const button = await this.#getClearAllButton();
|
|
104
|
+
if (!button) {
|
|
105
|
+
throw new Error('Could not get the aria-label for the clear all button because the "Clear all" button could not be found.');
|
|
106
|
+
}
|
|
107
|
+
return await button.getAttribute('aria-label');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Whether the selection modal is configured to allow multiple selections.
|
|
111
|
+
*/
|
|
112
|
+
async isMultiselect() {
|
|
113
|
+
return !(await (await this.host()).hasClass('sky-lookup-show-more-modal-single'));
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Selects all search results.
|
|
117
|
+
*/
|
|
118
|
+
async selectAll() {
|
|
119
|
+
const button = await this.#getSelectAllButton();
|
|
120
|
+
if (!button) {
|
|
121
|
+
throw new Error('Could not select all selections because the "Select all" button could not be found.');
|
|
122
|
+
}
|
|
123
|
+
await button.click();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
*
|
|
127
|
+
* Gets the select all button's aria-label.
|
|
128
|
+
*/
|
|
129
|
+
async getSelectAllButtonAriaLabel() {
|
|
130
|
+
const button = await this.#getSelectAllButton();
|
|
131
|
+
if (!button) {
|
|
132
|
+
throw new Error('Could not get the aria-label for the select all button because the "Select all" button could not be found.');
|
|
133
|
+
}
|
|
134
|
+
return await button.getAttribute('aria-label');
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Loads more results in the picker.
|
|
138
|
+
*/
|
|
139
|
+
async loadMore() {
|
|
140
|
+
await (await this.#getInfiniteScroll()).loadMore();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Whether the selection modal is configured to show the add button.
|
|
144
|
+
*/
|
|
145
|
+
async hasAddButton() {
|
|
146
|
+
const button = await this.#getAddButton();
|
|
147
|
+
return !!button;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Clicks the add button.
|
|
151
|
+
*/
|
|
152
|
+
async clickAddButton() {
|
|
153
|
+
const button = await this.#getAddButton();
|
|
154
|
+
if (!button) {
|
|
155
|
+
throw new Error('Could not click the add button because the button could not be found.');
|
|
156
|
+
}
|
|
157
|
+
await button.click();
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Gets the "Only show selected" checkbox's aria-label
|
|
161
|
+
*/
|
|
162
|
+
async getOnlyShowSelectedAriaLabel() {
|
|
163
|
+
try {
|
|
164
|
+
const label = await (await this.#getCheckboxHarness()).getAriaLabel();
|
|
165
|
+
return label;
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
throw new Error('Could not get the "Show only selected items" checkbox because it could not be found.');
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFLNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBQzVEOztPQUVHO2FBQ1csaUJBQVksR0FBRyw2QkFBNkIsQ0FBQztJQUUzRCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFFOUUsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUMxQyxpREFBaUQsQ0FDbEQsQ0FBQztJQUVGLG1CQUFtQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUUxRCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFL0QsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUUzRSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFdEQsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUMzQyxrREFBa0QsQ0FDbkQsQ0FBQztJQUVGLGFBQWEsR0FBRyxJQUFJ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LEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUNiLHVFQUF1RSxDQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyw0QkFBNEI7UUFDdkMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUV0RSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLElBQUksS0FBSyxDQUNiLHNGQUFzRixDQUN2RixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2Zvcm1zL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgU2t5SW5maW5pdGVTY3JvbGxIYXJuZXNzLFxuICBTa3lSZXBlYXRlckl0ZW1IYXJuZXNzLFxufSBmcm9tICdAc2t5dXgvbGlzdHMvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEhhcm5lc3MgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLWhhcm5lc3MnO1xuXG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgc2VsZWN0aW9uIG1vZGFsIGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5U2VsZWN0aW9uTW9kYWxIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5za3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbCc7XG5cbiAgI2dldENhbmNlbEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsb3NlJyk7XG5cbiAgI2dldENsZWFyQWxsQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgJ2J1dHRvbi5za3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1jbGVhci1hbGwtYnRuJyxcbiAgKTtcblxuICAjZ2V0Q2hlY2tib3hIYXJuZXNzID0gdGhpcy5sb2NhdG9yRm9yKFNreUNoZWNrYm94SGFybmVzcyk7XG5cbiAgI2dldEluZmluaXRlU2Nyb2xsID0gdGhpcy5sb2NhdG9yRm9yKFNreUluZmluaXRlU2Nyb2xsSGFybmVzcyk7XG5cbiAgI2dldFNhdmVCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zYXZlJyk7XG5cbiAgI2dldFNlYXJjaEhhcm5lc3MgPSB0aGlzLmxvY2F0b3JGb3IoU2t5U2VhcmNoSGFybmVzcyk7XG5cbiAgI2dldFNlbGVjdEFsbEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICdidXR0b24uc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtc2VsZWN0LWFsbC1idG4nLFxuICApO1xuXG4gICNnZXRBZGRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAnYnV0dG9uLnNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWFkZCcsXG4gICk7XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgdGV4dCBvZiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsZWFyU2VhcmNoVGV4dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0U2VhcmNoSGFybmVzcygpKS5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIHNlYXJjaCBpbnB1dCBhbmQgcGVyZm9ybXMgYSBzZWFyY2guXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZW50ZXJTZWFyY2hUZXh0KHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0U2VhcmNoSGFybmVzcygpKS5lbnRlclRleHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEdldHMgdGhlIHNlYXJjaCBpbnB1dCdzIGFyaWEtbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VhcmNoQXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0U2VhcmNoSGFybmVzcygpKS5nZXRBcmlhTGFiZWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIG11bHRpcGxlIHNlYXJjaCByZXN1bHRzIGJhc2VkIG9uIGEgc2V0IG9mIGNyaXRlcmlhLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdFNlYXJjaFJlc3VsdChcbiAgICBmaWx0ZXJzPzogU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaGFybmVzc2VzID0gYXdhaXQgdGhpcy5nZXRTZWFyY2hSZXN1bHRzKGZpbHRlcnMpO1xuXG4gICAgaWYgKGF3YWl0IHRoaXMuaXNNdWx0aXNlbGVjdCgpKSB7XG4gICAgICBmb3IgKGNvbnN0IGhhcm5lc3Mgb2YgaGFybmVzc2VzKSB7XG4gICAgICAgIGF3YWl0IGhhcm5lc3Muc2VsZWN0KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENsaWNrIG9uIHRoZSBpdGVtIGRpcmVjdGx5IGJlY2F1c2Ugd2UndmUgYWRkZWQgYSBjdXN0b20gY2xpY2sgZXZlbnQgaW4gdGhlIHBpY2tlcidzIHRlbXBsYXRlLlxuICAgICAgYXdhaXQgKGF3YWl0IGhhcm5lc3Nlc1swXS5ob3N0KCkpLmNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIGFueSBzZWxlY3Rpb25zIG1hZGUgYW5kIGNsb3NlcyB0aGUgbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2F2ZUFuZENsb3NlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRTYXZlQnV0dG9uKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogR2V0cyB0aGUgc2F2ZSBidXR0b24ncyBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNhdmVCdXR0b25BcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRTYXZlQnV0dG9uKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgcGlja2VyIHdpdGhvdXQgc2F2aW5nIGFueSBzZWxlY3Rpb25zIG1hZGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2FuY2VsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRDYW5jZWxCdXR0b24oKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBzZWFyY2ggcmVzdWx0cy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWFyY2hSZXN1bHRzKFxuICAgIGZpbHRlcnM/OiBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0SGFybmVzc1tdPiB7XG4gICAgY29uc3QgcGlja2VySWQgPSAoYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ2lkJykpIGFzIHN0cmluZztcblxuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChcbiAgICAgIFNreVJlcGVhdGVySXRlbUhhcm5lc3Mud2l0aCh7XG4gICAgICAgIC4uLihmaWx0ZXJzIHx8IHt9KSxcbiAgICAgICAgYW5jZXN0b3I6IGAjJHtwaWNrZXJJZH1gLFxuICAgICAgfSksXG4gICAgKSgpO1xuXG4gICAgaWYgKGZpbHRlcnMgJiYgaGFybmVzc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgc2VhcmNoIHJlc3VsdHMgaW4gdGhlIHBpY2tlciBtYXRjaGluZyBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFybmVzc2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBhbGwgc2VsZWN0aW9ucyBtYWRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsZWFyQWxsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldENsZWFyQWxsQnV0dG9uKCk7XG4gICAgaWYgKCFidXR0b24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBjbGVhciBhbGwgc2VsZWN0aW9ucyBiZWNhdXNlIHRoZSBcIkNsZWFyIGFsbFwiIGJ1dHRvbiBjb3VsZCBub3QgYmUgZm91bmQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogR2V0cyB0aGUgY2xlYXIgYWxsIGJ1dHRvbidzIGFyaWEtbGFiZWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2xlYXJBbGxCdXR0b25BcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0Q2xlYXJBbGxCdXR0b24oKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb3VsZCBub3QgZ2V0IHRoZSBhcmlhLWxhYmVsIGZvciB0aGUgY2xlYXIgYWxsIGJ1dHRvbiBiZWNhdXNlIHRoZSBcIkNsZWFyIGFsbFwiIGJ1dHRvbiBjb3VsZCBub3QgYmUgZm91bmQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWxlY3Rpb24gbW9kYWwgaXMgY29uZmlndXJlZCB0byBhbGxvdyBtdWx0aXBsZSBzZWxlY3Rpb25zLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzTXVsdGlzZWxlY3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuICEoYXdhaXQgKFxuICAgICAgYXdhaXQgdGhpcy5ob3N0KClcbiAgICApLmhhc0NsYXNzKCdza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zaW5nbGUnKSk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhbGwgc2VhcmNoIHJlc3VsdHMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0QWxsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldFNlbGVjdEFsbEJ1dHRvbigpO1xuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb3VsZCBub3Qgc2VsZWN0IGFsbCBzZWxlY3Rpb25zIGJlY2F1c2UgdGhlIFwiU2VsZWN0IGFsbFwiIGJ1dHRvbiBjb3VsZCBub3QgYmUgZm91bmQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogR2V0cyB0aGUgc2VsZWN0IGFsbCBidXR0b24ncyBhcmlhLWxhYmVsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdEFsbEJ1dHRvbkFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLiNnZXRTZWxlY3RBbGxCdXR0b24oKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb3VsZCBub3QgZ2V0IHRoZSBhcmlhLWxhYmVsIGZvciB0aGUgc2VsZWN0IGFsbCBidXR0b24gYmVjYXVzZSB0aGUgXCJTZWxlY3QgYWxsXCIgYnV0dG9uIGNvdWxkIG5vdCBiZSBmb3VuZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIG1vcmUgcmVzdWx0cyBpbiB0aGUgcGlja2VyLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGxvYWRNb3JlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbmZpbml0ZVNjcm9sbCgpKS5sb2FkTW9yZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBtb2RhbCBpcyBjb25maWd1cmVkIHRvIHNob3cgdGhlIGFkZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaGFzQWRkQnV0dG9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldEFkZEJ1dHRvbigpO1xuICAgIHJldHVybiAhIWJ1dHRvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIGFkZCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tBZGRCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0QWRkQnV0dG9uKCk7XG4gICAgaWYgKCFidXR0b24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBjbGljayB0aGUgYWRkIGJ1dHRvbiBiZWNhdXNlIHRoZSBidXR0b24gY291bGQgbm90IGJlIGZvdW5kLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIFwiT25seSBzaG93IHNlbGVjdGVkXCIgY2hlY2tib3gncyBhcmlhLWxhYmVsXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0T25seVNob3dTZWxlY3RlZEFyaWFMYWJlbCgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbGFiZWwgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0Q2hlY2tib3hIYXJuZXNzKCkpLmdldEFyaWFMYWJlbCgpO1xuXG4gICAgICByZXR1cm4gbGFiZWw7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb3VsZCBub3QgZ2V0IHRoZSBcIlNob3cgb25seSBzZWxlY3RlZCBpdGVtc1wiIGNoZWNrYm94IGJlY2F1c2UgaXQgY291bGQgbm90IGJlIGZvdW5kLicsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness-filters.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreVJlcGVhdGVySXRlbUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2xpc3RzL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEEgc2V0IG9mIGNyaXRlcmlhIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGEgbGlzdCBvZiBgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVyc1xuICAvLyBPbWl0dGluZyAndGl0bGVUZXh0JyBhbmQgJ2FuY2VzdG9yJyBzaW5jZSB0aGV5IGFyZSBub3QgcmVsZXZhbnQgZmlsdGVycyBmb3IgdGhlIHBpY2tlcidzIHNlYXJjaCByZXN1bHRzLlxuICBleHRlbmRzIE9taXQ8U2t5UmVwZWF0ZXJJdGVtSGFybmVzc0ZpbHRlcnMsICd0aXRsZVRleHQnIHwgJ2FuY2VzdG9yJz4ge31cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SkyRepeaterItemHarness } from '@skyux/lists/testing';
|
|
2
|
+
/**
|
|
3
|
+
* Harness for interacting with a selection modal's search results in tests.
|
|
4
|
+
*/
|
|
5
|
+
export class SkySelectionModalSearchResultHarness extends SkyRepeaterItemHarness {
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSxzQkFBc0I7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreVJlcGVhdGVySXRlbUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvbGlzdHMvdGVzdGluZyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHNlbGVjdGlvbiBtb2RhbCdzIHNlYXJjaCByZXN1bHRzIGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzIGV4dGVuZHMgU2t5UmVwZWF0ZXJJdGVtSGFybmVzcyB7fVxuIl19
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { SkyAutocompleteHarness } from './autocomplete/autocomplete-harness';
|
|
2
|
-
export { SkyAutocompleteSearchResultHarness } from './autocomplete/autocomplete-search-result-harness';
|
|
3
|
-
export { SkyCountryFieldFixture } from './country-field/country-field-fixture';
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export { SkyLookupHarness } from './lookup/lookup-harness';
|
|
8
|
-
export { SkyLookupSelectionHarness } from './lookup/lookup-selection-harness';
|
|
9
|
-
export { SkyLookupSelectionsListHarness } from './lookup/lookup-selections-list-harness';
|
|
10
|
-
export { SkyLookupShowMorePickerHarness } from './lookup/lookup-show-more-picker-harness';
|
|
11
|
-
export { SkyLookupShowMorePickerSearchResultHarness } from './lookup/lookup-show-more-picker-search-result-harness';
|
|
12
|
-
export { SkySearchFixture } from './search/search-fixture';
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export { SkySelectionModalHarness } from './selection-modal/selection-modal-harness';
|
|
16
|
-
export { SkySelectionModalSearchResultHarness } from './selection-modal/selection-modal-search-result-harness';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { SkyAutocompleteHarness } from './modules/autocomplete/autocomplete-harness';
|
|
2
|
+
export { SkyAutocompleteSearchResultHarness } from './modules/autocomplete/autocomplete-search-result-harness';
|
|
3
|
+
export { SkyCountryFieldFixture } from './legacy/country-field/country-field-fixture';
|
|
4
|
+
export { SkyCountryFieldTestingModule } from './legacy/country-field/country-field-testing.module';
|
|
5
|
+
export { SkyCountryFieldHarness } from './modules/country-field/country-field-harness';
|
|
6
|
+
export { SkyCountryFieldSearchResultHarness } from './modules/country-field/country-field-search-result-harness';
|
|
7
|
+
export { SkyLookupHarness } from './modules/lookup/lookup-harness';
|
|
8
|
+
export { SkyLookupSelectionHarness } from './modules/lookup/lookup-selection-harness';
|
|
9
|
+
export { SkyLookupSelectionsListHarness } from './modules/lookup/lookup-selections-list-harness';
|
|
10
|
+
export { SkyLookupShowMorePickerHarness } from './modules/lookup/lookup-show-more-picker-harness';
|
|
11
|
+
export { SkyLookupShowMorePickerSearchResultHarness } from './modules/lookup/lookup-show-more-picker-search-result-harness';
|
|
12
|
+
export { SkySearchFixture } from './legacy/search/search-fixture';
|
|
13
|
+
export { SkySearchTestingModule } from './legacy/search/search-testing.module';
|
|
14
|
+
export { SkySearchHarness } from './modules/search/search-harness';
|
|
15
|
+
export { SkySelectionModalHarness } from './modules/selection-modal/selection-modal-harness';
|
|
16
|
+
export { SkySelectionModalSearchResultHarness } from './modules/selection-modal/selection-modal-search-result-harness';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVyRixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUcvRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUdqSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUV0RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUVsRyxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUc1SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUduRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreUNvdW50cnlGaWVsZEZpeHR1cmUgfSBmcm9tICcuL2xlZ2FjeS9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtZml4dHVyZSc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRUZXN0aW5nTW9kdWxlIH0gZnJvbSAnLi9sZWdhY3kvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLXRlc3RpbmcubW9kdWxlJztcbmV4cG9ydCB7IFNreUNvdW50cnlGaWVsZEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5Q291bnRyeUZpZWxkSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL2NvdW50cnktZmllbGQvY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5TG9va3VwSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9sb29rdXAvbG9va3VwLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvbG9va3VwL2xvb2t1cC1oYXJuZXNzLWZpbHRlcnMnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2VsZWN0aW9uSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9sb29rdXAvbG9va3VwLXNlbGVjdGlvbi1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNlbGVjdGlvbkhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9tb2R1bGVzL2xvb2t1cC9sb29rdXAtc2VsZWN0aW9uLWhhcm5lc3MtZmlsdGVycyc7XG5leHBvcnQgeyBTa3lMb29rdXBTZWxlY3Rpb25zTGlzdEhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvbG9va3VwL2xvb2t1cC1zZWxlY3Rpb25zLWxpc3QtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lMb29rdXBTaG93TW9yZVBpY2tlckhhcm5lc3MgfSBmcm9tICcuL21vZHVsZXMvbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5TG9va3VwU2hvd01vcmVQaWNrZXJIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1waWNrZXItaGFybmVzcy1maWx0ZXJzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNob3dNb3JlUGlja2VyU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9sb29rdXAvbG9va3VwLXNob3ctbW9yZS1waWNrZXItc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreUxvb2t1cFNob3dNb3JlUGlja2VyU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtcGlja2VyLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuZXhwb3J0IHsgU2t5U2VhcmNoRml4dHVyZSB9IGZyb20gJy4vbGVnYWN5L3NlYXJjaC9zZWFyY2gtZml4dHVyZSc7XG5leHBvcnQgeyBTa3lTZWFyY2hUZXN0aW5nTW9kdWxlIH0gZnJvbSAnLi9sZWdhY3kvc2VhcmNoL3NlYXJjaC10ZXN0aW5nLm1vZHVsZSc7XG5leHBvcnQgeyBTa3lTZWFyY2hIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL3NlYXJjaC9zZWFyY2gtaGFybmVzcyc7XG5leHBvcnQgeyBTa3lTZWFyY2hIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vbW9kdWxlcy9zZWFyY2gvc2VhcmNoLWhhcm5lc3MtZmlsdGVycyc7XG5cbmV4cG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsSGFybmVzcyB9IGZyb20gJy4vbW9kdWxlcy9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLWhhcm5lc3MnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG4iXX0=
|