@skyux/lookup 5.1.1 → 5.5.0-alpha.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 (203) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-lookup-testing.umd.js +8 -8
  3. package/bundles/skyux-lookup.umd.js +480 -123
  4. package/documentation.json +1511 -675
  5. package/esm2015/index.js +32 -0
  6. package/esm2015/index.js.map +1 -0
  7. package/esm2015/lib/modules/autocomplete/autocomplete-adapter.service.js +62 -0
  8. package/esm2015/lib/modules/autocomplete/autocomplete-adapter.service.js.map +1 -0
  9. package/esm2015/lib/modules/autocomplete/autocomplete-default-search-function.js +39 -0
  10. package/esm2015/lib/modules/autocomplete/autocomplete-default-search-function.js.map +1 -0
  11. package/esm2015/lib/modules/autocomplete/autocomplete-input.directive.js +220 -0
  12. package/esm2015/lib/modules/autocomplete/autocomplete-input.directive.js.map +1 -0
  13. package/esm2015/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.js +19 -0
  14. package/esm2015/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.js.map +1 -0
  15. package/esm2015/lib/modules/autocomplete/autocomplete.component.js +732 -0
  16. package/esm2015/lib/modules/autocomplete/autocomplete.component.js.map +1 -0
  17. package/esm2015/lib/modules/autocomplete/autocomplete.module.js +65 -0
  18. package/esm2015/lib/modules/autocomplete/autocomplete.module.js.map +1 -0
  19. package/esm2015/lib/modules/autocomplete/types/autocomplete-default-search-function-options.js +2 -0
  20. package/esm2015/lib/modules/autocomplete/types/autocomplete-default-search-function-options.js.map +1 -0
  21. package/esm2015/lib/modules/autocomplete/types/autocomplete-input-text-change.js +2 -0
  22. package/esm2015/lib/modules/autocomplete/types/autocomplete-input-text-change.js.map +1 -0
  23. package/esm2015/lib/modules/autocomplete/types/autocomplete-message-type.js +15 -0
  24. package/esm2015/lib/modules/autocomplete/types/autocomplete-message-type.js.map +1 -0
  25. package/esm2015/lib/modules/autocomplete/types/autocomplete-message.js +2 -0
  26. package/esm2015/lib/modules/autocomplete/types/autocomplete-message.js.map +1 -0
  27. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-args.js +2 -0
  28. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-args.js.map +1 -0
  29. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-function.js +2 -0
  30. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-function.js.map +1 -0
  31. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.js +2 -0
  32. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.js.map +1 -0
  33. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result.js +2 -0
  34. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-async-result.js.map +1 -0
  35. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-filter.js +2 -0
  36. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-filter.js.map +1 -0
  37. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-response.js +2 -0
  38. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function-response.js.map +1 -0
  39. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function.js +2 -0
  40. package/esm2015/lib/modules/autocomplete/types/autocomplete-search-function.js.map +1 -0
  41. package/esm2015/lib/modules/autocomplete/types/autocomplete-selection-change.js +2 -0
  42. package/esm2015/lib/modules/autocomplete/types/autocomplete-selection-change.js.map +1 -0
  43. package/esm2015/lib/modules/autocomplete/types/autocomplete-show-more-args.js +2 -0
  44. package/esm2015/lib/modules/autocomplete/types/autocomplete-show-more-args.js.map +1 -0
  45. package/esm2015/{modules → lib/modules}/country-field/country-field.component.js +10 -6
  46. package/esm2015/lib/modules/country-field/country-field.component.js.map +1 -0
  47. package/esm2015/lib/modules/country-field/country-field.module.js +49 -0
  48. package/esm2015/lib/modules/country-field/country-field.module.js.map +1 -0
  49. package/esm2015/lib/modules/country-field/types/country.js +2 -0
  50. package/esm2015/lib/modules/country-field/types/country.js.map +1 -0
  51. package/esm2015/lib/modules/lookup/lookup-adapter.service.js +21 -0
  52. package/esm2015/lib/modules/lookup/lookup-adapter.service.js.map +1 -0
  53. package/esm2015/lib/modules/lookup/lookup-autocomplete-adapter.js +72 -0
  54. package/esm2015/lib/modules/lookup/lookup-autocomplete-adapter.js.map +1 -0
  55. package/esm2015/lib/modules/lookup/lookup-item-selected.pipe.js +16 -0
  56. package/esm2015/lib/modules/lookup/lookup-item-selected.pipe.js.map +1 -0
  57. package/esm2015/lib/modules/lookup/lookup-show-more-async-modal.component.js +186 -0
  58. package/esm2015/lib/modules/lookup/lookup-show-more-async-modal.component.js.map +1 -0
  59. package/esm2015/lib/modules/lookup/lookup-show-more-modal.component.js +258 -0
  60. package/esm2015/lib/modules/lookup/lookup-show-more-modal.component.js.map +1 -0
  61. package/esm2015/lib/modules/lookup/lookup.component.js +608 -0
  62. package/esm2015/lib/modules/lookup/lookup.component.js.map +1 -0
  63. package/esm2015/lib/modules/lookup/lookup.module.js +94 -0
  64. package/esm2015/lib/modules/lookup/lookup.module.js.map +1 -0
  65. package/esm2015/lib/modules/lookup/types/lookup-add-click-callback-args.js +2 -0
  66. package/esm2015/lib/modules/lookup/types/lookup-add-click-callback-args.js.map +1 -0
  67. package/esm2015/lib/modules/lookup/types/lookup-add-click-event-args.js +2 -0
  68. package/esm2015/lib/modules/lookup/types/lookup-add-click-event-args.js.map +1 -0
  69. package/esm2015/lib/modules/lookup/types/lookup-select-mode-type.js +2 -0
  70. package/esm2015/lib/modules/lookup/types/lookup-select-mode-type.js.map +1 -0
  71. package/esm2015/lib/modules/lookup/types/lookup-select-mode.js +16 -0
  72. package/esm2015/lib/modules/lookup/types/lookup-select-mode.js.map +1 -0
  73. package/esm2015/lib/modules/lookup/types/lookup-show-more-config.js +2 -0
  74. package/esm2015/lib/modules/lookup/types/lookup-show-more-config.js.map +1 -0
  75. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker-context.js +7 -0
  76. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker-context.js.map +1 -0
  77. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker.js +2 -0
  78. package/esm2015/lib/modules/lookup/types/lookup-show-more-custom-picker.js.map +1 -0
  79. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.js +7 -0
  80. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.js.map +1 -0
  81. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-config.js +2 -0
  82. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-config.js.map +1 -0
  83. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-context.js +7 -0
  84. package/esm2015/lib/modules/lookup/types/lookup-show-more-native-picker-context.js.map +1 -0
  85. package/esm2015/lib/modules/search/search-adapter.service.js +45 -0
  86. package/esm2015/lib/modules/search/search-adapter.service.js.map +1 -0
  87. package/esm2015/lib/modules/search/search.component.js +260 -0
  88. package/esm2015/lib/modules/search/search.component.js.map +1 -0
  89. package/esm2015/lib/modules/search/search.module.js +46 -0
  90. package/esm2015/lib/modules/search/search.module.js.map +1 -0
  91. package/esm2015/lib/modules/shared/sky-lookup-resources.module.js +72 -0
  92. package/esm2015/lib/modules/shared/sky-lookup-resources.module.js.map +1 -0
  93. package/esm2015/lib/modules/shared/sky-lookup-string-utils.js +8 -0
  94. package/esm2015/lib/modules/shared/sky-lookup-string-utils.js.map +1 -0
  95. package/esm2015/lib/polyfills.js +30 -0
  96. package/esm2015/lib/polyfills.js.map +1 -0
  97. package/esm2015/skyux-lookup.js +2 -2
  98. package/esm2015/skyux-lookup.js.map +1 -0
  99. package/esm2015/testing/country-field/country-field-fixture.js +1 -1
  100. package/esm2015/testing/country-field/country-field-fixture.js.map +1 -0
  101. package/esm2015/testing/country-field/country-field-testing.module.js +5 -5
  102. package/esm2015/testing/country-field/country-field-testing.module.js.map +1 -0
  103. package/esm2015/testing/public-api.js +1 -1
  104. package/esm2015/testing/public-api.js.map +1 -0
  105. package/esm2015/testing/search/search-fixture.js +1 -1
  106. package/esm2015/testing/search/search-fixture.js.map +1 -0
  107. package/esm2015/testing/search/search-testing.module.js +5 -5
  108. package/esm2015/testing/search/search-testing.module.js.map +1 -0
  109. package/esm2015/testing/skyux-lookup-testing.js +1 -1
  110. package/esm2015/testing/skyux-lookup-testing.js.map +1 -0
  111. package/fesm2015/skyux-lookup-testing.js +8 -8
  112. package/fesm2015/skyux-lookup-testing.js.map +1 -1
  113. package/fesm2015/skyux-lookup.js +443 -123
  114. package/fesm2015/skyux-lookup.js.map +1 -1
  115. package/index.d.ts +27 -0
  116. package/{modules → lib/modules}/autocomplete/autocomplete-adapter.service.d.ts +0 -0
  117. package/{modules → lib/modules}/autocomplete/autocomplete-default-search-function.d.ts +0 -0
  118. package/{modules → lib/modules}/autocomplete/autocomplete-input.directive.d.ts +0 -0
  119. package/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.d.ts +11 -0
  120. package/{modules → lib/modules}/autocomplete/autocomplete.component.d.ts +17 -6
  121. package/lib/modules/autocomplete/autocomplete.module.d.ts +15 -0
  122. package/{modules → lib/modules}/autocomplete/types/autocomplete-default-search-function-options.d.ts +0 -0
  123. package/{modules → lib/modules}/autocomplete/types/autocomplete-input-text-change.d.ts +0 -0
  124. package/{modules → lib/modules}/autocomplete/types/autocomplete-message-type.d.ts +0 -0
  125. package/{modules → lib/modules}/autocomplete/types/autocomplete-message.d.ts +0 -0
  126. package/lib/modules/autocomplete/types/autocomplete-search-async-args.d.ts +35 -0
  127. package/lib/modules/autocomplete/types/autocomplete-search-async-function.d.ts +4 -0
  128. package/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.d.ts +1 -0
  129. package/lib/modules/autocomplete/types/autocomplete-search-async-result.d.ts +25 -0
  130. package/{modules → lib/modules}/autocomplete/types/autocomplete-search-function-filter.d.ts +0 -0
  131. package/{modules → lib/modules}/autocomplete/types/autocomplete-search-function-response.d.ts +0 -0
  132. package/{modules → lib/modules}/autocomplete/types/autocomplete-search-function.d.ts +0 -0
  133. package/{modules → lib/modules}/autocomplete/types/autocomplete-selection-change.d.ts +0 -0
  134. package/{modules → lib/modules}/autocomplete/types/autocomplete-show-more-args.d.ts +0 -0
  135. package/{modules → lib/modules}/country-field/country-field.component.d.ts +3 -2
  136. package/{modules → lib/modules}/country-field/country-field.module.d.ts +0 -0
  137. package/{modules → lib/modules}/country-field/types/country.d.ts +0 -0
  138. package/{modules → lib/modules}/lookup/lookup-adapter.service.d.ts +0 -0
  139. package/{modules → lib/modules}/lookup/lookup-autocomplete-adapter.d.ts +6 -4
  140. package/lib/modules/lookup/lookup-item-selected.pipe.d.ts +7 -0
  141. package/lib/modules/lookup/lookup-show-more-async-modal.component.d.ts +49 -0
  142. package/{modules → lib/modules}/lookup/lookup-show-more-modal.component.d.ts +0 -0
  143. package/{modules → lib/modules}/lookup/lookup.component.d.ts +3 -0
  144. package/lib/modules/lookup/lookup.module.d.ts +23 -0
  145. package/{modules → lib/modules}/lookup/types/lookup-add-click-callback-args.d.ts +0 -0
  146. package/{modules → lib/modules}/lookup/types/lookup-add-click-event-args.d.ts +0 -0
  147. package/{modules → lib/modules}/lookup/types/lookup-select-mode-type.d.ts +0 -0
  148. package/{modules → lib/modules}/lookup/types/lookup-select-mode.d.ts +0 -0
  149. package/{modules → lib/modules}/lookup/types/lookup-show-more-config.d.ts +0 -0
  150. package/{modules → lib/modules}/lookup/types/lookup-show-more-custom-picker-context.d.ts +0 -0
  151. package/{modules → lib/modules}/lookup/types/lookup-show-more-custom-picker.d.ts +0 -0
  152. package/lib/modules/lookup/types/lookup-show-more-native-picker-async-context.d.ts +17 -0
  153. package/{modules → lib/modules}/lookup/types/lookup-show-more-native-picker-config.d.ts +1 -1
  154. package/{modules → lib/modules}/lookup/types/lookup-show-more-native-picker-context.d.ts +0 -0
  155. package/{modules → lib/modules}/search/search-adapter.service.d.ts +0 -0
  156. package/{modules → lib/modules}/search/search.component.d.ts +5 -5
  157. package/{modules → lib/modules}/search/search.module.d.ts +0 -0
  158. package/{modules → lib/modules}/shared/sky-lookup-resources.module.d.ts +0 -0
  159. package/{modules → lib/modules}/shared/sky-lookup-string-utils.d.ts +0 -0
  160. package/{polyfills.d.ts → lib/polyfills.d.ts} +0 -0
  161. package/package.json +12 -12
  162. package/skyux-lookup.d.ts +1 -1
  163. package/LICENSE +0 -21
  164. package/esm2015/modules/autocomplete/autocomplete-adapter.service.js +0 -61
  165. package/esm2015/modules/autocomplete/autocomplete-default-search-function.js +0 -39
  166. package/esm2015/modules/autocomplete/autocomplete-input.directive.js +0 -220
  167. package/esm2015/modules/autocomplete/autocomplete.component.js +0 -684
  168. package/esm2015/modules/autocomplete/autocomplete.module.js +0 -52
  169. package/esm2015/modules/autocomplete/types/autocomplete-default-search-function-options.js +0 -2
  170. package/esm2015/modules/autocomplete/types/autocomplete-input-text-change.js +0 -2
  171. package/esm2015/modules/autocomplete/types/autocomplete-message-type.js +0 -15
  172. package/esm2015/modules/autocomplete/types/autocomplete-message.js +0 -2
  173. package/esm2015/modules/autocomplete/types/autocomplete-search-function-filter.js +0 -2
  174. package/esm2015/modules/autocomplete/types/autocomplete-search-function-response.js +0 -2
  175. package/esm2015/modules/autocomplete/types/autocomplete-search-function.js +0 -2
  176. package/esm2015/modules/autocomplete/types/autocomplete-selection-change.js +0 -2
  177. package/esm2015/modules/autocomplete/types/autocomplete-show-more-args.js +0 -2
  178. package/esm2015/modules/country-field/country-field.module.js +0 -49
  179. package/esm2015/modules/country-field/types/country.js +0 -2
  180. package/esm2015/modules/lookup/lookup-adapter.service.js +0 -21
  181. package/esm2015/modules/lookup/lookup-autocomplete-adapter.js +0 -67
  182. package/esm2015/modules/lookup/lookup-show-more-modal.component.js +0 -252
  183. package/esm2015/modules/lookup/lookup.component.js +0 -571
  184. package/esm2015/modules/lookup/lookup.module.js +0 -78
  185. package/esm2015/modules/lookup/types/lookup-add-click-callback-args.js +0 -2
  186. package/esm2015/modules/lookup/types/lookup-add-click-event-args.js +0 -2
  187. package/esm2015/modules/lookup/types/lookup-select-mode-type.js +0 -2
  188. package/esm2015/modules/lookup/types/lookup-select-mode.js +0 -16
  189. package/esm2015/modules/lookup/types/lookup-show-more-config.js +0 -2
  190. package/esm2015/modules/lookup/types/lookup-show-more-custom-picker-context.js +0 -7
  191. package/esm2015/modules/lookup/types/lookup-show-more-custom-picker.js +0 -2
  192. package/esm2015/modules/lookup/types/lookup-show-more-native-picker-config.js +0 -2
  193. package/esm2015/modules/lookup/types/lookup-show-more-native-picker-context.js +0 -7
  194. package/esm2015/modules/search/search-adapter.service.js +0 -45
  195. package/esm2015/modules/search/search.component.js +0 -260
  196. package/esm2015/modules/search/search.module.js +0 -46
  197. package/esm2015/modules/shared/sky-lookup-resources.module.js +0 -69
  198. package/esm2015/modules/shared/sky-lookup-string-utils.js +0 -8
  199. package/esm2015/polyfills.js +0 -30
  200. package/esm2015/public-api.js +0 -29
  201. package/modules/autocomplete/autocomplete.module.d.ts +0 -14
  202. package/modules/lookup/lookup.module.d.ts +0 -21
  203. package/public-api.d.ts +0 -24
@@ -1,52 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule } from '@angular/forms';
4
- import { SkyAffixModule, SkyIdModule, SkyOverlayModule } from '@skyux/core';
5
- import { SkyIconModule, SkyTextHighlightModule } from '@skyux/indicators';
6
- import { SkyThemeModule } from '@skyux/theme';
7
- import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module';
8
- import { SkyAutocompleteComponent } from './autocomplete.component';
9
- import { SkyAutocompleteInputDirective } from './autocomplete-input.directive';
10
- import * as i0 from "@angular/core";
11
- export class SkyAutocompleteModule {
12
- }
13
- SkyAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- SkyAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAutocompleteModule, declarations: [SkyAutocompleteComponent, SkyAutocompleteInputDirective], imports: [CommonModule,
15
- FormsModule,
16
- SkyAffixModule,
17
- SkyTextHighlightModule,
18
- SkyIconModule,
19
- SkyIdModule,
20
- SkyLookupResourcesModule,
21
- SkyOverlayModule,
22
- SkyThemeModule], exports: [SkyAutocompleteComponent, SkyAutocompleteInputDirective] });
23
- SkyAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAutocompleteModule, imports: [[
24
- CommonModule,
25
- FormsModule,
26
- SkyAffixModule,
27
- SkyTextHighlightModule,
28
- SkyIconModule,
29
- SkyIdModule,
30
- SkyLookupResourcesModule,
31
- SkyOverlayModule,
32
- SkyThemeModule,
33
- ]] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyAutocompleteModule, decorators: [{
35
- type: NgModule,
36
- args: [{
37
- declarations: [SkyAutocompleteComponent, SkyAutocompleteInputDirective],
38
- imports: [
39
- CommonModule,
40
- FormsModule,
41
- SkyAffixModule,
42
- SkyTextHighlightModule,
43
- SkyIconModule,
44
- SkyIdModule,
45
- SkyLookupResourcesModule,
46
- SkyOverlayModule,
47
- SkyThemeModule,
48
- ],
49
- exports: [SkyAutocompleteComponent, SkyAutocompleteInputDirective],
50
- }]
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvb2t1cC9zcmMvbW9kdWxlcy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBaUIvRSxNQUFNLE9BQU8scUJBQXFCOzttSEFBckIscUJBQXFCO29IQUFyQixxQkFBcUIsaUJBZGpCLHdCQUF3QixFQUFFLDZCQUE2QixhQUVwRSxZQUFZO1FBQ1osV0FBVztRQUNYLGNBQWM7UUFDZCxzQkFBc0I7UUFDdEIsYUFBYTtRQUNiLFdBQVc7UUFDWCx3QkFBd0I7UUFDeEIsZ0JBQWdCO1FBQ2hCLGNBQWMsYUFFTix3QkFBd0IsRUFBRSw2QkFBNkI7b0hBRXRELHFCQUFxQixZQWJ2QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsY0FBYztZQUNkLHNCQUFzQjtZQUN0QixhQUFhO1lBQ2IsV0FBVztZQUNYLHdCQUF3QjtZQUN4QixnQkFBZ0I7WUFDaEIsY0FBYztTQUNmOzRGQUdVLHFCQUFxQjtrQkFmakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSw2QkFBNkIsQ0FBQztvQkFDdkUsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxjQUFjO3dCQUNkLHNCQUFzQjt3QkFDdEIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLHdCQUF3Qjt3QkFDeEIsZ0JBQWdCO3dCQUNoQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixFQUFFLDZCQUE2QixDQUFDO2lCQUNuRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTa3lBZmZpeE1vZHVsZSwgU2t5SWRNb2R1bGUsIFNreU92ZXJsYXlNb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreUljb25Nb2R1bGUsIFNreVRleHRIaWdobGlnaHRNb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5TG9va3VwUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1sb29rdXAtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvY29tcGxldGUtaW5wdXQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5QXV0b2NvbXBsZXRlQ29tcG9uZW50LCBTa3lBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2t5QWZmaXhNb2R1bGUsXG4gICAgU2t5VGV4dEhpZ2hsaWdodE1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUlkTW9kdWxlLFxuICAgIFNreUxvb2t1cFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lPdmVybGF5TW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5QXV0b2NvbXBsZXRlQ29tcG9uZW50LCBTa3lBdXRvY29tcGxldGVJbnB1dERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUF1dG9jb21wbGV0ZU1vZHVsZSB7fVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWRlZmF1bHQtc2VhcmNoLWZ1bmN0aW9uLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb29rdXAvc3JjL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1kZWZhdWx0LXNlYXJjaC1mdW5jdGlvbi1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbkZpbHRlciB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1maWx0ZXInO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUF1dG9jb21wbGV0ZURlZmF1bHRTZWFyY2hGdW5jdGlvbk9wdGlvbnMge1xuICBwcm9wZXJ0aWVzVG9TZWFyY2g/OiBzdHJpbmdbXTtcbiAgc2VhcmNoRmlsdGVycz86IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uRmlsdGVyW107XG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBzZWFyY2hSZXN1bHRzTGltaXQ/OiBudW1iZXI7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWlucHV0LXRleHQtY2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9va3VwL3NyYy9tb2R1bGVzL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtaW5wdXQtdGV4dC1jaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5QXV0b2NvbXBsZXRlSW5wdXRUZXh0Q2hhbmdlIHtcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- /**
2
- * @internal
3
- */
4
- export var SkyAutocompleteMessageType;
5
- (function (SkyAutocompleteMessageType) {
6
- /**
7
- * Closes the dropdown.
8
- */
9
- SkyAutocompleteMessageType[SkyAutocompleteMessageType["CloseDropdown"] = 0] = "CloseDropdown";
10
- /**
11
- * Repositions the dropdown.
12
- */
13
- SkyAutocompleteMessageType[SkyAutocompleteMessageType["RepositionDropdown"] = 1] = "RepositionDropdown";
14
- })(SkyAutocompleteMessageType || (SkyAutocompleteMessageType = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLW1lc3NhZ2UtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvb2t1cC9zcmMvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLW1lc3NhZ2UtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLDBCQVVYO0FBVkQsV0FBWSwwQkFBMEI7SUFDcEM7O09BRUc7SUFDSCw2RkFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILHVHQUFzQixDQUFBO0FBQ3hCLENBQUMsRUFWVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBVXJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGVudW0gU2t5QXV0b2NvbXBsZXRlTWVzc2FnZVR5cGUge1xuICAvKipcbiAgICogQ2xvc2VzIHRoZSBkcm9wZG93bi5cbiAgICovXG4gIENsb3NlRHJvcGRvd24gPSAwLFxuXG4gIC8qKlxuICAgKiBSZXBvc2l0aW9ucyB0aGUgZHJvcGRvd24uXG4gICAqL1xuICBSZXBvc2l0aW9uRHJvcGRvd24gPSAxLFxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb29rdXAvc3JjL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lBdXRvY29tcGxldGVNZXNzYWdlVHlwZSB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLW1lc3NhZ2UtdHlwZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5QXV0b2NvbXBsZXRlTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgbWVzc2FnZS5cbiAgICovXG4gIHR5cGU/OiBTa3lBdXRvY29tcGxldGVNZXNzYWdlVHlwZTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb29rdXAvc3JjL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtZnVuY3Rpb24tZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbkZpbHRlciA9IChcbiAgc2VhcmNoVGV4dDogc3RyaW5nLFxuICBpdGVtOiBhbnlcbikgPT4gYm9vbGVhbjtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvb2t1cC9zcmMvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2t5QXV0b2NvbXBsZXRlU2VhcmNoRnVuY3Rpb25SZXNwb25zZSA9IGFueVtdIHwgUHJvbWlzZTxhbnlbXT47XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvb2t1cC9zcmMvbW9kdWxlcy9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoRnVuY3Rpb25SZXNwb25zZSB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbi1yZXNwb25zZSc7XG5cbmV4cG9ydCB0eXBlIFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uID0gKFxuICBzZWFyY2hUZXh0OiBzdHJpbmcsXG4gIGRhdGE6IGFueVtdXG4pID0+IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uUmVzcG9uc2U7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlbGVjdGlvbi1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb29rdXAvc3JjL21vZHVsZXMvYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWxlY3Rpb24tY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreUF1dG9jb21wbGV0ZVNlbGVjdGlvbkNoYW5nZSB7XG4gIC8qKlxuICAgKiBSZWZlcmVuY2VzIGEgc2VhcmNoIHJlc3VsdCBvYmplY3QgdGhhdCB1c2VycyBzZWxlY3QgaW4gdGhlIGRyb3Bkb3duIGxpc3QuXG4gICAqL1xuICBzZWxlY3RlZEl0ZW0/OiBhbnk7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNob3ctbW9yZS1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9va3VwL3NyYy9tb2R1bGVzL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2hvdy1tb3JlLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5QXV0b2NvbXBsZXRlU2hvd01vcmVBcmdzIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCBlbGVtZW50IHdoZW4gdGhlIHNob3cgbW9yZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqL1xuICBpbnB1dFZhbHVlOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { SkyI18nModule } from '@skyux/i18n';
5
- import { SkyIconModule } from '@skyux/indicators';
6
- import { SkyThemeModule } from '@skyux/theme';
7
- import { SkyAutocompleteModule } from '../autocomplete/autocomplete.module';
8
- import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module';
9
- import { SkyCountryFieldComponent } from './country-field.component';
10
- import * as i0 from "@angular/core";
11
- export class SkyCountryFieldModule {
12
- }
13
- SkyCountryFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyCountryFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- SkyCountryFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyCountryFieldModule, declarations: [SkyCountryFieldComponent], imports: [CommonModule,
15
- FormsModule,
16
- ReactiveFormsModule,
17
- SkyAutocompleteModule,
18
- SkyIconModule,
19
- SkyI18nModule,
20
- SkyLookupResourcesModule,
21
- SkyThemeModule], exports: [SkyCountryFieldComponent] });
22
- SkyCountryFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyCountryFieldModule, imports: [[
23
- CommonModule,
24
- FormsModule,
25
- ReactiveFormsModule,
26
- SkyAutocompleteModule,
27
- SkyIconModule,
28
- SkyI18nModule,
29
- SkyLookupResourcesModule,
30
- SkyThemeModule,
31
- ]] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyCountryFieldModule, decorators: [{
33
- type: NgModule,
34
- args: [{
35
- declarations: [SkyCountryFieldComponent],
36
- imports: [
37
- CommonModule,
38
- FormsModule,
39
- ReactiveFormsModule,
40
- SkyAutocompleteModule,
41
- SkyIconModule,
42
- SkyI18nModule,
43
- SkyLookupResourcesModule,
44
- SkyThemeModule,
45
- ],
46
- exports: [SkyCountryFieldComponent],
47
- }]
48
- }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb29rdXAvc3JjL21vZHVsZXMvY291bnRyeS1maWVsZC9jb3VudHJ5LWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFnQnJFLE1BQU0sT0FBTyxxQkFBcUI7O21IQUFyQixxQkFBcUI7b0hBQXJCLHFCQUFxQixpQkFiakIsd0JBQXdCLGFBRXJDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2IsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixjQUFjLGFBRU4sd0JBQXdCO29IQUV2QixxQkFBcUIsWUFadkI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLGFBQWE7WUFDYix3QkFBd0I7WUFDeEIsY0FBYztTQUNmOzRGQUdVLHFCQUFxQjtrQkFkakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgU2t5STE4bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcblxuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreUxvb2t1cFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbG9va3VwLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lDb3VudHJ5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvdW50cnktZmllbGQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2t5Q291bnRyeUZpZWxkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNreUF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUkxOG5Nb2R1bGUsXG4gICAgU2t5TG9va3VwUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreVRoZW1lTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2t5Q291bnRyeUZpZWxkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q291bnRyeUZpZWxkTW9kdWxlIHt9XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvb2t1cC9zcmMvbW9kdWxlcy9jb3VudHJ5LWZpZWxkL3R5cGVzL2NvdW50cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGF0YSBmb3IgYSBnaXZlbiBjb3VudHJ5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUNvdW50cnlGaWVsZENvdW50cnkge1xuICAvKipcbiAgICogIFRoZSBbSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiBBbHBoYSAyXShodHRwczovL3d3dy5uYXRpb25zb25saW5lLm9yZy9vbmV3b3JsZC9jb3VudHJ5X2NvZGVfbGlzdC5odG0pXG4gICAqIGNvdW50cnkgY29kZSBmb3IgdGhlIGNvdW50cnkuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgaXNvMjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY291bnRyeS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY291bnRyeSdzIGludGVybmF0aW9uYWwgZGlhbCBjb2RlLlxuICAgKiBUaGlzIHByb3BlcnR5IHdpbGwgb25seSBiZSBzZXQgaWYgdGhlIGBpbmNsdWRlUGhvbmVJbmZvYCBpbnB1dCBpcyBzZXQuXG4gICAqL1xuICBkaWFsQ29kZT86IHN0cmluZztcblxuICAvLyBOT1RFOiBXZSBpbnRlbnRpb25hbGx5IGRvbid0IGRvY3VtZW50IHRoZXNlIHByb3BlcnRpZXMgYXMgdGhleSBhcmUgaW50ZXJuYWwgdXNlIHByb3BlcnRpZXNcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgYXJlYUNvZGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpb3JpdHk/OiBudW1iZXI7XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @internal
5
- */
6
- export class SkyLookupAdapterService {
7
- focusInput(elRef) {
8
- const inputEl = elRef.nativeElement.querySelector('.sky-lookup-input');
9
- /* Sanity check */
10
- /* istanbul ignore else */
11
- if (inputEl) {
12
- inputEl.focus();
13
- }
14
- }
15
- }
16
- SkyLookupAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLookupAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
17
- SkyLookupAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLookupAdapterService });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLookupAdapterService, decorators: [{
19
- type: Injectable
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvb2t1cC9zcmMvbW9kdWxlcy9sb29rdXAvbG9va3VwLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV2RDs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsVUFBVSxDQUFDLEtBQWlCO1FBQ2pDLE1BQU0sT0FBTyxHQUNYLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFekQsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7O3FIQVZVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBmb2N1c0lucHV0KGVsUmVmOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFbDogSFRNTEVsZW1lbnQgPVxuICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWxvb2t1cC1pbnB1dCcpO1xuXG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaW5wdXRFbCkge1xuICAgICAgaW5wdXRFbC5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,67 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { skyAutocompleteDefaultSearchFunction } from '../autocomplete/autocomplete-default-search-function';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @internal
6
- */
7
- export class SkyLookupAutocompleteAdapter {
8
- /**
9
- * Specifies an object property to display in the text input after users
10
- * select an item in the dropdown list.
11
- * @default name
12
- */
13
- set descriptorProperty(value) {
14
- this._descriptorProperty = value;
15
- }
16
- get descriptorProperty() {
17
- return this._descriptorProperty || 'name';
18
- }
19
- /**
20
- * Specifies an array of object properties to search.
21
- * @default ['name']
22
- */
23
- set propertiesToSearch(value) {
24
- this._propertiesToSearch = value;
25
- }
26
- get propertiesToSearch() {
27
- return this._propertiesToSearch || ['name'];
28
- }
29
- /**
30
- * Specifies a function to dynamically manage the data source when users
31
- * change the text in the lookup field. The search function must return
32
- * an array or a promise of an array. The `search` property is particularly
33
- * useful when the data source does not live in the source code.
34
- */
35
- set search(value) {
36
- this._search = value;
37
- }
38
- get search() {
39
- return (this._search ||
40
- skyAutocompleteDefaultSearchFunction({
41
- propertiesToSearch: this.propertiesToSearch,
42
- searchFilters: this.searchFilters,
43
- }));
44
- }
45
- }
46
- SkyLookupAutocompleteAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLookupAutocompleteAdapter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
47
- SkyLookupAutocompleteAdapter.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.15", type: SkyLookupAutocompleteAdapter, inputs: { debounceTime: "debounceTime", descriptorProperty: "descriptorProperty", propertiesToSearch: "propertiesToSearch", search: "search", searchResultTemplate: "searchResultTemplate", searchTextMinimumCharacters: "searchTextMinimumCharacters", searchFilters: "searchFilters", searchResultsLimit: "searchResultsLimit" }, ngImport: i0 });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLookupAutocompleteAdapter, decorators: [{
49
- type: Directive
50
- }], propDecorators: { debounceTime: [{
51
- type: Input
52
- }], descriptorProperty: [{
53
- type: Input
54
- }], propertiesToSearch: [{
55
- type: Input
56
- }], search: [{
57
- type: Input
58
- }], searchResultTemplate: [{
59
- type: Input
60
- }], searchTextMinimumCharacters: [{
61
- type: Input
62
- }], searchFilters: [{
63
- type: Input
64
- }], searchResultsLimit: [{
65
- type: Input
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWF1dG9jb21wbGV0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9va3VwL3NyYy9tb2R1bGVzL2xvb2t1cC9sb29rdXAtYXV0b2NvbXBsZXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sc0RBQXNELENBQUM7O0FBTTVHOztHQUVHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQVN2Qzs7OztPQUlHO0lBQ0gsSUFDVyxrQkFBa0IsQ0FBQyxLQUFhO1FBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixJQUFJLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxrQkFBa0IsQ0FBQyxLQUFlO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFDVyxNQUFNLENBQUMsS0FBb0M7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sQ0FDTCxJQUFJLENBQUMsT0FBTztZQUNaLG9DQUFvQyxDQUFDO2dCQUNuQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUMzQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7YUFDbEMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzswSEF2RFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0QjtrQkFEeEMsU0FBUzs4QkFRRCxZQUFZO3NCQURsQixLQUFLO2dCQVNLLGtCQUFrQjtzQkFENUIsS0FBSztnQkFjSyxrQkFBa0I7c0JBRDVCLEtBQUs7Z0JBZ0JLLE1BQU07c0JBRGhCLEtBQUs7Z0JBcUJDLG9CQUFvQjtzQkFEMUIsS0FBSztnQkFVQywyQkFBMkI7c0JBRGpDLEtBQUs7Z0JBV0MsYUFBYTtzQkFEbkIsS0FBSztnQkFRQyxrQkFBa0I7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBza3lBdXRvY29tcGxldGVEZWZhdWx0U2VhcmNoRnVuY3Rpb24gfSBmcm9tICcuLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWRlZmF1bHQtc2VhcmNoLWZ1bmN0aW9uJztcblxuaW1wb3J0IHsgU2t5QXV0b2NvbXBsZXRlU2VhcmNoRnVuY3Rpb24gfSBmcm9tICcuLi9hdXRvY29tcGxldGUvdHlwZXMvYXV0b2NvbXBsZXRlLXNlYXJjaC1mdW5jdGlvbic7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uRmlsdGVyIH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtZnVuY3Rpb24tZmlsdGVyJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwQXV0b2NvbXBsZXRlQWRhcHRlciB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHNlYXJjaGluZyB3aGlsZSB1c2Vyc1xuICAgKiBlbnRlciB0ZXh0IGluIHRoZSBsb29rdXAgZmllbGQuXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWJvdW5jZVRpbWU6IG51bWJlcjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGFuIG9iamVjdCBwcm9wZXJ0eSB0byBkaXNwbGF5IGluIHRoZSB0ZXh0IGlucHV0IGFmdGVyIHVzZXJzXG4gICAqIHNlbGVjdCBhbiBpdGVtIGluIHRoZSBkcm9wZG93biBsaXN0LlxuICAgKiBAZGVmYXVsdCBuYW1lXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlc2NyaXB0b3JQcm9wZXJ0eSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGVzY3JpcHRvclByb3BlcnR5ID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0b3JQcm9wZXJ0eSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdG9yUHJvcGVydHkgfHwgJ25hbWUnO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiBvYmplY3QgcHJvcGVydGllcyB0byBzZWFyY2guXG4gICAqIEBkZWZhdWx0IFsnbmFtZSddXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHByb3BlcnRpZXNUb1NlYXJjaCh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9wcm9wZXJ0aWVzVG9TZWFyY2ggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJvcGVydGllc1RvU2VhcmNoKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fcHJvcGVydGllc1RvU2VhcmNoIHx8IFsnbmFtZSddO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG1hbmFnZSB0aGUgZGF0YSBzb3VyY2Ugd2hlbiB1c2Vyc1xuICAgKiBjaGFuZ2UgdGhlIHRleHQgaW4gdGhlIGxvb2t1cCBmaWVsZC4gVGhlIHNlYXJjaCBmdW5jdGlvbiBtdXN0IHJldHVyblxuICAgKiBhbiBhcnJheSBvciBhIHByb21pc2Ugb2YgYW4gYXJyYXkuIFRoZSBgc2VhcmNoYCBwcm9wZXJ0eSBpcyBwYXJ0aWN1bGFybHlcbiAgICogdXNlZnVsIHdoZW4gdGhlIGRhdGEgc291cmNlIGRvZXMgbm90IGxpdmUgaW4gdGhlIHNvdXJjZSBjb2RlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWFyY2godmFsdWU6IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fc2VhcmNoID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaCgpOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX3NlYXJjaCB8fFxuICAgICAgc2t5QXV0b2NvbXBsZXRlRGVmYXVsdFNlYXJjaEZ1bmN0aW9uKHtcbiAgICAgICAgcHJvcGVydGllc1RvU2VhcmNoOiB0aGlzLnByb3BlcnRpZXNUb1NlYXJjaCxcbiAgICAgICAgc2VhcmNoRmlsdGVyczogdGhpcy5zZWFyY2hGaWx0ZXJzLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHRlbXBsYXRlIHRvIGZvcm1hdCBlYWNoIG9wdGlvbiBpbiB0aGUgZHJvcGRvd24gbGlzdC4gVGhlIGxvb2t1cCBjb21wb25lbnRcbiAgICogaW5qZWN0cyB2YWx1ZXMgaW50byB0aGUgdGVtcGxhdGUgYXMgYGl0ZW1gIHZhcmlhYmxlcyB0aGF0IHJlZmVyZW5jZSBhbGwgdGhlIG9iamVjdFxuICAgKiBwcm9wZXJ0aWVzIG9mIHRoZSBvcHRpb25zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaFJlc3VsdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB1c2VycyBtdXN0IGVudGVyIGJlZm9yZVxuICAgKiB0aGUgbG9va3VwIGNvbXBvbmVudCBzZWFyY2hlcyB0aGUgZGF0YSBzb3VyY2UgYW5kIGRpc3BsYXlzIHNlYXJjaCByZXN1bHRzXG4gICAqIGluIHRoZSBkcm9wZG93biBsaXN0LlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoVGV4dE1pbmltdW1DaGFyYWN0ZXJzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiBmdW5jdGlvbnMgdG8gY2FsbCBhZ2FpbnN0IGVhY2ggc2VhcmNoIHJlc3VsdCBpbiBvcmRlclxuICAgKiB0byBmaWx0ZXIgdGhlIHNlYXJjaCByZXN1bHRzIHdoZW4gdXNpbmcgdGhlIGRlZmF1bHQgc2VhcmNoIGZ1bmN0aW9uLiBXaGVuXG4gICAqIHVzaW5nIGEgY3VzdG9tIHNlYXJjaCBmdW5jdGlvbiB2aWEgdGhlIGBzZWFyY2hgIHByb3BlcnR5IGZpbHRlcnMgbXVzdCBiZVxuICAgKiBhcHBsaWVkIG1hbnVhbGx5IGluc2lkZSB0aGF0IGZ1bmN0aW9uLiBUaGUgZnVuY3Rpb24gbXVzdCByZXR1cm4gYHRydWVgIG9yXG4gICAqIGBmYWxzZWAgZm9yIGVhY2ggcmVzdWx0IHRvIGluZGljYXRlIHdoZXRoZXIgdG8gZGlzcGxheSBpdCBpbiB0aGUgZHJvcGRvd24gbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWFyY2hGaWx0ZXJzOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbkZpbHRlcltdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNlYXJjaCByZXN1bHRzIHRvIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3duXG4gICAqIGxpc3QuIEJ5IGRlZmF1bHQsIHRoZSBsb29rdXAgY29tcG9uZW50IGRpc3BsYXlzIGFsbCBtYXRjaGluZyByZXN1bHRzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlYXJjaFJlc3VsdHNMaW1pdDogbnVtYmVyO1xuXG4gIHByaXZhdGUgX2Rlc2NyaXB0b3JQcm9wZXJ0eTogc3RyaW5nO1xuICBwcml2YXRlIF9wcm9wZXJ0aWVzVG9TZWFyY2g6IHN0cmluZ1tdO1xuICBwcml2YXRlIF9zZWFyY2g6IFNreUF1dG9jb21wbGV0ZVNlYXJjaEZ1bmN0aW9uO1xufVxuIl19
@@ -1,252 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@skyux/modals";
5
- import * as i2 from "./types/lookup-show-more-native-picker-context";
6
- import * as i3 from "@skyux/layout";
7
- import * as i4 from "../search/search.component";
8
- import * as i5 from "@skyux/indicators";
9
- import * as i6 from "@skyux/forms";
10
- import * as i7 from "@skyux/lists";
11
- import * as i8 from "@angular/common";
12
- import * as i9 from "@skyux/core";
13
- import * as i10 from "@skyux/theme";
14
- import * as i11 from "@skyux/i18n";
15
- /**
16
- * @internal
17
- * Internal component to implement the native picker.
18
- */
19
- export class SkyLookupShowMoreModalComponent {
20
- constructor(modalInstance, context, changeDetector) {
21
- this.modalInstance = modalInstance;
22
- this.context = context;
23
- this.changeDetector = changeDetector;
24
- /**
25
- * @internal
26
- * Fires when users select the button to add new options to the list.
27
- */
28
- this.addClick = new Subject();
29
- this.dataManagerConfig = {
30
- sortOptions: [
31
- {
32
- id: 'az',
33
- label: 'Alphabetical (A - Z)',
34
- descending: false,
35
- propertyName: 'name',
36
- },
37
- {
38
- id: 'za',
39
- label: 'Alphabetical (Z - A)',
40
- descending: true,
41
- propertyName: 'name',
42
- },
43
- ],
44
- };
45
- this.displayedItems = [];
46
- this.itemsHaveMore = false;
47
- this.onlyShowSelected = false;
48
- this.selectedItems = [];
49
- this.itemIndex = 0;
50
- this.ngUnsubscribe = new Subject();
51
- }
52
- ngAfterViewInit() {
53
- this.searchText = this.context.initialSearch;
54
- this.addItems();
55
- }
56
- ngOnDestroy() {
57
- this.ngUnsubscribe.next();
58
- this.ngUnsubscribe.complete();
59
- }
60
- addButtonClicked() {
61
- this.addClick.next();
62
- }
63
- addItems() {
64
- if (!this.items || this.items.length === 0) {
65
- let selectedItems = this.selectedItems.slice();
66
- this.items = this.context.items
67
- ? this.context.items.map((item) => {
68
- return {
69
- value: item,
70
- selected: false,
71
- };
72
- })
73
- : [];
74
- this.items.forEach((item) => {
75
- const isInitialValue = this.context.initialValue === item.value;
76
- const initialIsArray = Array.isArray(this.context.initialValue);
77
- const initialValueContainsItem = this.context.initialValue.findIndex((initialItem) => initialItem === item.value) >= 0;
78
- if (isInitialValue || (initialIsArray && initialValueContainsItem)) {
79
- item.selected = true;
80
- const itemIndex = this.items.indexOf(item);
81
- if (selectedItems.findIndex((selectedItem) => selectedItem.index === itemIndex) < 0) {
82
- selectedItems.push({ index: itemIndex, itemData: item.value });
83
- }
84
- }
85
- });
86
- this.selectedItems = selectedItems;
87
- this.updateDataState();
88
- this.changeDetector.markForCheck();
89
- }
90
- this.itemIndex = this.itemIndex + 10;
91
- this.searchItems(this.items).then((searchedItems) => {
92
- this.displayedItems = searchedItems.slice(0, this.itemIndex);
93
- if (this.itemIndex > searchedItems.length) {
94
- this.itemsHaveMore = false;
95
- }
96
- else {
97
- this.itemsHaveMore = true;
98
- }
99
- this.changeDetector.markForCheck();
100
- });
101
- }
102
- clearAll() {
103
- this.displayedItems.forEach((item) => {
104
- if (item.selected) {
105
- item.selected = false;
106
- }
107
- });
108
- this.selectedItems = [];
109
- this.updateDataState();
110
- this.changeDetector.markForCheck();
111
- }
112
- itemClick(selectedItem) {
113
- if (this.context.selectMode === 'single') {
114
- this.onItemSelect(!selectedItem.selected, selectedItem);
115
- }
116
- }
117
- onItemSelect(newSelectState, itemToSelect) {
118
- if (this.context.selectMode === 'single') {
119
- /* Sanity check - single select mode should only alow for a `true` select state */
120
- /* istanbul ignore else */
121
- if (newSelectState) {
122
- itemToSelect.selected = true;
123
- this.items.forEach((item) => {
124
- if (item.value !== itemToSelect.value) {
125
- item.selected = false;
126
- }
127
- });
128
- this.displayedItems.forEach((item) => {
129
- if (item.value !== itemToSelect.value) {
130
- item.selected = false;
131
- }
132
- });
133
- const itemIndex = this.items.findIndex((item) => item.value === itemToSelect.value);
134
- this.selectedItems = [
135
- { index: itemIndex, itemData: this.items[itemIndex].value },
136
- ];
137
- }
138
- }
139
- else {
140
- let selectedItems = this.selectedItems;
141
- const allItemsIndex = this.items.findIndex((item) => item.value === itemToSelect.value);
142
- let selectedItemsIndex = selectedItems.findIndex((selectedItem) => selectedItem.index === allItemsIndex);
143
- if (newSelectState && selectedItemsIndex === -1) {
144
- selectedItems.push({
145
- index: allItemsIndex,
146
- itemData: this.items[allItemsIndex].value,
147
- });
148
- }
149
- else if (!newSelectState && selectedItemsIndex !== -1) {
150
- selectedItems.splice(selectedItemsIndex, 1);
151
- }
152
- this.selectedItems = selectedItems;
153
- }
154
- this.updateDataState();
155
- this.changeDetector.markForCheck();
156
- }
157
- searchApplied(searchText) {
158
- /* istanbul ignore else */
159
- if (this.searchText !== searchText) {
160
- this.itemIndex = 10;
161
- }
162
- this.searchText = searchText;
163
- this.updateDataState();
164
- }
165
- searchItems(items) {
166
- let searchText = this.searchText;
167
- if (searchText) {
168
- const resultValues = this.context.search(searchText, items.map((item) => {
169
- return item.value;
170
- }));
171
- if (resultValues instanceof Array) {
172
- const result = items.filter((item) => resultValues.indexOf(item.value) >= 0);
173
- return Promise.resolve(result);
174
- }
175
- else {
176
- return resultValues.then((values) => {
177
- const result = items.filter((item) => values.indexOf(item.value) >= 0);
178
- return Promise.resolve(result);
179
- });
180
- }
181
- }
182
- else {
183
- return Promise.resolve(items);
184
- }
185
- }
186
- selectAll() {
187
- let selectedItems = this.selectedItems;
188
- this.displayedItems.forEach((item) => {
189
- if (!item.selected) {
190
- item.selected = true;
191
- const index = this.items.indexOf(item);
192
- /* Sanity check */
193
- /* istanbul ignore else */
194
- if (selectedItems.findIndex((selectedItem) => selectedItem.index === index) < 0) {
195
- selectedItems.push({
196
- index: index,
197
- itemData: this.items[index].value,
198
- });
199
- }
200
- }
201
- });
202
- this.selectedItems = selectedItems;
203
- this.updateDataState();
204
- this.changeDetector.markForCheck();
205
- }
206
- updateDataState() {
207
- let selectedItems = this.selectedItems;
208
- this.items.forEach((item, index) => {
209
- item.selected =
210
- selectedItems.findIndex((selectedItem) => selectedItem.index === index) !== -1;
211
- });
212
- this.searchItems(this.items).then((searchedItems) => {
213
- if (this.onlyShowSelected) {
214
- searchedItems = searchedItems.filter((item) => item.selected);
215
- }
216
- this.displayedItems = searchedItems.slice(0, this.itemIndex);
217
- if (this.itemIndex > searchedItems.length) {
218
- this.itemsHaveMore = false;
219
- }
220
- else {
221
- this.itemsHaveMore = true;
222
- }
223
- this.changeDetector.markForCheck();
224
- });
225
- }
226
- updateItemData(data) {
227
- this.context.items = data;
228
- this.items = undefined;
229
- this.itemIndex = 10;
230
- this.selectedItems.forEach((selectedItem) => {
231
- this.context.items.forEach((item, index) => {
232
- if (selectedItem.itemData === item) {
233
- selectedItem.index = index;
234
- }
235
- });
236
- });
237
- this.addItems();
238
- this.changeDetector.markForCheck();
239
- }
240
- }
241
- SkyLookupShowMoreModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLookupShowMoreModalComponent, deps: [{ token: i1.SkyModalInstance }, { token: i2.SkyLookupShowMoreNativePickerContext }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
242
- SkyLookupShowMoreModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyLookupShowMoreModalComponent, selector: "skyux-lookup-show-more-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content>\n <div\n [skyViewkeeper]=\"[\n '.sky-lookup-show-more-modal-toolbar',\n '.sky-lookup-show-more-modal-muiltiselect-toolbar'\n ]\"\n >\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-muiltiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"\n sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\n \"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"\n sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\n \"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDataState()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [selectable]=\"context.selectMode === 'multiple'\"\n [(isSelected)]=\"item.selected\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n context.userConfig?.itemTemplate\n ? context.userConfig?.itemTemplate\n : defaultItemTemplate;\n context: { item: item.value }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll [enabled]=\"itemsHaveMore\" (scrollEnd)=\"addItems()\">\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"\n sky-btn\n sky-btn-primary\n sky-margin-inline-compact\n sky-lookup-show-more-modal-save\n \"\n type=\"button\"\n (click)=\"modalInstance.save(selectedItems)\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], components: [{ type: i1.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i1.λ4, selector: "sky-modal-header" }, { type: i1.λ2, selector: "sky-modal-content" }, { type: i3.λ37, selector: "sky-toolbar" }, { type: i3.λ38, selector: "sky-toolbar-section" }, { type: i3.λ39, selector: "sky-toolbar-item" }, { type: i4.SkySearchComponent, selector: "sky-search", inputs: ["searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { type: i3.λ40, selector: "sky-toolbar-view-actions" }, { type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i6.λ4, selector: "sky-checkbox-label" }, { type: i7.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { type: i7.λ10, selector: "sky-repeater-item", inputs: ["inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { type: i7.λ8, selector: "sky-repeater-item-content" }, { type: i7.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { type: i1.λ3, selector: "sky-modal-footer" }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { type: i10.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "skyLibResources": i11.SkyLibResourcesPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLookupShowMoreModalComponent, decorators: [{
244
- type: Component,
245
- args: [{
246
- selector: 'skyux-lookup-show-more-modal',
247
- templateUrl: './lookup-show-more-modal.component.html',
248
- styleUrls: ['./lookup-show-more-modal.component.scss'],
249
- changeDetection: ChangeDetectionStrategy.OnPush,
250
- }]
251
- }], ctorParameters: function () { return [{ type: i1.SkyModalInstance }, { type: i2.SkyLookupShowMoreNativePickerContext }, { type: i0.ChangeDetectorRef }]; } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb29rdXAvc3JjL21vZHVsZXMvbG9va3VwL2xvb2t1cC1zaG93LW1vcmUtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9va3VwL3NyYy9tb2R1bGVzL2xvb2t1cC9sb29rdXAtc2hvdy1tb3JlLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFJL0I7OztHQUdHO0FBT0gsTUFBTSxPQUFPLCtCQUErQjtJQXFDMUMsWUFDUyxhQUErQixFQUMvQixPQUE2QyxFQUM1QyxjQUFpQztRQUZsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBc0M7UUFDNUMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBckMzQzs7O1dBR0c7UUFDSSxhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFJeEMsc0JBQWlCLEdBQUc7WUFDekIsV0FBVyxFQUFFO2dCQUNYO29CQUNFLEVBQUUsRUFBRSxJQUFJO29CQUNSLEtBQUssRUFBRSxzQkFBc0I7b0JBQzdCLFVBQVUsRUFBRSxLQUFLO29CQUNqQixZQUFZLEVBQUUsTUFBTTtpQkFDckI7Z0JBQ0Q7b0JBQ0UsRUFBRSxFQUFFLElBQUk7b0JBQ1IsS0FBSyxFQUFFLHNCQUFzQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFlBQVksRUFBRSxNQUFNO2lCQUNyQjthQUNGO1NBQ0YsQ0FBQztRQUVLLG1CQUFjLEdBQVUsRUFBRSxDQUFDO1FBQzNCLGtCQUFhLEdBQVksS0FB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QztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxjQUFjLENBQUMsSUFBVztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsS0FBYSxFQUFFLEVBQUU7Z0JBQ3RELElBQUksWUFBWSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7b0JBQ2xDLFlBQVksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2lCQUM1QjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzs2SEE3UlUsK0JBQStCO2lIQUEvQiwrQkFBK0Isb0VDeEI1QywycktBNEpBOzRGRHBJYSwrQkFBK0I7a0JBTjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsV0FBVyxFQUFFLHlDQUF5QztvQkFDdEQsU0FBUyxFQUFFLENBQUMseUNBQXlDLENBQUM7b0JBQ3RELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb250ZXh0IH0gZnJvbSAnLi90eXBlcy9sb29rdXAtc2hvdy1tb3JlLW5hdGl2ZS1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBJbnRlcm5hbCBjb21wb25lbnQgdG8gaW1wbGVtZW50IHRoZSBuYXRpdmUgcGlja2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3l1eC1sb29rdXAtc2hvdy1tb3JlLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvb2t1cC1zaG93LW1vcmUtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb29rdXAtc2hvdy1tb3JlLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBTaG93TW9yZU1vZGFsQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIGJ1dHRvbiB0byBhZGQgbmV3IG9wdGlvbnMgdG8gdGhlIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2xpY2s6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBpdGVtczogYW55W107XG5cbiAgcHVibGljIGRhdGFNYW5hZ2VyQ29uZmlnID0ge1xuICAgIHNvcnRPcHRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnYXonLFxuICAgICAgICBsYWJlbDogJ0FscGhhYmV0aWNhbCAoQSAtIFopJyxcbiAgICAgICAgZGVzY2VuZGluZzogZmFsc2UsXG4gICAgICAgIHByb3BlcnR5TmFtZTogJ25hbWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd6YScsXG4gICAgICAgIGxhYmVsOiAnQWxwaGFiZXRpY2FsIChaIC0gQSknLFxuICAgICAgICBkZXNjZW5kaW5nOiB0cnVlLFxuICAgICAgICBwcm9wZXJ0eU5hbWU6ICduYW1lJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcblxuICBwdWJsaWMgZGlzcGxheWVkSXRlbXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBpdGVtc0hhdmVNb3JlOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiB7IGluZGV4OiBudW1iZXI7IGl0ZW1EYXRhOiBhbnkgfVtdID0gW107XG5cbiAgcHJpdmF0ZSBpdGVtSW5kZXg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vZGFsSW5zdGFuY2U6IFNreU1vZGFsSW5zdGFuY2UsXG4gICAgcHVibGljIGNvbnRleHQ6IFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29udGV4dCxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0aGlzLmNvbnRleHQuaW5pdGlhbFNlYXJjaDtcbiAgICB0aGlzLmFkZEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRCdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkQ2xpY2submV4dCgpO1xuICB9XG5cbiAgcHVibGljIGFkZEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgbGV0IHNlbGVjdGVkSXRlbXM6IGFueVtdID0gdGhpcy5zZWxlY3RlZEl0ZW1zLnNsaWNlKCk7XG5cbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmNvbnRleHQuaXRlbXNcbiAgICAgICAgPyB0aGlzLmNvbnRleHQuaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICB2YWx1ZTogaXRlbSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KVxuICAgICAgICA6IFtdO1xuXG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgaXNJbml0aWFsVmFsdWU6IGJvb2xlYW4gPVxuICAgICAgICAgIHRoaXMuY29udGV4dC5pbml0aWFsVmFsdWUgPT09IGl0ZW0udmFsdWU7XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbElzQXJyYXk6IGJvb2xlYW4gPSBBcnJheS5pc0FycmF5KFxuICAgICAgICAgIHRoaXMuY29udGV4dC5pbml0aWFsVmFsdWVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlQ29udGFpbnNJdGVtOiBib29sZWFuID1cbiAgICAgICAgICB0aGlzLmNvbnRleHQuaW5pdGlhbFZhbHVlLmZpbmRJbmRleChcbiAgICAgICAgICAgIChpbml0aWFsSXRlbTogYW55KSA9PiBpbml0aWFsSXRlbSA9PT0gaXRlbS52YWx1ZVxuICAgICAgICAgICkgPj0gMDtcblxuICAgICAgICBpZiAoaXNJbml0aWFsVmFsdWUgfHwgKGluaXRpYWxJc0FycmF5ICYmIGluaXRpYWxWYWx1ZUNvbnRhaW5zSXRlbSkpIHtcbiAgICAgICAgICBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5pbmRleCA9PT0gaXRlbUluZGV4XG4gICAgICAgICAgICApIDwgMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKHsgaW5kZXg6IGl0ZW1JbmRleCwgaXRlbURhdGE6IGl0ZW0udmFsdWUgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gc2VsZWN0ZWRJdGVtcztcbiAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKCk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRoaXMuaXRlbUluZGV4ID0gdGhpcy5pdGVtSW5kZXggKyAxMDtcbiAgICB0aGlzLnNlYXJjaEl0ZW1zKHRoaXMuaXRlbXMpLnRoZW4oKHNlYXJjaGVkSXRlbXMpID0+IHtcbiAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMgPSBzZWFyY2hlZEl0ZW1zLnNsaWNlKDAsIHRoaXMuaXRlbUluZGV4KTtcblxuICAgICAgaWYgKHRoaXMuaXRlbUluZGV4ID4gc2VhcmNoZWRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5pdGVtc0hhdmVNb3JlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLml0ZW1zSGF2ZU1vcmUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLnNlbGVjdGVkKSB7XG4gICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcbiAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgaXRlbUNsaWNrKHNlbGVjdGVkSXRlbTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udGV4dC5zZWxlY3RNb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5vbkl0ZW1TZWxlY3QoIXNlbGVjdGVkSXRlbS5zZWxlY3RlZCwgc2VsZWN0ZWRJdGVtKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JdGVtU2VsZWN0KG5ld1NlbGVjdFN0YXRlOiBib29sZWFuLCBpdGVtVG9TZWxlY3Q6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIC8qIFNhbml0eSBjaGVjayAtIHNpbmdsZSBzZWxlY3QgbW9kZSBzaG91bGQgb25seSBhbG93IGZvciBhIGB0cnVlYCBzZWxlY3Qgc3RhdGUgKi9cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAobmV3U2VsZWN0U3RhdGUpIHtcbiAgICAgICAgaXRlbVRvU2VsZWN0LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udmFsdWUgIT09IGl0ZW1Ub1NlbGVjdC52YWx1ZSkge1xuICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGlmIChpdGVtLnZhbHVlICE9PSBpdGVtVG9TZWxlY3QudmFsdWUpIHtcbiAgICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleChcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PT0gaXRlbVRvU2VsZWN0LnZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtcbiAgICAgICAgICB7IGluZGV4OiBpdGVtSW5kZXgsIGl0ZW1EYXRhOiB0aGlzLml0ZW1zW2l0ZW1JbmRleF0udmFsdWUgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHNlbGVjdGVkSXRlbXM6IHsgaW5kZXg6IG51bWJlcjsgaXRlbURhdGE6IGFueSB9W10gPVxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXM7XG4gICAgICBjb25zdCBhbGxJdGVtc0luZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSBpdGVtVG9TZWxlY3QudmFsdWVcbiAgICAgICk7XG4gICAgICBsZXQgc2VsZWN0ZWRJdGVtc0luZGV4ID0gc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5pbmRleCA9PT0gYWxsSXRlbXNJbmRleFxuICAgICAgKTtcblxuICAgICAgaWYgKG5ld1NlbGVjdFN0YXRlICYmIHNlbGVjdGVkSXRlbXNJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgc2VsZWN0ZWRJdGVtcy5wdXNoKHtcbiAgICAgICAgICBpbmRleDogYWxsSXRlbXNJbmRleCxcbiAgICAgICAgICBpdGVtRGF0YTogdGhpcy5pdGVtc1thbGxJdGVtc0luZGV4XS52YWx1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKCFuZXdTZWxlY3RTdGF0ZSAmJiBzZWxlY3RlZEl0ZW1zSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHNlbGVjdGVkSXRlbXMuc3BsaWNlKHNlbGVjdGVkSXRlbXNJbmRleCwgMSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHNlbGVjdGVkSXRlbXM7XG4gICAgfVxuICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHNlYXJjaFRleHQ6IHN0cmluZykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dCAhPT0gc2VhcmNoVGV4dCkge1xuICAgICAgdGhpcy5pdGVtSW5kZXggPSAxMDtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEl0ZW1zKGl0ZW1zOiBhbnlbXSk6IFByb21pc2U8YW55W10+IHtcbiAgICBsZXQgc2VhcmNoVGV4dCA9IHRoaXMuc2VhcmNoVGV4dDtcblxuICAgIGlmIChzZWFyY2hUZXh0KSB7XG4gICAgICBjb25zdCByZXN1bHRWYWx1ZXMgPSB0aGlzLmNvbnRleHQuc2VhcmNoKFxuICAgICAgICBzZWFyY2hUZXh0LFxuICAgICAgICBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAgIGlmIChyZXN1bHRWYWx1ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0pID0+IHJlc3VsdFZhbHVlcy5pbmRleE9mKGl0ZW0udmFsdWUpID49IDBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdFZhbHVlcy50aGVuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSkgPT4gdmFsdWVzLmluZGV4T2YoaXRlbS52YWx1ZSkgPj0gMFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShpdGVtcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICBsZXQgc2VsZWN0ZWRJdGVtczogeyBpbmRleDogbnVtYmVyOyBpdGVtRGF0YTogYW55IH1bXSA9IHRoaXMuc2VsZWN0ZWRJdGVtcztcblxuICAgIHRoaXMuZGlzcGxheWVkSXRlbXMuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBpZiAoIWl0ZW0uc2VsZWN0ZWQpIHtcbiAgICAgICAgaXRlbS5zZWxlY3RlZCA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLml0ZW1zLmluZGV4T2YoaXRlbSk7XG5cbiAgICAgICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zLmZpbmRJbmRleChcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS5pbmRleCA9PT0gaW5kZXhcbiAgICAgICAgICApIDwgMFxuICAgICAgICApIHtcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgaXRlbURhdGE6IHRoaXMuaXRlbXNbaW5kZXhdLnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBzZWxlY3RlZEl0ZW1zO1xuICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVEYXRhU3RhdGUoKTogdm9pZCB7XG4gICAgbGV0IHNlbGVjdGVkSXRlbXM6IHsgaW5kZXg6IG51bWJlcjsgaXRlbURhdGE6IGFueSB9W10gPSB0aGlzLnNlbGVjdGVkSXRlbXM7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGl0ZW0uc2VsZWN0ZWQgPVxuICAgICAgICBzZWxlY3RlZEl0ZW1zLmZpbmRJbmRleChcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0uaW5kZXggPT09IGluZGV4XG4gICAgICAgICkgIT09IC0xO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZWFyY2hJdGVtcyh0aGlzLml0ZW1zKS50aGVuKChzZWFyY2hlZEl0ZW1zKSA9PiB7XG4gICAgICBpZiAodGhpcy5vbmx5U2hvd1NlbGVjdGVkKSB7XG4gICAgICAgIHNlYXJjaGVkSXRlbXMgPSBzZWFyY2hlZEl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5zZWxlY3RlZCk7XG4gICAgICB9XG4gICAgICB0aGlzLmRpc3BsYXllZEl0ZW1zID0gc2VhcmNoZWRJdGVtcy5zbGljZSgwLCB0aGlzLml0ZW1JbmRleCk7XG5cbiAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA+IHNlYXJjaGVkSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaXRlbXNIYXZlTW9yZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pdGVtc0hhdmVNb3JlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVJdGVtRGF0YShkYXRhOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5pdGVtcyA9IGRhdGE7XG4gICAgdGhpcy5pdGVtcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLml0ZW1JbmRleCA9IDEwO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKChzZWxlY3RlZEl0ZW0pID0+IHtcbiAgICAgIHRoaXMuY29udGV4dC5pdGVtcy5mb3JFYWNoKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbS5pdGVtRGF0YSA9PT0gaXRlbSkge1xuICAgICAgICAgIHNlbGVjdGVkSXRlbS5pbmRleCA9IGluZGV4O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkSXRlbXMoKTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxza3ktbW9kYWw+XG4gIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0LnVzZXJDb25maWc/LnRpdGxlOyBlbHNlIGRlZmF1bHRUaXRsZVwiPlxuICAgICAge3sgY29udGV4dC51c2VyQ29uZmlnLnRpdGxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50PlxuICAgIDxkaXZcbiAgICAgIFtza3lWaWV3a2VlcGVyXT1cIltcbiAgICAgICAgJy5za3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC10b29sYmFyJyxcbiAgICAgICAgJy5za3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1tdWlsdGlzZWxlY3QtdG9vbGJhcidcbiAgICAgIF1cIlxuICAgID5cbiAgICAgIDxza3ktdG9vbGJhciBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXRvb2xiYXJcIj5cbiAgICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8c2t5LXNlYXJjaFxuICAgICAgICAgICAgICBbZGVib3VuY2VUaW1lXT1cIjI1MFwiXG4gICAgICAgICAgICAgIFtzZWFyY2hUZXh0XT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgICAoc2VhcmNoQXBwbHkpPVwic2VhcmNoQXBwbGllZCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvc2t5LXNlYXJjaD5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZXh0LnNob3dBZGRCdXR0b25cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1hZGRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQnV0dG9uQ2xpY2tlZCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICAgICAgICAgID48L3NreS1pY29uPlxuICAgICAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwicGx1cy1jaXJjbGVcIj48L3NreS1pY29uPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9hZGQnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgPC9za3ktdG9vbGJhcj5cbiAgICAgIDxza3ktdG9vbGJhclxuICAgICAgICAqbmdJZj1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgIGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtbXVpbHRpc2VsZWN0LXRvb2xiYXJcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJcbiAgICAgICAgICAgICAgICBza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zZWxlY3QtYWxsLWJ0blxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zZWxlY3RfYWxsX2J1dHRvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiXG4gICAgICAgICAgICAgICAgc2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtY2xlYXItYWxsLWJ0blxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX2NsZWFyX2FsbF9idXR0b25fdGl0bGUnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgICAgIFsoY2hlY2tlZCldPVwib25seVNob3dTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwidXBkYXRlRGF0YVN0YXRlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiZGlzcGxheWVkSXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIGNsYXNzPVwic2t5LWZvbnQtZGVlbXBoYXNpemVkIHNreS1sb29rdXAtc2hvdy1tb3JlLW5vLXJlc3VsdHNcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX25vX3Jlc3VsdHMnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9kaXY+XG4gICAgPHNreS1yZXBlYXRlciBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLXJlcGVhdGVyXCIgZXhwYW5kTW9kZT1cIm5vbmVcIj5cbiAgICAgIDxza3ktcmVwZWF0ZXItaXRlbVxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkaXNwbGF5ZWRJdGVtc1wiXG4gICAgICAgIFtzZWxlY3RhYmxlXT1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgIFsoaXNTZWxlY3RlZCldPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgKGlzU2VsZWN0ZWRDaGFuZ2UpPVwib25JdGVtU2VsZWN0KCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjb250ZXh0LnVzZXJDb25maWc/Lml0ZW1UZW1wbGF0ZVxuICAgICAgICAgICAgICAgID8gY29udGV4dC51c2VyQ29uZmlnPy5pdGVtVGVtcGxhdGVcbiAgICAgICAgICAgICAgICA6IGRlZmF1bHRJdGVtVGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHsgaXRlbTogaXRlbS52YWx1ZSB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS1jb250ZW50PlxuICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbT5cbiAgICA8L3NreS1yZXBlYXRlcj5cbiAgICA8c2t5LWluZmluaXRlLXNjcm9sbCBbZW5hYmxlZF09XCJpdGVtc0hhdmVNb3JlXCIgKHNjcm9sbEVuZCk9XCJhZGRJdGVtcygpXCI+XG4gICAgPC9za3ktaW5maW5pdGUtc2Nyb2xsPlxuICA8L3NreS1tb2RhbC1jb250ZW50PlxuICA8c2t5LW1vZGFsLWZvb3Rlcj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cIlxuICAgICAgICBza3ktYnRuXG4gICAgICAgIHNreS1idG4tcHJpbWFyeVxuICAgICAgICBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0XG4gICAgICAgIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXNhdmVcbiAgICAgIFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJtb2RhbEluc3RhbmNlLnNhdmUoc2VsZWN0ZWRJdGVtcylcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLWNsb3NlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm1vZGFsSW5zdGFuY2UuY2xvc2UoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfY2FuY2VsJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1tb2RhbC1mb290ZXI+XG48L3NreS1tb2RhbD5cblxuPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiICNkZWZhdWx0SXRlbVRlbXBsYXRlPlxuICB7eyBpdGVtW2NvbnRleHQuZGVzY3JpcHRvclByb3BlcnR5XSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGl0bGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdzaW5nbGUnXCI+XG4gICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfc2luZ2xlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiPlxuICAgIHt7ICdza3l1eF9sb29rdXBfc2hvd19tb3JlX21vZGFsX3RpdGxlX211bHRpcGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=