@skyux/lookup 11.6.0 → 11.8.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 +5941 -1675
- package/esm2022/testing/autocomplete/autocomplete-harness-filters.mjs +1 -1
- package/esm2022/testing/autocomplete/autocomplete-harness.mjs +29 -5
- package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +4 -1
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness.mjs +2 -3
- package/esm2022/testing/search/search-harness.mjs +66 -15
- package/fesm2022/skyux-lookup-testing.mjs +97 -20
- package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
- package/package.json +11 -11
- package/testing/autocomplete/autocomplete-harness-filters.d.ts +0 -1
- package/testing/autocomplete/autocomplete-harness.d.ts +13 -4
- package/testing/autocomplete/autocomplete-input-harness.d.ts +3 -0
- package/testing/autocomplete/autocomplete-search-result-harness.d.ts +1 -2
- package/testing/search/search-harness.d.ts +29 -10
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgaW5zdGFuY2VzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUF1dG9jb21wbGV0ZUhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==
|
|
@@ -3,7 +3,6 @@ import { SkyAutocompleteInputHarness } from './autocomplete-input-harness';
|
|
|
3
3
|
import { SkyAutocompleteSearchResultHarness } from './autocomplete-search-result-harness';
|
|
4
4
|
/**
|
|
5
5
|
* Harness for interacting with an autocomplete component in tests.
|
|
6
|
-
* @internal
|
|
7
6
|
*/
|
|
8
7
|
export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
9
8
|
/**
|
|
@@ -11,6 +10,7 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
11
10
|
*/
|
|
12
11
|
static { this.hostSelector = 'sky-autocomplete'; }
|
|
13
12
|
#documentRootLocator = this.documentRootLocatorFactory();
|
|
13
|
+
#getAutocomplete = this.locatorFor('.sky-autocomplete');
|
|
14
14
|
#getInput = this.locatorFor(SkyAutocompleteInputHarness);
|
|
15
15
|
/**
|
|
16
16
|
* Gets a `HarnessPredicate` that can be used to search for a
|
|
@@ -26,7 +26,7 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
26
26
|
return (await this.#getInput()).blur();
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
* Clears the input value.
|
|
29
|
+
* Clears the autocomplete input value.
|
|
30
30
|
*/
|
|
31
31
|
async clear() {
|
|
32
32
|
return (await this.#getInput()).clear();
|
|
@@ -44,7 +44,13 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
44
44
|
return (await this.#getInput()).focus();
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Gets the autocomplete `aria-labelledby` value.
|
|
48
|
+
*/
|
|
49
|
+
async getAriaLabelledby() {
|
|
50
|
+
return (await this.#getAutocomplete()).getAttribute('aria-labelledby');
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns autocomplete search result harnesses.
|
|
48
54
|
*/
|
|
49
55
|
async getSearchResults(filters) {
|
|
50
56
|
const overlay = await this.#getOverlay();
|
|
@@ -62,7 +68,7 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
62
68
|
return harnesses;
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
65
|
-
* Returns the text content for each search result.
|
|
71
|
+
* Returns the text content for each autocomplete search result.
|
|
66
72
|
*/
|
|
67
73
|
async getSearchResultsText(filters) {
|
|
68
74
|
const harnesses = await this.getSearchResults(filters);
|
|
@@ -78,6 +84,22 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
78
84
|
async getValue() {
|
|
79
85
|
return (await this.#getInput()).getValue();
|
|
80
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Gets the text displayed when no search results are found.
|
|
89
|
+
*/
|
|
90
|
+
async getNoResultsFoundText() {
|
|
91
|
+
const overlay = await this.#getOverlay();
|
|
92
|
+
if (!overlay) {
|
|
93
|
+
throw new Error('Cannot find "no results found" text as the dropdown is closed.');
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
const noResultFoundText = await overlay.querySelector('.sky-deemphasized');
|
|
97
|
+
return (await noResultFoundText?.text())?.trim();
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
throw new Error('Cannot find "no results found" text because there are search results.');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
81
103
|
/**
|
|
82
104
|
* Whether the autocomplete input is disabled.
|
|
83
105
|
*/
|
|
@@ -113,6 +135,7 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
113
135
|
* to prevent consumers of the autocomplete harness from calling it.
|
|
114
136
|
* The lookup harness, which extends the autocomplete harness, may
|
|
115
137
|
* still access this feature, however.)
|
|
138
|
+
* @internal
|
|
116
139
|
*/
|
|
117
140
|
async clickAddButton() {
|
|
118
141
|
const overlay = await this.#getOverlay();
|
|
@@ -132,6 +155,7 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
132
155
|
* to prevent consumers of the autocomplete harness from calling it.
|
|
133
156
|
* The lookup harness, which extends the autocomplete harness, may
|
|
134
157
|
* still access this feature, however.)
|
|
158
|
+
* @internal
|
|
135
159
|
*/
|
|
136
160
|
async clickShowMoreButton() {
|
|
137
161
|
const overlay = await this.#getOverlay();
|
|
@@ -152,4 +176,4 @@ export class SkyAutocompleteHarness extends SkyComponentHarness {
|
|
|
152
176
|
: null;
|
|
153
177
|
}
|
|
154
178
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUc3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUcxRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxrQkFBa0IsQ0FBQztJQUVoRCxvQkFBb0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUV6RCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXpEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQXNDO1FBRXRDLE9BQU8sc0JBQXNCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQWE7UUFDbEMsT0FBTyxDQUFD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RSxDQUFDLENBQ3RELEVBQUU7WUFDTCxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzLCBTa3lPdmVybGF5SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1pbnB1dC1oYXJuZXNzJztcbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhbiBhdXRvY29tcGxldGUgY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lBdXRvY29tcGxldGVIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1hdXRvY29tcGxldGUnO1xuXG4gICNkb2N1bWVudFJvb3RMb2NhdG9yID0gdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpO1xuXG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcihTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lBdXRvY29tcGxldGVIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5QXV0b2NvbXBsZXRlSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5QXV0b2NvbXBsZXRlSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lBdXRvY29tcGxldGVIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBpbnB1dCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRleHQgaW50byB0aGUgYXV0b2NvbXBsZXRlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyVGV4dCh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5lbnRlclRleHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBzZWFyY2ggcmVzdWx0IGhhcm5lc3Nlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWFyY2hSZXN1bHRzKFxuICAgIGZpbHRlcnM/OiBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzW10+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgc2VhcmNoIHJlc3VsdHMuIFRoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IG92ZXJsYXkucXVlcnlIYXJuZXNzZXMoXG4gICAgICBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzLndpdGgoZmlsdGVycyB8fCB7fSksXG4gICAgKTtcblxuICAgIGlmIChmaWx0ZXJzICYmIGhhcm5lc3Nlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFN0cmluZ2lmeSB0aGUgcmVndWxhciBleHByZXNzaW9uIHNvIHRoYXQgaXQncyByZWFkYWJsZSBpbiB0aGUgY29uc29sZSBsb2cuXG4gICAgICBpZiAoZmlsdGVycy50ZXh0IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIGZpbHRlcnMudGV4dCA9IGZpbHRlcnMudGV4dC50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb3VsZCBub3QgZmluZCBzZWFyY2ggcmVzdWx0cyBtYXRjaGluZyBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFybmVzc2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRleHQgY29udGVudCBmb3IgZWFjaCBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlYXJjaFJlc3VsdHNUZXh0KFxuICAgIGZpbHRlcnM/OiBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IHRoaXMuZ2V0U2VhcmNoUmVzdWx0cyhmaWx0ZXJzKTtcblxuICAgIGNvbnN0IHRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBoYXJuZXNzIG9mIGhhcm5lc3Nlcykge1xuICAgICAgdGV4dC5wdXNoKGF3YWl0IGhhcm5lc3MuZ2V0VGV4dCgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgYXV0b2NvbXBsZXRlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhbHVlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNEaXNhYmxlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBpcyBmb2N1c2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRm9jdXNlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmlzRm9jdXNlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpcyBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzT3BlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuICAgIHJldHVybiAhIW92ZXJsYXk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIHNlYXJjaCByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0U2VhcmNoUmVzdWx0KFxuICAgIGZpbHRlcnM6IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5nZXRTZWFyY2hSZXN1bHRzKGZpbHRlcnMpO1xuICAgIGlmIChyZXN1bHRzICYmIHJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgcmVzdWx0c1swXS5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBcIkFkZFwiIGJ1dHRvbiBpbiB0aGUgYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHRzIHBhbmVsLlxuICAgKiAoVGhlIFwiQWRkXCIgZnVuY3Rpb25hbGl0eSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHB1YmxpYyBBUElcbiAgICogb2YgYSBcInZhbmlsbGFcIiBhdXRvY29tcGxldGUgY29tcG9uZW50LCBzbyB0aGlzIG1ldGhvZCBpcyBwcm90ZWN0ZWRcbiAgICogdG8gcHJldmVudCBjb25zdW1lcnMgb2YgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzIGZyb20gY2FsbGluZyBpdC5cbiAgICogVGhlIGxvb2t1cCBoYXJuZXNzLCB3aGljaCBleHRlbmRzIHRoZSBhdXRvY29tcGxldGUgaGFybmVzcywgbWF5XG4gICAqIHN0aWxsIGFjY2VzcyB0aGlzIGZlYXR1cmUsIGhvd2V2ZXIuKVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrQWRkQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG92ZXJsYXkgPSBhd2FpdCB0aGlzLiNnZXRPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gZmluZCB0aGUgXCJBZGRcIiBidXR0b24uIFRoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IG92ZXJsYXkucXVlcnlTZWxlY3Rvck9yTnVsbChcbiAgICAgICdidXR0b24uc2t5LWF1dG9jb21wbGV0ZS1hY3Rpb24tYWRkJyxcbiAgICApO1xuXG4gICAgaWYgKCFidXR0b24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBcIkFkZFwiIGJ1dHRvbiBjYW5ub3QgYmUgY2xpY2tlZCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0LicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgXCJTaG93IG1vcmVcIiBidXR0b24uXG4gICAqIChUaGUgXCJTaG93IG1vcmVcIiBmdW5jdGlvbmFsaXR5IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHVibGljIEFQSVxuICAgKiBvZiBhIFwidmFuaWxsYVwiIGF1dG9jb21wbGV0ZSBjb21wb25lbnQsIHNvIHRoaXMgbWV0aG9kIGlzIHByb3RlY3RlZFxuICAgKiB0byBwcmV2ZW50IGNvbnN1bWVycyBvZiB0aGUgYXV0b2NvbXBsZXRlIGhhcm5lc3MgZnJvbSBjYWxsaW5nIGl0LlxuICAgKiBUaGUgbG9va3VwIGhhcm5lc3MsIHdoaWNoIGV4dGVuZHMgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzLCBtYXlcbiAgICogc3RpbGwgYWNjZXNzIHRoaXMgZmVhdHVyZSwgaG93ZXZlci4pXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgY2xpY2tTaG93TW9yZUJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gZmluZCB0aGUgXCJTaG93IG1vcmVcIiBidXR0b24uICcgK1xuICAgICAgICAgICdUaGUgYXV0b2NvbXBsZXRlIGlzIGNsb3NlZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCBvdmVybGF5LnF1ZXJ5U2VsZWN0b3JPck51bGwoXG4gICAgICAnYnV0dG9uLnNreS1hdXRvY29tcGxldGUtYWN0aW9uLW1vcmUnLFxuICAgICk7XG5cbiAgICBpZiAoIWJ1dHRvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIFwiU2hvdyBtb3JlXCIgYnV0dG9uIGNhbm5vdCBiZSBjbGlja2VkIGJlY2F1c2UgaXQgZG9lcyBub3QgZXhpc3QuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYXdhaXQgYnV0dG9uLmNsaWNrKCk7XG4gIH1cblxuICBhc3luYyAjZ2V0T3ZlcmxheSgpOiBQcm9taXNlPFNreU92ZXJsYXlIYXJuZXNzIHwgbnVsbD4ge1xuICAgIGNvbnN0IG92ZXJsYXlJZCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBcmlhQ29udHJvbHMoKTtcblxuICAgIHJldHVybiBvdmVybGF5SWRcbiAgICAgID8gdGhpcy4jZG9jdW1lbnRSb290TG9jYXRvci5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICAgICAgU2t5T3ZlcmxheUhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiBgIyR7b3ZlcmxheUlkfWAgfSksXG4gICAgICAgICkoKVxuICAgICAgOiBudWxsO1xuICB9XG59XG4iXX0=
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUc3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUcxRjs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFDN0Q7O09BRUc7YUFDVyxpQkFBWSxHQUFHLGtCQUFrQixDQUFDO0lBRWhELG9CQUFvQixHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3pELGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4RCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXpEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQXNDO1FBRXRDLE9BQU8sc0JBQXNCLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lB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Q08sS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUNiLHlDQUF5QztnQkFDdkMsNkJBQTZCLENBQ2hDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsbUJBQW1CLENBQzlDLHFDQUFxQyxDQUN0QyxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FDYixxRUFBcUUsQ0FDdEUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVc7UUFDZixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVuRSxPQUFPLFNBQVM7WUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUMxQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQ3RELEVBQUU7WUFDTCxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzLCBTa3lPdmVybGF5SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1pbnB1dC1oYXJuZXNzJztcbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhbiBhdXRvY29tcGxldGUgY29tcG9uZW50IGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5QXV0b2NvbXBsZXRlSGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdza3ktYXV0b2NvbXBsZXRlJztcblxuICAjZG9jdW1lbnRSb290TG9jYXRvciA9IHRoaXMuZG9jdW1lbnRSb290TG9jYXRvckZhY3RvcnkoKTtcbiAgI2dldEF1dG9jb21wbGV0ZSA9IHRoaXMubG9jYXRvckZvcignLnNreS1hdXRvY29tcGxldGUnKTtcbiAgI2dldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKFNreUF1dG9jb21wbGV0ZUlucHV0SGFybmVzcyk7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUF1dG9jb21wbGV0ZUhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lBdXRvY29tcGxldGVIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lBdXRvY29tcGxldGVIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUF1dG9jb21wbGV0ZUhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJsdXJzIHRoZSBhdXRvY29tcGxldGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmJsdXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGVhcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRleHQgaW50byB0aGUgYXV0b2NvbXBsZXRlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudGVyVGV4dCh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5lbnRlclRleHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXV0b2NvbXBsZXRlIGBhcmlhLWxhYmVsbGVkYnlgIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbGxlZGJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0QXV0b2NvbXBsZXRlKCkpLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5Jyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhdXRvY29tcGxldGUgc2VhcmNoIHJlc3VsdCBoYXJuZXNzZXMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VhcmNoUmVzdWx0cyhcbiAgICBmaWx0ZXJzPzogU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8U2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc1tdPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHRoaXMuI2dldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVW5hYmxlIHRvIHJldHJpZXZlIHNlYXJjaCByZXN1bHRzLiBUaGUgYXV0b2NvbXBsZXRlIGlzIGNsb3NlZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCBvdmVybGF5LnF1ZXJ5SGFybmVzc2VzKFxuICAgICAgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcy53aXRoKGZpbHRlcnMgfHwge30pLFxuICAgICk7XG5cbiAgICBpZiAoZmlsdGVycyAmJiBoYXJuZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBTdHJpbmdpZnkgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBzbyB0aGF0IGl0J3MgcmVhZGFibGUgaW4gdGhlIGNvbnNvbGUgbG9nLlxuICAgICAgaWYgKGZpbHRlcnMudGV4dCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICBmaWx0ZXJzLnRleHQgPSBmaWx0ZXJzLnRleHQudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgc2VhcmNoIHJlc3VsdHMgbWF0Y2hpbmcgZmlsdGVyKHMpOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIGZpbHRlcnMsXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhcm5lc3NlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZXh0IGNvbnRlbnQgZm9yIGVhY2ggYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2VhcmNoUmVzdWx0c1RleHQoXG4gICAgZmlsdGVycz86IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3QgaGFybmVzc2VzID0gYXdhaXQgdGhpcy5nZXRTZWFyY2hSZXN1bHRzKGZpbHRlcnMpO1xuXG4gICAgY29uc3QgdGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGhhcm5lc3Mgb2YgaGFybmVzc2VzKSB7XG4gICAgICB0ZXh0LnB1c2goYXdhaXQgaGFybmVzcy5nZXRUZXh0KCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBhdXRvY29tcGxldGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBkaXNwbGF5ZWQgd2hlbiBubyBzZWFyY2ggcmVzdWx0cyBhcmUgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Tm9SZXN1bHRzRm91bmRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHRoaXMuI2dldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ2Fubm90IGZpbmQgXCJubyByZXN1bHRzIGZvdW5kXCIgdGV4dCBhcyB0aGUgZHJvcGRvd24gaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBub1Jlc3VsdEZvdW5kVGV4dCA9XG4gICAgICAgIGF3YWl0IG92ZXJsYXkucXVlcnlTZWxlY3RvcignLnNreS1kZWVtcGhhc2l6ZWQnKTtcbiAgICAgIHJldHVybiAoYXdhaXQgbm9SZXN1bHRGb3VuZFRleHQ/LnRleHQoKSk/LnRyaW0oKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBmaW5kIFwibm8gcmVzdWx0cyBmb3VuZFwiIHRleHQgYmVjYXVzZSB0aGVyZSBhcmUgc2VhcmNoIHJlc3VsdHMuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNEaXNhYmxlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBpcyBmb2N1c2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRm9jdXNlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmlzRm9jdXNlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpcyBvcGVuLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzT3BlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuICAgIHJldHVybiAhIW92ZXJsYXk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhIHNlYXJjaCByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0U2VhcmNoUmVzdWx0KFxuICAgIGZpbHRlcnM6IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5nZXRTZWFyY2hSZXN1bHRzKGZpbHRlcnMpO1xuICAgIGlmIChyZXN1bHRzICYmIHJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgcmVzdWx0c1swXS5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBcIkFkZFwiIGJ1dHRvbiBpbiB0aGUgYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHRzIHBhbmVsLlxuICAgKiAoVGhlIFwiQWRkXCIgZnVuY3Rpb25hbGl0eSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHB1YmxpYyBBUElcbiAgICogb2YgYSBcInZhbmlsbGFcIiBhdXRvY29tcGxldGUgY29tcG9uZW50LCBzbyB0aGlzIG1ldGhvZCBpcyBwcm90ZWN0ZWRcbiAgICogdG8gcHJldmVudCBjb25zdW1lcnMgb2YgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzIGZyb20gY2FsbGluZyBpdC5cbiAgICogVGhlIGxvb2t1cCBoYXJuZXNzLCB3aGljaCBleHRlbmRzIHRoZSBhdXRvY29tcGxldGUgaGFybmVzcywgbWF5XG4gICAqIHN0aWxsIGFjY2VzcyB0aGlzIGZlYXR1cmUsIGhvd2V2ZXIuKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBjbGlja0FkZEJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVW5hYmxlIHRvIGZpbmQgdGhlIFwiQWRkXCIgYnV0dG9uLiBUaGUgYXV0b2NvbXBsZXRlIGlzIGNsb3NlZC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCBvdmVybGF5LnF1ZXJ5U2VsZWN0b3JPck51bGwoXG4gICAgICAnYnV0dG9uLnNreS1hdXRvY29tcGxldGUtYWN0aW9uLWFkZCcsXG4gICAgKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGUgXCJBZGRcIiBidXR0b24gY2Fubm90IGJlIGNsaWNrZWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIFwiU2hvdyBtb3JlXCIgYnV0dG9uLlxuICAgKiAoVGhlIFwiU2hvdyBtb3JlXCIgZnVuY3Rpb25hbGl0eSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHB1YmxpYyBBUElcbiAgICogb2YgYSBcInZhbmlsbGFcIiBhdXRvY29tcGxldGUgY29tcG9uZW50LCBzbyB0aGlzIG1ldGhvZCBpcyBwcm90ZWN0ZWRcbiAgICogdG8gcHJldmVudCBjb25zdW1lcnMgb2YgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzIGZyb20gY2FsbGluZyBpdC5cbiAgICogVGhlIGxvb2t1cCBoYXJuZXNzLCB3aGljaCBleHRlbmRzIHRoZSBhdXRvY29tcGxldGUgaGFybmVzcywgbWF5XG4gICAqIHN0aWxsIGFjY2VzcyB0aGlzIGZlYXR1cmUsIGhvd2V2ZXIuKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBjbGlja1Nob3dNb3JlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG92ZXJsYXkgPSBhd2FpdCB0aGlzLiNnZXRPdmVybGF5KCk7XG5cbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1VuYWJsZSB0byBmaW5kIHRoZSBcIlNob3cgbW9yZVwiIGJ1dHRvbi4gJyArXG4gICAgICAgICAgJ1RoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IG92ZXJsYXkucXVlcnlTZWxlY3Rvck9yTnVsbChcbiAgICAgICdidXR0b24uc2t5LWF1dG9jb21wbGV0ZS1hY3Rpb24tbW9yZScsXG4gICAgKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUaGUgXCJTaG93IG1vcmVcIiBidXR0b24gY2Fubm90IGJlIGNsaWNrZWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIGFzeW5jICNnZXRPdmVybGF5KCk6IFByb21pc2U8U2t5T3ZlcmxheUhhcm5lc3MgfCBudWxsPiB7XG4gICAgY29uc3Qgb3ZlcmxheUlkID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEFyaWFDb250cm9scygpO1xuXG4gICAgcmV0dXJuIG92ZXJsYXlJZFxuICAgICAgPyB0aGlzLiNkb2N1bWVudFJvb3RMb2NhdG9yLmxvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgICAgICBTa3lPdmVybGF5SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6IGAjJHtvdmVybGF5SWR9YCB9KSxcbiAgICAgICAgKSgpXG4gICAgICA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { ComponentHarness } from '@angular/cdk/testing';
|
|
2
2
|
/**
|
|
3
|
+
* Harness to interact with the autocomplete input harness.
|
|
4
|
+
*
|
|
5
|
+
* This harness is marked as internal as all relevant functions are exposed to consumers through the `SkyAutocompleteHarness` functions.
|
|
3
6
|
* @internal
|
|
4
7
|
*/
|
|
5
8
|
export class SkyAutocompleteInputHarness extends ComponentHarness {
|
|
@@ -60,4 +63,4 @@ export class SkyAutocompleteInputHarness extends ComponentHarness {
|
|
|
60
63
|
return (await this.host()).getAttribute('aria-controls');
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWlucHV0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaW5wdXQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxnQkFBZ0I7SUFDL0Q7O09BRUc7YUFDVyxpQkFBWSxHQUFHLG1CQUFtQixDQUFDO0lBRWpEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQWE7UUFDbEMsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxRQUFRO1FBQ25CLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEUsT0FBTyxRQUFRLEtBQUssSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBoYXJuZXNzLlxuICpcbiAqIFRoaXMgaGFybmVzcyBpcyBtYXJrZWQgYXMgaW50ZXJuYWwgYXMgYWxsIHJlbGV2YW50IGZ1bmN0aW9ucyBhcmUgZXhwb3NlZCB0byBjb25zdW1lcnMgdGhyb3VnaCB0aGUgYFNreUF1dG9jb21wbGV0ZUhhcm5lc3NgIGZ1bmN0aW9ucy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5QXV0b2NvbXBsZXRlSW5wdXRIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ1tza3lBdXRvY29tcGxldGVdJztcblxuICAvKipcbiAgICogQmx1cnMgdGhlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnRlcnMgdGV4dCBpbnRvIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRlclRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGVsID0gYXdhaXQgdGhpcy5ob3N0KCk7XG4gICAgYXdhaXQgZWwuZm9jdXMoKTtcbiAgICBhd2FpdCBlbC5jbGVhcigpO1xuICAgIGF3YWl0IGVsLnNlbmRLZXlzKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5mb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldFByb3BlcnR5KCd2YWx1ZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0J3MgYGFyaWEtY29udHJvbHNgIGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhQ29udHJvbHMoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { HarnessPredicate } from '@angular/cdk/testing';
|
|
2
2
|
import { SkyQueryableComponentHarness } from '@skyux/core/testing';
|
|
3
3
|
/**
|
|
4
|
-
* Harness for interacting with an autocomplete search
|
|
5
|
-
* @internal
|
|
4
|
+
* Harness for interacting with an autocomplete search result in tests.
|
|
6
5
|
*/
|
|
7
6
|
export class SkyAutocompleteSearchResultHarness extends SkyQueryableComponentHarness {
|
|
8
7
|
/**
|
|
@@ -36,4 +35,4 @@ export class SkyAutocompleteSearchResultHarness extends SkyQueryableComponentHar
|
|
|
36
35
|
return (await this.host()).text();
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJbkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsNEJBQTRCO0lBQ2xGOztPQUVHO2FBQ1csaUJBQVksR0FBRywwQkFBMEIsQ0FBQztJQUV4RDs7O09BR0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUFrRDtRQUVsRCxPQUFPLElBQUksZ0JBQWdCLENBQ3pCLGtDQUFrQyxFQUNsQyxPQUFPLENBQ1IsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUMvRCxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLGtCQUFrQjtRQUM3QixPQUFPLENBQUMsTUFBTSxDQUNaLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUNsQixDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFXLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE1BQU07UUFDakIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lRdWVyeWFibGVDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYW4gYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzIGV4dGVuZHMgU2t5UXVlcnlhYmxlQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5za3ktYXV0b2NvbXBsZXRlLXJlc3VsdCc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKFxuICAgICAgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyxcbiAgICAgIGZpbHRlcnMsXG4gICAgKS5hZGRPcHRpb24oJ3RleHRDb250ZW50JywgZmlsdGVycy50ZXh0LCBhc3luYyAoaGFybmVzcywgdGV4dCkgPT5cbiAgICAgIEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhhd2FpdCBoYXJuZXNzLmdldFRleHQoKSwgdGV4dCksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgc2VhcmNoIHJlc3VsdCdzIGRlc2NyaXB0b3IgcHJvcGVydHkuXG4gICAqIFRoaXMgdmFsdWUgaXMgc2V0IGJ5IHRoZSBhdXRvY29tcGxldGUncyBgZGVzY3JpcHRvclByb3BlcnR5YCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXREZXNjcmlwdG9yVmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuaG9zdCgpXG4gICAgKS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGVzY3JpcHRvci12YWx1ZScpKSBhcyBzdHJpbmc7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0ZXh0IG9mIHRoZSBzZWFyY2ggcmVzdWx0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFRleHQoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS50ZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { SkyComponentHarness } from '@skyux/core/testing';
|
|
2
2
|
/**
|
|
3
|
-
* Harness for interacting with
|
|
4
|
-
* @internal
|
|
3
|
+
* Harness for interacting with a search component in tests.
|
|
5
4
|
*/
|
|
6
5
|
export class SkySearchHarness extends SkyComponentHarness {
|
|
7
6
|
/**
|
|
@@ -9,7 +8,10 @@ export class SkySearchHarness extends SkyComponentHarness {
|
|
|
9
8
|
*/
|
|
10
9
|
static { this.hostSelector = 'sky-search'; }
|
|
11
10
|
#getInput = this.locatorFor('input.sky-search-input');
|
|
11
|
+
#getClearButton = this.locatorFor('button.sky-search-btn-clear');
|
|
12
|
+
#getDismissButton = this.locatorForOptional('button.sky-search-btn-dismiss');
|
|
12
13
|
#getSubmitButton = this.locatorFor('button.sky-search-btn-apply');
|
|
14
|
+
#getOpenButton = this.locatorFor('button.sky-search-btn-open');
|
|
13
15
|
/**
|
|
14
16
|
* Gets a `HarnessPredicate` that can be used to search for a
|
|
15
17
|
* `SkySearchHarness` that meets certain criteria.
|
|
@@ -18,38 +20,76 @@ export class SkySearchHarness extends SkyComponentHarness {
|
|
|
18
20
|
return this.getDataSkyIdPredicate(filters);
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
|
-
* Blurs the input.
|
|
23
|
+
* Blurs the search input.
|
|
22
24
|
*/
|
|
23
25
|
async blur() {
|
|
26
|
+
await this.#assertIsExpanded('Failed to blur the search input.');
|
|
24
27
|
await (await this.#getInput()).blur();
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
27
|
-
* Clears the input.
|
|
30
|
+
* Clears the search input.
|
|
28
31
|
*/
|
|
29
32
|
async clear() {
|
|
33
|
+
await this.#assertIsExpanded('Failed to clear the search input.');
|
|
30
34
|
const input = await this.#getInput();
|
|
31
35
|
await input.focus();
|
|
32
36
|
await input.clear();
|
|
33
|
-
await this
|
|
37
|
+
await this.clickSubmitButton();
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
|
-
*
|
|
40
|
+
* Clicks the search input clear button.
|
|
41
|
+
*/
|
|
42
|
+
async clickClearButton() {
|
|
43
|
+
await this.#assertIsExpanded('Failed to click clear button.');
|
|
44
|
+
return (await this.#getClearButton()).click();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Clicks search dismiss button to collapse search back to a button.
|
|
48
|
+
*/
|
|
49
|
+
async clickDismissSearchButton() {
|
|
50
|
+
const button = await this.#getDismissButton();
|
|
51
|
+
if (!button) {
|
|
52
|
+
throw new Error('Cannot find dismiss search button. Is a collapsed search open?');
|
|
53
|
+
}
|
|
54
|
+
return button.click();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Clicks the search icon button that opens search input when it is collapsed.
|
|
58
|
+
*/
|
|
59
|
+
async clickOpenSearchButton() {
|
|
60
|
+
const button = await this.#getOpenButton();
|
|
61
|
+
if (!(await this.isCollapsed())) {
|
|
62
|
+
throw new Error('Cannot click search open button as search is not collapsed');
|
|
63
|
+
}
|
|
64
|
+
return button.click();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Clicks the search submit button.
|
|
68
|
+
*/
|
|
69
|
+
async clickSubmitButton() {
|
|
70
|
+
await this.#assertIsExpanded('Failed to click the submit button.');
|
|
71
|
+
return (await this.#getSubmitButton()).click();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Enters text into the search input and performs a search.
|
|
37
75
|
*/
|
|
38
76
|
async enterText(value) {
|
|
77
|
+
await this.#assertIsExpanded('Failed to enter text into the search input.');
|
|
39
78
|
const input = await this.#getInput();
|
|
40
79
|
await input.clear();
|
|
41
80
|
await input.focus();
|
|
42
81
|
await input.sendKeys(value);
|
|
43
|
-
await this
|
|
82
|
+
await this.clickSubmitButton();
|
|
44
83
|
}
|
|
45
84
|
/**
|
|
46
|
-
* Focuses the input.
|
|
85
|
+
* Focuses the search input.
|
|
47
86
|
*/
|
|
48
87
|
async focus() {
|
|
88
|
+
await this.#assertIsExpanded('Failed to focus the search input.');
|
|
49
89
|
await (await this.#getInput()).focus();
|
|
50
90
|
}
|
|
51
91
|
/**
|
|
52
|
-
* Gets the search's aria-label
|
|
92
|
+
* Gets the search input's `aria-label`.
|
|
53
93
|
*/
|
|
54
94
|
async getAriaLabel() {
|
|
55
95
|
return (await this.#getInput()).getAttribute('aria-label');
|
|
@@ -64,29 +104,40 @@ export class SkySearchHarness extends SkyComponentHarness {
|
|
|
64
104
|
* Gets the value of the input's placeholder attribute.
|
|
65
105
|
*/
|
|
66
106
|
async getPlaceholderText() {
|
|
107
|
+
await this.#assertIsExpanded('Failed to get the placeholder text.');
|
|
67
108
|
return (await this.#getInput()).getAttribute('placeholder');
|
|
68
109
|
}
|
|
69
110
|
/**
|
|
70
|
-
* Gets the value of the input.
|
|
111
|
+
* Gets the value of the search input.
|
|
71
112
|
*/
|
|
72
113
|
async getValue() {
|
|
114
|
+
await this.#assertIsExpanded('Failed to get the value of the search input.');
|
|
73
115
|
return (await this.#getInput()).getProperty('value');
|
|
74
116
|
}
|
|
75
117
|
/**
|
|
76
|
-
* Whether the input is
|
|
118
|
+
* Whether the search input is collapsed.
|
|
119
|
+
*/
|
|
120
|
+
async isCollapsed() {
|
|
121
|
+
return ((await (await this.#getOpenButton()).getAttribute('hidden')) === null);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Whether the search input is disabled.
|
|
77
125
|
*/
|
|
78
126
|
async isDisabled() {
|
|
79
127
|
const disabled = await (await this.#getInput()).getAttribute('disabled');
|
|
80
128
|
return disabled !== null;
|
|
81
129
|
}
|
|
82
130
|
/**
|
|
83
|
-
* Whether the input is focused.
|
|
131
|
+
* Whether the search input is focused.
|
|
84
132
|
*/
|
|
85
133
|
async isFocused() {
|
|
134
|
+
await this.#assertIsExpanded('Failed to get the search input focus status.');
|
|
86
135
|
return (await this.#getInput()).isFocused();
|
|
87
136
|
}
|
|
88
|
-
async #
|
|
89
|
-
|
|
137
|
+
async #assertIsExpanded(errorMessage) {
|
|
138
|
+
if (await this.isCollapsed()) {
|
|
139
|
+
throw new Error(`${errorMessage} Search is collapsed.`);
|
|
140
|
+
}
|
|
90
141
|
}
|
|
91
142
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL3NlYXJjaC9zZWFyY2gtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBQ3ZEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxZQUFZLENBQUM7SUFFMUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUV0RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFbEU7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUNsQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGlCQUFpQjtRQUM1QixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUTtRQUNuQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sUUFBUSxLQUFLLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bza3l1eC9jb3JlL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lTZWFyY2hIYXJuZXNzRmlsdGVycyB9IGZyb20gJy4vc2VhcmNoLWhhcm5lc3MtZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhbiBzZWFyY2ggY29tcG9uZW50IGluIHRlc3RzLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hIYXJuZXNzIGV4dGVuZHMgU2t5Q29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ3NreS1zZWFyY2gnO1xuXG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcignaW5wdXQuc2t5LXNlYXJjaC1pbnB1dCcpO1xuXG4gICNnZXRTdWJtaXRCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoJ2J1dHRvbi5za3ktc2VhcmNoLWJ0bi1hcHBseScpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lTZWFyY2hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5U2VhcmNoSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5U2VhcmNoSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuYmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXQgPSBhd2FpdCB0aGlzLiNnZXRJbnB1dCgpO1xuICAgIGF3YWl0IGlucHV0LmZvY3VzKCk7XG4gICAgYXdhaXQgaW5wdXQuY2xlYXIoKTtcbiAgICBhd2FpdCB0aGlzLiNjbGlja1N1Ym1pdEJ1dHRvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVudGVycyB0ZXh0IGludG8gdGhlIGlucHV0IGFuZCBwZXJmb3JtcyBhIHNlYXJjaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRlclRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlucHV0ID0gYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKTtcbiAgICBhd2FpdCBpbnB1dC5jbGVhcigpO1xuICAgIGF3YWl0IGlucHV0LmZvY3VzKCk7XG4gICAgYXdhaXQgaW5wdXQuc2VuZEtleXModmFsdWUpO1xuICAgIGF3YWl0IHRoaXMuI2NsaWNrU3VibWl0QnV0dG9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VhcmNoJ3MgYXJpYS1sYWJlbC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRBcmlhTGFiZWwoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzZWFyY2gncyBhcmlhLWxhYmVsbGVkYnkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsbGVkYnkoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCdzIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQbGFjZWhvbGRlclRleHQoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhbHVlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRQcm9wZXJ0eSgndmFsdWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpc2FibGVkID0gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gZGlzYWJsZWQgIT09IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgZm9jdXNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0ZvY3VzZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5pc0ZvY3VzZWQoKTtcbiAgfVxuXG4gIGFzeW5jICNjbGlja1N1Ym1pdEJ1dHRvbigpIHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldFN1Ym1pdEJ1dHRvbigpKS5jbGljaygpO1xuICB9XG59XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL3NlYXJjaC9zZWFyY2gtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUkxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxtQkFBbUI7SUFDdkQ7O09BRUc7YUFDVyxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQUUxQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRXRELGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDakUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDN0UsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2xFLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFL0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFFbEUsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckMsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCO1FBQzNCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFOUQsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHdCQUF3QjtRQUNuQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0VBQWdFLENBQ2pFLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHFCQUFxQjtRQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUUzQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFbkUsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQWE7UUFDbEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUU1RSxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUVwRSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFFBQVE7UUFDbkIsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQzFCLDhDQUE4QyxDQUMvQyxDQUFDO1FBRUYsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE9BQU8sQ0FDTCxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxPQUFPLFFBQVEsS0FBSyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLFNBQVM7UUFDcEIsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQzFCLDhDQUE4QyxDQUMvQyxDQUFDO1FBRUYsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxZQUFvQjtRQUMxQyxJQUFJLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVksdUJBQXVCLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9zZWFyY2gtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgc2VhcmNoIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVNlYXJjaEhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LXNlYXJjaCc7XG5cbiAgI2dldElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKCdpbnB1dC5za3ktc2VhcmNoLWlucHV0Jyk7XG5cbiAgI2dldENsZWFyQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCdidXR0b24uc2t5LXNlYXJjaC1idG4tY2xlYXInKTtcbiAgI2dldERpc21pc3NCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnYnV0dG9uLnNreS1zZWFyY2gtYnRuLWRpc21pc3MnKTtcbiAgI2dldFN1Ym1pdEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignYnV0dG9uLnNreS1zZWFyY2gtYnRuLWFwcGx5Jyk7XG4gICNnZXRPcGVuQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCdidXR0b24uc2t5LXNlYXJjaC1idG4tb3BlbicpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lTZWFyY2hIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5U2VhcmNoSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5U2VhcmNoSGFybmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy4jYXNzZXJ0SXNFeHBhbmRlZCgnRmFpbGVkIHRvIGJsdXIgdGhlIHNlYXJjaCBpbnB1dC4nKTtcblxuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5ibHVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy4jYXNzZXJ0SXNFeHBhbmRlZCgnRmFpbGVkIHRvIGNsZWFyIHRoZSBzZWFyY2ggaW5wdXQuJyk7XG5cbiAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMuI2dldElucHV0KCk7XG4gICAgYXdhaXQgaW5wdXQuZm9jdXMoKTtcbiAgICBhd2FpdCBpbnB1dC5jbGVhcigpO1xuICAgIGF3YWl0IHRoaXMuY2xpY2tTdWJtaXRCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHNlYXJjaCBpbnB1dCBjbGVhciBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tDbGVhckJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNhc3NlcnRJc0V4cGFuZGVkKCdGYWlsZWQgdG8gY2xpY2sgY2xlYXIgYnV0dG9uLicpO1xuXG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRDbGVhckJ1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyBzZWFyY2ggZGlzbWlzcyBidXR0b24gdG8gY29sbGFwc2Ugc2VhcmNoIGJhY2sgdG8gYSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEaXNtaXNzU2VhcmNoQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldERpc21pc3NCdXR0b24oKTtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDYW5ub3QgZmluZCBkaXNtaXNzIHNlYXJjaCBidXR0b24uIElzIGEgY29sbGFwc2VkIHNlYXJjaCBvcGVuPycsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHNlYXJjaCBpY29uIGJ1dHRvbiB0aGF0IG9wZW5zIHNlYXJjaCBpbnB1dCB3aGVuIGl0IGlzIGNvbGxhcHNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja09wZW5TZWFyY2hCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy4jZ2V0T3BlbkJ1dHRvbigpO1xuXG4gICAgaWYgKCEoYXdhaXQgdGhpcy5pc0NvbGxhcHNlZCgpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ2Fubm90IGNsaWNrIHNlYXJjaCBvcGVuIGJ1dHRvbiBhcyBzZWFyY2ggaXMgbm90IGNvbGxhcHNlZCcsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHNlYXJjaCBzdWJtaXQgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrU3VibWl0QnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuI2Fzc2VydElzRXhwYW5kZWQoJ0ZhaWxlZCB0byBjbGljayB0aGUgc3VibWl0IGJ1dHRvbi4nKTtcblxuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0U3VibWl0QnV0dG9uKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRleHQgaW50byB0aGUgc2VhcmNoIGlucHV0IGFuZCBwZXJmb3JtcyBhIHNlYXJjaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRlclRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuI2Fzc2VydElzRXhwYW5kZWQoJ0ZhaWxlZCB0byBlbnRlciB0ZXh0IGludG8gdGhlIHNlYXJjaCBpbnB1dC4nKTtcblxuICAgIGNvbnN0IGlucHV0ID0gYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKTtcbiAgICBhd2FpdCBpbnB1dC5jbGVhcigpO1xuICAgIGF3YWl0IGlucHV0LmZvY3VzKCk7XG4gICAgYXdhaXQgaW5wdXQuc2VuZEtleXModmFsdWUpO1xuICAgIGF3YWl0IHRoaXMuY2xpY2tTdWJtaXRCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy4jYXNzZXJ0SXNFeHBhbmRlZCgnRmFpbGVkIHRvIGZvY3VzIHRoZSBzZWFyY2ggaW5wdXQuJyk7XG5cbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzZWFyY2ggaW5wdXQncyBgYXJpYS1sYWJlbGAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2VhcmNoJ3MgYXJpYS1sYWJlbGxlZGJ5LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFMYWJlbGxlZGJ5KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQncyBwbGFjZWhvbGRlciBhdHRyaWJ1dGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UGxhY2Vob2xkZXJUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIGF3YWl0IHRoaXMuI2Fzc2VydElzRXhwYW5kZWQoJ0ZhaWxlZCB0byBnZXQgdGhlIHBsYWNlaG9sZGVyIHRleHQuJyk7XG5cbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZhbHVlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgYXdhaXQgdGhpcy4jYXNzZXJ0SXNFeHBhbmRlZChcbiAgICAgICdGYWlsZWQgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgc2VhcmNoIGlucHV0LicsXG4gICAgKTtcblxuICAgIHJldHVybiAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0UHJvcGVydHkoJ3ZhbHVlJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIGlucHV0IGlzIGNvbGxhcHNlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0NvbGxhcHNlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gKFxuICAgICAgKGF3YWl0IChhd2FpdCB0aGlzLiNnZXRPcGVuQnV0dG9uKCkpLmdldEF0dHJpYnV0ZSgnaGlkZGVuJykpID09PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgcmV0dXJuIGRpc2FibGVkICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlYXJjaCBpbnB1dCBpcyBmb2N1c2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzRm9jdXNlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBhd2FpdCB0aGlzLiNhc3NlcnRJc0V4cGFuZGVkKFxuICAgICAgJ0ZhaWxlZCB0byBnZXQgdGhlIHNlYXJjaCBpbnB1dCBmb2N1cyBzdGF0dXMuJyxcbiAgICApO1xuXG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5pc0ZvY3VzZWQoKTtcbiAgfVxuXG4gIGFzeW5jICNhc3NlcnRJc0V4cGFuZGVkKGVycm9yTWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuaXNDb2xsYXBzZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2Vycm9yTWVzc2FnZX0gU2VhcmNoIGlzIGNvbGxhcHNlZC5gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|