@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.
Files changed (97) hide show
  1. package/documentation.json +1965 -1846
  2. package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +2 -2
  3. package/esm2022/lib/modules/country-field/country-field.component.mjs +3 -3
  4. package/esm2022/lib/modules/lookup/lookup.component.mjs +2 -2
  5. package/esm2022/lib/modules/search/search.component.mjs +3 -3
  6. package/esm2022/testing/legacy/country-field/country-field-fixture.mjs +121 -0
  7. package/esm2022/testing/{country-field → legacy/country-field}/country-field-testing.module.mjs +1 -1
  8. package/esm2022/testing/legacy/search/search-fixture.mjs +60 -0
  9. package/esm2022/testing/{search → legacy/search}/search-testing.module.mjs +1 -1
  10. package/esm2022/testing/modules/autocomplete/autocomplete-harness-filters.mjs +2 -0
  11. package/esm2022/testing/modules/autocomplete/autocomplete-harness.mjs +192 -0
  12. package/esm2022/testing/modules/autocomplete/autocomplete-input-harness.mjs +17 -0
  13. package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness-filters.mjs +2 -0
  14. package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness.mjs +38 -0
  15. package/esm2022/testing/modules/country-field/country-field-harness-filters.mjs +2 -0
  16. package/esm2022/testing/modules/country-field/country-field-harness.mjs +139 -0
  17. package/esm2022/testing/modules/country-field/country-field-search-result-harness-filters.mjs +2 -0
  18. package/esm2022/testing/modules/country-field/country-field-search-result-harness.mjs +27 -0
  19. package/esm2022/testing/modules/lookup/lookup-harness-filters.mjs +2 -0
  20. package/esm2022/testing/modules/lookup/lookup-harness.mjs +181 -0
  21. package/esm2022/testing/modules/lookup/lookup-search-result-harness-filters.mjs +2 -0
  22. package/esm2022/testing/modules/lookup/lookup-search-result-harness.mjs +24 -0
  23. package/esm2022/testing/modules/lookup/lookup-selection-harness-filters.mjs +2 -0
  24. package/esm2022/testing/modules/lookup/lookup-selection-harness.mjs +8 -0
  25. package/esm2022/testing/modules/lookup/lookup-selections-list-harness.mjs +26 -0
  26. package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness-filters.mjs +2 -0
  27. package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness.mjs +28 -0
  28. package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +2 -0
  29. package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness.mjs +8 -0
  30. package/esm2022/testing/modules/search/search-harness-filters.mjs +2 -0
  31. package/esm2022/testing/modules/search/search-harness.mjs +143 -0
  32. package/esm2022/testing/modules/selection-modal/selection-modal-harness.mjs +172 -0
  33. package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness-filters.mjs +2 -0
  34. package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness.mjs +7 -0
  35. package/esm2022/testing/public-api.mjs +17 -17
  36. package/fesm2022/skyux-lookup-testing.mjs +82 -73
  37. package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
  38. package/fesm2022/skyux-lookup.mjs +8 -8
  39. package/fesm2022/skyux-lookup.mjs.map +1 -1
  40. package/package.json +11 -11
  41. package/testing/{country-field → legacy/country-field}/country-field-fixture.d.ts +1 -1
  42. package/testing/{country-field → modules/country-field}/country-field-search-result-harness-filters.d.ts +1 -1
  43. package/testing/{lookup → modules/lookup}/lookup-search-result-harness-filters.d.ts +1 -1
  44. package/testing/public-api.d.ts +26 -26
  45. package/esm2022/testing/autocomplete/autocomplete-harness-filters.mjs +0 -2
  46. package/esm2022/testing/autocomplete/autocomplete-harness.mjs +0 -192
  47. package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +0 -17
  48. package/esm2022/testing/autocomplete/autocomplete-search-result-harness-filters.mjs +0 -2
  49. package/esm2022/testing/autocomplete/autocomplete-search-result-harness.mjs +0 -38
  50. package/esm2022/testing/country-field/country-field-fixture.mjs +0 -119
  51. package/esm2022/testing/country-field/country-field-harness-filters.mjs +0 -2
  52. package/esm2022/testing/country-field/country-field-harness.mjs +0 -139
  53. package/esm2022/testing/country-field/country-field-search-result-harness-filters.mjs +0 -2
  54. package/esm2022/testing/country-field/country-field-search-result-harness.mjs +0 -24
  55. package/esm2022/testing/lookup/lookup-harness-filters.mjs +0 -2
  56. package/esm2022/testing/lookup/lookup-harness.mjs +0 -181
  57. package/esm2022/testing/lookup/lookup-search-result-harness-filters.mjs +0 -2
  58. package/esm2022/testing/lookup/lookup-search-result-harness.mjs +0 -21
  59. package/esm2022/testing/lookup/lookup-selection-harness-filters.mjs +0 -2
  60. package/esm2022/testing/lookup/lookup-selection-harness.mjs +0 -8
  61. package/esm2022/testing/lookup/lookup-selections-list-harness.mjs +0 -26
  62. package/esm2022/testing/lookup/lookup-show-more-picker-harness-filters.mjs +0 -2
  63. package/esm2022/testing/lookup/lookup-show-more-picker-harness.mjs +0 -28
  64. package/esm2022/testing/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +0 -2
  65. package/esm2022/testing/lookup/lookup-show-more-picker-search-result-harness.mjs +0 -8
  66. package/esm2022/testing/search/search-fixture.mjs +0 -60
  67. package/esm2022/testing/search/search-harness-filters.mjs +0 -2
  68. package/esm2022/testing/search/search-harness.mjs +0 -143
  69. package/esm2022/testing/selection-modal/selection-modal-harness.mjs +0 -171
  70. package/esm2022/testing/selection-modal/selection-modal-search-result-harness-filters.mjs +0 -2
  71. package/esm2022/testing/selection-modal/selection-modal-search-result-harness.mjs +0 -7
  72. /package/testing/{country-field → legacy/country-field}/country-field-testing.module.d.ts +0 -0
  73. /package/testing/{search → legacy/search}/search-fixture.d.ts +0 -0
  74. /package/testing/{search → legacy/search}/search-testing.module.d.ts +0 -0
  75. /package/testing/{autocomplete → modules/autocomplete}/autocomplete-harness-filters.d.ts +0 -0
  76. /package/testing/{autocomplete → modules/autocomplete}/autocomplete-harness.d.ts +0 -0
  77. /package/testing/{autocomplete → modules/autocomplete}/autocomplete-input-harness.d.ts +0 -0
  78. /package/testing/{autocomplete → modules/autocomplete}/autocomplete-search-result-harness-filters.d.ts +0 -0
  79. /package/testing/{autocomplete → modules/autocomplete}/autocomplete-search-result-harness.d.ts +0 -0
  80. /package/testing/{country-field → modules/country-field}/country-field-harness-filters.d.ts +0 -0
  81. /package/testing/{country-field → modules/country-field}/country-field-harness.d.ts +0 -0
  82. /package/testing/{country-field → modules/country-field}/country-field-search-result-harness.d.ts +0 -0
  83. /package/testing/{lookup → modules/lookup}/lookup-harness-filters.d.ts +0 -0
  84. /package/testing/{lookup → modules/lookup}/lookup-harness.d.ts +0 -0
  85. /package/testing/{lookup → modules/lookup}/lookup-search-result-harness.d.ts +0 -0
  86. /package/testing/{lookup → modules/lookup}/lookup-selection-harness-filters.d.ts +0 -0
  87. /package/testing/{lookup → modules/lookup}/lookup-selection-harness.d.ts +0 -0
  88. /package/testing/{lookup → modules/lookup}/lookup-selections-list-harness.d.ts +0 -0
  89. /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-harness-filters.d.ts +0 -0
  90. /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-harness.d.ts +0 -0
  91. /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-search-result-harness-filters.d.ts +0 -0
  92. /package/testing/{lookup → modules/lookup}/lookup-show-more-picker-search-result-harness.d.ts +0 -0
  93. /package/testing/{search → modules/search}/search-harness-filters.d.ts +0 -0
  94. /package/testing/{search → modules/search}/search-harness.d.ts +0 -0
  95. /package/testing/{selection-modal → modules/selection-modal}/selection-modal-harness.d.ts +0 -0
  96. /package/testing/{selection-modal → modules/selection-modal}/selection-modal-search-result-harness-filters.d.ts +0 -0
  97. /package/testing/{selection-modal → modules/selection-modal}/selection-modal-search-result-harness.d.ts +0 -0
@@ -0,0 +1,60 @@
1
+ import { By } from '@angular/platform-browser';
2
+ import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
+ /**
4
+ * Allows interaction with a SKY UX search component.
5
+ * @deprecated Use `SkySearchHarness` instead.
6
+ * @internal
7
+ */
8
+ export class SkySearchFixture {
9
+ /**
10
+ * Gets the search's current text.
11
+ */
12
+ get searchText() {
13
+ return this.#getInputEl().nativeElement.value;
14
+ }
15
+ /**
16
+ * Gets the search's current placeholder text.
17
+ */
18
+ get placeholderText() {
19
+ return this.#getInputEl().nativeElement.placeholder;
20
+ }
21
+ #debugEl;
22
+ constructor(fixture, skyTestId) {
23
+ this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-search');
24
+ }
25
+ /**
26
+ * Applies the specified search text, invoking the search.
27
+ * @param searchText The search text to apply. If none is specified, the search's
28
+ * current search text will be applied.
29
+ */
30
+ apply(searchText) {
31
+ if (searchText) {
32
+ SkyAppTestUtility.setInputValue(this.#getInputEl().nativeElement, searchText);
33
+ }
34
+ const btnEl = this.#getApplyBtnEl();
35
+ btnEl.triggerEventHandler('click', {});
36
+ }
37
+ /**
38
+ * Clears the current search text. If there is no search text or the search text is
39
+ * not currently applied, an error is thrown.
40
+ */
41
+ clear() {
42
+ const clearEl = this.#debugEl.query(By.css('.sky-input-group-clear'));
43
+ if (!SkyAppTestUtility.isVisible(clearEl)) {
44
+ throw new Error('There currently is no search text or the current search text has not been applied, ' +
45
+ 'so the clear button is not visible.');
46
+ }
47
+ const btnEl = this.#getClearBtnEl();
48
+ btnEl.triggerEventHandler('click', {});
49
+ }
50
+ #getApplyBtnEl() {
51
+ return this.#debugEl.query(By.css('.sky-search-btn-apply'));
52
+ }
53
+ #getClearBtnEl() {
54
+ return this.#debugEl.query(By.css('.sky-search-btn-clear'));
55
+ }
56
+ #getInputEl() {
57
+ return this.#debugEl.query(By.css('.sky-search-input'));
58
+ }
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL2xlZ2FjeS9zZWFyY2gvc2VhcmNoLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVEsQ0FBZTtJQUV2QixZQUFZLE9BQThCLEVBQUUsU0FBaUI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdkQsT0FBTyxFQUNQLFNBQVMsRUFDVCxZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFVBQW1CO1FBQzlCLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixpQkFBaUIsQ0FBQyxhQUFhLENBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxhQUFhLEVBQ2hDLFVBQVUsQ0FDWCxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVwQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLE1BQU0sSUFBSSxLQUFLLENBQ2IscUZBQXFGO2dCQUNuRixxQ0FBcUMsQ0FDeEMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFcEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBzZWFyY2ggY29tcG9uZW50LlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lTZWFyY2hIYXJuZXNzYCBpbnN0ZWFkLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hGaXh0dXJlIHtcbiAgLyoqXG4gICAqIEdldHMgdGhlIHNlYXJjaCdzIGN1cnJlbnQgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2VhcmNoVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXRJbnB1dEVsKCkubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzZWFyY2gncyBjdXJyZW50IHBsYWNlaG9sZGVyIHRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNnZXRJbnB1dEVsKCkubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gICNkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuI2RlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LXNlYXJjaCcsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIHRoZSBzcGVjaWZpZWQgc2VhcmNoIHRleHQsIGludm9raW5nIHRoZSBzZWFyY2guXG4gICAqIEBwYXJhbSBzZWFyY2hUZXh0IFRoZSBzZWFyY2ggdGV4dCB0byBhcHBseS4gIElmIG5vbmUgaXMgc3BlY2lmaWVkLCB0aGUgc2VhcmNoJ3NcbiAgICogY3VycmVudCBzZWFyY2ggdGV4dCB3aWxsIGJlIGFwcGxpZWQuXG4gICAqL1xuICBwdWJsaWMgYXBwbHkoc2VhcmNoVGV4dD86IHN0cmluZykge1xuICAgIGlmIChzZWFyY2hUZXh0KSB7XG4gICAgICBTa3lBcHBUZXN0VXRpbGl0eS5zZXRJbnB1dFZhbHVlKFxuICAgICAgICB0aGlzLiNnZXRJbnB1dEVsKCkubmF0aXZlRWxlbWVudCxcbiAgICAgICAgc2VhcmNoVGV4dCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgYnRuRWwgPSB0aGlzLiNnZXRBcHBseUJ0bkVsKCk7XG5cbiAgICBidG5FbC50cmlnZ2VyRXZlbnRIYW5kbGVyKCdjbGljaycsIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGN1cnJlbnQgc2VhcmNoIHRleHQuIElmIHRoZXJlIGlzIG5vIHNlYXJjaCB0ZXh0IG9yIHRoZSBzZWFyY2ggdGV4dCBpc1xuICAgKiBub3QgY3VycmVudGx5IGFwcGxpZWQsIGFuIGVycm9yIGlzIHRocm93bi5cbiAgICovXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICBjb25zdCBjbGVhckVsID0gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktaW5wdXQtZ3JvdXAtY2xlYXInKSk7XG5cbiAgICBpZiAoIVNreUFwcFRlc3RVdGlsaXR5LmlzVmlzaWJsZShjbGVhckVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlcmUgY3VycmVudGx5IGlzIG5vIHNlYXJjaCB0ZXh0IG9yIHRoZSBjdXJyZW50IHNlYXJjaCB0ZXh0IGhhcyBub3QgYmVlbiBhcHBsaWVkLCAnICtcbiAgICAgICAgICAnc28gdGhlIGNsZWFyIGJ1dHRvbiBpcyBub3QgdmlzaWJsZS4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBidG5FbCA9IHRoaXMuI2dldENsZWFyQnRuRWwoKTtcblxuICAgIGJ0bkVsLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywge30pO1xuICB9XG5cbiAgI2dldEFwcGx5QnRuRWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktc2VhcmNoLWJ0bi1hcHBseScpKTtcbiAgfVxuXG4gICNnZXRDbGVhckJ0bkVsKCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXNlYXJjaC1idG4tY2xlYXInKSk7XG4gIH1cblxuICAjZ2V0SW5wdXRFbCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1zZWFyY2gtaW5wdXQnKSk7XG4gIH1cbn1cbiJdfQ==
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
16
16
  exports: [NoopAnimationsModule, SkySearchModule],
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9zZWFyY2gvc2VhcmNoLXRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFaEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixZQUZ2QixvQkFBb0IsRUFBRSxlQUFlOytHQUVwQyxzQkFBc0IsWUFGdkIsb0JBQW9CLEVBQUUsZUFBZTs7MkZBRXBDLHNCQUFzQjtrQkFIbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IFNreVNlYXJjaE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbTm9vcEFuaW1hdGlvbnNNb2R1bGUsIFNreVNlYXJjaE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaFRlc3RpbmdNb2R1bGUge31cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9sZWdhY3kvc2VhcmNoL3NlYXJjaC10ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWhEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsWUFGdkIsb0JBQW9CLEVBQUUsZUFBZTsrR0FFcEMsc0JBQXNCLFlBRnZCLG9CQUFvQixFQUFFLGVBQWU7OzJGQUVwQyxzQkFBc0I7a0JBSGxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsZUFBZSxDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb29wQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBTa3lTZWFyY2hNb2R1bGUgfSBmcm9tICdAc2t5dXgvbG9va3VwJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW05vb3BBbmltYXRpb25zTW9kdWxlLCBTa3lTZWFyY2hNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hUZXN0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgU2t5QXV0b2NvbXBsZXRlSGFybmVzcyBpbnN0YW5jZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgU2t5QXV0b2NvbXBsZXRlSGFybmVzc0ZpbHRlcnMgZXh0ZW5kcyBTa3lIYXJuZXNzRmlsdGVycyB7fVxuIl19
@@ -0,0 +1,192 @@
1
+ import { SkyComponentHarness, SkyOverlayHarness } from '@skyux/core/testing';
2
+ import { SkyAutocompleteInputHarness } from './autocomplete-input-harness';
3
+ import { SkyAutocompleteSearchResultHarness } from './autocomplete-search-result-harness';
4
+ /**
5
+ * Harness for interacting with an autocomplete component in tests.
6
+ */
7
+ export class SkyAutocompleteHarness extends SkyComponentHarness {
8
+ /**
9
+ * @internal
10
+ */
11
+ static { this.hostSelector = 'sky-autocomplete'; }
12
+ #documentRootLocator = this.documentRootLocatorFactory();
13
+ #getAutocomplete = this.locatorFor('.sky-autocomplete');
14
+ #getInput = this.locatorFor(SkyAutocompleteInputHarness);
15
+ /**
16
+ * Gets a `HarnessPredicate` that can be used to search for a
17
+ * `SkyAutocompleteHarness` that meets certain criteria.
18
+ */
19
+ static with(filters) {
20
+ return SkyAutocompleteHarness.getDataSkyIdPredicate(filters);
21
+ }
22
+ /**
23
+ * Blurs the autocomplete input.
24
+ * @deprecated Call `await (await autocomplete.getControl()).blur()` instead.
25
+ */
26
+ async blur() {
27
+ await (await this.#getInput()).blur();
28
+ }
29
+ /**
30
+ * Clears the autocomplete input value.
31
+ * @deprecated Call `await (await autocomplete.getControl()).clear()` instead.
32
+ */
33
+ async clear() {
34
+ await (await this.#getInput()).clear();
35
+ }
36
+ /**
37
+ * Enters text into the autocomplete input.
38
+ * @deprecated Call `await (await autocomplete.getControl()).setValue()` instead.
39
+ */
40
+ async enterText(value) {
41
+ await (await this.#getInput()).setValue(value);
42
+ }
43
+ /**
44
+ * Focuses the autocomplete input.
45
+ * @deprecated Call `await (await autocomplete.getControl()).focus()` instead.
46
+ */
47
+ async focus() {
48
+ await (await this.#getInput()).focus();
49
+ }
50
+ /**
51
+ * Gets the autocomplete `aria-labelledby` value.
52
+ */
53
+ async getAriaLabelledby() {
54
+ return await (await this.#getAutocomplete()).getAttribute('aria-labelledby');
55
+ }
56
+ /**
57
+ * Gets the autocomplete input harness.
58
+ */
59
+ async getControl() {
60
+ return await this.#getInput();
61
+ }
62
+ /**
63
+ * Returns autocomplete search result harnesses.
64
+ */
65
+ async getSearchResults(filters) {
66
+ const overlay = await this.#getOverlay();
67
+ if (!overlay) {
68
+ throw new Error('Unable to retrieve search results. The autocomplete is closed.');
69
+ }
70
+ const harnesses = await overlay.queryHarnesses(SkyAutocompleteSearchResultHarness.with(filters || {}));
71
+ if (filters && harnesses.length === 0) {
72
+ // Stringify the regular expression so that it's readable in the console log.
73
+ if (filters.text instanceof RegExp) {
74
+ filters.text = filters.text.toString();
75
+ }
76
+ throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
77
+ }
78
+ return harnesses;
79
+ }
80
+ /**
81
+ * Returns the text content for each autocomplete search result.
82
+ */
83
+ async getSearchResultsText(filters) {
84
+ const harnesses = await this.getSearchResults(filters);
85
+ const text = [];
86
+ for (const harness of harnesses) {
87
+ text.push(await harness.getText());
88
+ }
89
+ return text;
90
+ }
91
+ /**
92
+ * Gets the value of the autocomplete input.
93
+ * @deprecated Call `await (await autocomplete.getControl()).getValue()` instead.
94
+ */
95
+ async getValue() {
96
+ return await (await this.#getInput()).getValue();
97
+ }
98
+ /**
99
+ * Gets the text displayed when no search results are found.
100
+ */
101
+ async getNoResultsFoundText() {
102
+ const overlay = await this.#getOverlay();
103
+ if (!overlay) {
104
+ throw new Error('Cannot find "no results found" text as the dropdown is closed.');
105
+ }
106
+ try {
107
+ const noResultFoundText = await overlay.querySelector('.sky-autocomplete-no-results');
108
+ return (await noResultFoundText?.text())?.trim();
109
+ }
110
+ catch {
111
+ throw new Error('Cannot find "no results found" text because there are search results.');
112
+ }
113
+ }
114
+ /**
115
+ * Whether the autocomplete input is disabled.
116
+ * @deprecated Call `await (await autocomplete.getControl()).isDisabled()` instead.
117
+ */
118
+ async isDisabled() {
119
+ return await (await this.#getInput()).isDisabled();
120
+ }
121
+ /**
122
+ * Whether the autocomplete input is focused.
123
+ * @deprecated Call `await (await autocomplete.getControl()).isFocused()` instead.
124
+ */
125
+ async isFocused() {
126
+ return await (await this.#getInput()).isFocused();
127
+ }
128
+ /**
129
+ * Whether the autocomplete is open.
130
+ */
131
+ async isOpen() {
132
+ const overlay = await this.#getOverlay();
133
+ return !!overlay;
134
+ }
135
+ /**
136
+ * Selects a search result.
137
+ */
138
+ async selectSearchResult(filters) {
139
+ const results = await this.getSearchResults(filters);
140
+ if (results && results.length > 0) {
141
+ await results[0].select();
142
+ }
143
+ }
144
+ /**
145
+ * Clicks the "Add" button in the autocomplete search results panel.
146
+ * (The "Add" functionality is not included in the public API
147
+ * of a "vanilla" autocomplete component, so this method is protected
148
+ * to prevent consumers of the autocomplete harness from calling it.
149
+ * The lookup harness, which extends the autocomplete harness, may
150
+ * still access this feature, however.)
151
+ * @internal
152
+ */
153
+ async clickAddButton() {
154
+ const overlay = await this.#getOverlay();
155
+ if (!overlay) {
156
+ throw new Error('Unable to find the "Add" button. The autocomplete is closed.');
157
+ }
158
+ const button = await overlay.querySelectorOrNull('button.sky-autocomplete-action-add');
159
+ if (!button) {
160
+ throw new Error('The "Add" button cannot be clicked because it does not exist.');
161
+ }
162
+ await button.click();
163
+ }
164
+ /**
165
+ * Clicks the "Show more" button.
166
+ * (The "Show more" functionality is not included in the public API
167
+ * of a "vanilla" autocomplete component, so this method is protected
168
+ * to prevent consumers of the autocomplete harness from calling it.
169
+ * The lookup harness, which extends the autocomplete harness, may
170
+ * still access this feature, however.)
171
+ * @internal
172
+ */
173
+ async clickShowMoreButton() {
174
+ const overlay = await this.#getOverlay();
175
+ if (!overlay) {
176
+ throw new Error('Unable to find the "Show more" button. ' +
177
+ 'The autocomplete is closed.');
178
+ }
179
+ const button = await overlay.querySelectorOrNull('button.sky-autocomplete-action-more');
180
+ if (!button) {
181
+ throw new Error('The "Show more" button cannot be clicked because it does not exist.');
182
+ }
183
+ await button.click();
184
+ }
185
+ async #getOverlay() {
186
+ const overlayId = await (await this.#getInput()).getAriaControls();
187
+ return overlayId
188
+ ? await this.#documentRootLocator.locatorForOptional(SkyOverlayHarness.with({ selector: `#${overlayId}` }))()
189
+ : null;
190
+ }
191
+ }
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzFGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG1CQUFtQjtJQUM3RDs7T0FFRzthQUNXLGlCQUFZLEdBQUcsa0JBQWtCLENBQUM7SUFFaEQsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDekQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hELFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFFekQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FBc0M7UUFFdEMsT0FBTyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLElBQUk7UUFDZixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7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QUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDTyxLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQ2IseUNBQXlDO2dCQUN2Qyw2QkFBNkIsQ0FDaEMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxtQkFBbUIsQ0FDOUMscUNBQXFDLENBQ3RDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUNiLHFFQUFxRSxDQUN0RSxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRW5FLE9BQU8sU0FBUztZQUNkLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FDaEQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUN0RCxFQUFFO1lBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJuZXNzUHJlZGljYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgU2t5Q29tcG9uZW50SGFybmVzcywgU2t5T3ZlcmxheUhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1oYXJuZXNzLWZpbHRlcnMnO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlSW5wdXRIYXJuZXNzIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtaW5wdXQtaGFybmVzcyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYW4gYXV0b2NvbXBsZXRlIGNvbXBvbmVudCBpbiB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgZXh0ZW5kcyBTa3lDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnc2t5LWF1dG9jb21wbGV0ZSc7XG5cbiAgI2RvY3VtZW50Um9vdExvY2F0b3IgPSB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCk7XG4gICNnZXRBdXRvY29tcGxldGUgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktYXV0b2NvbXBsZXRlJyk7XG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcihTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lBdXRvY29tcGxldGVIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5QXV0b2NvbXBsZXRlSGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5QXV0b2NvbXBsZXRlSGFybmVzcz4ge1xuICAgIHJldHVybiBTa3lBdXRvY29tcGxldGVIYXJuZXNzLmdldERhdGFTa3lJZFByZWRpY2F0ZShmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0LlxuICAgKiBAZGVwcmVjYXRlZCBDYWxsIGBhd2FpdCAoYXdhaXQgYXV0b2NvbXBsZXRlLmdldENvbnRyb2woKSkuYmx1cigpYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmJsdXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCB2YWx1ZS5cbiAgICogQGRlcHJlY2F0ZWQgQ2FsbCBgYXdhaXQgKGF3YWl0IGF1dG9jb21wbGV0ZS5nZXRDb250cm9sKCkpLmNsZWFyKClgIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRleHQgaW50byB0aGUgYXV0b2NvbXBsZXRlIGlucHV0LlxuICAgKiBAZGVwcmVjYXRlZCBDYWxsIGBhd2FpdCAoYXdhaXQgYXV0b2NvbXBsZXRlLmdldENvbnRyb2woKSkuc2V0VmFsdWUoKWAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRlclRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRm9jdXNlcyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0LlxuICAgKiBAZGVwcmVjYXRlZCBDYWxsIGBhd2FpdCAoYXdhaXQgYXV0b2NvbXBsZXRlLmdldENvbnRyb2woKSkuZm9jdXMoKWAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBmb2N1cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBhdXRvY29tcGxldGUgYGFyaWEtbGFiZWxsZWRieWAgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0QXJpYUxhYmVsbGVkYnkoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuI2dldEF1dG9jb21wbGV0ZSgpXG4gICAgKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBoYXJuZXNzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldENvbnRyb2woKTogUHJvbWlzZTxTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3M+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGF1dG9jb21wbGV0ZSBzZWFyY2ggcmVzdWx0IGhhcm5lc3Nlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWFyY2hSZXN1bHRzKFxuICAgIGZpbHRlcnM/OiBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogUHJvbWlzZTxTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzW10+IHtcbiAgICBjb25zdCBvdmVybGF5ID0gYXdhaXQgdGhpcy4jZ2V0T3ZlcmxheSgpO1xuXG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gcmV0cmlldmUgc2VhcmNoIHJlc3VsdHMuIFRoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGhhcm5lc3NlcyA9IGF3YWl0IG92ZXJsYXkucXVlcnlIYXJuZXNzZXMoXG4gICAgICBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzLndpdGgoZmlsdGVycyB8fCB7fSksXG4gICAgKTtcblxuICAgIGlmIChmaWx0ZXJzICYmIGhhcm5lc3Nlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFN0cmluZ2lmeSB0aGUgcmVndWxhciBleHByZXNzaW9uIHNvIHRoYXQgaXQncyByZWFkYWJsZSBpbiB0aGUgY29uc29sZSBsb2cuXG4gICAgICBpZiAoZmlsdGVycy50ZXh0IGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIGZpbHRlcnMudGV4dCA9IGZpbHRlcnMudGV4dC50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb3VsZCBub3QgZmluZCBzZWFyY2ggcmVzdWx0cyBtYXRjaGluZyBmaWx0ZXIocyk6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFybmVzc2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRleHQgY29udGVudCBmb3IgZWFjaCBhdXRvY29tcGxldGUgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWFyY2hSZXN1bHRzVGV4dChcbiAgICBmaWx0ZXJzPzogU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmdldFNlYXJjaFJlc3VsdHMoZmlsdGVycyk7XG5cbiAgICBjb25zdCB0ZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaGFybmVzcyBvZiBoYXJuZXNzZXMpIHtcbiAgICAgIHRleHQucHVzaChhd2FpdCBoYXJuZXNzLmdldFRleHQoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dC5cbiAgICogQGRlcHJlY2F0ZWQgQ2FsbCBgYXdhaXQgKGF3YWl0IGF1dG9jb21wbGV0ZS5nZXRDb250cm9sKCkpLmdldFZhbHVlKClgIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuI2dldElucHV0KCkpLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdGV4dCBkaXNwbGF5ZWQgd2hlbiBubyBzZWFyY2ggcmVzdWx0cyBhcmUgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Tm9SZXN1bHRzRm91bmRUZXh0KCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHRoaXMuI2dldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ2Fubm90IGZpbmQgXCJubyByZXN1bHRzIGZvdW5kXCIgdGV4dCBhcyB0aGUgZHJvcGRvd24gaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBub1Jlc3VsdEZvdW5kVGV4dCA9IGF3YWl0IG92ZXJsYXkucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy5za3ktYXV0b2NvbXBsZXRlLW5vLXJlc3VsdHMnLFxuICAgICAgKTtcbiAgICAgIHJldHVybiAoYXdhaXQgbm9SZXN1bHRGb3VuZFRleHQ/LnRleHQoKSk/LnRyaW0oKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBmaW5kIFwibm8gcmVzdWx0cyBmb3VuZFwiIHRleHQgYmVjYXVzZSB0aGVyZSBhcmUgc2VhcmNoIHJlc3VsdHMuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBpcyBkaXNhYmxlZC5cbiAgICogQGRlcHJlY2F0ZWQgQ2FsbCBgYXdhaXQgKGF3YWl0IGF1dG9jb21wbGV0ZS5nZXRDb250cm9sKCkpLmlzRGlzYWJsZWQoKWAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNEaXNhYmxlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBpcyBmb2N1c2VkLlxuICAgKiBAZGVwcmVjYXRlZCBDYWxsIGBhd2FpdCAoYXdhaXQgYXV0b2NvbXBsZXRlLmdldENvbnRyb2woKSkuaXNGb2N1c2VkKClgIGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuaXNGb2N1c2VkKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIGlzIG9wZW4uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNPcGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG92ZXJsYXkgPSBhd2FpdCB0aGlzLiNnZXRPdmVybGF5KCk7XG4gICAgcmV0dXJuICEhb3ZlcmxheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGEgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3RTZWFyY2hSZXN1bHQoXG4gICAgZmlsdGVyczogU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLmdldFNlYXJjaFJlc3VsdHMoZmlsdGVycyk7XG4gICAgaWYgKHJlc3VsdHMgJiYgcmVzdWx0cy5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCByZXN1bHRzWzBdLnNlbGVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIFwiQWRkXCIgYnV0dG9uIGluIHRoZSBhdXRvY29tcGxldGUgc2VhcmNoIHJlc3VsdHMgcGFuZWwuXG4gICAqIChUaGUgXCJBZGRcIiBmdW5jdGlvbmFsaXR5IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHVibGljIEFQSVxuICAgKiBvZiBhIFwidmFuaWxsYVwiIGF1dG9jb21wbGV0ZSBjb21wb25lbnQsIHNvIHRoaXMgbWV0aG9kIGlzIHByb3RlY3RlZFxuICAgKiB0byBwcmV2ZW50IGNvbnN1bWVycyBvZiB0aGUgYXV0b2NvbXBsZXRlIGhhcm5lc3MgZnJvbSBjYWxsaW5nIGl0LlxuICAgKiBUaGUgbG9va3VwIGhhcm5lc3MsIHdoaWNoIGV4dGVuZHMgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzLCBtYXlcbiAgICogc3RpbGwgYWNjZXNzIHRoaXMgZmVhdHVyZSwgaG93ZXZlci4pXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrQWRkQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG92ZXJsYXkgPSBhd2FpdCB0aGlzLiNnZXRPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gZmluZCB0aGUgXCJBZGRcIiBidXR0b24uIFRoZSBhdXRvY29tcGxldGUgaXMgY2xvc2VkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IG92ZXJsYXkucXVlcnlTZWxlY3Rvck9yTnVsbChcbiAgICAgICdidXR0b24uc2t5LWF1dG9jb21wbGV0ZS1hY3Rpb24tYWRkJyxcbiAgICApO1xuXG4gICAgaWYgKCFidXR0b24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBcIkFkZFwiIGJ1dHRvbiBjYW5ub3QgYmUgY2xpY2tlZCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0LicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgXCJTaG93IG1vcmVcIiBidXR0b24uXG4gICAqIChUaGUgXCJTaG93IG1vcmVcIiBmdW5jdGlvbmFsaXR5IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcHVibGljIEFQSVxuICAgKiBvZiBhIFwidmFuaWxsYVwiIGF1dG9jb21wbGV0ZSBjb21wb25lbnQsIHNvIHRoaXMgbWV0aG9kIGlzIHByb3RlY3RlZFxuICAgKiB0byBwcmV2ZW50IGNvbnN1bWVycyBvZiB0aGUgYXV0b2NvbXBsZXRlIGhhcm5lc3MgZnJvbSBjYWxsaW5nIGl0LlxuICAgKiBUaGUgbG9va3VwIGhhcm5lc3MsIHdoaWNoIGV4dGVuZHMgdGhlIGF1dG9jb21wbGV0ZSBoYXJuZXNzLCBtYXlcbiAgICogc3RpbGwgYWNjZXNzIHRoaXMgZmVhdHVyZSwgaG93ZXZlci4pXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNsaWNrU2hvd01vcmVCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHRoaXMuI2dldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVW5hYmxlIHRvIGZpbmQgdGhlIFwiU2hvdyBtb3JlXCIgYnV0dG9uLiAnICtcbiAgICAgICAgICAnVGhlIGF1dG9jb21wbGV0ZSBpcyBjbG9zZWQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgb3ZlcmxheS5xdWVyeVNlbGVjdG9yT3JOdWxsKFxuICAgICAgJ2J1dHRvbi5za3ktYXV0b2NvbXBsZXRlLWFjdGlvbi1tb3JlJyxcbiAgICApO1xuXG4gICAgaWYgKCFidXR0b24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBcIlNob3cgbW9yZVwiIGJ1dHRvbiBjYW5ub3QgYmUgY2xpY2tlZCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0LicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgYXN5bmMgI2dldE92ZXJsYXkoKTogUHJvbWlzZTxTa3lPdmVybGF5SGFybmVzcyB8IG51bGw+IHtcbiAgICBjb25zdCBvdmVybGF5SWQgPSBhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0SW5wdXQoKSkuZ2V0QXJpYUNvbnRyb2xzKCk7XG5cbiAgICByZXR1cm4gb3ZlcmxheUlkXG4gICAgICA/IGF3YWl0IHRoaXMuI2RvY3VtZW50Um9vdExvY2F0b3IubG9jYXRvckZvck9wdGlvbmFsKFxuICAgICAgICAgIFNreU92ZXJsYXlIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogYCMke292ZXJsYXlJZH1gIH0pLFxuICAgICAgICApKClcbiAgICAgIDogbnVsbDtcbiAgfVxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { SkyInputHarness } from '@skyux/core/testing';
2
+ /**
3
+ * Harness to interact with the autocomplete input harness.
4
+ */
5
+ export class SkyAutocompleteInputHarness extends SkyInputHarness {
6
+ /**
7
+ * @internal
8
+ */
9
+ static { this.hostSelector = '[skyAutocomplete]'; }
10
+ /**
11
+ * Returns the value of the input's `aria-controls` attribute.
12
+ */
13
+ async getAriaControls() {
14
+ return await (await this.host()).getAttribute('aria-controls');
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWlucHV0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1pbnB1dC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSxlQUFlO0lBQzlEOztPQUVHO2FBQ1csaUJBQVksR0FBRyxtQkFBbUIsQ0FBQztJQUVqRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lJbnB1dEhhcm5lc3MgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBIYXJuZXNzIHRvIGludGVyYWN0IHdpdGggdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCBoYXJuZXNzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5QXV0b2NvbXBsZXRlSW5wdXRIYXJuZXNzIGV4dGVuZHMgU2t5SW5wdXRIYXJuZXNzIHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnW3NreUF1dG9jb21wbGV0ZV0nO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQncyBgYXJpYS1jb250cm9sc2AgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEFyaWFDb250cm9scygpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtY29udHJvbHMnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVyc1xuICBleHRlbmRzIE9taXQ8QmFzZUhhcm5lc3NGaWx0ZXJzLCAnc2VsZWN0b3InPiB7XG4gIC8qKlxuICAgKiBPbmx5IGZpbmQgaW5zdGFuY2VzIHdob3NlIGNvbnRlbnQgbWF0Y2hlcyB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqL1xuICB0ZXh0Pzogc3RyaW5nIHwgUmVnRXhwO1xufVxuIl19
@@ -0,0 +1,38 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { SkyQueryableComponentHarness } from '@skyux/core/testing';
3
+ /**
4
+ * Harness for interacting with an autocomplete search result in tests.
5
+ */
6
+ export class SkyAutocompleteSearchResultHarness extends SkyQueryableComponentHarness {
7
+ /**
8
+ * @internal
9
+ */
10
+ static { this.hostSelector = '.sky-autocomplete-result'; }
11
+ /**
12
+ * Gets a `HarnessPredicate` that can be used to search for a
13
+ * `SkyAutocompleteSearchResultHarness` that meets certain criteria.
14
+ */
15
+ static with(filters) {
16
+ return new HarnessPredicate(SkyAutocompleteSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => await HarnessPredicate.stringMatches(await harness.getText(), text));
17
+ }
18
+ /**
19
+ * Returns the value of the search result's descriptor property.
20
+ * This value is set by the autocomplete's `descriptorProperty` input.
21
+ */
22
+ async getDescriptorValue() {
23
+ return (await (await this.host()).getAttribute('data-descriptor-value'));
24
+ }
25
+ /**
26
+ * Selects the search result.
27
+ */
28
+ async select() {
29
+ await (await this.host()).click();
30
+ }
31
+ /**
32
+ * Returns the text of the search result.
33
+ */
34
+ async getText() {
35
+ return await (await this.host()).text();
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUluRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSw0QkFBNEI7SUFDbEY7O09BRUc7YUFDVyxpQkFBWSxHQUFHLDBCQUEwQixDQUFDO0lBRXhEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BQWtEO1FBRWxELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsa0NBQWtDLEVBQ2xDLE9BQU8sQ0FDUixDQUFDLFNBQVMsQ0FDVCxhQUFhLEVBQ2IsT0FBTyxDQUFDLElBQUksRUFDWixLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQ3RCLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxrQkFBa0I7UUFDN0IsT0FBTyxDQUFDLE1BQU0sQ0FDWixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FDbEIsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBVyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lRdWVyeWFibGVDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYW4gYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzIGV4dGVuZHMgU2t5UXVlcnlhYmxlQ29tcG9uZW50SGFybmVzcyB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJy5za3ktYXV0b2NvbXBsZXRlLXJlc3VsdCc7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBgSGFybmVzc1ByZWRpY2F0ZWAgdGhhdCBjYW4gYmUgdXNlZCB0byBzZWFyY2ggZm9yIGFcbiAgICogYFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NgIHRoYXQgbWVldHMgY2VydGFpbiBjcml0ZXJpYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lBdXRvY29tcGxldGVTZWFyY2hSZXN1bHRIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKFxuICAgICAgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyxcbiAgICAgIGZpbHRlcnMsXG4gICAgKS5hZGRPcHRpb24oXG4gICAgICAndGV4dENvbnRlbnQnLFxuICAgICAgZmlsdGVycy50ZXh0LFxuICAgICAgYXN5bmMgKGhhcm5lc3MsIHRleHQpID0+XG4gICAgICAgIGF3YWl0IEhhcm5lc3NQcmVkaWNhdGUuc3RyaW5nTWF0Y2hlcyhhd2FpdCBoYXJuZXNzLmdldFRleHQoKSwgdGV4dCksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgc2VhcmNoIHJlc3VsdCdzIGRlc2NyaXB0b3IgcHJvcGVydHkuXG4gICAqIFRoaXMgdmFsdWUgaXMgc2V0IGJ5IHRoZSBhdXRvY29tcGxldGUncyBgZGVzY3JpcHRvclByb3BlcnR5YCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXREZXNjcmlwdG9yVmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IChcbiAgICAgIGF3YWl0IHRoaXMuaG9zdCgpXG4gICAgKS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZGVzY3JpcHRvci12YWx1ZScpKSBhcyBzdHJpbmc7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWxlY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgKGF3YWl0IHRoaXMuaG9zdCgpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHRleHQgb2YgdGhlIHNlYXJjaCByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VGV4dCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLnRleHQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1oYXJuZXNzLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUNvdW50cnlGaWVsZEhhcm5lc3NgIGluc3RhbmNlcy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lDb3VudHJ5RmllbGRIYXJuZXNzRmlsdGVycyBleHRlbmRzIFNreUhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -0,0 +1,139 @@
1
+ import { SkyOverlayHarness } from '@skyux/core/testing';
2
+ import { SkyAutocompleteHarness } from '../autocomplete/autocomplete-harness';
3
+ import { SkyAutocompleteInputHarness } from '../autocomplete/autocomplete-input-harness';
4
+ import { SkyCountryFieldSearchResultHarness } from './country-field-search-result-harness';
5
+ /**
6
+ * Harness for interacting with a country field component in tests.
7
+ */
8
+ export class SkyCountryFieldHarness extends SkyAutocompleteHarness {
9
+ /**
10
+ * Finds a standard country field component, or a country field component that is wrapped by an input box component.
11
+ * For input box implementations, we need to use the `.sky-input-box` selector since the `sky-country-field`
12
+ * element is removed from the DOM.
13
+ * @internal
14
+ */
15
+ static { this.hostSelector = 'sky-country-field,.sky-country-field-container'; }
16
+ #documentRootLocator = this.documentRootLocatorFactory();
17
+ #getInput = this.locatorFor(SkyAutocompleteInputHarness);
18
+ /**
19
+ * Gets a `HarnessPredicate` that can be used to search for a
20
+ * `SkyCountryFieldHarness` that meets certain criteria.
21
+ * These filters only work for standalone country fields.
22
+ * For country fields wrapped inside `sky-input-box`, place filters
23
+ * on the input box instead, and query the country field using a `SkyInputBoxHarness`.
24
+ * For the input box implementation, see the code example.
25
+ */
26
+ static with(filters) {
27
+ return SkyCountryFieldHarness.getDataSkyIdPredicate(filters);
28
+ }
29
+ /**
30
+ * Blurs the country field input.
31
+ */
32
+ async blur() {
33
+ return await super.blur();
34
+ }
35
+ /**
36
+ * Clears the country field input value.
37
+ */
38
+ async clear() {
39
+ return await super.clear();
40
+ }
41
+ /**
42
+ * Enters text into the country field input.
43
+ */
44
+ async enterText(value) {
45
+ return await super.enterText(value);
46
+ }
47
+ /**
48
+ * Focuses the country field input.
49
+ */
50
+ async focus() {
51
+ return await super.focus();
52
+ }
53
+ /**
54
+ * Gets the country field `aria-labelledby` value.
55
+ * This is not needed for country field because the id is generated internally,
56
+ * and the method is marked internal to prevent it from being documented publicly.
57
+ * @internal
58
+ */
59
+ /* istanbul ignore next */
60
+ async getAriaLabelledby() {
61
+ return await super.getAriaLabelledby();
62
+ }
63
+ /**
64
+ * Returns country field search result harnesses.
65
+ */
66
+ async getSearchResults(filters) {
67
+ const overlay = await this.#getOverlay();
68
+ if (!overlay) {
69
+ throw new Error('Unable to retrieve search results. The country field is closed.');
70
+ }
71
+ const harnesses = await overlay.queryHarnesses(SkyCountryFieldSearchResultHarness.with(filters || {}));
72
+ if (filters && harnesses.length === 0) {
73
+ // Stringify the regular expression so that it's readable in the console log.
74
+ if (filters.text instanceof RegExp) {
75
+ filters.text = filters.text.toString();
76
+ }
77
+ throw new Error(`Could not find search results matching filter(s): ${JSON.stringify(filters)}`);
78
+ }
79
+ return harnesses;
80
+ }
81
+ /**
82
+ * Returns the text content for each country field search result.
83
+ */
84
+ async getSearchResultsText(filters) {
85
+ const harnesses = await this.getSearchResults(filters);
86
+ const text = [];
87
+ for (const harness of harnesses) {
88
+ text.push(await harness.getText());
89
+ }
90
+ return text;
91
+ }
92
+ /**
93
+ * Gets the value of the country field input.
94
+ */
95
+ async getValue() {
96
+ return await super.getValue();
97
+ }
98
+ /**
99
+ * Gets the text displayed when no search results are found.
100
+ * For a country field, this is always the default text and the method
101
+ * is marked internal to prevent it from being documented publicly.
102
+ * @internal
103
+ */
104
+ /* istanbul ignore next */
105
+ async getNoResultsFoundText() {
106
+ return await super.getNoResultsFoundText();
107
+ }
108
+ /**
109
+ * Whether the country field input is disabled.
110
+ */
111
+ async isDisabled() {
112
+ return await super.isDisabled();
113
+ }
114
+ /**
115
+ * Whether the country field input is focused.
116
+ */
117
+ async isFocused() {
118
+ return await super.isFocused();
119
+ }
120
+ /**
121
+ * Whether the country field is open.
122
+ */
123
+ async isOpen() {
124
+ return await super.isOpen();
125
+ }
126
+ /**
127
+ * Selects a search result.
128
+ */
129
+ async selectSearchResult(filters) {
130
+ return await super.selectSearchResult(filters);
131
+ }
132
+ async #getOverlay() {
133
+ const overlayId = await (await this.#getInput()).getAriaControls();
134
+ return overlayId
135
+ ? await this.#documentRootLocator.locatorForOptional(SkyOverlayHarness.with({ selector: `#${overlayId}` }))()
136
+ : null;
137
+ }
138
+ }
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC90ZXN0aW5nL3NyYy9tb2R1bGVzL2NvdW50cnktZmllbGQvY291bnRyeS1maWVsZC1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3pGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzNGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHNCQUFzQjtJQUNoRTs7Ozs7T0FLRzthQUNvQixpQkFBWSxHQUNqQyxnREFBZ0QsQ0FBQztJQUVuRCxvQkFBb0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUV6RCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXpEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQVUsSUFBSSxDQUN6QixPQUFzQztRQUV0QyxPQUFPLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7T0FFRztJQUNhLEtBQUssQ0FBQyxJQUFJO1FBQ3hCLE9BQU8sTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ2EsS0FBSyxDQUFDLEtBQUs7UUFDekIsT0FBTyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDYSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQWE7UUFDM0MsT0FB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LENBQUMsa0JBQWtCLENBQ2hELGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FDdEQsRUFBRTtZQUNMLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNreU92ZXJsYXlIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUhhcm5lc3MgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWhhcm5lc3MnO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlSW5wdXRIYXJuZXNzIH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1pbnB1dC1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkSGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2NvdW50cnktZmllbGQtaGFybmVzcy1maWx0ZXJzJztcbmltcG9ydCB7IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3MgfSBmcm9tICcuL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcbmltcG9ydCB7IFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9jb3VudHJ5LWZpZWxkLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLyoqXG4gKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgY291bnRyeSBmaWVsZCBjb21wb25lbnQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb3VudHJ5RmllbGRIYXJuZXNzIGV4dGVuZHMgU2t5QXV0b2NvbXBsZXRlSGFybmVzcyB7XG4gIC8qKlxuICAgKiBGaW5kcyBhIHN0YW5kYXJkIGNvdW50cnkgZmllbGQgY29tcG9uZW50LCBvciBhIGNvdW50cnkgZmllbGQgY29tcG9uZW50IHRoYXQgaXMgd3JhcHBlZCBieSBhbiBpbnB1dCBib3ggY29tcG9uZW50LlxuICAgKiBGb3IgaW5wdXQgYm94IGltcGxlbWVudGF0aW9ucywgd2UgbmVlZCB0byB1c2UgdGhlIGAuc2t5LWlucHV0LWJveGAgc2VsZWN0b3Igc2luY2UgdGhlIGBza3ktY291bnRyeS1maWVsZGBcbiAgICogZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlIERPTS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGhvc3RTZWxlY3RvciA9XG4gICAgJ3NreS1jb3VudHJ5LWZpZWxkLC5za3ktY291bnRyeS1maWVsZC1jb250YWluZXInO1xuXG4gICNkb2N1bWVudFJvb3RMb2NhdG9yID0gdGhpcy5kb2N1bWVudFJvb3RMb2NhdG9yRmFjdG9yeSgpO1xuXG4gICNnZXRJbnB1dCA9IHRoaXMubG9jYXRvckZvcihTa3lBdXRvY29tcGxldGVJbnB1dEhhcm5lc3MpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDb3VudHJ5RmllbGRIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqIFRoZXNlIGZpbHRlcnMgb25seSB3b3JrIGZvciBzdGFuZGFsb25lIGNvdW50cnkgZmllbGRzLlxuICAgKiBGb3IgY291bnRyeSBmaWVsZHMgd3JhcHBlZCBpbnNpZGUgYHNreS1pbnB1dC1ib3hgLCBwbGFjZSBmaWx0ZXJzXG4gICAqIG9uIHRoZSBpbnB1dCBib3ggaW5zdGVhZCwgYW5kIHF1ZXJ5IHRoZSBjb3VudHJ5IGZpZWxkIHVzaW5nIGEgYFNreUlucHV0Qm94SGFybmVzc2AuXG4gICAqIEZvciB0aGUgaW5wdXQgYm94IGltcGxlbWVudGF0aW9uLCBzZWUgdGhlIGNvZGUgZXhhbXBsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgd2l0aChcbiAgICBmaWx0ZXJzOiBTa3lDb3VudHJ5RmllbGRIYXJuZXNzRmlsdGVycyxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxTa3lDb3VudHJ5RmllbGRIYXJuZXNzPiB7XG4gICAgcmV0dXJuIFNreUNvdW50cnlGaWVsZEhhcm5lc3MuZ2V0RGF0YVNreUlkUHJlZGljYXRlKGZpbHRlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJsdXJzIHRoZSBjb3VudHJ5IGZpZWxkIGlucHV0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGJsdXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmJsdXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJzIHRleHQgaW50byB0aGUgY291bnRyeSBmaWVsZCBpbnB1dC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBlbnRlclRleHQodmFsdWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5lbnRlclRleHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZm9jdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmZvY3VzKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY291bnRyeSBmaWVsZCAgYGFyaWEtbGFiZWxsZWRieWAgdmFsdWUuXG4gICAqIFRoaXMgaXMgbm90IG5lZWRlZCBmb3IgY291bnRyeSBmaWVsZCBiZWNhdXNlIHRoZSBpZCBpcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSxcbiAgICogYW5kIHRoZSBtZXRob2QgaXMgbWFya2VkIGludGVybmFsIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBkb2N1bWVudGVkIHB1YmxpY2x5LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRBcmlhTGFiZWxsZWRieSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZ2V0QXJpYUxhYmVsbGVkYnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGNvdW50cnkgZmllbGQgc2VhcmNoIHJlc3VsdCBoYXJuZXNzZXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0U2VhcmNoUmVzdWx0cyhcbiAgICBmaWx0ZXJzPzogU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8U2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc1tdPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHRoaXMuI2dldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVW5hYmxlIHRvIHJldHJpZXZlIHNlYXJjaCByZXN1bHRzLiBUaGUgY291bnRyeSBmaWVsZCBpcyBjbG9zZWQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFybmVzc2VzID0gYXdhaXQgb3ZlcmxheS5xdWVyeUhhcm5lc3NlcyhcbiAgICAgIFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3Mud2l0aChmaWx0ZXJzIHx8IHt9KSxcbiAgICApO1xuXG4gICAgaWYgKGZpbHRlcnMgJiYgaGFybmVzc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gU3RyaW5naWZ5IHRoZSByZWd1bGFyIGV4cHJlc3Npb24gc28gdGhhdCBpdCdzIHJlYWRhYmxlIGluIHRoZSBjb25zb2xlIGxvZy5cbiAgICAgIGlmIChmaWx0ZXJzLnRleHQgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgZmlsdGVycy50ZXh0ID0gZmlsdGVycy50ZXh0LnRvU3RyaW5nKCk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCBmaW5kIHNlYXJjaCByZXN1bHRzIG1hdGNoaW5nIGZpbHRlcihzKTogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICApfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBoYXJuZXNzZXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGV4dCBjb250ZW50IGZvciBlYWNoIGNvdW50cnkgZmllbGQgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXRTZWFyY2hSZXN1bHRzVGV4dChcbiAgICBmaWx0ZXJzPzogU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBoYXJuZXNzZXMgPSBhd2FpdCB0aGlzLmdldFNlYXJjaFJlc3VsdHMoZmlsdGVycyk7XG5cbiAgICBjb25zdCB0ZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaGFybmVzcyBvZiBoYXJuZXNzZXMpIHtcbiAgICAgIHRleHQucHVzaChhd2FpdCBoYXJuZXNzLmdldFRleHQoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvdW50cnkgZmllbGQgaW5wdXQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgZ2V0VmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB0ZXh0IGRpc3BsYXllZCB3aGVuIG5vIHNlYXJjaCByZXN1bHRzIGFyZSBmb3VuZC5cbiAgICogRm9yIGEgY291bnRyeSBmaWVsZCwgdGhpcyBpcyBhbHdheXMgdGhlIGRlZmF1bHQgdGV4dCBhbmQgdGhlIG1ldGhvZFxuICAgKiBpcyBtYXJrZWQgaW50ZXJuYWwgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGRvY3VtZW50ZWQgcHVibGljbHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGdldE5vUmVzdWx0c0ZvdW5kVGV4dCgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5nZXROb1Jlc3VsdHNGb3VuZFRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb3VudHJ5IGZpZWxkIGlucHV0IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIGlzRGlzYWJsZWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHN1cGVyLmlzRGlzYWJsZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb3VudHJ5IGZpZWxkIGlucHV0IGlzIGZvY3VzZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgaXNGb2N1c2VkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5pc0ZvY3VzZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb3VudHJ5IGZpZWxkIGlzIG9wZW4uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgaXNPcGVuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5pc09wZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIGEgc2VhcmNoIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBzZWxlY3RTZWFyY2hSZXN1bHQoXG4gICAgZmlsdGVyczogU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBhd2FpdCBzdXBlci5zZWxlY3RTZWFyY2hSZXN1bHQoZmlsdGVycyk7XG4gIH1cblxuICBhc3luYyAjZ2V0T3ZlcmxheSgpOiBQcm9taXNlPFNreU92ZXJsYXlIYXJuZXNzIHwgbnVsbD4ge1xuICAgIGNvbnN0IG92ZXJsYXlJZCA9IGF3YWl0IChhd2FpdCB0aGlzLiNnZXRJbnB1dCgpKS5nZXRBcmlhQ29udHJvbHMoKTtcblxuICAgIHJldHVybiBvdmVybGF5SWRcbiAgICAgID8gYXdhaXQgdGhpcy4jZG9jdW1lbnRSb290TG9jYXRvci5sb2NhdG9yRm9yT3B0aW9uYWwoXG4gICAgICAgICAgU2t5T3ZlcmxheUhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiBgIyR7b3ZlcmxheUlkfWAgfSksXG4gICAgICAgICkoKVxuICAgICAgOiBudWxsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgYSBsaXN0IG9mIGBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzYCBpbnN0YW5jZXMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1yZXN1bHQtaGFybmVzcy1maWx0ZXJzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2UsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzRmlsdGVyc1xuICBleHRlbmRzIFNreUF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdEhhcm5lc3NGaWx0ZXJzIHt9XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { SkyAutocompleteSearchResultHarness } from '../autocomplete/autocomplete-search-result-harness';
3
+ /**
4
+ * Harness for interacting with an autocomplete search result in tests.
5
+ */
6
+ export class SkyCountryFieldSearchResultHarness extends SkyAutocompleteSearchResultHarness {
7
+ /**
8
+ * Gets a `HarnessPredicate` that can be used to search for a
9
+ * `SkyCountryFieldSearchResultHarness` that meets certain criteria.
10
+ */
11
+ static with(filters) {
12
+ return new HarnessPredicate(SkyCountryFieldSearchResultHarness, filters).addOption('textContent', filters.text, async (harness, text) => {
13
+ const searchResultText = await harness.getText();
14
+ return await HarnessPredicate.stringMatches(searchResultText, text);
15
+ });
16
+ }
17
+ /**
18
+ * Returns the value of the search result's descriptor property.
19
+ * This is not needed by country field because it is always set to the country name,
20
+ * and the method is marked internal to prevent it from being documented publicly.
21
+ * @internal
22
+ */
23
+ async getDescriptorValue() {
24
+ return await super.getDescriptorValue();
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC1zZWFyY2gtcmVzdWx0LWhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3Rlc3Rpbmcvc3JjL21vZHVsZXMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLXNlYXJjaC1yZXN1bHQtaGFybmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUl4Rzs7R0FFRztBQUNILE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxrQ0FBa0M7SUFDeEY7OztPQUdHO0lBQ0ksTUFBTSxDQUFVLElBQUksQ0FDekIsT0FBa0Q7UUFFbEQsT0FBTyxJQUFJLGdCQUFnQixDQUN6QixrQ0FBa0MsRUFDbEMsT0FBTyxDQUNSLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0QsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRCxPQUFPLE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ2EsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QyxPQUFPLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDMUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLXJlc3VsdC1oYXJuZXNzJztcblxuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMgfSBmcm9tICcuL2NvdW50cnktZmllbGQtc2VhcmNoLXJlc3VsdC1oYXJuZXNzLWZpbHRlcnMnO1xuXG4vKipcbiAqIEhhcm5lc3MgZm9yIGludGVyYWN0aW5nIHdpdGggYW4gYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHQgaW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzIGV4dGVuZHMgU2t5QXV0b2NvbXBsZXRlU2VhcmNoUmVzdWx0SGFybmVzcyB7XG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhXG4gICAqIGBTa3lDb3VudHJ5RmllbGRTZWFyY2hSZXN1bHRIYXJuZXNzYCB0aGF0IG1lZXRzIGNlcnRhaW4gY3JpdGVyaWEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHdpdGgoXG4gICAgZmlsdGVyczogU2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5Q291bnRyeUZpZWxkU2VhcmNoUmVzdWx0SGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShcbiAgICAgIFNreUNvdW50cnlGaWVsZFNlYXJjaFJlc3VsdEhhcm5lc3MsXG4gICAgICBmaWx0ZXJzLFxuICAgICkuYWRkT3B0aW9uKCd0ZXh0Q29udGVudCcsIGZpbHRlcnMudGV4dCwgYXN5bmMgKGhhcm5lc3MsIHRleHQpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaFJlc3VsdFRleHQgPSBhd2FpdCBoYXJuZXNzLmdldFRleHQoKTtcbiAgICAgIHJldHVybiBhd2FpdCBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoc2VhcmNoUmVzdWx0VGV4dCwgdGV4dCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIHNlYXJjaCByZXN1bHQncyBkZXNjcmlwdG9yIHByb3BlcnR5LlxuICAgKiBUaGlzIGlzIG5vdCBuZWVkZWQgYnkgY291bnRyeSBmaWVsZCBiZWNhdXNlIGl0IGlzIGFsd2F5cyBzZXQgdG8gdGhlIGNvdW50cnkgbmFtZSxcbiAgICogYW5kIHRoZSBtZXRob2QgaXMgbWFya2VkIGludGVybmFsIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBkb2N1bWVudGVkIHB1YmxpY2x5LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBnZXREZXNjcmlwdG9yVmFsdWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuZ2V0RGVzY3JpcHRvclZhbHVlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWhhcm5lc3MtZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvdGVzdGluZy9zcmMvbW9kdWxlcy9sb29rdXAvbG9va3VwLWhhcm5lc3MtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5SGFybmVzc0ZpbHRlcnMgfSBmcm9tICdAc2t5dXgvY29yZS90ZXN0aW5nJztcblxuLyoqXG4gKiBBIHNldCBvZiBjcml0ZXJpYSB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbHRlciBhIGxpc3Qgb2YgYFNreUxvb2t1cEhhcm5lc3NgIGluc3RhbmNlcy5cbiAqIEBpbnRlcm5hbFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZSwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIFNreUxvb2t1cEhhcm5lc3NGaWx0ZXJzIGV4dGVuZHMgU2t5SGFybmVzc0ZpbHRlcnMge31cbiJdfQ==