@wizishop/angular-components 15.1.5 → 15.1.6

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 (257) hide show
  1. package/angular-components.scss +154 -139
  2. package/esm2020/lib/components/alert/alert.component.mjs +3 -3
  3. package/esm2020/lib/components/alert-popup/alert-popup-module.mjs +4 -4
  4. package/esm2020/lib/components/alert-popup/alert-popup.component.mjs +5 -5
  5. package/esm2020/lib/components/alert-popup/alert-popup.service.mjs +3 -3
  6. package/esm2020/lib/components/back/back.component.mjs +3 -3
  7. package/esm2020/lib/components/block/block-title-legacy/block-title-legacy.component.mjs +3 -3
  8. package/esm2020/lib/components/block/block.component.mjs +7 -7
  9. package/esm2020/lib/components/block/separator/block-separator.component.mjs +3 -3
  10. package/esm2020/lib/components/block-with-checkbox/block-with-checkbox.component.mjs +3 -3
  11. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  12. package/esm2020/lib/components/button/button.component.mjs +12 -12
  13. package/esm2020/lib/components/calendar/calendar.component.mjs +26 -26
  14. package/esm2020/lib/components/card-price/card-price.component.mjs +3 -3
  15. package/esm2020/lib/components/charging-bar/charging-bar.component.mjs +3 -3
  16. package/esm2020/lib/components/checkbox/checkbox.component.mjs +12 -12
  17. package/esm2020/lib/components/checkbox/checkbox.module.mjs +4 -4
  18. package/esm2020/lib/components/common/label/label.component.mjs +3 -3
  19. package/esm2020/lib/components/common/placeholder/placeholder.component.mjs +3 -3
  20. package/esm2020/lib/components/confirm-delete/confirm-delete.component.mjs +3 -3
  21. package/esm2020/lib/components/content-with-buttons/content-with-buttons.component.mjs +3 -3
  22. package/esm2020/lib/components/delete/delete.component.mjs +3 -3
  23. package/esm2020/lib/components/draganddrop-list/draganddrop-list.component.mjs +3 -3
  24. package/esm2020/lib/components/dropdown/dropdown.component.mjs +3 -3
  25. package/esm2020/lib/components/edit-in-place/edit-in-place.component.mjs +3 -3
  26. package/esm2020/lib/components/expanded-panel/expanded-panel.component.mjs +3 -3
  27. package/esm2020/lib/components/expansion/accordion/accordion.component.mjs +3 -3
  28. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.component.mjs +7 -7
  29. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.directive.mjs +12 -12
  30. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.mjs +7 -7
  31. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.mjs +7 -8
  32. package/esm2020/lib/components/expansion/expansion.module.mjs +4 -4
  33. package/esm2020/lib/components/filters/filters.component.mjs +3 -3
  34. package/esm2020/lib/components/free-popin/free-popin.component.mjs +3 -3
  35. package/esm2020/lib/components/google-preview/google-preview.component.mjs +3 -3
  36. package/esm2020/lib/components/header-page/header-page.component.mjs +3 -3
  37. package/esm2020/lib/components/hn/h1/h1.component.mjs +3 -3
  38. package/esm2020/lib/components/hn/h2/h2.component.mjs +3 -3
  39. package/esm2020/lib/components/hn/h3/h3.component.mjs +3 -3
  40. package/esm2020/lib/components/hn/h4/h4.component.mjs +3 -3
  41. package/esm2020/lib/components/image/image.component.mjs +3 -3
  42. package/esm2020/lib/components/info/info.component.mjs +3 -3
  43. package/esm2020/lib/components/inputs/input/input.component.mjs +3 -3
  44. package/esm2020/lib/components/inputs/input/input.module.mjs +4 -4
  45. package/esm2020/lib/components/inputs/input-search/input-search.component.mjs +4 -4
  46. package/esm2020/lib/components/inputs/input-search/input-search.module.mjs +4 -4
  47. package/esm2020/lib/components/inputs/input-with-select/input-with-select.component.mjs +3 -3
  48. package/esm2020/lib/components/link/link.component.mjs +9 -9
  49. package/esm2020/lib/components/loader/loader.component.mjs +3 -3
  50. package/esm2020/lib/components/loader/loader.module.mjs +4 -4
  51. package/esm2020/lib/components/logo/logo.component.mjs +3 -3
  52. package/esm2020/lib/components/mosaic/mosaic.component.mjs +3 -3
  53. package/esm2020/lib/components/multiple-search/multiple-search.component.mjs +3 -3
  54. package/esm2020/lib/components/multiple-search-plus/multiple-search-plus.component.mjs +3 -3
  55. package/esm2020/lib/components/optional-disable-container/optional-disable-container.component.mjs +3 -3
  56. package/esm2020/lib/components/pagination/pagination.component.mjs +7 -7
  57. package/esm2020/lib/components/pagination/pagination.module.mjs +4 -4
  58. package/esm2020/lib/components/pagination/pipes/array-pages.pipe.mjs +3 -3
  59. package/esm2020/lib/components/pagination/pipes/custom-text.pipe.mjs +3 -3
  60. package/esm2020/lib/components/pagination/pipes/is-last-page.pipe.mjs +3 -3
  61. package/esm2020/lib/components/popin/popin.component.mjs +3 -3
  62. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +3 -3
  63. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
  64. package/esm2020/lib/components/radio/radio-directive.mjs +6 -6
  65. package/esm2020/lib/components/radio/radio-group.directive.mjs +11 -11
  66. package/esm2020/lib/components/radio/radio.component.mjs +3 -3
  67. package/esm2020/lib/components/search/search.component.mjs +4 -4
  68. package/esm2020/lib/components/select/call-to-action.model.mjs +2 -0
  69. package/esm2020/lib/components/select/option/option-selection-handler.interface.mjs +2 -0
  70. package/esm2020/lib/components/select/option/option-selection-handler.token.mjs +3 -0
  71. package/esm2020/lib/components/select/option/option.component.mjs +28 -0
  72. package/esm2020/lib/components/select/option/select-option.directive.mjs +97 -0
  73. package/esm2020/lib/components/select/option-call-to-action/option-call-to-action.component.mjs +12 -0
  74. package/esm2020/lib/components/select/select/select.component.mjs +194 -0
  75. package/esm2020/lib/components/select/select/select.directive.mjs +164 -0
  76. package/esm2020/lib/components/select/select/value-change.service.mjs +190 -0
  77. package/esm2020/lib/components/select/select-items.dto.mjs +2 -0
  78. package/esm2020/lib/components/{selects → select}/select-search-trigger/select-search-trigger.component.mjs +4 -4
  79. package/esm2020/lib/components/select-in-text/select-in-text.component.mjs +103 -0
  80. package/esm2020/lib/components/selected-list/selected-list.component.mjs +3 -3
  81. package/esm2020/lib/components/separator/separator.component.mjs +3 -3
  82. package/esm2020/lib/components/settings/settings.component.mjs +3 -3
  83. package/esm2020/lib/components/shared-components.module.mjs +19 -18
  84. package/esm2020/lib/components/snackbar/snackbar.component.mjs +3 -3
  85. package/esm2020/lib/components/state/state.component.mjs +3 -3
  86. package/esm2020/lib/components/summary/summary.component.mjs +8 -8
  87. package/esm2020/lib/components/switch/switch.component.mjs +3 -3
  88. package/esm2020/lib/components/tab/tab.component.mjs +6 -5
  89. package/esm2020/lib/components/table/directives/checkBoxRow.directive.mjs +16 -19
  90. package/esm2020/lib/components/table/directives/column.directive.mjs +6 -8
  91. package/esm2020/lib/components/table/directives/columnHeader.directive.mjs +17 -23
  92. package/esm2020/lib/components/table/directives/raw.directive.mjs +3 -3
  93. package/esm2020/lib/components/table/shared/filters-table.service.mjs +3 -3
  94. package/esm2020/lib/components/table/shared/table-checkbox-id.service.mjs +3 -3
  95. package/esm2020/lib/components/table/table.component.mjs +3 -3
  96. package/esm2020/lib/components/table/table.module.mjs +4 -4
  97. package/esm2020/lib/components/tag/tag.component.mjs +3 -3
  98. package/esm2020/lib/components/tag-label/tag-label.component.mjs +3 -3
  99. package/esm2020/lib/components/text/text.component.mjs +3 -3
  100. package/esm2020/lib/components/text-area/text-area.component.mjs +3 -3
  101. package/esm2020/lib/components/token-check/token-check.component.mjs +3 -3
  102. package/esm2020/lib/components/tooltip/tooltip.component.mjs +3 -3
  103. package/esm2020/lib/components/tooltip/tooltip.module.mjs +4 -4
  104. package/esm2020/lib/components/tree/tree.component.mjs +3 -3
  105. package/esm2020/lib/components/tree/tree.module.mjs +4 -4
  106. package/esm2020/lib/components/upload/upload.component.mjs +3 -3
  107. package/esm2020/lib/components/wrapper/wrapper.component.mjs +3 -3
  108. package/esm2020/lib/components/wrapper-blocs/wrapper-blocs.component.mjs +3 -3
  109. package/esm2020/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.mjs +3 -3
  110. package/esm2020/lib/components/wrapper-sidebar/wrapper-sidebar.component.mjs +3 -3
  111. package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +3 -3
  112. package/esm2020/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +3 -3
  113. package/esm2020/lib/directives/auto-hide/auto-hide.directive.mjs +3 -3
  114. package/esm2020/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.mjs +32 -0
  115. package/esm2020/lib/directives/keyboard-events/keypress-enter.directive.mjs +8 -8
  116. package/esm2020/lib/directives/keyboard-events/only-numbers.directive.mjs +3 -3
  117. package/esm2020/lib/directives/keyboard-events/two-digital-decimal-number.directive.mjs +3 -3
  118. package/esm2020/lib/directives/ng-var.directive.mjs +12 -12
  119. package/esm2020/lib/directives/shared-directives.module.mjs +13 -12
  120. package/esm2020/lib/directives/zindex-toggle/zindex-toggle.directive.mjs +9 -9
  121. package/esm2020/lib/pipes/call-component-function.pipe.mjs +3 -3
  122. package/esm2020/lib/pipes/find-option-selected-field.pipe.mjs +3 -3
  123. package/esm2020/lib/pipes/select/filter-options.pipe.mjs +3 -3
  124. package/esm2020/lib/pipes/select/select-filters.pipe.mjs +4 -4
  125. package/esm2020/lib/pipes/selected-list/are-all-options-selected.pipe.mjs +3 -3
  126. package/esm2020/lib/pipes/shared-pipes.module.mjs +4 -4
  127. package/esm2020/lib/pipes/tree/format-object-to-recursif-tree.pipe.mjs +3 -3
  128. package/esm2020/lib/pipes/tree/format-object-to-simple-tree.pipe.mjs +3 -3
  129. package/esm2020/lib/services/dom.service.mjs +3 -3
  130. package/esm2020/lib/services/history.service.mjs +3 -3
  131. package/esm2020/lib/services/multiple-selection.service.mjs +3 -3
  132. package/esm2020/lib/wizi-components.module.mjs +4 -4
  133. package/esm2020/public-api.mjs +12 -11
  134. package/fesm2015/wizishop-angular-components.mjs +614 -598
  135. package/fesm2015/wizishop-angular-components.mjs.map +1 -1
  136. package/fesm2020/wizishop-angular-components.mjs +614 -598
  137. package/fesm2020/wizishop-angular-components.mjs.map +1 -1
  138. package/lib/components/alert/alert.component.d.ts +1 -1
  139. package/lib/components/alert-popup/alert-popup.component.d.ts +1 -1
  140. package/lib/components/back/back.component.d.ts +1 -1
  141. package/lib/components/block/block-title-legacy/block-title-legacy.component.d.ts +1 -1
  142. package/lib/components/block/block.component.d.ts +2 -2
  143. package/lib/components/block/separator/block-separator.component.d.ts +1 -1
  144. package/lib/components/block-with-checkbox/block-with-checkbox.component.d.ts +1 -1
  145. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  146. package/lib/components/button/button.component.d.ts +1 -1
  147. package/lib/components/calendar/calendar.component.d.ts +1 -1
  148. package/lib/components/card-price/card-price.component.d.ts +1 -1
  149. package/lib/components/charging-bar/charging-bar.component.d.ts +1 -1
  150. package/lib/components/checkbox/checkbox.component.d.ts +1 -1
  151. package/lib/components/common/label/label.component.d.ts +1 -1
  152. package/lib/components/common/placeholder/placeholder.component.d.ts +1 -1
  153. package/lib/components/confirm-delete/confirm-delete.component.d.ts +1 -1
  154. package/lib/components/content-with-buttons/content-with-buttons.component.d.ts +1 -1
  155. package/lib/components/delete/delete.component.d.ts +1 -1
  156. package/lib/components/draganddrop-list/draganddrop-list.component.d.ts +1 -1
  157. package/lib/components/dropdown/dropdown.component.d.ts +1 -1
  158. package/lib/components/edit-in-place/edit-in-place.component.d.ts +1 -1
  159. package/lib/components/expanded-panel/expanded-panel.component.d.ts +1 -1
  160. package/lib/components/expansion/accordion/accordion.component.d.ts +1 -1
  161. package/lib/components/expansion/expansion-panel/expansion-panel.component.d.ts +1 -1
  162. package/lib/components/expansion/expansion-panel/expansion-panel.directive.d.ts +1 -1
  163. package/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.d.ts +1 -1
  164. package/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.d.ts +1 -1
  165. package/lib/components/filters/filters.component.d.ts +1 -1
  166. package/lib/components/free-popin/free-popin.component.d.ts +1 -1
  167. package/lib/components/google-preview/google-preview.component.d.ts +1 -1
  168. package/lib/components/header-page/header-page.component.d.ts +1 -1
  169. package/lib/components/hn/h1/h1.component.d.ts +1 -1
  170. package/lib/components/hn/h2/h2.component.d.ts +1 -1
  171. package/lib/components/hn/h3/h3.component.d.ts +1 -1
  172. package/lib/components/hn/h4/h4.component.d.ts +1 -1
  173. package/lib/components/image/image.component.d.ts +1 -1
  174. package/lib/components/info/info.component.d.ts +1 -1
  175. package/lib/components/inputs/input/input.component.d.ts +1 -1
  176. package/lib/components/inputs/input-search/input-search.component.d.ts +1 -1
  177. package/lib/components/inputs/input-with-select/input-with-select.component.d.ts +1 -1
  178. package/lib/components/inputs/input-with-select/option-item.dto.d.ts +1 -1
  179. package/lib/components/link/link.component.d.ts +1 -1
  180. package/lib/components/loader/loader.component.d.ts +1 -1
  181. package/lib/components/logo/logo.component.d.ts +1 -1
  182. package/lib/components/mosaic/mosaic.component.d.ts +5 -5
  183. package/lib/components/multiple-search/multiple-search.component.d.ts +1 -1
  184. package/lib/components/multiple-search-plus/multiple-search-plus.component.d.ts +1 -1
  185. package/lib/components/optional-disable-container/optional-disable-container.component.d.ts +1 -1
  186. package/lib/components/pagination/pagination.component.d.ts +1 -1
  187. package/lib/components/popin/popin.component.d.ts +1 -1
  188. package/lib/components/progress-bar/progress-bar.component.d.ts +1 -1
  189. package/lib/components/radio/radio-directive.d.ts +2 -2
  190. package/lib/components/radio/radio-group.directive.d.ts +3 -3
  191. package/lib/components/radio/radio.component.d.ts +1 -1
  192. package/lib/components/search/search.component.d.ts +1 -1
  193. package/lib/components/{selects → select}/call-to-action.model.d.ts +0 -0
  194. package/lib/components/{selects → select}/option/option-selection-handler.interface.d.ts +0 -0
  195. package/lib/components/{selects → select}/option/option-selection-handler.token.d.ts +0 -0
  196. package/lib/components/{selects → select}/option/option.component.d.ts +1 -1
  197. package/lib/components/{selects → select}/option/select-option.directive.d.ts +1 -1
  198. package/lib/components/{selects → select}/option-call-to-action/option-call-to-action.component.d.ts +1 -1
  199. package/lib/components/{selects → select}/select/select.component.d.ts +1 -2
  200. package/lib/components/{selects → select}/select/select.directive.d.ts +1 -1
  201. package/lib/components/{selects → select}/select/value-change.service.d.ts +0 -0
  202. package/lib/components/{selects → select}/select-items.dto.d.ts +0 -0
  203. package/lib/components/{selects → select}/select-search-trigger/select-search-trigger.component.d.ts +1 -1
  204. package/lib/components/{selects/select-in-text → select-in-text}/select-in-text.component.d.ts +3 -3
  205. package/lib/components/selected-list/selected-list.component.d.ts +1 -1
  206. package/lib/components/separator/separator.component.d.ts +1 -1
  207. package/lib/components/settings/settings.component.d.ts +1 -1
  208. package/lib/components/shared-components.module.d.ts +88 -88
  209. package/lib/components/snackbar/snackbar.component.d.ts +1 -1
  210. package/lib/components/state/state.component.d.ts +1 -1
  211. package/lib/components/summary/summary.component.d.ts +1 -1
  212. package/lib/components/switch/switch.component.d.ts +1 -1
  213. package/lib/components/tab/tab.component.d.ts +2 -2
  214. package/lib/components/table/directives/checkBoxRow.directive.d.ts +1 -1
  215. package/lib/components/table/directives/column.directive.d.ts +1 -1
  216. package/lib/components/table/directives/columnHeader.directive.d.ts +1 -1
  217. package/lib/components/table/directives/raw.directive.d.ts +1 -1
  218. package/lib/components/table/table.component.d.ts +1 -1
  219. package/lib/components/tag/tag.component.d.ts +1 -1
  220. package/lib/components/tag-label/tag-label.component.d.ts +1 -1
  221. package/lib/components/text/text.component.d.ts +1 -1
  222. package/lib/components/text-area/text-area.component.d.ts +1 -1
  223. package/lib/components/token-check/token-check.component.d.ts +1 -1
  224. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  225. package/lib/components/tree/tree.component.d.ts +1 -1
  226. package/lib/components/upload/upload.component.d.ts +1 -1
  227. package/lib/components/wrapper/wrapper.component.d.ts +1 -1
  228. package/lib/components/wrapper-blocs/wrapper-blocs.component.d.ts +1 -1
  229. package/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.d.ts +1 -1
  230. package/lib/components/wrapper-sidebar/wrapper-sidebar.component.d.ts +1 -1
  231. package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
  232. package/lib/directives/abstract-debounce/debounce-keyup.directive.d.ts +1 -1
  233. package/lib/directives/auto-hide/auto-hide.directive.d.ts +1 -1
  234. package/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.d.ts +12 -0
  235. package/lib/directives/keyboard-events/keypress-enter.directive.d.ts +1 -1
  236. package/lib/directives/keyboard-events/only-numbers.directive.d.ts +1 -1
  237. package/lib/directives/keyboard-events/two-digital-decimal-number.directive.d.ts +1 -1
  238. package/lib/directives/ng-var.directive.d.ts +1 -1
  239. package/lib/directives/shared-directives.module.d.ts +4 -3
  240. package/lib/directives/zindex-toggle/zindex-toggle.directive.d.ts +1 -1
  241. package/lib/pipes/call-component-function.pipe.d.ts +1 -1
  242. package/lib/pipes/select/select-filters.pipe.d.ts +1 -1
  243. package/package.json +1 -1
  244. package/public-api.d.ts +11 -10
  245. package/wizishop-angular-components-15.1.6.tgz +0 -0
  246. package/esm2020/lib/components/selects/call-to-action.model.mjs +0 -2
  247. package/esm2020/lib/components/selects/option/option-selection-handler.interface.mjs +0 -2
  248. package/esm2020/lib/components/selects/option/option-selection-handler.token.mjs +0 -3
  249. package/esm2020/lib/components/selects/option/option.component.mjs +0 -28
  250. package/esm2020/lib/components/selects/option/select-option.directive.mjs +0 -97
  251. package/esm2020/lib/components/selects/option-call-to-action/option-call-to-action.component.mjs +0 -12
  252. package/esm2020/lib/components/selects/select/select.component.mjs +0 -197
  253. package/esm2020/lib/components/selects/select/select.directive.mjs +0 -164
  254. package/esm2020/lib/components/selects/select/value-change.service.mjs +0 -190
  255. package/esm2020/lib/components/selects/select-in-text/select-in-text.component.mjs +0 -103
  256. package/esm2020/lib/components/selects/select-items.dto.mjs +0 -2
  257. package/wizishop-angular-components-15.1.5.tgz +0 -0
@@ -1,164 +0,0 @@
1
- import { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';
2
- import { ContentChildren, Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { startWith, Subject, takeUntil } from 'rxjs';
5
- import { OPTION_SELECTION_HANDLER } from '../option/option-selection-handler.token';
6
- import { ValueChangeService } from './value-change.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./value-change.service";
9
- export class SelectDirective {
10
- get tabindex() {
11
- return this.tabIndex;
12
- }
13
- get isSelectDisabled() {
14
- return this.disabled;
15
- }
16
- /** Handles all keydown events on the select. */
17
- onKeydown(event) {
18
- if (event.keyCode === TAB) {
19
- return;
20
- }
21
- if (this.disabled) {
22
- return;
23
- }
24
- this.handleKeyboardAction(event);
25
- }
26
- set value(value) {
27
- this._value = value;
28
- if (!this.optionChildren) {
29
- return;
30
- }
31
- this.valueChangeService.assignValue(value);
32
- }
33
- get value() {
34
- return this._value;
35
- }
36
- get multiple() {
37
- return this._multiple;
38
- }
39
- set multiple(value) {
40
- this._multiple = value;
41
- this.valueChangeService.setMultiple(value);
42
- }
43
- set disabled(disabled) {
44
- this._disabled = disabled;
45
- this.valueChangeService.setDisabledState(disabled);
46
- }
47
- get disabled() {
48
- return this._disabled;
49
- }
50
- constructor(valueChangeService) {
51
- this.valueChangeService = valueChangeService;
52
- this.valueChange = new EventEmitter();
53
- this._multiple = false;
54
- this._disabled = false;
55
- this.tabIndex = 0;
56
- this.isDestroyed$ = new Subject();
57
- // ControlValueAccessor methods
58
- this.onChange = () => { };
59
- this.onTouch = () => { };
60
- }
61
- ngOnInit() {
62
- this.handleValueChange();
63
- }
64
- ngAfterViewInit() {
65
- this.handleOptionChildren();
66
- }
67
- handleValueChange() {
68
- this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$)).subscribe(value => {
69
- this._value = value;
70
- this.valueChange.emit(this.value);
71
- this.onChange(this.value);
72
- this.onTouch(this.value);
73
- });
74
- }
75
- handleOptionChildren() {
76
- this.optionChildren.changes.pipe(takeUntil(this.isDestroyed$), startWith(this.optionChildren)).subscribe(optionChildren => {
77
- this.valueChangeService.handleSelectOptionsChange(optionChildren, this.value);
78
- });
79
- }
80
- /** Handles keyboard events when the selected is open. */
81
- handleKeyboardAction(event) {
82
- const keyCode = event.keyCode;
83
- const isArrowKey = keyCode === DOWN_ARROW ||
84
- keyCode === UP_ARROW ||
85
- keyCode === LEFT_ARROW ||
86
- keyCode === RIGHT_ARROW;
87
- // const isTyping = (keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE);
88
- if (isArrowKey) {
89
- event.preventDefault(); // prevents the page from scrolling
90
- // select the next option on arrow key down
91
- if (keyCode === DOWN_ARROW || keyCode === RIGHT_ARROW) {
92
- this.valueChangeService.selectNextOption();
93
- return;
94
- }
95
- this.valueChangeService.selectPreviousOption();
96
- return;
97
- }
98
- /*
99
- if (isTyping) {
100
- this.valueChangeService.searchOptionByFirstLetter(event.key);
101
- return;
102
- }
103
- */
104
- }
105
- writeValue(value) {
106
- if (typeof value === 'undefined') {
107
- return;
108
- }
109
- this.value = value;
110
- }
111
- registerOnChange(fn) {
112
- this.onChange = fn;
113
- }
114
- registerOnTouched(fn) {
115
- this.onTouch = fn;
116
- }
117
- setDisabledState(isDisabled) {
118
- this.disabled = isDisabled;
119
- }
120
- ;
121
- ngOnDestroy() {
122
- this.isDestroyed$.next();
123
- this.isDestroyed$.complete();
124
- }
125
- }
126
- SelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectDirective, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Directive });
127
- SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: SelectDirective, selector: "[wacSelect]", inputs: { value: "value", multiple: "multiple", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex", "class.wac-select-disabled": "this.isSelectDisabled" } }, providers: [
128
- { provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },
129
- ValueChangeService
130
- ], queries: [{ propertyName: "optionChildren", predicate: OPTION_SELECTION_HANDLER, descendants: true }], exportAs: ["wacSelect"], ngImport: i0 });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectDirective, decorators: [{
132
- type: Directive,
133
- args: [{
134
- selector: '[wacSelect]',
135
- providers: [
136
- { provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },
137
- ValueChangeService
138
- ],
139
- exportAs: 'wacSelect'
140
- }]
141
- }], ctorParameters: function () { return [{ type: i1.ValueChangeService }]; }, propDecorators: { tabindex: [{
142
- type: HostBinding,
143
- args: ['attr.tabindex']
144
- }], isSelectDisabled: [{
145
- type: HostBinding,
146
- args: ['class.wac-select-disabled']
147
- }], onKeydown: [{
148
- type: HostListener,
149
- args: ['keydown', ['$event']]
150
- }], optionChildren: [{
151
- type: ContentChildren,
152
- args: [OPTION_SELECTION_HANDLER, { descendants: true }]
153
- }], value: [{
154
- type: Input
155
- }], valueChange: [{
156
- type: Output
157
- }], multiple: [{
158
- type: Input
159
- }], disabled: [{
160
- type: Input
161
- }], tabIndex: [{
162
- type: Input
163
- }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3Qvc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFvQixHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEssT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVzVELE1BQU0sT0FBTyxlQUFlO0lBRXhCLElBQWtDLFFBQVE7UUFDeEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUE4QyxnQkFBZ0I7UUFDNUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnREFBZ0Q7SUFDWCxTQUFTLENBQUMsS0FBb0I7UUFDakUsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRTtZQUN6QixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxD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LGVBQWU7a0JBVDNCLFNBQVM7bUJBQ1I7b0JBQ0UsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFNBQVMsRUFBRTt3QkFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ3pFLGtCQUFrQjtxQkFDbkI7b0JBQ0gsUUFBUSxFQUFFLFdBQVc7aUJBQ3hCO3lHQUdxQyxRQUFRO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWU7Z0JBSWtCLGdCQUFnQjtzQkFBN0QsV0FBVzt1QkFBQywyQkFBMkI7Z0JBS0gsU0FBUztzQkFBN0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXNDLGNBQWM7c0JBQXRGLGVBQWU7dUJBQUMsd0JBQStCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUduRSxLQUFLO3NCQURSLEtBQUs7Z0JBaUJOLFdBQVc7c0JBRFYsTUFBTTtnQkFJSCxRQUFRO3NCQURYLEtBQUs7Z0JBV0YsUUFBUTtzQkFEWCxLQUFLO2dCQVdHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET1dOX0FSUk9XLCBVUF9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIEEsIFosIFpFUk8sIE5JTkUsIFRBQiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9uU2VsZWN0aW9uSGFuZGxlciB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24tc2VsZWN0aW9uLWhhbmRsZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9QVElPTl9TRUxFQ1RJT05fSEFORExFUiB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24tc2VsZWN0aW9uLWhhbmRsZXIudG9rZW4nO1xuaW1wb3J0IHsgVmFsdWVDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi92YWx1ZS1jaGFuZ2Uuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoXG4gIHtcbiAgICBzZWxlY3RvcjogJ1t3YWNTZWxlY3RdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFNlbGVjdERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgVmFsdWVDaGFuZ2VTZXJ2aWNlXG4gICAgICBdLFxuICAgIGV4cG9ydEFzOiAnd2FjU2VsZWN0J1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3REaXJlY3RpdmU8VE9wdGlvblZhbHVlPiBpbXBsZW1lbnRzICBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgZ2V0IHRhYmluZGV4KCkge1xuICAgICAgcmV0dXJuIHRoaXMudGFiSW5kZXg7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy53YWMtc2VsZWN0LWRpc2FibGVkJykgZ2V0IGlzU2VsZWN0RGlzYWJsZWQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyBhbGwga2V5ZG93biBldmVudHMgb24gdGhlIHNlbGVjdC4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGFuZGxlS2V5Ym9hcmRBY3Rpb24oZXZlbnQpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oT1BUSU9OX1NFTEVDVElPTl9IQU5ETEVSIGFzIGFueSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBvcHRpb25DaGlsZHJlbiE6IFF1ZXJ5TGlzdDxPcHRpb25TZWxlY3Rpb25IYW5kbGVyPFRPcHRpb25WYWx1ZT4+O1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodmFsdWU6IFRPcHRpb25WYWx1ZSB8IFRPcHRpb25WYWx1ZVtdKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgICBpZiAoIXRoaXMub3B0aW9uQ2hpbGRyZW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5hc3NpZ25WYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCkgOiBUT3B0aW9uVmFsdWUgfCBUT3B0aW9uVmFsdWVbXSB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuICAgIF92YWx1ZTogVE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW107XG5cbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XG4gICAgfVxuICAgIHNldCBtdWx0aXBsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgdGhpcy5fbXVsdGlwbGUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnNldE11bHRpcGxlKHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZCk7XG4gICAgfVxuICAgIGdldCBkaXNhYmxlZCgpIDogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cbiAgICBASW5wdXQoKSB0YWJJbmRleDogbnVtYmVyID0gMDtcblxuICAgIGlzRGVzdHJveWVkJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmFsdWVDaGFuZ2VTZXJ2aWNlOiBWYWx1ZUNoYW5nZVNlcnZpY2U8VE9wdGlvblZhbHVlPikge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgIHRoaXMuaGFuZGxlT3B0aW9uQ2hpbGRyZW4oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVZhbHVlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS52YWx1ZUNoYW5nZSQucGlwZSh0YWtlVW50aWwodGhpcy5pc0Rlc3Ryb3llZCQpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgICAgdGhpcy5vblRvdWNoKHRoaXMudmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU9wdGlvbkNoaWxkcmVuKCkge1xuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5pc0Rlc3Ryb3llZCQpLCBzdGFydFdpdGgodGhpcy5vcHRpb25DaGlsZHJlbikpLnN1YnNjcmliZShvcHRpb25DaGlsZHJlbiA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5oYW5kbGVTZWxlY3RPcHRpb25zQ2hhbmdlKG9wdGlvbkNoaWxkcmVuLCB0aGlzLnZhbHVlKTtcblxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyBrZXlib2FyZCBldmVudHMgd2hlbiB0aGUgc2VsZWN0ZWQgaXMgb3Blbi4gKi9cbiAgICBwcm90ZWN0ZWQgaGFuZGxlS2V5Ym9hcmRBY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgICAgY29uc3QgaXNBcnJvd0tleSA9XG4gICAgICAgIGtleUNvZGUgPT09IERPV05fQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gVVBfQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fFxuICAgICAgICBrZXlDb2RlID09PSBSSUdIVF9BUlJPVztcbiAgICAgIC8vIGNvbnN0IGlzVHlwaW5nID0gKGtleUNvZGUgPj0gQSAmJiBrZXlDb2RlIDw9IFopIHx8IChrZXlDb2RlID49IFpFUk8gJiYga2V5Q29kZSA8PSBOSU5FKTtcbiAgICAgIGlmIChpc0Fycm93S2V5KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnRzIHRoZSBwYWdlIGZyb20gc2Nyb2xsaW5nXG4gICAgICAgIC8vIHNlbGVjdCB0aGUgbmV4dCBvcHRpb24gb24gYXJyb3cga2V5IGRvd25cbiAgICAgICAgaWYgKGtleUNvZGUgPT09IERPV05fQVJST1cgfHwga2V5Q29kZSA9PT0gUklHSFRfQVJST1cpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWxlY3ROZXh0T3B0aW9uKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnNlbGVjdFByZXZpb3VzT3B0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLypcbiAgICAgIGlmIChpc1R5cGluZykge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWFyY2hPcHRpb25CeUZpcnN0TGV0dGVyKGV2ZW50LmtleSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgICAqL1xuICAgIH1cblxuICAgIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG1ldGhvZHNcblxuICAgIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgb25Ub3VjaDogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSl7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSl7XG4gICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpe1xuICAgICAgdGhpcy5vblRvdWNoID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9O1xuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmlzRGVzdHJveWVkJC5uZXh0KCk7XG4gICAgICB0aGlzLmlzRGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgIH1cblxufVxuIl19
@@ -1,190 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { merge, Subject } from 'rxjs';
3
- import { filter, map, takeUntil } from 'rxjs/operators';
4
- import { compareArrays } from '../../../utils/array';
5
- import * as i0 from "@angular/core";
6
- export class ValueChangeService {
7
- set value(value) {
8
- this._value = value;
9
- this.handleValueChange();
10
- this.valueChange$.next(value);
11
- }
12
- get value() {
13
- return this._value;
14
- }
15
- constructor(changeDetectorRef) {
16
- this.changeDetectorRef = changeDetectorRef;
17
- this.valueChange$ = new Subject();
18
- this.multiple = false;
19
- this.indexSelectedOption = null; // todo update to array
20
- this.resetListeners$ = new Subject();
21
- this.indexOfMatchedOption = (option, index, letter) => {
22
- const textOption = option.getContentRef().nativeElement.textContent.trim().toLowerCase();
23
- return textOption.startsWith(letter) ? index : null;
24
- };
25
- this.isNotNull = (index) => {
26
- return index !== null;
27
- };
28
- this.highestAndClosestIndex = (index) => {
29
- if (isNaN(this.indexSelectedOption)) {
30
- return true;
31
- }
32
- if (index > this.indexSelectedOption) {
33
- return true;
34
- }
35
- return false;
36
- };
37
- }
38
- handleSelectOptionsChange(optionChildren, value) {
39
- this.resetListeners$.next();
40
- this.optionChildren = optionChildren;
41
- this._value = value;
42
- this.indexSelectedOption = null;
43
- this.handleMultipleSelection();
44
- this.handleInitialSelectedOption();
45
- this.handleSelectedOptionsEvent();
46
- }
47
- assignValue(value) {
48
- this._value = value;
49
- this.handleValueChange();
50
- }
51
- handleValueChange() {
52
- this.changeSelectedOption();
53
- this.updateSelectPlaceholder();
54
- this.changeDetectorRef.markForCheck();
55
- }
56
- setDisabledState(isDisabled) {
57
- this.disabled = isDisabled;
58
- this.optionChildren?.forEach((option) => option.setDisabledState(isDisabled));
59
- }
60
- selectNextOption() {
61
- // TODO : Handle multiple selection
62
- if (this.indexSelectedOption + 1 >= this.optionChildren.length) {
63
- return;
64
- }
65
- if (this.indexSelectedOption === null) {
66
- this.indexSelectedOption = 0;
67
- }
68
- else {
69
- this.indexSelectedOption = this.indexSelectedOption + 1;
70
- }
71
- this.value = this.optionChildren.get(this.indexSelectedOption).value;
72
- }
73
- selectPreviousOption() {
74
- // TODO : Handle multiple selection
75
- if (!this.indexSelectedOption) {
76
- this.indexSelectedOption = null;
77
- this.assignValue(null);
78
- return;
79
- }
80
- this.indexSelectedOption = this.indexSelectedOption - 1;
81
- this.value = this.optionChildren.get(this.indexSelectedOption).value;
82
- }
83
- searchOptionByFirstLetter(letter) {
84
- // TODO : Handle multiple selectiong
85
- const matchedOptionsIndex = this.optionChildren
86
- .map((option, index) => this.indexOfMatchedOption(option, index, letter))
87
- .filter(this.isNotNull);
88
- if (!matchedOptionsIndex.length) { // reset the selection
89
- this.indexSelectedOption = null;
90
- this.value = null;
91
- return;
92
- }
93
- // find the next option after the current selected option, or the first option
94
- const validOptionIndex = matchedOptionsIndex.find(this.highestAndClosestIndex);
95
- this.indexSelectedOption = isNaN(validOptionIndex) ? matchedOptionsIndex[0] : validOptionIndex;
96
- this.value = this.optionChildren.get(this.indexSelectedOption).value;
97
- }
98
- setMultiple(value) {
99
- this.multiple = value;
100
- }
101
- handleMultipleSelection() {
102
- if (this.multiple) {
103
- setTimeout(() => {
104
- this.optionChildren.forEach((option) => option.setMultiple(true));
105
- }, 0);
106
- }
107
- }
108
- handleInitialSelectedOption() {
109
- setTimeout(() => {
110
- if (this.mustUpdateValueWithInitialSelectedOptionValues()) { // initial option value selected win against initial value or ngModel value
111
- this.value = this.multiple ? this.getSelectedOptionsValues() : this.getSelectedOptionsValues()[0];
112
- }
113
- if (this.disabled) {
114
- this.optionChildren.forEach((option) => option.setDisabledState(true));
115
- }
116
- this.handleValueChange();
117
- }, 0);
118
- }
119
- mustUpdateValueWithInitialSelectedOptionValues() {
120
- if (!this.getSelectedOptionComponents().length) {
121
- return false;
122
- }
123
- if (this.multiple && Array.isArray(this.value)) {
124
- return !compareArrays(this.value, this.getSelectedOptionsValues());
125
- }
126
- return this.value !== this.getSelectedOptionsValues()[0];
127
- }
128
- handleSelectedOptionsEvent() {
129
- this.optionSelectedChangeListeners().subscribe((option) => {
130
- const selectedOptionsValues = this.getSelectedOptionsValues();
131
- if (this.multiple) {
132
- this.value = selectedOptionsValues;
133
- return;
134
- }
135
- this.value = option.selected ? option.value : undefined;
136
- });
137
- }
138
- updateSelectPlaceholder() {
139
- if (!this.value && typeof this.value !== 'number') {
140
- this.selectedOptionContent = null;
141
- return;
142
- }
143
- this.selectedOptionContent = this.getSelectedOptionsContent();
144
- }
145
- getSelectedOptionsContent() {
146
- if (this.multiple) {
147
- return this.getSelectedOptionComponents().reduce((acc, option) => (acc ? acc + ', ' : '') + option.getContentRef().nativeElement.textContent.trim(), ''); // todo improve for multiple
148
- }
149
- return this.getSelectedOptionComponents()[0]?.getContentRef().nativeElement.innerHTML;
150
- }
151
- getSelectedOptionComponents() {
152
- return this.optionChildren.filter((option) => option.selected);
153
- }
154
- getSelectedOptionsValues() {
155
- return this.getSelectedOptionComponents().map((option) => option.value);
156
- }
157
- optionSelectedChangeListeners() {
158
- const selectedChange$ = this.optionChildren.map((option) => {
159
- return option.selectedChange.pipe(filter(() => !this.disabled), map(() => option));
160
- });
161
- return merge(...selectedChange$).pipe(takeUntil(this.resetListeners$));
162
- }
163
- changeSelectedOption() {
164
- this.optionChildren.forEach((optionComponent, index) => {
165
- optionComponent.setSelected(this.isSelectedValue(optionComponent.value));
166
- if (optionComponent.selected) {
167
- this.indexSelectedOption = index;
168
- }
169
- });
170
- }
171
- /**
172
- * May not work with objects values
173
- */
174
- isSelectedValue(value2) {
175
- if (this.multiple && Array.isArray(this.value)) {
176
- return this.value.includes(value2);
177
- }
178
- return this.value === value2;
179
- }
180
- ngOnDestroy() {
181
- this.resetListeners$.next();
182
- this.resetListeners$.complete();
183
- }
184
- }
185
- ValueChangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ValueChangeService, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
186
- ValueChangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ValueChangeService });
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ValueChangeService, decorators: [{
188
- type: Injectable
189
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdHMvc2VsZWN0L3ZhbHVlLWNoYW5nZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsS0FBSyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSXJELE1BQU0sT0FBTyxrQkFBa0I7SUFJM0IsSUFBSSxLQUFLLENBQUMsS0FBb0M7UUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBZ0JELFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBMUJ4RCxpQkFBWSxHQUEyQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBWXJFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFVMUIsd0JBQW1CLEdBQVcsSUFBSSxDQUFDLENBQUMsdUJBQXVCO1FBRTNELG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFvRnZDLHlCQUFvQixHQUFHLENBQUMsTUFBcUMsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7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RTtJQUNNLGVBQWUsQ0FBQyxNQUFvQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7K0dBMU9RLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29tcGFyZUFycmF5cyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FycmF5JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhbHVlQ2hhbmdlU2VydmljZTxUT3B0aW9uVmFsdWU+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIHZhbHVlQ2hhbmdlJDogU3ViamVjdDxUT3B0aW9uVmFsdWUgfCBUT3B0aW9uVmFsdWVbXT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBUT3B0aW9uVmFsdWUgfCBUT3B0aW9uVmFsdWVbXSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UkLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBUT3B0aW9uVmFsdWUgfCBUT3B0aW9uVmFsdWVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfdmFsdWU6IFRPcHRpb25WYWx1ZSB8IFRPcHRpb25WYWx1ZVtdO1xuXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBvcHRpb25DaGlsZHJlbjogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUT3B0aW9uVmFsdWU+PjtcblxuICAgIHNlbGVjdGVkT3B0aW9uQ29udGVudDogYW55O1xuXG4gICAgaW5kZXhTZWxlY3RlZE9wdGlvbjogbnVtYmVyID0gbnVsbDsgLy8gdG9kbyB1cGRhdGUgdG8gYXJyYXlcblxuICAgIHJlc2V0TGlzdGVuZXJzJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIH1cblxuICAgIGhhbmRsZVNlbGVjdE9wdGlvbnNDaGFuZ2Uob3B0aW9uQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPj4sIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5yZXNldExpc3RlbmVycyQubmV4dCgpO1xuXG4gICAgICAgIHRoaXMub3B0aW9uQ2hpbGRyZW4gPSBvcHRpb25DaGlsZHJlbjtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcblxuICAgICAgICB0aGlzLmhhbmRsZU11bHRpcGxlU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlSW5pdGlhbFNlbGVjdGVkT3B0aW9uKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0ZWRPcHRpb25zRXZlbnQoKTtcbiAgICB9XG5cbiAgICBhc3NpZ25WYWx1ZSh2YWx1ZTogVE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW10pIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xuICAgIH1cblxuICAgIGhhbmRsZVZhbHVlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmNoYW5nZVNlbGVjdGVkT3B0aW9uKCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0UGxhY2Vob2xkZXIoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIHRoaXMub3B0aW9uQ2hpbGRyZW4/LmZvckVhY2goKG9wdGlvbikgPT4gb3B0aW9uLnNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZCkpO1xuICAgIH1cblxuICAgIHNlbGVjdE5leHRPcHRpb24oKSB7XG4gICAgICAgIC8vIFRPRE8gOiBIYW5kbGUgbXVsdGlwbGUgc2VsZWN0aW9uXG4gICAgICAgIGlmICh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gKzEgPj0gdGhpcy5vcHRpb25DaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gKyAxO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub3B0aW9uQ2hpbGRyZW4uZ2V0KHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikudmFsdWU7XG4gICAgfVxuXG4gICAgc2VsZWN0UHJldmlvdXNPcHRpb24oKSB7XG4gICAgICAgIC8vIFRPRE8gOiBIYW5kbGUgbXVsdGlwbGUgc2VsZWN0aW9uXG4gICAgICAgIGlmICghdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25WYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiAtIDE7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHNlYXJjaE9wdGlvbkJ5Rmlyc3RMZXR0ZXIobGV0dGVyOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gVE9ETyA6IEhhbmRsZSBtdWx0aXBsZSBzZWxlY3Rpb25nXG4gICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb25zSW5kZXggPSB0aGlzLm9wdGlvbkNoaWxkcmVuXG4gICAgICAgICAgICAubWFwKChvcHRpb24sIGluZGV4KSA9PiB0aGlzLmluZGV4T2ZNYXRjaGVkT3B0aW9uKG9wdGlvbiwgaW5kZXgsIGxldHRlcikpXG4gICAgICAgICAgICAuZmlsdGVyKHRoaXMuaXNOb3ROdWxsKTtcblxuICAgICAgICBpZiAoIW1hdGNoZWRPcHRpb25zSW5kZXgubGVuZ3RoKSB7IC8vIHJlc2V0IHRoZSBzZWxlY3Rpb25cbiAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGZpbmQgdGhlIG5leHQgb3B0aW9uIGFmdGVyIHRoZSBjdXJyZW50IHNlbGVjdGVkIG9wdGlvbiwgb3IgdGhlIGZpcnN0IG9wdGlvblxuXG4gICAgICAgIGNvbnN0IHZhbGlkT3B0aW9uSW5kZXggPSBtYXRjaGVkT3B0aW9uc0luZGV4LmZpbmQodGhpcy5oaWdoZXN0QW5kQ2xvc2VzdEluZGV4KTtcblxuICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBpc05hTih2YWxpZE9wdGlvbkluZGV4KSA/IG1hdGNoZWRPcHRpb25zSW5kZXhbMF0gOiB2YWxpZE9wdGlvbkluZGV4O1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25DaGlsZHJlbi5nZXQodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKS52YWx1ZTtcbiAgICB9XG5cbiAgICBzZXRNdWx0aXBsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbmRleE9mTWF0Y2hlZE9wdGlvbiA9IChvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUT3B0aW9uVmFsdWU+LCBpbmRleDogbnVtYmVyLCBsZXR0ZXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0ZXh0T3B0aW9uID0gb3B0aW9uLmdldENvbnRlbnRSZWYoKS5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gdGV4dE9wdGlvbi5zdGFydHNXaXRoKGxldHRlcikgPyBpbmRleCA6IG51bGw7XG4gICAgICB9XG5cbiAgICBwcml2YXRlIGlzTm90TnVsbCA9IChpbmRleDogbnVtYmVyIHwgbnVsbCkgPT4ge1xuICAgICAgICByZXR1cm4gaW5kZXggIT09IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWdoZXN0QW5kQ2xvc2VzdEluZGV4ID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGlzTmFOKHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRleCA+IHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVNdWx0aXBsZVNlbGVjdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uQ2hpbGRyZW4uZm9yRWFjaCgob3B0aW9uKSA9PiBvcHRpb24uc2V0TXVsdGlwbGUodHJ1ZSkpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUluaXRpYWxTZWxlY3RlZE9wdGlvbigpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IC8vICEgQXZvaWQgRXhwcmVzc2lvbiBoYXMgY2hhbmdlZC4uLlxuXG4gICAgICAgICAgICBpZiAodGhpcy5tdXN0VXBkYXRlVmFsdWVXaXRoSW5pdGlhbFNlbGVjdGVkT3B0aW9uVmFsdWVzKCkpIHsgLy8gaW5pdGlhbCBvcHRpb24gdmFsdWUgc2VsZWN0ZWQgd2luIGFnYWluc3QgaW5pdGlhbCB2YWx1ZSBvciBuZ01vZGVsIHZhbHVlXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubXVsdGlwbGUgPyB0aGlzLmdldFNlbGVjdGVkT3B0aW9uc1ZhbHVlcygpIDogdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNWYWx1ZXMoKVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuLmZvckVhY2goKG9wdGlvbikgPT4gb3B0aW9uLnNldERpc2FibGVkU3RhdGUodHJ1ZSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKCk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtdXN0VXBkYXRlVmFsdWVXaXRoSW5pdGlhbFNlbGVjdGVkT3B0aW9uVmFsdWVzKCkge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0U2VsZWN0ZWRPcHRpb25Db21wb25lbnRzKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gIWNvbXBhcmVBcnJheXModGhpcy52YWx1ZSwgdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNWYWx1ZXMoKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAhPT0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNWYWx1ZXMoKVswXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNlbGVjdGVkT3B0aW9uc0V2ZW50KCkge1xuICAgICAgICB0aGlzLm9wdGlvblNlbGVjdGVkQ2hhbmdlTGlzdGVuZXJzKCkuc3Vic2NyaWJlKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uc1ZhbHVlcyA9IHRoaXMuZ2V0U2VsZWN0ZWRPcHRpb25zVmFsdWVzKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBzZWxlY3RlZE9wdGlvbnNWYWx1ZXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbi5zZWxlY3RlZCA/IG9wdGlvbi52YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlICYmIHR5cGVvZiB0aGlzLnZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkNvbnRlbnQgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkNvbnRlbnQgPSB0aGlzLmdldFNlbGVjdGVkT3B0aW9uc0NvbnRlbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkT3B0aW9uc0NvbnRlbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudHMoKS5yZWR1Y2UoKGFjYywgb3B0aW9uKSA9PiAoYWNjID8gYWNjICsgJywgJyA6ICcnKSArIG9wdGlvbi5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCksICcnKTsgLy8gdG9kbyBpbXByb3ZlIGZvciBtdWx0aXBsZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkT3B0aW9uQ29tcG9uZW50cygpWzBdPy5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudHMoKXtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uQ2hpbGRyZW4uZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZE9wdGlvbnNWYWx1ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkT3B0aW9uQ29tcG9uZW50cygpLm1hcCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3B0aW9uU2VsZWN0ZWRDaGFuZ2VMaXN0ZW5lcnMoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ2hhbmdlJCA9ICB0aGlzLm9wdGlvbkNoaWxkcmVuLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uLnNlbGVjdGVkQ2hhbmdlLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmRpc2FibGVkKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gb3B0aW9uKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnNlbGVjdGVkQ2hhbmdlJCkucGlwZSh0YWtlVW50aWwodGhpcy5yZXNldExpc3RlbmVycyQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZVNlbGVjdGVkT3B0aW9uKCkge1xuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuLmZvckVhY2goKG9wdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbkNvbXBvbmVudC5zZXRTZWxlY3RlZCh0aGlzLmlzU2VsZWN0ZWRWYWx1ZShvcHRpb25Db21wb25lbnQudmFsdWUpKTtcblxuICAgICAgICAgICAgaWYgKG9wdGlvbkNvbXBvbmVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgICogTWF5IG5vdCB3b3JrIHdpdGggb2JqZWN0cyB2YWx1ZXNcbiAgICAqL1xuICAgIHByaXZhdGUgaXNTZWxlY3RlZFZhbHVlKHZhbHVlMjogVE9wdGlvblZhbHVlKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmluY2x1ZGVzKHZhbHVlMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IHZhbHVlMjtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXNldExpc3RlbmVycyQubmV4dCgpO1xuICAgICAgICB0aGlzLnJlc2V0TGlzdGVuZXJzJC5jb21wbGV0ZSgpO1xuICAgIH1cbn0iXX0=
@@ -1,103 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../../../directives/auto-hide/auto-hide.directive";
5
- import * as i3 from "../../../directives/zindex-toggle/zindex-toggle.directive";
6
- import * as i4 from "ngx-perfect-scrollbar";
7
- export class SelectInTextComponent {
8
- set items(items) {
9
- this._items = items;
10
- this.setInitialValues();
11
- }
12
- get items() {
13
- return this._items;
14
- }
15
- constructor() {
16
- this.type = 'default';
17
- this.alwaysOpen = false;
18
- this.openCategories = false;
19
- this.currentLabel = '';
20
- this.currentLabelIcon = '';
21
- this.maxWidth = '100%';
22
- this.selectValue = new EventEmitter();
23
- this.clickOnCallToAction = new EventEmitter();
24
- }
25
- ngOnInit() {
26
- this.currentLabel = this.placeholder;
27
- this.setInitialValues();
28
- }
29
- setInitialValues() {
30
- if (!this.items.length) {
31
- return;
32
- }
33
- const itemSelected = this.getItemSelected();
34
- this.setCurrentItem(itemSelected);
35
- }
36
- onClose() {
37
- this.openCategories = false;
38
- }
39
- customTB(index, item) {
40
- return item.id;
41
- }
42
- onSelectItem(index) {
43
- this.unselectAll();
44
- const itemSelected = this.items[index];
45
- this.setCurrentItem(itemSelected);
46
- this.selectValue.emit(index);
47
- }
48
- onClickCallToAction() {
49
- this.clickOnCallToAction.emit(this.callToAction.value);
50
- }
51
- getItemSelected() {
52
- let itemSelected = null;
53
- this.items.forEach(item => {
54
- if (!item.selected) {
55
- return;
56
- }
57
- itemSelected = item;
58
- });
59
- return itemSelected;
60
- }
61
- setCurrentItem(itemSelected) {
62
- if (!itemSelected) {
63
- return;
64
- }
65
- itemSelected.selected = true;
66
- this.currentLabel = itemSelected.name;
67
- this.currentLabelIcon = itemSelected.icon;
68
- }
69
- unselectAll() {
70
- this.items.forEach(item => item.selected = false);
71
- }
72
- }
73
- SelectInTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectInTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
- SelectInTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SelectInTextComponent, selector: "wac-select-in-text", inputs: { items: "items", placeholder: "placeholder", label: "label", maxWidthItems: "maxWidthItems", type: "type", callToAction: "callToAction", preText: "preText", postText: "postText", alwaysOpen: "alwaysOpen", maxWidth: "maxWidth" }, outputs: { selectValue: "selectValue", clickOnCallToAction: "clickOnCallToAction" }, ngImport: i0, template: "<div class=\"wac-select-in-text\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\n <div class=\"wac-select-in-text__prepend\" [innerHTML]=\"preText\" *ngIf=\"preText\"></div>\n <div #current class=\"wac-select-in-text__current\" (click)=\"openCategories = !openCategories\">\n <span>{{ currentLabel }}</span>\n <div\n class=\"wac-select-in-text__content\"\n [ngClass]=\"{ hidden: !openCategories && !alwaysOpen, open: type === 'open' }\"\n [ngStyle]=\"{ 'max-width': maxWidthItems }\"\n >\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"items.length > 0\">\n <div class=\"wac-select-in-text__content__item\" *ngFor=\"let item of items; trackBy : customTB; let index = index;\">\n <div [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(index)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name }}\n </div>\n </div>\n </perfect-scrollbar>\n </div>\n </div>\n <div class=\"wac-select-in-text__after\" [innerHTML]=\"postText\" *ngIf=\"postText\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i3.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: i4.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }] });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectInTextComponent, decorators: [{
76
- type: Component,
77
- args: [{ selector: 'wac-select-in-text', template: "<div class=\"wac-select-in-text\" wzAutoHide (clickOutside)=\"onClose()\" [ngStyle]=\"{ 'max-width': maxWidth }\" [zIndexToggle]=\"openCategories\">\n <div class=\"wac-select-in-text__prepend\" [innerHTML]=\"preText\" *ngIf=\"preText\"></div>\n <div #current class=\"wac-select-in-text__current\" (click)=\"openCategories = !openCategories\">\n <span>{{ currentLabel }}</span>\n <div\n class=\"wac-select-in-text__content\"\n [ngClass]=\"{ hidden: !openCategories && !alwaysOpen, open: type === 'open' }\"\n [ngStyle]=\"{ 'max-width': maxWidthItems }\"\n >\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"items.length > 0\">\n <div class=\"wac-select-in-text__content__item\" *ngFor=\"let item of items; trackBy : customTB; let index = index;\">\n <div [ngClass]=\"{ selected: item.selected }\" (click)=\"onSelectItem(index)\">\n <span class=\"icon\" [innerHTML]=\"item.icon\" *ngIf=\"item.icon\"></span>{{ item.name }}\n </div>\n </div>\n </perfect-scrollbar>\n </div>\n </div>\n <div class=\"wac-select-in-text__after\" [innerHTML]=\"postText\" *ngIf=\"postText\"></div>\n</div>\n" }]
78
- }], ctorParameters: function () { return []; }, propDecorators: { items: [{
79
- type: Input
80
- }], placeholder: [{
81
- type: Input
82
- }], label: [{
83
- type: Input
84
- }], maxWidthItems: [{
85
- type: Input
86
- }], type: [{
87
- type: Input
88
- }], callToAction: [{
89
- type: Input
90
- }], preText: [{
91
- type: Input
92
- }], postText: [{
93
- type: Input
94
- }], alwaysOpen: [{
95
- type: Input
96
- }], maxWidth: [{
97
- type: Input
98
- }], selectValue: [{
99
- type: Output
100
- }], clickOnCallToAction: [{
101
- type: Output
102
- }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWluLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3RzL3NlbGVjdC1pbi10ZXh0L3NlbGVjdC1pbi10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3QtaW4tdGV4dC9zZWxlY3QtaW4tdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxJQUNJLEtBQUssQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFzQ0Q7UUF6QkEsU0FBSSxHQUFHLFNBQVMsQ0FBQztRQVlqQixlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTVCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUVyQixhQUFRLEdBQUcsTUFBTSxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6Qyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRXpDLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELE1BQU0sWUFBWSxHQUFlLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBZ0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsTUFBTSxZQUFZLEdBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksWUFBWSxHQUFlLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsT0FBTzthQUNSO1lBQ0QsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxjQUFjLENBQUMsWUFBd0I7UUFDN0MsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFDRCxZQUFZLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDNUMsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7O2tIQXZHVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw2WENSbEMsb3FDQW9CQTsyRkRaYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9COzBFQUsxQixLQUFLO3NCQURSLEtBQUs7Z0JBV04sV0FBVztzQkFEVixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsbGxUb0FjdGlvbiB9IGZyb20gJy4uL2NhbGwtdG8tYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi9zZWxlY3QtaXRlbXMuZHRvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlbGVjdC1pbi10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1pbi10ZXh0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SW5UZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc2V0IGl0ZW1zKGl0ZW1zOiBTZWxlY3RJdGVtW10pIHtcbiAgICB0aGlzLl9pdGVtcyA9IGl0ZW1zO1xuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xuICB9XG4gIGdldCBpdGVtcygpOiBTZWxlY3RJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuICBwcml2YXRlIF9pdGVtczogU2VsZWN0SXRlbVtdO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aEl0ZW1zOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgdHlwZSA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKVxuICBjYWxsVG9BY3Rpb246IENhbGxsVG9BY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHJlVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHBvc3RUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYWx3YXlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG9wZW5DYXRlZ29yaWVzID0gZmFsc2U7XG5cbiAgY3VycmVudExhYmVsOiBzdHJpbmcgPSAnJztcbiAgY3VycmVudExhYmVsSWNvbjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgbWF4V2lkdGggPSAnMTAwJSc7XG5cbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpIGNsaWNrT25DYWxsVG9BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50TGFiZWwgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xuICB9XG5cbiAgc2V0SW5pdGlhbFZhbHVlcygpIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbVNlbGVjdGVkOiBTZWxlY3RJdGVtID0gdGhpcy5nZXRJdGVtU2VsZWN0ZWQoKTtcbiAgICB0aGlzLnNldEN1cnJlbnRJdGVtKGl0ZW1TZWxlY3RlZCk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMub3BlbkNhdGVnb3JpZXMgPSBmYWxzZTtcbiAgfVxuXG4gIGN1c3RvbVRCKGluZGV4OiBudW1iZXIsIGl0ZW06IFNlbGVjdEl0ZW0pIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgIGNvbnN0IGl0ZW1TZWxlY3RlZDogU2VsZWN0SXRlbSA9IHRoaXMuaXRlbXNbaW5kZXhdO1xuICAgIHRoaXMuc2V0Q3VycmVudEl0ZW0oaXRlbVNlbGVjdGVkKTtcbiAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQoaW5kZXgpO1xuICB9XG5cbiAgb25DbGlja0NhbGxUb0FjdGlvbigpIHtcbiAgICB0aGlzLmNsaWNrT25DYWxsVG9BY3Rpb24uZW1pdCh0aGlzLmNhbGxUb0FjdGlvbi52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1TZWxlY3RlZCgpOlNlbGVjdEl0ZW0ge1xuICAgIGxldCBpdGVtU2VsZWN0ZWQ6IFNlbGVjdEl0ZW0gPSBudWxsO1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICghaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpdGVtU2VsZWN0ZWQgPSBpdGVtO1xuICAgIH0pO1xuICAgIHJldHVybiBpdGVtU2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldEN1cnJlbnRJdGVtKGl0ZW1TZWxlY3RlZDogU2VsZWN0SXRlbSkge1xuICAgIGlmICghaXRlbVNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZW1TZWxlY3RlZC5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5jdXJyZW50TGFiZWwgPSBpdGVtU2VsZWN0ZWQubmFtZTtcbiAgICB0aGlzLmN1cnJlbnRMYWJlbEljb24gPSBpdGVtU2VsZWN0ZWQuaWNvbjtcbiAgfVxuXG4gIHByaXZhdGUgdW5zZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndhYy1zZWxlY3QtaW4tdGV4dFwiIHd6QXV0b0hpZGUgKGNsaWNrT3V0c2lkZSk9XCJvbkNsb3NlKClcIiBbbmdTdHlsZV09XCJ7ICdtYXgtd2lkdGgnOiBtYXhXaWR0aCB9XCIgW3pJbmRleFRvZ2dsZV09XCJvcGVuQ2F0ZWdvcmllc1wiPlxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdC1pbi10ZXh0X19wcmVwZW5kXCIgW2lubmVySFRNTF09XCJwcmVUZXh0XCIgKm5nSWY9XCJwcmVUZXh0XCI+PC9kaXY+XG4gIDxkaXYgI2N1cnJlbnQgY2xhc3M9XCJ3YWMtc2VsZWN0LWluLXRleHRfX2N1cnJlbnRcIiAoY2xpY2spPVwib3BlbkNhdGVnb3JpZXMgPSAhb3BlbkNhdGVnb3JpZXNcIj5cbiAgICA8c3Bhbj57eyBjdXJyZW50TGFiZWwgfX08L3NwYW4+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ3YWMtc2VsZWN0LWluLXRleHRfX2NvbnRlbnRcIlxuICAgICAgW25nQ2xhc3NdPVwieyBoaWRkZW46ICFvcGVuQ2F0ZWdvcmllcyAmJiAhYWx3YXlzT3Blbiwgb3BlbjogdHlwZSA9PT0gJ29wZW4nIH1cIlxuICAgICAgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGhJdGVtcyB9XCJcbiAgICA+XG4gICAgICA8cGVyZmVjdC1zY3JvbGxiYXIgW2NvbmZpZ109XCJ7IHN1cHByZXNzU2Nyb2xsWDogdHJ1ZSB9XCIgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtc2VsZWN0LWluLXRleHRfX2NvbnRlbnRfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeSA6IGN1c3RvbVRCOyBsZXQgaW5kZXggPSBpbmRleDtcIj5cbiAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGl0ZW0uc2VsZWN0ZWQgfVwiIChjbGljayk9XCJvblNlbGVjdEl0ZW0oaW5kZXgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb25cIiBbaW5uZXJIVE1MXT1cIml0ZW0uaWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9zcGFuPnt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvcGVyZmVjdC1zY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdC1pbi10ZXh0X19hZnRlclwiIFtpbm5lckhUTUxdPVwicG9zdFRleHRcIiAqbmdJZj1cInBvc3RUZXh0XCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW1zLmR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3QtaXRlbXMuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlbGVjdEl0ZW0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZT86IGFueTtcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBpZDogbnVtYmVyO1xuICB9XG4iXX0=