@skyux/lookup 5.7.2 → 6.0.0-beta.2

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 (172) hide show
  1. package/documentation.json +2 -2
  2. package/esm2020/index.mjs +32 -0
  3. package/esm2020/lib/modules/autocomplete/autocomplete-adapter.service.mjs +61 -0
  4. package/esm2020/lib/modules/autocomplete/autocomplete-default-search-function.mjs +39 -0
  5. package/esm2020/lib/modules/autocomplete/autocomplete-input.directive.mjs +221 -0
  6. package/esm2020/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +19 -0
  7. package/esm2020/lib/modules/autocomplete/autocomplete.component.mjs +739 -0
  8. package/esm2020/lib/modules/autocomplete/autocomplete.module.mjs +65 -0
  9. package/esm2020/lib/modules/autocomplete/types/autocomplete-default-search-function-options.mjs +2 -0
  10. package/esm2020/lib/modules/autocomplete/types/autocomplete-input-text-change.mjs +2 -0
  11. package/esm2020/lib/modules/autocomplete/types/autocomplete-message-type.mjs +15 -0
  12. package/esm2020/lib/modules/autocomplete/types/autocomplete-message.mjs +2 -0
  13. package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-args.mjs +2 -0
  14. package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-function.mjs +2 -0
  15. package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.mjs +2 -0
  16. package/esm2020/lib/modules/autocomplete/types/autocomplete-search-async-result.mjs +2 -0
  17. package/esm2020/lib/modules/autocomplete/types/autocomplete-search-function-filter.mjs +2 -0
  18. package/esm2020/lib/modules/autocomplete/types/autocomplete-search-function-response.mjs +2 -0
  19. package/esm2020/lib/modules/autocomplete/types/autocomplete-search-function.mjs +2 -0
  20. package/esm2020/lib/modules/autocomplete/types/autocomplete-selection-change.mjs +2 -0
  21. package/esm2020/lib/modules/autocomplete/types/autocomplete-show-more-args.mjs +2 -0
  22. package/esm2020/lib/modules/country-field/country-field.component.mjs +397 -0
  23. package/esm2020/lib/modules/country-field/country-field.module.mjs +49 -0
  24. package/esm2020/lib/modules/country-field/types/country.mjs +2 -0
  25. package/esm2020/lib/modules/lookup/lookup-adapter.service.mjs +21 -0
  26. package/esm2020/lib/modules/lookup/lookup-autocomplete-adapter.mjs +78 -0
  27. package/esm2020/lib/modules/lookup/lookup-item-selected.pipe.mjs +16 -0
  28. package/esm2020/lib/modules/lookup/lookup-show-more-async-modal.component.mjs +181 -0
  29. package/esm2020/lib/modules/lookup/lookup-show-more-modal.component.mjs +249 -0
  30. package/esm2020/lib/modules/lookup/lookup.component.mjs +601 -0
  31. package/esm2020/lib/modules/lookup/lookup.module.mjs +90 -0
  32. package/esm2020/lib/modules/lookup/types/lookup-add-click-callback-args.mjs +2 -0
  33. package/esm2020/lib/modules/lookup/types/lookup-add-click-event-args.mjs +2 -0
  34. package/esm2020/lib/modules/lookup/types/lookup-select-mode-type.mjs +2 -0
  35. package/esm2020/lib/modules/lookup/types/lookup-select-mode.mjs +16 -0
  36. package/esm2020/lib/modules/lookup/types/lookup-show-more-config.mjs +2 -0
  37. package/esm2020/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +7 -0
  38. package/esm2020/lib/modules/lookup/types/lookup-show-more-custom-picker.mjs +2 -0
  39. package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.mjs +7 -0
  40. package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-config.mjs +2 -0
  41. package/esm2020/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +7 -0
  42. package/esm2020/lib/modules/search/search-adapter.service.mjs +45 -0
  43. package/esm2020/lib/modules/search/search.component.mjs +253 -0
  44. package/esm2020/lib/modules/search/search.module.mjs +46 -0
  45. package/esm2020/lib/modules/shared/sky-lookup-resources.module.mjs +72 -0
  46. package/esm2020/lib/modules/shared/sky-lookup-string-utils.mjs +8 -0
  47. package/esm2020/skyux-lookup.mjs +5 -0
  48. package/esm2020/testing/country-field/country-field-fixture.mjs +114 -0
  49. package/esm2020/testing/country-field/country-field-testing.module.mjs +15 -0
  50. package/esm2020/testing/public-api.mjs +5 -0
  51. package/esm2020/testing/search/search-fixture.mjs +57 -0
  52. package/esm2020/testing/search/search-testing.module.mjs +15 -0
  53. package/esm2020/testing/skyux-lookup-testing.mjs +5 -0
  54. package/fesm2015/{skyux-lookup-testing.js → skyux-lookup-testing.mjs} +9 -9
  55. package/fesm2015/skyux-lookup-testing.mjs.map +1 -0
  56. package/fesm2015/skyux-lookup.mjs +3153 -0
  57. package/fesm2015/skyux-lookup.mjs.map +1 -0
  58. package/fesm2020/skyux-lookup-testing.mjs +203 -0
  59. package/fesm2020/skyux-lookup-testing.mjs.map +1 -0
  60. package/fesm2020/skyux-lookup.mjs +3144 -0
  61. package/fesm2020/skyux-lookup.mjs.map +1 -0
  62. package/package.json +45 -21
  63. package/testing/package.json +5 -5
  64. package/bundles/skyux-lookup-testing.umd.js +0 -620
  65. package/bundles/skyux-lookup.umd.js +0 -3793
  66. package/esm2015/index.js +0 -32
  67. package/esm2015/index.js.map +0 -1
  68. package/esm2015/lib/modules/autocomplete/autocomplete-adapter.service.js +0 -61
  69. package/esm2015/lib/modules/autocomplete/autocomplete-adapter.service.js.map +0 -1
  70. package/esm2015/lib/modules/autocomplete/autocomplete-default-search-function.js +0 -39
  71. package/esm2015/lib/modules/autocomplete/autocomplete-default-search-function.js.map +0 -1
  72. package/esm2015/lib/modules/autocomplete/autocomplete-input.directive.js +0 -221
  73. package/esm2015/lib/modules/autocomplete/autocomplete-input.directive.js.map +0 -1
  74. package/esm2015/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.js +0 -19
  75. package/esm2015/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.js.map +0 -1
  76. package/esm2015/lib/modules/autocomplete/autocomplete.component.js +0 -745
  77. package/esm2015/lib/modules/autocomplete/autocomplete.component.js.map +0 -1
  78. package/esm2015/lib/modules/autocomplete/autocomplete.module.js +0 -65
  79. package/esm2015/lib/modules/autocomplete/autocomplete.module.js.map +0 -1
  80. package/esm2015/lib/modules/autocomplete/types/autocomplete-default-search-function-options.js +0 -2
  81. package/esm2015/lib/modules/autocomplete/types/autocomplete-default-search-function-options.js.map +0 -1
  82. package/esm2015/lib/modules/autocomplete/types/autocomplete-input-text-change.js +0 -2
  83. package/esm2015/lib/modules/autocomplete/types/autocomplete-input-text-change.js.map +0 -1
  84. package/esm2015/lib/modules/autocomplete/types/autocomplete-message-type.js +0 -15
  85. package/esm2015/lib/modules/autocomplete/types/autocomplete-message-type.js.map +0 -1
  86. package/esm2015/lib/modules/autocomplete/types/autocomplete-message.js +0 -2
  87. package/esm2015/lib/modules/autocomplete/types/autocomplete-message.js.map +0 -1
  88. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-args.js +0 -2
  89. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-args.js.map +0 -1
  90. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-function.js +0 -2
  91. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-function.js.map +0 -1
  92. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.js +0 -2
  93. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.js.map +0 -1
  94. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result.js +0 -2
  95. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result.js.map +0 -1
  96. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-filter.js +0 -2
  97. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-filter.js.map +0 -1
  98. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-response.js +0 -2
  99. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-response.js.map +0 -1
  100. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function.js +0 -2
  101. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function.js.map +0 -1
  102. package/esm2015/lib/modules/autocomplete/types/autocomplete-selection-change.js +0 -2
  103. package/esm2015/lib/modules/autocomplete/types/autocomplete-selection-change.js.map +0 -1
  104. package/esm2015/lib/modules/autocomplete/types/autocomplete-show-more-args.js +0 -2
  105. package/esm2015/lib/modules/autocomplete/types/autocomplete-show-more-args.js.map +0 -1
  106. package/esm2015/lib/modules/country-field/country-field.component.js +0 -404
  107. package/esm2015/lib/modules/country-field/country-field.component.js.map +0 -1
  108. package/esm2015/lib/modules/country-field/country-field.module.js +0 -49
  109. package/esm2015/lib/modules/country-field/country-field.module.js.map +0 -1
  110. package/esm2015/lib/modules/country-field/types/country.js +0 -2
  111. package/esm2015/lib/modules/country-field/types/country.js.map +0 -1
  112. package/esm2015/lib/modules/lookup/lookup-adapter.service.js +0 -21
  113. package/esm2015/lib/modules/lookup/lookup-adapter.service.js.map +0 -1
  114. package/esm2015/lib/modules/lookup/lookup-autocomplete-adapter.js +0 -78
  115. package/esm2015/lib/modules/lookup/lookup-autocomplete-adapter.js.map +0 -1
  116. package/esm2015/lib/modules/lookup/lookup-item-selected.pipe.js +0 -16
  117. package/esm2015/lib/modules/lookup/lookup-item-selected.pipe.js.map +0 -1
  118. package/esm2015/lib/modules/lookup/lookup-show-more-async-modal.component.js +0 -186
  119. package/esm2015/lib/modules/lookup/lookup-show-more-async-modal.component.js.map +0 -1
  120. package/esm2015/lib/modules/lookup/lookup-show-more-modal.component.js +0 -258
  121. package/esm2015/lib/modules/lookup/lookup-show-more-modal.component.js.map +0 -1
  122. package/esm2015/lib/modules/lookup/lookup.component.js +0 -610
  123. package/esm2015/lib/modules/lookup/lookup.component.js.map +0 -1
  124. package/esm2015/lib/modules/lookup/lookup.module.js +0 -94
  125. package/esm2015/lib/modules/lookup/lookup.module.js.map +0 -1
  126. package/esm2015/lib/modules/lookup/types/lookup-add-click-callback-args.js +0 -2
  127. package/esm2015/lib/modules/lookup/types/lookup-add-click-callback-args.js.map +0 -1
  128. package/esm2015/lib/modules/lookup/types/lookup-add-click-event-args.js +0 -2
  129. package/esm2015/lib/modules/lookup/types/lookup-add-click-event-args.js.map +0 -1
  130. package/esm2015/lib/modules/lookup/types/lookup-select-mode-type.js +0 -2
  131. package/esm2015/lib/modules/lookup/types/lookup-select-mode-type.js.map +0 -1
  132. package/esm2015/lib/modules/lookup/types/lookup-select-mode.js +0 -16
  133. package/esm2015/lib/modules/lookup/types/lookup-select-mode.js.map +0 -1
  134. package/esm2015/lib/modules/lookup/types/lookup-show-more-config.js +0 -2
  135. package/esm2015/lib/modules/lookup/types/lookup-show-more-config.js.map +0 -1
  136. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker-context.js +0 -7
  137. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker-context.js.map +0 -1
  138. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker.js +0 -2
  139. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker.js.map +0 -1
  140. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.js +0 -7
  141. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.js.map +0 -1
  142. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-config.js +0 -2
  143. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-config.js.map +0 -1
  144. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-context.js +0 -7
  145. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-context.js.map +0 -1
  146. package/esm2015/lib/modules/search/search-adapter.service.js +0 -45
  147. package/esm2015/lib/modules/search/search-adapter.service.js.map +0 -1
  148. package/esm2015/lib/modules/search/search.component.js +0 -260
  149. package/esm2015/lib/modules/search/search.component.js.map +0 -1
  150. package/esm2015/lib/modules/search/search.module.js +0 -46
  151. package/esm2015/lib/modules/search/search.module.js.map +0 -1
  152. package/esm2015/lib/modules/shared/sky-lookup-resources.module.js +0 -72
  153. package/esm2015/lib/modules/shared/sky-lookup-resources.module.js.map +0 -1
  154. package/esm2015/lib/modules/shared/sky-lookup-string-utils.js +0 -8
  155. package/esm2015/lib/modules/shared/sky-lookup-string-utils.js.map +0 -1
  156. package/esm2015/skyux-lookup.js +0 -5
  157. package/esm2015/skyux-lookup.js.map +0 -1
  158. package/esm2015/testing/country-field/country-field-fixture.js +0 -123
  159. package/esm2015/testing/country-field/country-field-fixture.js.map +0 -1
  160. package/esm2015/testing/country-field/country-field-testing.module.js +0 -15
  161. package/esm2015/testing/country-field/country-field-testing.module.js.map +0 -1
  162. package/esm2015/testing/public-api.js +0 -5
  163. package/esm2015/testing/public-api.js.map +0 -1
  164. package/esm2015/testing/search/search-fixture.js +0 -57
  165. package/esm2015/testing/search/search-fixture.js.map +0 -1
  166. package/esm2015/testing/search/search-testing.module.js +0 -15
  167. package/esm2015/testing/search/search-testing.module.js.map +0 -1
  168. package/esm2015/testing/skyux-lookup-testing.js +0 -5
  169. package/esm2015/testing/skyux-lookup-testing.js.map +0 -1
  170. package/fesm2015/skyux-lookup-testing.js.map +0 -1
  171. package/fesm2015/skyux-lookup.js +0 -3191
  172. package/fesm2015/skyux-lookup.js.map +0 -1
@@ -125,7 +125,7 @@
125
125
  "name": "NgModule"
126
126
  },
127
127
  "arguments": {
128
- "obj": "{\n declarations: [\n SkyLookupComponent,\n SkyLookupItemSelectedPipe,\n SkyLookupShowMoreAsyncModalComponent,\n SkyLookupShowMoreModalComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SkyAutocompleteModule,\n SkyCheckboxModule,\n SkyIconModule,\n SkyInfiniteScrollModule,\n SkyI18nModule,\n SkyLookupResourcesModule,\n SkyModalModule,\n SkyRepeaterModule,\n SkySearchModule,\n SkyThemeModule,\n SkyTokensModule,\n SkyToolbarModule,\n SkyViewkeeperModule,\n SkyWaitModule,\n ],\n entryComponents: [\n SkyLookupShowMoreAsyncModalComponent,\n SkyLookupShowMoreModalComponent,\n ],\n exports: [SkyLookupComponent],\n}"
128
+ "obj": "{\n declarations: [\n SkyLookupComponent,\n SkyLookupItemSelectedPipe,\n SkyLookupShowMoreAsyncModalComponent,\n SkyLookupShowMoreModalComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n SkyAutocompleteModule,\n SkyCheckboxModule,\n SkyIconModule,\n SkyInfiniteScrollModule,\n SkyI18nModule,\n SkyLookupResourcesModule,\n SkyModalModule,\n SkyRepeaterModule,\n SkySearchModule,\n SkyThemeModule,\n SkyTokensModule,\n SkyToolbarModule,\n SkyViewkeeperModule,\n SkyWaitModule,\n ],\n exports: [SkyLookupComponent],\n}"
129
129
  }
130
130
  }
131
131
  ],
@@ -142,7 +142,7 @@
142
142
  "sources": [
143
143
  {
144
144
  "fileName": "projects/lookup/src/modules/lookup/lookup.module.ts",
145
- "line": 57,
145
+ "line": 53,
146
146
  "character": 13
147
147
  }
148
148
  ]
@@ -0,0 +1,32 @@
1
+ export * from './lib/modules/autocomplete/types/autocomplete-default-search-function-options';
2
+ export * from './lib/modules/autocomplete/types/autocomplete-input-text-change';
3
+ export * from './lib/modules/autocomplete/types/autocomplete-search-async-args';
4
+ export * from './lib/modules/autocomplete/types/autocomplete-search-async-result';
5
+ export * from './lib/modules/autocomplete/types/autocomplete-search-async-result-display-type';
6
+ export * from './lib/modules/autocomplete/types/autocomplete-search-function';
7
+ export * from './lib/modules/autocomplete/types/autocomplete-search-function-filter';
8
+ export * from './lib/modules/autocomplete/types/autocomplete-search-function-response';
9
+ export * from './lib/modules/autocomplete/types/autocomplete-selection-change';
10
+ export * from './lib/modules/autocomplete/autocomplete.module';
11
+ export * from './lib/modules/country-field/country-field.module';
12
+ export * from './lib/modules/country-field/types/country';
13
+ export * from './lib/modules/lookup/lookup.module';
14
+ export * from './lib/modules/lookup/types/lookup-add-click-callback-args';
15
+ export * from './lib/modules/lookup/types/lookup-add-click-event-args';
16
+ export * from './lib/modules/lookup/types/lookup-select-mode';
17
+ export * from './lib/modules/lookup/types/lookup-select-mode-type';
18
+ export * from './lib/modules/lookup/types/lookup-show-more-config';
19
+ export * from './lib/modules/lookup/types/lookup-show-more-custom-picker';
20
+ export * from './lib/modules/lookup/types/lookup-show-more-custom-picker-context';
21
+ export * from './lib/modules/lookup/types/lookup-show-more-native-picker-config';
22
+ export * from './lib/modules/search/search.module';
23
+ // The following exports are needed internally by @skyux/list-builder.
24
+ // TODO: Find a way to remove them in the next major version release.
25
+ export * from './lib/modules/search/search.component';
26
+ // Components and directives must be exported to support Angular's "partial" Ivy compiler.
27
+ // Obscure names are used to indicate types are not part of the public API.
28
+ export { SkyAutocompleteInputDirective as λ1 } from './lib/modules/autocomplete/autocomplete-input.directive';
29
+ export { SkyAutocompleteComponent as λ2 } from './lib/modules/autocomplete/autocomplete.component';
30
+ export { SkyCountryFieldComponent as λ3 } from './lib/modules/country-field/country-field.component';
31
+ export { SkyLookupComponent as λ4 } from './lib/modules/lookup/lookup.component';
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxrRUFBa0UsQ0FBQztBQUVqRixjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELHNFQUFzRTtBQUN0RSxxRUFBcUU7QUFDckUsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsSUFBSSxFQUFFLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsd0JBQXdCLElBQUksRUFBRSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkcsT0FBTyxFQUFFLHdCQUF3QixJQUFJLEVBQUUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxFQUFFLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1kZWZhdWx0LXNlYXJjaC1mdW5jdGlvbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1pbnB1dC10ZXh0LWNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2VhcmNoLWFzeW5jLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1yZXN1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1yZXN1bHQtZGlzcGxheS10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1yZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2VsZWN0aW9uLWNoYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9jb3VudHJ5LWZpZWxkL2NvdW50cnktZmllbGQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvY291bnRyeS1maWVsZC90eXBlcy9jb3VudHJ5JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvbG9va3VwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtYWRkLWNsaWNrLWNhbGxiYWNrLWFyZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLWFkZC1jbGljay1ldmVudC1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9va3VwL3R5cGVzL2xvb2t1cC1zZWxlY3QtbW9kZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtc2VsZWN0LW1vZGUtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtc2hvdy1tb3JlLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtc2hvdy1tb3JlLWN1c3RvbS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbmZpZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5tb2R1bGUnO1xuXG4vLyBUaGUgZm9sbG93aW5nIGV4cG9ydHMgYXJlIG5lZWRlZCBpbnRlcm5hbGx5IGJ5IEBza3l1eC9saXN0LWJ1aWxkZXIuXG4vLyBUT0RPOiBGaW5kIGEgd2F5IHRvIHJlbW92ZSB0aGVtIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZSBhcyDOuzEgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreUF1dG9jb21wbGV0ZUNvbXBvbmVudCBhcyDOuzIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUNvdW50cnlGaWVsZENvbXBvbmVudCBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NvdW50cnktZmllbGQvY291bnRyeS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TG9va3VwQ29tcG9uZW50IGFzIM67NCB9IGZyb20gJy4vbGliL21vZHVsZXMvbG9va3VwL2xvb2t1cC5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,61 @@
1
+ import { Injectable, RendererFactory2, } from '@angular/core';
2
+ import { SkyCoreAdapterService } from '@skyux/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@skyux/core";
5
+ /**
6
+ * @internal
7
+ */
8
+ export class SkyAutocompleteAdapterService {
9
+ constructor(coreAdapterService, rendererFactory) {
10
+ this.coreAdapterService = coreAdapterService;
11
+ this.rendererFactory = rendererFactory;
12
+ this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
13
+ }
14
+ /**
15
+ * Adds the className for the provided element.
16
+ */
17
+ addCSSClass(element, className) {
18
+ /* Sanity check */
19
+ /* istanbul ignore else */
20
+ if (element) {
21
+ this.renderer.addClass(element, className);
22
+ }
23
+ }
24
+ getOverlayFocusableElements(overlay) {
25
+ return this.coreAdapterService.getFocusableChildren(
26
+ /* Sanity check - calling function also has null check */
27
+ /* istanbul ignore next */
28
+ overlay?.componentRef.location.nativeElement, { ignoreTabIndex: true });
29
+ }
30
+ /**
31
+ * Removes the className for the provided element.
32
+ */
33
+ removeCSSClass(element, className) {
34
+ /* Sanity check */
35
+ /* istanbul ignore else */
36
+ if (element) {
37
+ this.renderer.removeClass(element, className);
38
+ }
39
+ }
40
+ setDropdownWidth(elementRef, dropdownRef, isInputBox) {
41
+ const parentElement = isInputBox
42
+ ? elementRef.nativeElement.closest('.sky-input-box')
43
+ : elementRef.nativeElement;
44
+ if (parentElement) {
45
+ const width = parentElement.getBoundingClientRect().width;
46
+ this.renderer.setStyle(dropdownRef.nativeElement, 'width', `${width}px`);
47
+ }
48
+ }
49
+ /**
50
+ * Sets the `tabIndex` of the `element` to the provided `tabIndex`.
51
+ */
52
+ setTabIndex(element, tabIndex) {
53
+ element.tabIndex = tabIndex;
54
+ }
55
+ }
56
+ SkyAutocompleteAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteAdapterService, deps: [{ token: i1.SkyCoreAdapterService }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ SkyAutocompleteAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteAdapterService });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteAdapterService, decorators: [{
59
+ type: Injectable
60
+ }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }, { type: i0.RendererFactory2 }]; } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBRVYsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxhQUFhLENBQUM7OztBQUV4RTs7R0FFRztBQUVILE1BQU0sT0FBTyw2QkFBNkI7SUFHeEMsWUFDVSxrQkFBeUMsRUFDekMsZUFBaUM7UUFEakMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtRQUN6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFFekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQW9CLEVBQUUsU0FBaUI7UUFDeEQsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFTSwyQkFBMkIsQ0FDaEMsT0FBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CO1FBQ2pELHlEQUF5RDtRQUN6RCwwQkFBMEI7UUFDMUIsT0FBTyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUM1QyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxPQUFvQixFQUFFLFNBQWlCO1FBQzNELGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLFVBQXNCLEVBQ3RCLFdBQXVCLEVBQ3ZCLFVBQW1CO1FBRW5CLE1BQU0sYUFBYSxHQUFHLFVBQVU7WUFDOUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQ3BELENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzdCLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsT0FBb0IsRUFBRSxRQUFnQjtRQUN2RCxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDOzswSEE5RFUsNkJBQTZCOzhIQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyMixcbiAgUmVuZGVyZXJGYWN0b3J5Mixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UsIFNreU92ZXJsYXlJbnN0YW5jZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUF1dG9jb21wbGV0ZUFkYXB0ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29yZUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTJcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlciA9IHRoaXMucmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBjbGFzc05hbWUgZm9yIHRoZSBwcm92aWRlZCBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGFkZENTU0NsYXNzKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0T3ZlcmxheUZvY3VzYWJsZUVsZW1lbnRzKFxuICAgIG92ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZVxuICApOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlQWRhcHRlclNlcnZpY2UuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oXG4gICAgICAvKiBTYW5pdHkgY2hlY2sgLSBjYWxsaW5nIGZ1bmN0aW9uIGFsc28gaGFzIG51bGwgY2hlY2sgKi9cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBvdmVybGF5Py5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgIHsgaWdub3JlVGFiSW5kZXg6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyB0aGUgY2xhc3NOYW1lIGZvciB0aGUgcHJvdmlkZWQgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyByZW1vdmVDU1NDbGFzcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvKiBTYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldERyb3Bkb3duV2lkdGgoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBkcm9wZG93blJlZjogRWxlbWVudFJlZixcbiAgICBpc0lucHV0Qm94OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSBpc0lucHV0Qm94XG4gICAgICA/IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2t5LWlucHV0LWJveCcpXG4gICAgICA6IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAocGFyZW50RWxlbWVudCkge1xuICAgICAgY29uc3Qgd2lkdGggPSBwYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93blJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBgdGFiSW5kZXhgIG9mIHRoZSBgZWxlbWVudGAgdG8gdGhlIHByb3ZpZGVkIGB0YWJJbmRleGAuXG4gICAqL1xuICBwdWJsaWMgc2V0VGFiSW5kZXgoZWxlbWVudDogSFRNTEVsZW1lbnQsIHRhYkluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBlbGVtZW50LnRhYkluZGV4ID0gdGFiSW5kZXg7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { normalizeDiacritics } from '../shared/sky-lookup-string-utils';
2
+ export function skyAutocompleteDefaultSearchFunction(options) {
3
+ const filterData = function (searchText, data) {
4
+ return data.filter((item) => {
5
+ if (!options.searchFilters || !options.searchFilters.length) {
6
+ return true;
7
+ }
8
+ // Find the first failing filter (we can skip the others if one fails).
9
+ const failedFilter = options.searchFilters.find((filter) => {
10
+ return !filter.call({}, searchText, item);
11
+ });
12
+ return failedFilter === undefined;
13
+ });
14
+ };
15
+ const search = function (searchText, data) {
16
+ const results = [];
17
+ /* Sanity check - autocomplete will not call search with empty search text */
18
+ /* istanbul ignore if */
19
+ if (!searchText) {
20
+ return results;
21
+ }
22
+ const searchTextNormalized = normalizeDiacritics(searchText).toUpperCase();
23
+ const filteredData = filterData(searchText, data);
24
+ for (let i = 0, n = filteredData.length; i < n; i++) {
25
+ const result = filteredData[i];
26
+ const isMatch = options.propertiesToSearch.find((property) => {
27
+ let value = (result[property] || '').toString();
28
+ value = normalizeDiacritics(value).toUpperCase();
29
+ return value.indexOf(searchTextNormalized) > -1;
30
+ });
31
+ if (isMatch) {
32
+ results.push(result);
33
+ }
34
+ }
35
+ return results;
36
+ };
37
+ return search;
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWRlZmF1bHQtc2VhcmNoLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1kZWZhdWx0LXNlYXJjaC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQU94RSxNQUFNLFVBQVUsb0NBQW9DLENBQ2xELE9BQW9EO0lBRXBELE1BQU0sVUFBVSxHQUFHLFVBQVUsVUFBa0IsRUFBRSxJQUFXO1FBQzFELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCx1RUFBdUU7WUFDdkUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzdDLENBQUMsTUFBMkMsRUFBRSxFQUFFO2dCQUM5QyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FDRixDQUFDO1lBRUYsT0FBTyxZQUFZLEtBQUssU0FBUyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsVUFDYixVQUFrQixFQUNsQixJQUFXO1FBRVgsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRW5CLDZFQUE2RTtRQUM3RSx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUzRSxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWxELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUU7Z0JBQ25FLElBQUksS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoRCxLQUFLLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2xELENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN0QjtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZURpYWNyaXRpY3MgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWxvb2t1cC1zdHJpbmctdXRpbHMnO1xuXG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVEZWZhdWx0U2VhcmNoRnVuY3Rpb25PcHRpb25zIH0gZnJvbSAnLi90eXBlcy9hdXRvY29tcGxldGUtZGVmYXVsdC1zZWFyY2gtZnVuY3Rpb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbiB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbic7XG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbkZpbHRlciB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1maWx0ZXInO1xuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoRnVuY3Rpb25SZXNwb25zZSB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1yZXNwb25zZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBza3lBdXRvY29tcGxldGVEZWZhdWx0U2VhcmNoRnVuY3Rpb24oXG4gIG9wdGlvbnM6IFNreUF1dG9jb21wbGV0ZURlZmF1bHRTZWFyY2hGdW5jdGlvbk9wdGlvbnNcbik6IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uIHtcbiAgY29uc3QgZmlsdGVyRGF0YSA9IGZ1bmN0aW9uIChzZWFyY2hUZXh0OiBzdHJpbmcsIGRhdGE6IGFueVtdKTogYW55W10ge1xuICAgIHJldHVybiBkYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XG4gICAgICBpZiAoIW9wdGlvbnMuc2VhcmNoRmlsdGVycyB8fCAhb3B0aW9ucy5zZWFyY2hGaWx0ZXJzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluZCB0aGUgZmlyc3QgZmFpbGluZyBmaWx0ZXIgKHdlIGNhbiBza2lwIHRoZSBvdGhlcnMgaWYgb25lIGZhaWxzKS5cbiAgICAgIGNvbnN0IGZhaWxlZEZpbHRlciA9IG9wdGlvbnMuc2VhcmNoRmlsdGVycy5maW5kKFxuICAgICAgICAoZmlsdGVyOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbkZpbHRlcikgPT4ge1xuICAgICAgICAgIHJldHVybiAhZmlsdGVyLmNhbGwoe30sIHNlYXJjaFRleHQsIGl0ZW0pO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICByZXR1cm4gZmFpbGVkRmlsdGVyID09PSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgc2VhcmNoID0gZnVuY3Rpb24gKFxuICAgIHNlYXJjaFRleHQ6IHN0cmluZyxcbiAgICBkYXRhOiBhbnlbXVxuICApOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvblJlc3BvbnNlIHtcbiAgICBjb25zdCByZXN1bHRzID0gW107XG5cbiAgICAvKiBTYW5pdHkgY2hlY2sgLSBhdXRvY29tcGxldGUgd2lsbCBub3QgY2FsbCBzZWFyY2ggd2l0aCBlbXB0eSBzZWFyY2ggdGV4dCAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghc2VhcmNoVGV4dCkge1xuICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoVGV4dE5vcm1hbGl6ZWQgPSBub3JtYWxpemVEaWFjcml0aWNzKHNlYXJjaFRleHQpLnRvVXBwZXJDYXNlKCk7XG5cbiAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBmaWx0ZXJEYXRhKHNlYXJjaFRleHQsIGRhdGEpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSBmaWx0ZXJlZERhdGEubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBmaWx0ZXJlZERhdGFbaV07XG4gICAgICBjb25zdCBpc01hdGNoID0gb3B0aW9ucy5wcm9wZXJ0aWVzVG9TZWFyY2guZmluZCgocHJvcGVydHk6IHN0cmluZykgPT4ge1xuICAgICAgICBsZXQgdmFsdWUgPSAocmVzdWx0W3Byb3BlcnR5XSB8fCAnJykudG9TdHJpbmcoKTtcbiAgICAgICAgdmFsdWUgPSBub3JtYWxpemVEaWFjcml0aWNzKHZhbHVlKS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gdmFsdWUuaW5kZXhPZihzZWFyY2hUZXh0Tm9ybWFsaXplZCkgPiAtMTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfTtcblxuICByZXR1cm4gc2VhcmNoO1xufVxuIl19
@@ -0,0 +1,221 @@
1
+ import { Directive, ElementRef, Input, Renderer2, forwardRef, } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import { Subject, fromEvent as observableFromEvent } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ // tslint:disable:no-forward-ref no-use-before-declare
7
+ const SKY_AUTOCOMPLETE_VALUE_ACCESSOR = {
8
+ provide: NG_VALUE_ACCESSOR,
9
+ useExisting: forwardRef(() => SkyAutocompleteInputDirective),
10
+ multi: true,
11
+ };
12
+ const SKY_AUTOCOMPLETE_VALIDATOR = {
13
+ provide: NG_VALIDATORS,
14
+ useExisting: forwardRef(() => SkyAutocompleteInputDirective),
15
+ multi: true,
16
+ };
17
+ // tslint:enable
18
+ export class SkyAutocompleteInputDirective {
19
+ constructor(elementRef, renderer) {
20
+ this.elementRef = elementRef;
21
+ this.renderer = renderer;
22
+ this.isFirstChange = true;
23
+ this.ngUnsubscribe = new Subject();
24
+ this._blur = new Subject();
25
+ this._disabled = false;
26
+ this._focus = new Subject();
27
+ this._textChanges = new Subject();
28
+ // istanbul ignore next
29
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
30
+ this.onValidatorChange = () => { };
31
+ }
32
+ /**
33
+ * Specifies the value for the `autocomplete` attribute on the form input.
34
+ * @default "off"
35
+ */
36
+ set autocompleteAttribute(value) {
37
+ if (!value) {
38
+ this._autocompleteAttribute = 'off';
39
+ }
40
+ else {
41
+ this._autocompleteAttribute = value;
42
+ }
43
+ this.renderer.setAttribute(this.elementRef.nativeElement, 'autocomplete', this.autocompleteAttribute);
44
+ }
45
+ get autocompleteAttribute() {
46
+ return this._autocompleteAttribute || 'off';
47
+ }
48
+ /**
49
+ * Indicates whether to disable the autocomplete field.
50
+ * @default false
51
+ */
52
+ set disabled(value) {
53
+ this._disabled = value;
54
+ this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', value);
55
+ }
56
+ get disabled() {
57
+ return this._disabled;
58
+ }
59
+ get blur() {
60
+ return this._blur.asObservable();
61
+ }
62
+ get displayWith() {
63
+ return this._displayWith;
64
+ }
65
+ set displayWith(value) {
66
+ this._displayWith = value;
67
+ this.inputTextValue = this.getValueByKey();
68
+ }
69
+ /**
70
+ * @internal
71
+ */
72
+ get inputElement() {
73
+ return this.elementRef.nativeElement;
74
+ }
75
+ get focus() {
76
+ return this._focus.asObservable();
77
+ }
78
+ get inputTextValue() {
79
+ return this.elementRef.nativeElement.value;
80
+ }
81
+ set inputTextValue(value) {
82
+ this.elementRef.nativeElement.value = value || '';
83
+ }
84
+ get textChanges() {
85
+ return this._textChanges.asObservable();
86
+ }
87
+ get value() {
88
+ return this._value;
89
+ }
90
+ set value(value) {
91
+ const isNewValue = value !== this._value;
92
+ /* istanbul ignore else */
93
+ if (isNewValue) {
94
+ this._value = value;
95
+ this.inputTextValue = this.getValueByKey();
96
+ this.onChange(this._value);
97
+ // Do not mark the field as "dirty"
98
+ // if the field has been initialized with a value.
99
+ if (this.isFirstChange && this.control) {
100
+ this.control.markAsPristine();
101
+ }
102
+ if (this.isFirstChange && this._value) {
103
+ this.isFirstChange = false;
104
+ }
105
+ }
106
+ }
107
+ ngOnInit() {
108
+ const element = this.elementRef.nativeElement;
109
+ this.setAttributes(element);
110
+ observableFromEvent(element, 'input')
111
+ .pipe(takeUntil(this.ngUnsubscribe))
112
+ .subscribe(() => {
113
+ /** Sanity check */
114
+ if (!this.disabled) {
115
+ this._textChanges.next({
116
+ value: this.elementRef.nativeElement.value,
117
+ });
118
+ }
119
+ });
120
+ observableFromEvent(element, 'blur')
121
+ .pipe(takeUntil(this.ngUnsubscribe))
122
+ .subscribe(() => {
123
+ /** Sanity check */
124
+ if (!this.disabled) {
125
+ this._blur.next();
126
+ }
127
+ });
128
+ observableFromEvent(element, 'focus')
129
+ .pipe(takeUntil(this.ngUnsubscribe))
130
+ .subscribe(() => {
131
+ /** Sanity check */
132
+ if (!this.disabled) {
133
+ this._focus.next();
134
+ }
135
+ });
136
+ observableFromEvent(element, 'change')
137
+ .pipe(takeUntil(this.ngUnsubscribe))
138
+ .subscribe(() => {
139
+ /** Sanity check */
140
+ /* istanbul ignore else */
141
+ if (!this.disabled) {
142
+ this.isFirstChange = false;
143
+ }
144
+ });
145
+ }
146
+ ngOnDestroy() {
147
+ this._blur.complete();
148
+ this._textChanges.complete();
149
+ this.ngUnsubscribe.next();
150
+ this.ngUnsubscribe.complete();
151
+ this._blur = this._textChanges = this.ngUnsubscribe = undefined;
152
+ }
153
+ writeValue(value) {
154
+ this.value = value;
155
+ }
156
+ registerOnChange(fn) {
157
+ this.onChange = fn;
158
+ }
159
+ registerOnTouched(fn) {
160
+ this.onTouched = fn;
161
+ }
162
+ registerOnValidatorChange(fn) {
163
+ this.onValidatorChange = fn;
164
+ }
165
+ restoreInputTextValueToPreviousState() {
166
+ const modelValue = this.getValueByKey();
167
+ // If the search field contains text, make sure that the value
168
+ // matches the selected descriptor key.
169
+ if (this.inputTextValue !== modelValue) {
170
+ this.inputTextValue = modelValue;
171
+ }
172
+ this.onTouched();
173
+ }
174
+ setDisabledState(disabled) {
175
+ this.disabled = disabled;
176
+ }
177
+ validate(control) {
178
+ if (!this.control) {
179
+ this.control = control;
180
+ }
181
+ return;
182
+ }
183
+ // See: https://www.w3.org/TR/wai-aria-practices/#kbd_focus_activedescendant
184
+ setActiveDescendant(descendantId) {
185
+ if (descendantId) {
186
+ this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-activedescendant', descendantId);
187
+ }
188
+ else {
189
+ this.renderer.removeAttribute(this.elementRef.nativeElement, 'aria-activedescendant');
190
+ }
191
+ }
192
+ // Angular automatically constructs these methods.
193
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
194
+ onChange(value) { }
195
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
196
+ onTouched() { }
197
+ setAttributes(element) {
198
+ this.renderer.setAttribute(element, 'autocomplete', this.autocompleteAttribute);
199
+ this.renderer.setAttribute(element, 'autocapitalize', 'none');
200
+ this.renderer.setAttribute(element, 'autocorrect', 'off');
201
+ this.renderer.setAttribute(element, 'spellcheck', 'false');
202
+ this.renderer.addClass(element, 'sky-form-control');
203
+ }
204
+ getValueByKey() {
205
+ return this.value ? this.value[this.displayWith] : undefined;
206
+ }
207
+ }
208
+ SkyAutocompleteInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
209
+ SkyAutocompleteInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyAutocompleteInputDirective, selector: "input[skyAutocomplete], textarea[skyAutocomplete]", inputs: { autocompleteAttribute: "autocompleteAttribute", disabled: "disabled" }, providers: [SKY_AUTOCOMPLETE_VALUE_ACCESSOR, SKY_AUTOCOMPLETE_VALIDATOR], ngImport: i0 });
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutocompleteInputDirective, decorators: [{
211
+ type: Directive,
212
+ args: [{
213
+ selector: 'input[skyAutocomplete], textarea[skyAutocomplete]',
214
+ providers: [SKY_AUTOCOMPLETE_VALUE_ACCESSOR, SKY_AUTOCOMPLETE_VALIDATOR],
215
+ }]
216
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { autocompleteAttribute: [{
217
+ type: Input
218
+ }], disabled: [{
219
+ type: Input
220
+ }] } });
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFHTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUkzQyxzREFBc0Q7QUFDdEQsTUFBTSwrQkFBK0IsR0FBRztJQUN0QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNkJBQTZCLENBQUM7SUFDNUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBRztJQUNqQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDZCQUE2QixDQUFDO0lBQzVELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUNGLGdCQUFnQjtBQU1oQixNQUFNLE9BQU8sNkJBQTZCO0lBeUh4QyxZQUFvQixVQUFzQixFQUFVLFFBQW1CO1FBQW5ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbEIvRCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixrQkFBYSxHQUFHLElBQUksT0FBTyxF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QUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMvRCxDQUFDOzswSEFoUVUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsOEpBRjdCLENBQUMsK0JBQStCLEVBQUUsMEJBQTBCLENBQUM7MkZBRTdELDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbURBQW1EO29CQUM3RCxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsRUFBRSwwQkFBMEIsQ0FBQztpQkFDekU7eUhBU1kscUJBQXFCO3NCQUQvQixLQUFLO2dCQXdCSyxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGZyb21FdmVudCBhcyBvYnNlcnZhYmxlRnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUlucHV0VGV4dENoYW5nZSB9IGZyb20gJy4vdHlwZXMvYXV0b2NvbXBsZXRlLWlucHV0LXRleHQtY2hhbmdlJztcblxuLy8gdHNsaW50OmRpc2FibGU6bm8tZm9yd2FyZC1yZWYgbm8tdXNlLWJlZm9yZS1kZWNsYXJlXG5jb25zdCBTS1lfQVVUT0NPTVBMRVRFX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5QXV0b2NvbXBsZXRlSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9BVVRPQ09NUExFVEVfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcbi8vIHRzbGludDplbmFibGVcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbc2t5QXV0b2NvbXBsZXRlXSwgdGV4dGFyZWFbc2t5QXV0b2NvbXBsZXRlXScsXG4gIHByb3ZpZGVyczogW1NLWV9BVVRPQ09NUExFVEVfVkFMVUVfQUNDRVNTT1IsIFNLWV9BVVRPQ09NUExFVEVfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0b2NvbXBsZXRlSW5wdXREaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB2YWx1ZSBmb3IgdGhlIGBhdXRvY29tcGxldGVgIGF0dHJpYnV0ZSBvbiB0aGUgZm9ybSBpbnB1dC5cbiAgICogQGRlZmF1bHQgXCJvZmZcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhdXRvY29tcGxldGVBdHRyaWJ1dGUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZUF0dHJpYnV0ZSA9ICdvZmYnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9hdXRvY29tcGxldGVBdHRyaWJ1dGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ2F1dG9jb21wbGV0ZScsXG4gICAgICB0aGlzLmF1dG9jb21wbGV0ZUF0dHJpYnV0ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUF0dHJpYnV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVBdHRyaWJ1dGUgfHwgJ29mZic7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgYXV0b2NvbXBsZXRlIGZpZWxkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJsdXIoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2JsdXIuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlXaXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlXaXRoO1xuICB9XG5cbiAgcHVibGljIHNldCBkaXNwbGF5V2l0aCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlzcGxheVdpdGggPSB2YWx1ZTtcbiAgICB0aGlzLmlucHV0VGV4dFZhbHVlID0gdGhpcy5nZXRWYWx1ZUJ5S2V5KCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlucHV0RWxlbWVudCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnB1dFRleHRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaW5wdXRUZXh0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWUgfHwgJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRleHRDaGFuZ2VzKCk6IE9ic2VydmFibGU8U2t5QXV0b2NvbXBsZXRlSW5wdXRUZXh0Q2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGlzTmV3VmFsdWUgPSB2YWx1ZSAhPT0gdGhpcy5fdmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChpc05ld1ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5pbnB1dFRleHRWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVCeUtleSgpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XG5cbiAgICAgIC8vIERvIG5vdCBtYXJrIHRoZSBmaWVsZCBhcyBcImRpcnR5XCJcbiAgICAgIC8vIGlmIHRoZSBmaWVsZCBoYXMgYmVlbiBpbml0aWFsaXplZCB3aXRoIGEgdmFsdWUuXG4gICAgICBpZiAodGhpcy5pc0ZpcnN0Q2hhbmdlICYmIHRoaXMuY29udHJvbCkge1xuICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXNGaXJzdENoYW5nZSAmJiB0aGlzLl92YWx1ZSkge1xuICAgICAgICB0aGlzLmlzRmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcblxuICBwcml2YXRlIGlzRmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfYXV0b2NvbXBsZXRlQXR0cmlidXRlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfYmx1ciA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9kaXNwbGF5V2l0aDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2ZvY3VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF90ZXh0Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PFNreUF1dG9jb21wbGV0ZUlucHV0VGV4dENoYW5nZT4oKTtcblxuICBwcml2YXRlIF92YWx1ZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnNldEF0dHJpYnV0ZXMoZWxlbWVudCk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdpbnB1dCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvKiogU2FuaXR5IGNoZWNrICovXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuX3RleHRDaGFuZ2VzLm5leHQoe1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZWxlbWVudCwgJ2JsdXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLyoqIFNhbml0eSBjaGVjayAqL1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLl9ibHVyLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdmb2N1cycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvKiogU2FuaXR5IGNoZWNrICovXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzLm5leHQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBvYnNlcnZhYmxlRnJvbUV2ZW50KGVsZW1lbnQsICdjaGFuZ2UnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLyoqIFNhbml0eSBjaGVjayAqL1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmlzRmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYmx1ci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3RleHRDaGFuZ2VzLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5fYmx1ciA9IHRoaXMuX3RleHRDaGFuZ2VzID0gdGhpcy5uZ1Vuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZXN0b3JlSW5wdXRUZXh0VmFsdWVUb1ByZXZpb3VzU3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgbW9kZWxWYWx1ZSA9IHRoaXMuZ2V0VmFsdWVCeUtleSgpO1xuXG4gICAgLy8gSWYgdGhlIHNlYXJjaCBmaWVsZCBjb250YWlucyB0ZXh0LCBtYWtlIHN1cmUgdGhhdCB0aGUgdmFsdWVcbiAgICAvLyBtYXRjaGVzIHRoZSBzZWxlY3RlZCBkZXNjcmlwdG9yIGtleS5cbiAgICBpZiAodGhpcy5pbnB1dFRleHRWYWx1ZSAhPT0gbW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy5pbnB1dFRleHRWYWx1ZSA9IG1vZGVsVmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZWU6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS1wcmFjdGljZXMvI2tiZF9mb2N1c19hY3RpdmVkZXNjZW5kYW50XG4gIHB1YmxpYyBzZXRBY3RpdmVEZXNjZW5kYW50KGRlc2NlbmRhbnRJZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChkZXNjZW5kYW50SWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsXG4gICAgICAgIGRlc2NlbmRhbnRJZFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50J1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbmd1bGFyIGF1dG9tYXRpY2FsbHkgY29uc3RydWN0cyB0aGVzZSBtZXRob2RzLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvbkNoYW5nZSh2YWx1ZTogYW55KTogdm9pZCB7fVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvblRvdWNoZWQoKTogdm9pZCB7fVxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHB1YmxpYyBvblZhbGlkYXRvckNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgc2V0QXR0cmlidXRlcyhlbGVtZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIGVsZW1lbnQsXG4gICAgICAnYXV0b2NvbXBsZXRlJyxcbiAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQXR0cmlidXRlXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnYXV0b2NhcGl0YWxpemUnLCAnbm9uZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsZW1lbnQsICdhdXRvY29ycmVjdCcsICdvZmYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCAnc3BlbGxjaGVjaycsICdmYWxzZScpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgJ3NreS1mb3JtLWNvbnRyb2wnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWVCeUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZVt0aGlzLmRpc3BsYXlXaXRoXSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @internal
5
+ */
6
+ export class SkyAutcompleteSearchAsyncDisabledPipe {
7
+ transform(searchAsync, searchAsyncDisabled) {
8
+ return searchAsyncDisabled || searchAsync.observers.length === 0;
9
+ }
10
+ }
11
+ SkyAutcompleteSearchAsyncDisabledPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutcompleteSearchAsyncDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
+ SkyAutcompleteSearchAsyncDisabledPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutcompleteSearchAsyncDisabledPipe, name: "skyAutocompleteSearchAsyncDisabled" });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyAutcompleteSearchAsyncDisabledPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: 'skyAutocompleteSearchAsyncDisabled',
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1hc3luYy1kaXNhYmxlZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtYXN5bmMtZGlzYWJsZWQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBSWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLHFDQUFxQztJQUN6QyxTQUFTLENBQ2QsV0FBeUQsRUFDekQsbUJBQTRCO1FBRTVCLE9BQU8sbUJBQW1CLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ25FLENBQUM7O2tJQU5VLHFDQUFxQztnSUFBckMscUNBQXFDOzJGQUFyQyxxQ0FBcUM7a0JBSGpELElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9DQUFvQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoQXN5bmNBcmdzIH0gZnJvbSAnLi90eXBlcy9hdXRvY29tcGxldGUtc2VhcmNoLWFzeW5jLWFyZ3MnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lBdXRvY29tcGxldGVTZWFyY2hBc3luY0Rpc2FibGVkJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QXV0Y29tcGxldGVTZWFyY2hBc3luY0Rpc2FibGVkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIHNlYXJjaEFzeW5jOiBFdmVudEVtaXR0ZXI8U2t5QXV0b2NvbXBsZXRlU2VhcmNoQXN5bmNBcmdzPixcbiAgICBzZWFyY2hBc3luY0Rpc2FibGVkOiBib29sZWFuXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWFyY2hBc3luY0Rpc2FibGVkIHx8IHNlYXJjaEFzeW5jLm9ic2VydmVycy5sZW5ndGggPT09IDA7XG4gIH1cbn1cbiJdfQ==